Presenters-0420

From CSDMS
Revision as of 10:32, 26 December 2018 by Mamc9359 (talk | contribs) (Created page with "{{Presenters temp |CSDMS meeting event title=CSDMS3.0 - Bridging Boundaries |CSDMS meeting event year=2019 |CSDMS meeting presentation type=Clinic |CSDMS meeting first name=Ma...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
CSDMS3.0 - Bridging Boundaries


BMI Live!



Mark Piper

CSDMS IF, University of Colorado, Boulder, United States
mpiper@colorado.edu


Abstract
In software engineering, an interface is a group of functions with prescribed names, argument types, and return types. When a developer implements an interface for a piece of software, they fill out the details for each function while keeping the signatures intact. CSDMS has developed the Basic Model Interface (BMI) for facilitating the conversion of a model written in C, C++, Fortran, Python, or Java into a reusable, plug-and-play component. By design, BMI functions are simple. However, when trying to implement them, the devil is often in the details.

In this hands-on clinic, we'll take a simple model of the two-dimensional heat equation, written in Python, and together we'll write the BMI functions to wrap it, preparing it for transformation into a component. As we develop, we’ll explore how to use the wrapped model with a Jupyter Notebook.

To get the most out of this clinic, come prepared to code! We'll have a lot to write in the time allotted for the clinic. We recommend that clinic attendees have a laptop with the Anaconda Python distribution installed. We also request that you review the BMI description (http://csdms.colorado.edu/wiki/BMI_Description), and the BMI documentation (https://bmi-spec.readthedocs.io)

before the start of the clinic.



Please acknowledge the original contributors when you are using this material. If there are any copyright issues, please let us know (CSDMSweb@colorado.edu) and we will respond as soon as possible.

Of interest for:
  • Terrestrial Working Group
  • Coastal Working Group
  • Marine Working Group
  • Education and Knowledge Transfer (EKT) Working Group
  • Cyberinformatics and Numerics Working Group
  • Hydrology Focus Research Group
  • Carbonates and Biogenics Focus Research Group
  • Chesapeake Focus Research Group
  • Critical Zone Focus Research Group
  • Human Dimensions Focus Research Group
  • Geodynamics Focus Research Group
  • Ecosystem Dynamics Focus Research Group
  • Coastal Vulnerability Initiative
  • Continental Margin Initiative
  • Artificial Intelligence & Machine Learning Initiative