Skip to content

An example of wrapping a model written in Python with a BMI

License

Notifications You must be signed in to change notification settings

LimnoTech/bmi-example-python

 
 

Repository files navigation

Basic Model Interface CI status Coverage status Black

bmi-example-python

An example of implementing the Python bindings for the CSDMS Basic Model Interface (BMI).

Overview

This is an example of implementing a BMI for a simple model that solves the diffusion equation on a uniform rectangular plate with Dirichlet boundary conditions. The model and its BMI are written in Python 3. Tests of the BMI are provided.

This repository is organized with the following directories:

heat
Source code for the model and its BMI
examples
Jupyter Notebooks that demonstrate how to run the model through its BMI
tests
Tests that cover the BMI of the model

Build/Install

This example can be built and installed on Linux, macOS, and Windows.

Prerequisites:

  • Python 3
  • The Python BMI bindings. Follow the build and install directions given in the README in that repository. You can choose to install them from source, or through pip or conda.

To build/install this example from source, using the current Python BMI version, run

$ pip install -e .

To run the tests,

$ pip install -r requirements-testing.txt
$ make test

About

An example of wrapping a model written in Python with a BMI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 90.2%
  • Makefile 9.8%