pymt

A Python toolkit for running and coupling Earth surface models

https://github.com/csdms/pymt

Science Score: 62.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 9 committers (22.2%) from academic institutions
  • Institutional organization owner
    Organization csdms has institutional domain (csdms.colorado.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.1%) to scientific vocabulary

Keywords

bmi csdms pymt python

Keywords from Contributors

cxx geosciences interface numerical-modeling
Last synced: 6 months ago · JSON representation ·

Repository

A Python toolkit for running and coupling Earth surface models

Basic Info
  • Host: GitHub
  • Owner: csdms
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage: https://pymt.readthedocs.io
  • Size: 7.72 MB
Statistics
  • Stars: 54
  • Watchers: 6
  • Forks: 21
  • Open Issues: 20
  • Releases: 4
Topics
bmi csdms pymt python
Created almost 12 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Citation Authors

README.rst

|PYMT|

The Python Modeling Toolkit (pymt)
==================================

|Build Status| |License| |Code Style| |Documentation Status| |Coverage Status|
|Conda Version| |Conda Downloads| |Binder|

Quick links:

* `User documentation `_
* `Installation instructions `_
* `List of available models `_

*pymt* is an Open Source Python package, developed by the
`Community Surface Dynamics Modeling System `_
(CSDMS), that provides the necessary tools used for the coupling of models
that expose the
`Basic Model Interface `_
(BMI). It contains:

* Tools necessary for coupling models of disparate time and space
  scales (including grid mappers)
* Time-steppers that coordinate the sequencing of coupled models
* Exchange of data between BMI-enabled models
* Wrappers that automatically load BMI-enabled models into the PyMT
  framework
* Utilities that support open-source interfaces (UGRID, SGRID, CSDMS
  Standard Names, etc.)
* A collection of community-submitted models, written in a variety
  of programming languages, from a variety of process domains - but
  all usable from within the Python programming language
* A plug-in framework for adding additional BMI-enabled models to
  the framework

What does it look like?  Here is an example of a simple *pymt* program that
couples a *Waves* model with a *Coastline Evolution* model.

.. code-block:: python

    from pymt.models import Cem, Waves

    waves = Waves()
    cem = Cem()

    waves.initialize(*waves.setup())
    cem.initialize(*cem.setup())

    for time in range(1000):
        waves.update()
        angle = waves.get_value("wave_angle")
        cem.set_value("wave_angle", angle)
        cem.update()


*pymt* is an element of the `CSDMS Workbench`_,
an integrated system of software tools, technologies, and standards
for building and coupling models.

This work is supported by the National Science Foundation
under Grant No. `1831623`_,
*Community Facility Support:
The Community Surface Dynamics Modeling System (CSDMS)*.


.. _CSDMS Workbench: https://csdms.colorado.edu/wiki/Workbench
.. _1831623: https://nsf.gov/awardsearch/showAward?AWD_ID=1831623

.. |PYMT| image:: https://github.com/csdms/pymt/raw/master/docs/_static/pymt-logo-header-text.png
   :target: https://pymt.readthedocs.org/
.. |Build Status| image:: https://github.com/csdms/pymt/actions/workflows/test.yml/badge.svg
   :target: https://github.com/csdms/pymt/actions/workflows/test.yml
.. |License| image:: https://img.shields.io/badge/License-MIT-yellow.svg
   :target: https://opensource.org/licenses/MIT
.. |Code Style| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/csdms/pymt/actions/workflows/black.yml
.. |Documentation Status| image:: https://readthedocs.org/projects/pymt/badge/?version=latest
   :target: https://pymt.readthedocs.io/en/latest/?badge=latest
.. |Coverage Status| image:: https://coveralls.io/repos/github/csdms/pymt/badge.svg?branch=master
   :target: https://coveralls.io/github/csdms/pymt?branch=master
.. |Conda Version| image:: https://anaconda.org/conda-forge/pymt/badges/version.svg
   :target: https://anaconda.org/conda-forge/pymt
.. |Conda Downloads| image:: https://anaconda.org/conda-forge/pymt/badges/downloads.svg
   :target: https://anaconda.org/conda-forge/pymt
.. |Binder| image:: https://static.mybinder.org/badge_logo.svg
   :target: https://static.mybinder.org/badge_logo.svg

Owner

  • Name: Community Surface Dynamics Modeling System
  • Login: csdms
  • Kind: organization
  • Email: csdms@colorado.edu

Cyberinfrastructure for the quantitative modeling of earth and planetary surface processes

Citation (CITATION.cff)

# YAML 1.2
---
authors: 
  -
    family-names: Hutton
    given-names: Eric
    orcid: "https://orcid.org/0000-0002-5864-6459"
  -
    family-names: Piper
    given-names: Mark
    orcid: "https://orcid.org/0000-0001-6418-277X"
  -
    family-names: Drost
    given-names: Niels
    orcid: "https://orcid.org/0000-0001-9795-7981"
  -
    family-names: Gan
    given-names: Tian
    orcid: "https://orcid.org/0000-0003-3624-6910"
  -
    family-names: Kettner
    given-names: Albert
    orcid: "https://orcid.org/0000-0002-7191-6521"
  -
    family-names: Overeem
    given-names: Irina
    orcid: "https://orcid.org/0000-0002-8422-580X"
  -
    family-names: Stewart
    given-names: Scott
  -
    family-names: Wang
    given-names: Kang
    orcid: "https://orcid.org/0000-0003-3416-572X"
cff-version: "1.1.0"
date-released: 2021-03-18
doi: "10.5281/zenodo.4985222"
license: MIT
message: "If you use this software, please cite it using these metadata."
title: "The Python Modeling Toolkit (PyMT)"
version: "1.3.1"
...

GitHub Events

Total
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 3
  • Push event: 4
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 3
  • Push event: 4
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,210
  • Total Committers: 9
  • Avg Commits per committer: 134.444
  • Development Distribution Score (DDS): 0.338
Past Year
  • Commits: 18
  • Committers: 2
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.278
Top Committers
Name Email Commits
mcflugen m****n@g****m 801
Mark Piper m****r@c****u 150
huttone h****e@c****a 144
mcflugen h****e@c****u 62
gantian127 j****7@f****m 21
Albert k****r 17
Scott s****s@n****g 9
Mike Taves m****s@g****m 5
Niels Drost n****t@e****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 41
  • Total pull requests: 136
  • Average time to close issues: 8 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 13
  • Total pull request authors: 7
  • Average comments per issue: 1.51
  • Average comments per pull request: 1.1
  • Merged pull requests: 131
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 6
  • Average time to close issues: 6 days
  • Average time to close pull requests: 1 day
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 1.25
  • Average comments per pull request: 2.83
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mdpiper (20)
  • gregtucker (6)
  • iovereem (3)
  • katmratliff (2)
  • XianaZhang (2)
  • aufdenkampe (1)
  • ChristinaB (1)
  • cmshobe (1)
  • kbarnhart (1)
  • cpritcha (1)
  • gantian127 (1)
  • mcflugen (1)
  • Volk3rJ (1)
Pull Request Authors
  • mcflugen (82)
  • mdpiper (36)
  • sc0tts (7)
  • gantian127 (7)
  • mwtoews (6)
  • codacy-badger (2)
  • nielsdrost (1)
Top Labels
Issue Labels
documentation (9) enhancement (3)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 8
    (may contain duplicates)
  • Total versions: 36
proxy.golang.org: github.com/csdms/pymt
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
conda-forge.org: pymt

PyMT is an Open Source Python package, developed by the Community Surface Dynamics Modeling System, that provides the necessary tools used for the coupling of models that expose the Basic Modeling Interface (BMI). It contains, * Tools necessary for coupling models of disparate time and space scales (including grid mappers) * Time-steppers that coordinate the sequencing of coupled models * Exchange of data between BMI-enabled models * Wrappers that automatically load BMI-enabled models into the PyMT framework * Utilities that support open-source interfaces (UGRID, SGRID, CSDMS Standard Names, etc.) * A collection of community-submitted models, written in a variety of programming languages, from a variety of process domains - but all usable from within the Python programming language * A plug-in framework for adding additional BMI-enabled models to the framework

  • Versions: 16
  • Dependent Packages: 1
  • Dependent Repositories: 8
Rankings
Dependent repos count: 12.1%
Dependent packages count: 29.0%
Average: 31.0%
Stargazers count: 40.6%
Forks count: 42.5%
Last synced: 6 months ago

Dependencies

requirements-dev.txt pypi
  • black * development
  • flake8 * development
  • isort * development
requirements-docs.txt pypi
  • entrypoints *
  • ipython *
  • jupyter_client *
  • nbformat *
  • nbsphinx >=0.2.12
  • pandoc *
  • sphinx >=1.5.1
  • sphinx_rtd_theme *
  • tornado *
requirements-notebooks.txt pypi
  • jupyter *
  • jupyter_contrib_nbextensions *
  • nbformat *
  • pymt_cem *
  • pymt_child *
  • pymt_ecsimplesnow *
  • pymt_gipl *
  • pymt_hydrotrend *
  • pymt_permamodel *
  • pymt_sedflux *
  • seaborn *
requirements-testing.txt pypi
  • h5netcdf * test
  • pytest * test
  • pytest-benchmark * test
  • pytest-cov * test
  • pytest-datadir * test
  • pytest-mypy * test
requirements.txt pypi
  • click *
  • deprecated *
  • jinja2 *
  • landlab >=2
  • matplotlib *
  • model_metadata >=0.7
  • netcdf4 *
  • numpy *
  • pyyaml *
  • scipy *
  • shapely *
  • six *
  • xarray *
.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • psf/black stable composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/flake8.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/test-notebooks.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/test.yml actions
  • AndreMiras/coveralls-python-action v20201129 composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
pyproject.toml pypi
  • click *
  • deprecated *
  • jinja2 *
  • landlab >= 2
  • matplotlib *
  • model_metadata >= 0.7
  • netcdf4 *
  • numpy *
  • pyyaml *
  • scipy *
  • shapely *
  • xarray *
docs/environment.yml pypi
  • nbsphinx >=0.2.12
  • sphinxcontrib_github_alt *
environment.yml pypi
setup.py pypi