Lab-0016: Difference between revisions

From CSDMS
(Created page with "{{Labbasics |Labtitle=Introduction to CSDMS Tools - Python Modeling Toolkit (pymt) |LabCOModule=1 of 1 |LabDateContributedOrUpdated=2020/06/04 |LabDescriptionShort=pymt is the...")
 
No edit summary
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Labbasics
{{Labbasics
|Labtitle=Introduction to CSDMS Tools - Python Modeling Toolkit (pymt)
|Labtitle=CSDMS Workbench: Python Modeling Toolkit (pymt)
|LabCOModule=1 of 1
|LabCOModule=1 of 1
|LabDateContributedOrUpdated=2020/06/04
|LabDateContributedOrUpdated=2022-04-19
|LabDescriptionShort=pymt is the Python Modeling Toolkit that provides the tools needed for coupling models that expose the Basic Model Interface (BMI). This lab illustrates how to use pymt to run and couple models.
|LabDescriptionShort=The Python Modeling Toolkit (pymt) provides the tools needed for coupling models that expose a Basic Model Interface (BMI). This lab illustrates how to use pymt to run and couple models.
|LabCODuration=1.0 hrs
|LabCODuration=2.0 hrs
|LabModelDocumentation=CEM
|LabAssociatedLesson=Jupyter Notebook
|LabAssociatedLesson=Jupyter Notebook
|LabURLDownloadNotebook=https://github.com/csdms/csdms-2020/tree/master/notebooks/pymt
|LabURLDownloadNotebook=https://github.com/csdms/pymt/archive/refs/tags/v1.3.1.zip
|LabURLStartNotebook=https://csdms.rc.colorado.edu/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2Fcsdms%2Fcsdms-2020&urlpath=tree%2Fcsdms-2020%2Fnotebooks%2Fpymt%2Findex.ipynb&branch=master
|LabURLStartNotebook=https://jupyter.openearthscape.org/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2Fcsdms%2Fpymt&urlpath=tree%2Fpymt%2Fnotebooks%2Fwelcome.ipynb&branch=master
|LabURL2StartNotebook=https://lab.openearthscape.org/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2Fcsdms%2Fpymt&urlpath=tree%2Fpymt%2Fnotebooks%2Fwelcome.ipynb&branch=master
}}
}}
{{LabContributorData
{{LabContributorData
Line 26: Line 28:
}}
}}
{{LabIntro
{{LabIntro
|LabDescription=pymt provide tools for coupling models with disparate time and space scales that expose the 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 for pymt can be accessed at https://pymt.readthedocs.io/en/latest/
|LabDescription=<p>''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 https://pymt.readthedocs.io.<p>
|LabPicture=Pymt-logo.png
 
<p>''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 https://csdms.colorado.edu/wiki/Workbench.</p>
|LabPicture=PyMT-logo-below-lowercase.png
}}
}}
{{LabClassroomOrganization
{{LabClassroomOrganization
|LabCOIntro=In this lab, we will explore a series of Jupyter Notebooks that show how to use the 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) .
|LabCOIntro=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).
 
You can create an account at CSDMS JupyterHub and test the Jupyter Notebook for this lab. Please follow the instruction in the "Lab Notes" section. If you are a faculty at an academic institution, it is possible to work with us to get temporary teaching accounts. Work directly with us by emailing: csdms@colorado.edu.
}}
}}
{{LabLearningObjectivesSkills
{{LabLearningObjectivesSkills
Line 51: Line 53:
}}
}}
{{LabNotes
{{LabNotes
|LabNotesInstructions=You can follow the steps below to test and run the Jupyter Notebooks on the CSDMS JupyterHub server for this lab.
|LabNotesInstructions=<p>This lab can be run on the <em>lab</em> (for educators) and <em>jupyter</em> (for general use) instances of the OpenEarthscape JupyterHub: just click one of the links under the <strong>Run online using</strong> heading at the top of this page, then run the notebook in  the "CSDMS" kernel.</p>


1.  Create a free account on the CSDMS JupyterHub at https://csdms.rc.colorado.edu/hub/signup, providing a username and password -- they can be whatever you like
<p>If you don't already have a JupyterHub account, follow the instructions to sign up at https://csdms.colorado.edu/wiki/JupyterHub. If you're an educator, you can get JupyterHub accounts for students--please contact us through the CSDMS Help Desk: https://csdms.github.io/help-desk.</p>
 
|LabNotesRequirements=If run locally, this lab requires the installtion of ''pymt''; see https://pymt.readthedocs.io/en/latest/quickstart.html for instructions. This lab runs on Linux and macOS.
2.  Request authorization for your new account through the CSDMS Help Desk at https://github.com/csdms/help-desk/issues/new?assignees=mdpiper&labels=jupyterhub&template=new-csdms-jupyterhub-account.md&title=CSDMS+JupyterHub+account  -- if you don't already have a GitHub account, you'll be asked to make one
|LabAcknowledgements=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)''.
 
}}
3. Once approved, run Jupyter Notebooks by clicking on "start" under the "Run online" section (grey table at the top of this lab page).
{{LabReferences
|LabReferences=Hutton, E.W.H., and Piper, M.D., 2020: csdms/pymt: The Python Modeling Toolkit (Version v1.0.0). Zenodo. http://doi.org/10.5281/zenodo.3644240
}}
{{LabReferences
|LabReferences=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, https://doi.org/10.5194/gmd-15-1413-2022.
}}
}}

Latest revision as of 15:35, 19 April 2022

CSDMS Workbench: Python Modeling Toolkit (pymt)

Model
CEM
Duration
2.0 hrs
Updated
2022-04-19
Download
download
Run online using:
  1. Jupyter
  2. Lab
     Jupyter logo.png

Contributor(s)
    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.

Introduction
PyMT-logo-below-lowercase.png

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 https://pymt.readthedocs.io.

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 https://csdms.colorado.edu/wiki/Workbench.


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
Skills
  • 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 https://csdms.colorado.edu/wiki/JupyterHub. If you're an educator, you can get JupyterHub accounts for students--please contact us through the CSDMS Help Desk: https://csdms.github.io/help-desk.


Requirements
If run locally, this lab requires the installtion of pymt; see https://pymt.readthedocs.io/en/latest/quickstart.html for instructions. This lab runs on Linux and macOS.

Acknowledgements
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).

References
  • Hutton, E.W.H., and Piper, M.D., 2020: csdms/pymt: The Python Modeling Toolkit (Version v1.0.0). Zenodo. http://doi.org/10.5281/zenodo.3644240
  • 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, https://doi.org/10.5194/gmd-15-1413-2022.