The babelizer is an open source Python utility, developed by the Community Surface Dynamics Modeling System (CSDMS), for wrapping models that expose a Basic Model Interface (BMI) so they can be imported as Python packages.

Supported languages include:

  • C

  • C++

  • Fortran

  • Python

Within Python, these models, regardless of their core language, appear as classes that expose a BMI. Users are then able to run models interactively through the Python command line or Jupyter Notebook, and programmatically through Python scripts; they can also use Python-based BMI tools such as the bmi-tester, pymt, and Landlab.

The babelizer is an element of the CSDMS Workbench, an integrated system of software tools, technologies, and standards for building and coupling models.

User Guide

API Reference

If you are looking for information on a specific function, class, or method, this part of the documentation is for you.

Additional Information


Adding a BMI to a model and babelizing it can be a daunting task. If you’d like assistance, CSDMS can help. Depending on your need, we can provide advice or consulting services. Feel free to contact us through the CSDMS Help Desk.


This work is supported by the National Science Foundation under Award No. 1831623, Community Facility Support: The Community Surface Dynamics Modeling System (CSDMS).

Indices and tables