CMI Description

From CSDMS

  CSDMS Component Model Interface (version 1.0)

  • Any model that provides the Basic Model Interface (BMI) functions can be easily converted to a CSDMS plug-and-play component that has a CSDMS Component Model Interface or CMI. This conversion/wrapping process is done by CSDMS staff. The BMI functions are called by the CMI, by the framework and by service components. It is not necessary for a developer to learn anything about the CMI unless they're just curious.
  • There is really only one CMI wrapper for each of the programming languages supported by CSDMS (C, C++, Fortran (all years), Java and Python). It can be thought of as a "harness" that "slips onto" a BMI-enabled model.
  • The relationship between BMI and CMI is illustrated by the following diagram.