Presenters-0067: Difference between revisions
From CSDMS
Created page with "{{Presenters temp |CSDMS meeting event title=CSDMS 2017 annual meeting: Modeling Coupled Earth and Human Systems - The Dynamic Duo |CSDMS meeting event year=2017 |CSDMS meetin..." |
m Add youtube views template if missing |
||
Line 22: | Line 22: | ||
|CSDMS meeting abstract presentation=In software engineering, an interface is a set 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 of the function, while keeping the signatures intact. CSDMS has created the Basic Model Interface (BMI) for simplifying the conversion of an existing model in C, C++, Fortran, Python, or Java into a reusable, plug-and-play component. By design, BMI functions are straightforward to implement. However, when trying to match BMI functions to model behaviors, the devil is often in the details.<br>In this hands-on clinic, we will take a simple model -- in this case, an implementation of the two-dimensional heat equation in Python -- and together, we will wrap it with a BMI. As we develop, we’ll use a Jupyter Notebook to test and explore how to use the BMI. To get the most out of this clinic, come prepared to code! We have a lot to write in the time allotted for the clinic. Attendees must bring a laptop, and we recommend installing the Anaconda Python distribution. We also request that you read over:<ul><li>[[BMI_Description|BMI description]]</li><li> BMI documentation (http://bmi-python.readthedocs.io)</li></ul>before participating in the clinic.<br>All materials used in the clinic are available at https://github.com/csdms/bmi-live-2017, including the Python [https://github.com/csdms/bmi-live-2017/blob/master/.totally-hidden-directory/bmi_diffusion.py source code] for the BMI and a [https://github.com/csdms/bmi-live-2017/blob/master/nb/run-model-from-bmi.ipynb Jupyter Notebook] that describes how to use it. | |CSDMS meeting abstract presentation=In software engineering, an interface is a set 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 of the function, while keeping the signatures intact. CSDMS has created the Basic Model Interface (BMI) for simplifying the conversion of an existing model in C, C++, Fortran, Python, or Java into a reusable, plug-and-play component. By design, BMI functions are straightforward to implement. However, when trying to match BMI functions to model behaviors, the devil is often in the details.<br>In this hands-on clinic, we will take a simple model -- in this case, an implementation of the two-dimensional heat equation in Python -- and together, we will wrap it with a BMI. As we develop, we’ll use a Jupyter Notebook to test and explore how to use the BMI. To get the most out of this clinic, come prepared to code! We have a lot to write in the time allotted for the clinic. Attendees must bring a laptop, and we recommend installing the Anaconda Python distribution. We also request that you read over:<ul><li>[[BMI_Description|BMI description]]</li><li> BMI documentation (http://bmi-python.readthedocs.io)</li></ul>before participating in the clinic.<br>All materials used in the clinic are available at https://github.com/csdms/bmi-live-2017, including the Python [https://github.com/csdms/bmi-live-2017/blob/master/.totally-hidden-directory/bmi_diffusion.py source code] for the BMI and a [https://github.com/csdms/bmi-live-2017/blob/master/nb/run-model-from-bmi.ipynb Jupyter Notebook] that describes how to use it. | ||
|CSDMS meeting youtube code=0 | |CSDMS meeting youtube code=0 | ||
|CSDMS meeting youtube views={{Youtube_0}} | |||
|CSDMS meeting participants=0 | |CSDMS meeting participants=0 | ||
}} | }} |
Revision as of 15:52, 28 May 2025
CSDMS 2017 annual meeting: Modeling Coupled Earth and Human Systems - The Dynamic Duo
BMI: Live!
Abstract
[[CSDMS meeting abstract presentation::In software engineering, an interface is a set 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 of the function, while keeping the signatures intact. CSDMS has created the Basic Model Interface (BMI) for simplifying the conversion of an existing model in C, C++, Fortran, Python, or Java into a reusable, plug-and-play component. By design, BMI functions are straightforward to implement. However, when trying to match BMI functions to model behaviors, the devil is often in the details.
In this hands-on clinic, we will take a simple model -- in this case, an implementation of the two-dimensional heat equation in Python -- and together, we will wrap it with a BMI. As we develop, we’ll use a Jupyter Notebook to test and explore how to use the BMI. To get the most out of this clinic, come prepared to code! We have a lot to write in the time allotted for the clinic. Attendees must bring a laptop, and we recommend installing the Anaconda Python distribution. We also request that you read over:
- BMI description
- BMI documentation (http://bmi-python.readthedocs.io)
All materials used in the clinic are available at https://github.com/csdms/bmi-live-2017, including the Python source code for the BMI and a Jupyter Notebook that describes how to use it. ]]
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: