csdms / pymt

A Python toolkit for running and coupling Earth surface models
https://pymt.readthedocs.io
MIT License
52 stars 20 forks source link
bmi csdms pymt python

|PYMT|

The Python Modeling Toolkit (pymt)

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

Quick links:

pymt is an Open Source Python package, developed by the Community Surface Dynamics Modeling System <https://csdms.colorado.edu> (CSDMS), that provides the necessary tools used for the coupling of models that expose the Basic Model Interface <https://bmi.readthedocs.io> (BMI). It contains:

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