BMI

From CSDMS
Revision as of 13:50, 7 February 2019 by Mpiper (talk | contribs) (Change logo dimensions to match pymt logo)
Basic Model Interface (BMI)
The Basic Model Interface

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.