Presenters-0420: Difference between revisions
From CSDMS
(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...") |
No edit summary |
||
Line 17: | Line 17: | ||
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 | 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 description (http://csdms.colorado.edu/wiki/BMI_Description), and the | ||
BMI documentation (https://bmi-spec.readthedocs.io) | * BMI documentation (https://bmi-spec.readthedocs.io) | ||
before the start of the clinic. | before the start of the clinic. | ||
|CSDMS meeting youtube code=0 | |CSDMS meeting youtube code=0 |
Revision as of 11:09, 26 December 2018
CSDMS3.0 - Bridging Boundaries
BMI Live!
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)
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: