Presenters-0089: Difference between revisions

From CSDMS
Created page with "{{Presenters temp |CSDMS meeting event title=Joint CSDMS-SEN annual meeting 2016: Capturing Climate Change |CSDMS meeting event year=2016 |CSDMS meeting presentation type=Clin..."
 
m Text replacement - "\|CSDMS meeting youtube views=\{\{(Youtube_[^}]+)\}\}" to "|CSDMS meeting youtube views={{#explode:{{$1}}| |0}} |CSDMS meeting youtube AverageViews={{#explode:{{$1}}| |1}}"
 
(2 intermediate revisions by 2 users not shown)
Line 22: Line 22:
|CSDMS meeting abstract presentation=CSDMS has developed the Basic Model Interface (BMI) to simplify the conversion of an existing model in C, C++, Fortran, Java, or Python into a reusable, plug-and-play component. By design, the BMI functions are straightforward to implement. However, in practice, the devil is in the details.<br><br>In this hands-on clinic, we will take a model -- in this case, an implementation of the two-dimensional heat equation in Python -- and together, we will write the BMI functions to transform it into a component. As we develop, we’ll unit test our component with nose, and we’ll explore how to use the component with a Jupyter Notebook. Optionally, we can set up a GitHub repository to store and to track changes to the code we write.<br><br>To get the most out of this clinic, come prepared to code! We have a lot to write in the time allotted. We recommend that clinic attendees have a laptop with the Anaconda Python distribution installed. We also request that you skim:<br><br>&#10501; BMI description (https://csdms.colorado.edu/wiki/BMI_Description)<br>&#10501; BMI documentation (http://bmi-forum.readthedocs.io/en/latest)<br>&#10501; BMI GitHub repo(https://github.com/csdms/bmi-live)<br><br>before participating in the clinic.
|CSDMS meeting abstract presentation=CSDMS has developed the Basic Model Interface (BMI) to simplify the conversion of an existing model in C, C++, Fortran, Java, or Python into a reusable, plug-and-play component. By design, the BMI functions are straightforward to implement. However, in practice, the devil is in the details.<br><br>In this hands-on clinic, we will take a model -- in this case, an implementation of the two-dimensional heat equation in Python -- and together, we will write the BMI functions to transform it into a component. As we develop, we’ll unit test our component with nose, and we’ll explore how to use the component with a Jupyter Notebook. Optionally, we can set up a GitHub repository to store and to track changes to the code we write.<br><br>To get the most out of this clinic, come prepared to code! We have a lot to write in the time allotted. We recommend that clinic attendees have a laptop with the Anaconda Python distribution installed. We also request that you skim:<br><br>&#10501; BMI description (https://csdms.colorado.edu/wiki/BMI_Description)<br>&#10501; BMI documentation (http://bmi-forum.readthedocs.io/en/latest)<br>&#10501; BMI GitHub repo(https://github.com/csdms/bmi-live)<br><br>before participating in the clinic.
|CSDMS meeting youtube code=0
|CSDMS meeting youtube code=0
|CSDMS meeting youtube views={{#explode:{{Youtube_0}}| |0}}
|CSDMS meeting youtube AverageViews={{#explode:{{Youtube_0}}| |1}}
|CSDMS meeting participants=0
|CSDMS meeting participants=0
}}
}}
Line 35: Line 37:
{{Presenters additional material
{{Presenters additional material
|Working group member=Cyberinformatics and Numerics Working Group
|Working group member=Cyberinformatics and Numerics Working Group
|CSDMS meeting presentation=MarkPiper_CSDMS_2016_annual_meeting.pdf
}}
}}

Latest revision as of 16:33, 11 June 2025

Joint CSDMS-SEN annual meeting 2016: Capturing Climate Change


BMI: Live!



Eric Hutton

University of Colorado, Boulder, United States
huttone@colorado.edu
Mark Piper University of Colorado, Boulder United States

Abstract
CSDMS has developed the Basic Model Interface (BMI) to simplify the conversion of an existing model in C, C++, Fortran, Java, or Python into a reusable, plug-and-play component. By design, the BMI functions are straightforward to implement. However, in practice, the devil is in the details.

In this hands-on clinic, we will take a model -- in this case, an implementation of the two-dimensional heat equation in Python -- and together, we will write the BMI functions to transform it into a component. As we develop, we’ll unit test our component with nose, and we’ll explore how to use the component with a Jupyter Notebook. Optionally, we can set up a GitHub repository to store and to track changes to the code we write.

To get the most out of this clinic, come prepared to code! We have a lot to write in the time allotted. We recommend that clinic attendees have a laptop with the Anaconda Python distribution installed. We also request that you skim:

⤅ BMI description (https://csdms.colorado.edu/wiki/BMI_Description)
⤅ BMI documentation (http://bmi-forum.readthedocs.io/en/latest)
⤅ BMI GitHub repo(https://github.com/csdms/bmi-live)

before participating in 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:
  • Cyberinformatics and Numerics Working Group