Lab-0015: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 30: | Line 30: | ||
|LabDescription=<p>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.</p> | |LabDescription=<p>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.</p> | ||
<p>BMI is an element of the CSDMS Workbench, an integrated system of software tools, technologies, and standards for building and coupling models.</p> | <p>BMI 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=Bmi-logo-below-lowercase.png | |LabPicture=Bmi-logo-below-lowercase.png | ||
}} | }} | ||
Line 53: | Line 53: | ||
}} | }} | ||
{{LabNotes | {{LabNotes | ||
|LabNotesInstructions=<p>This lab can be run on | |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> | ||
<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> | <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> | ||
Line 64: | Line 64: | ||
{{LabReferences | {{LabReferences | ||
|LabReferences=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. | |LabReferences=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. | ||
}} | |||
{{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:36, 19 April 2022
CSDMS Workbench: Basic Model Interface (BMI)
Contributor(s)
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.
BMI 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 explore what BMI is and how to use it through a pair of Jupyter Notebooks. The first notebook presents a simple "Heat" model which simulates the diffusion of temperature on a uniform rectangular plate with Dirichlet boundary conditions. The second notebook demonstrates how to run the "Heat" model through its BMI.
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
- Diffusion of temperature
- Software interface
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 that the BMI Python example (https://github.com/csdms/bmi-example-python) be installed.
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.
- 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.