Lab-0015: Difference between revisions

From CSDMS
No edit summary
No edit summary
Line 52: Line 52:
|LabNotesInstructions=This lab can be run on either the "lab" (for educators) or "jupyter" (for general use) instances of the OpenEarthscape JupyterHub: just click one of the links under the "Run online" heading at the top of this page.
|LabNotesInstructions=This lab can be run on either the "lab" (for educators) or "jupyter" (for general use) instances of the OpenEarthscape JupyterHub: just click one of the links under the "Run online" heading at the top of this page.


If you don't already have an 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.
If you don't already have an 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.
|LabNotesRequirements=If run locally, this lab requires the source code from the bmi-example-python repository: https://github.com/csdms/bmi-example-python.
|LabNotesRequirements=If run locally, this lab requires the source code from the bmi-example-python repository: https://github.com/csdms/bmi-example-python.
|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).
|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).

Revision as of 14:38, 8 April 2022

Introduction to CSDMS Tools: Basic Model Interface (BMI)

Model
Heat
Duration
1.0 hrs
Updated
2020-08-26
Download
download
Run online using:
  1. Jupyter
     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
Bmi-logo-below-lowercase.png
The Basic Model Interface (BMI) is a set of standard control and query functions that, when added to a model code, make that model both easier to learn and easier to couple with other software elements. Detailed information about BMI can be found at https://bmi.readthedocs.io.

Classroom organization
In this lab, we explore what BMI is and how to use it through a pair of Jupyter Notebooks. This lab first illustrates an example "Heat" model which simulates the diffusion of temperature on a uniform rectangular plate with Dirichlet boundary conditions. Then, the lab demonstrates how to run the "Heat" model through its BMI.

Learning objectives
Skills
  • View model source code and model BMI source code
  • Learn to set up and run the Heat model
  • Learn to set up and run the Heat model through its BMI
Key concepts
  • Diffusion of temperature
  • Software interface

Lab notes
This lab can be run on either the "lab" (for educators) or "jupyter" (for general use) instances of the OpenEarthscape JupyterHub: just click one of the links under the "Run online" heading at the top of this page. If you don't already have an 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 source code from the bmi-example-python repository: https://github.com/csdms/bmi-example-python.

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., Piper, M.D., and Tucker, G.E., 2020. The Basic Model Interface 2.0: A standard interface for coupling numerical models in the geosciences. Journal of Open Source Software, 5(51), 2317, https://doi.org/10.21105/joss.02317
  • Peckham, S.D., Hutton, E.W., and Norris, B., 2013. A component-based approach to integrated modeling in the geosciences: The design of CSDMS. Computers & Geosciences, 53, pp.3-12, http://dx.doi.org/10.1016/j.cageo.2012.04.002.