BMI: Difference between revisions

From CSDMS
(Link to Python BMI template)
m (Add link to BMI Live repo)
Line 11: Line 11:
* The original [http://www.sciencedirect.com/science/article/pii/S0098300412001252 BMI article in Computers & Geosciences]
* The original [http://www.sciencedirect.com/science/article/pii/S0098300412001252 BMI article in Computers & Geosciences]
* A [https://raw.githubusercontent.com/bmi-forum/bmi-python/master/examples/bmi-template.py template] for a Python BMI. This provides a simple way for a modeler to add a BMI to their model. Each BMI method is stubbed out with documentation; all the modeler needs to do is fill in the methods with hooks into their model code.
* A [https://raw.githubusercontent.com/bmi-forum/bmi-python/master/examples/bmi-template.py template] for a Python BMI. This provides a simple way for a modeler to add a BMI to their model. Each BMI method is stubbed out with documentation; all the modeler needs to do is fill in the methods with hooks into their model code.
* The latest materials for the [https://github.com/csdms/bmi-live-2018 BMI Live] instructional clinic.

Revision as of 16:04, 31 May 2018

Basic Model Interface (BMI)

Version 1.0

Development of scientific modeling software increasingly requires the coupling of multiple, independently developed models. Component-based software engineering enables the integration of plug-and-play components, but significant additional challenges must be addressed in any specific domain in order to produce a usable development and simulation environment that also encourages contributions and adoption by entire communities. In the paper linked below, we describe the challenges in creating a coupling environment for Earth-surface process modeling and the innovative approach that we have developed to address them within CSDMS.

Links

  • A description of the BMI specification: Go here for a detailed description of the latest version of BMI.
  • BMI on GitHub: Go here to contribute to BMI, ask a BMI-related question, or submit an issue.
  • The original BMI article in Computers & Geosciences
  • A template for a Python BMI. This provides a simple way for a modeler to add a BMI to their model. Each BMI method is stubbed out with documentation; all the modeler needs to do is fill in the methods with hooks into their model code.
  • The latest materials for the BMI Live instructional clinic.