CSDMS Workbench: Python Modeling Toolkit (pymt)

2.0 hrs
Run online using:
  1. Jupyter
  2. Lab
     Jupyter logo.png

    Eric Hutton at INSTAAR - University of Colorado Boulder.
    Mark Piper at INSTAAR - University of Colorado Boulder.
    Greg Tucker at Geological Sciences - University of Colorado Boulder.
    Irina Overeem at INSTAAR - University of Colorado Boulder.


pymt provides tools for coupling models with disparate time and space scales that expose a Basic Model Interface (BMI). It includes a collection of Earth-surface models and is an extensible plug-in framework for adding new models. Detailed information on pymt can be found at

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

Classroom organization
In this lab, we will explore a series of Jupyter Notebooks that show how to use pymt to run and couple models. This lab will first introduce pymt and demonstrate how to setup, initialize, run and finalize a model. Then, it will show how to use pymt to run a standalone model (Hydrotrend) and couple two models (CEM + Waves). The lab also includes additional Jupyter Notebooks for other model components in pymt (e.g., Frost Number Model, Kudryavtsev Model).

Learning objectives
  • Learn how to run a standalone model in pymt
  • Learn how to couple two models using pymt
Key concepts
  • Why use pymt
  • pymt library of models
  • How to set up, initialize, run, and finalize a model in pymt

Lab notes

This lab can be run on the lab (for educators) and jupyter (for general use) instances of the OpenEarthscape JupyterHub: just click one of the links under the Run online using heading at the top of this page, then run the notebook in the "CSDMS" kernel.

If you don't already have a JupyterHub account, follow the instructions to sign up at If you're an educator, you can get JupyterHub accounts for students--please contact us through the CSDMS Help Desk:

If run locally, this lab requires the installtion of pymt; see for instructions. This lab runs on Linux and macOS.

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

  • Hutton, E.W.H., and Piper, M.D., 2020: csdms/pymt: The Python Modeling Toolkit (Version v1.0.0). Zenodo.
  • Tucker, G. E., Hutton, E. W. H., Piper, M. D., Campforts, B., Gan, T., Barnhart, K. R., Kettner, A. J., Overeem, I., Peckham, S. D., McCready, L., and Syvitski, J., 2022: CSDMS: a community platform for numerical modeling of Earth surface processes, Geosci. Model Dev., 15, 1413–1439,