Python Modeling Tool

pymt is the Python Modeling Toolkit. It is an Open Source Python package, developed by the Community Surface Dynamics Modeling System (CSDMS), that provides the tools needed for coupling models that expose the Basic Model Interface (BMI).

pymt in three points:

  • Tools for coupling models of disparate time and space scales

  • A collection of Earth-surface models

  • Extensible plug-in framework for adding new models

What does it look like? Here is an example of a simple pymt program:

from pymt.models import Cem, Waves

waves = Waves()
cem = Cem()


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

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

User Guide

If you are looking for information on using pymt to configure, run, and couple models, this part of the documentation is for you.

API Reference

If you are looking for information on a specific function, class, or method, this part of the documentation is for you.

Miscellaneous Pages


If you encounter any problems when using pymt, please visit us at the CSDMS Help Desk and explain what occurred. Or, if you’re developing with pymt feel free to open an issue in the pymt GitHub repository.

Indices and tables