https://github.com/csdms/bmi-example-python
An example of wrapping a model written in Python with a BMI
https://github.com/csdms/bmi-example-python
bmi csdms python
Last synced: 2 months ago
JSON representation
An example of wrapping a model written in Python with a BMI
- Host: GitHub
- URL: https://github.com/csdms/bmi-example-python
- Owner: csdms
- License: mit
- Created: 2014-12-13T00:59:42.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T22:46:34.000Z (11 months ago)
- Last Synced: 2024-12-23T23:27:48.942Z (11 months ago)
- Topics: bmi, csdms, python
- Language: Python
- Homepage: https://bmi.csdms.io
- Size: 788 KB
- Stars: 13
- Watchers: 10
- Forks: 22
- Open Issues: 8
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
.. image:: https://img.shields.io/badge/CSDMS-Basic%20Model%20Interface-green.svg
:target: https://bmi.readthedocs.io/
:alt: Basic Model Interface
.. image:: https://github.com/csdms/bmi-example-python/actions/workflows/test.yml/badge.svg
:target: https://github.com/csdms/bmi-example-python/actions/workflows/test.yml
:alt: CI status
.. image:: https://coveralls.io/repos/csdms/bmi-example-python/badge.png?branch=master
:target: https://coveralls.io/r/csdms/bmi-example-python?branch=master
:alt: Coverage status
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/csdms/bmi
:alt: 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
.. code-block:: bash
$ pip install -e .
To run the tests,
.. code-block:: bash
$ pip install -r requirements-testing.txt
$ make test
.. _Python bindings: https://github.com/csdms/bmi-python
.. _Basic Model Interface: https://bmi.readthedocs.io
.. _README: https://github.com/csdms/bmi-python/blob/master/README.rst