Remote BMI

Remote BMI allows you to communicate with Basic Model Interface enabled numerical models using a RESTful API

2
contributors
115 commitsLast commit ≈ 1 month ago0 stars1 fork

What Remote BMI can do for you

Remote BMI

Contributor Covenant Codecov test coverage

Remote BMI allows you to communicate with BMI enabled numerical models using a RESTful API.

The Basic Model Interface (BMI) is a standard interface for models. The interface is available in different languages and a language agnosting version in SIDL.

To have a consumer of the model and the provider of the model seperated you can use grpc4bmi, but this only works on languages that have a gRPC implementation. This repository replaces the gRPC protocol with an REST API. The REST API specification is in the OpenAPI format.

Usage

For Python and Julia implementations are available both for model providers and consumers. R has a model provider implementation. For usage examples see the main remotebmi documentation.

Documentation for the available implementations can be found at:

For the OpenAPI specification reference documentation is available.

Repository structure

This repository is a monorepo containing packages for different languages.

  1. Python client and server, in ./python/ directory
  2. Julia client and server, in ./julia/ directory
  3. R server, in ./R/ directory

Other languages

Any language that can run a HTTP server and parse/load JSON can be used as a provider.

The server should implement the openapi.yaml specification.

Logo of Remote BMI
Keywords
Programming languages
  • Julia 65%
  • Python 20%
  • R 14%
  • Other 1%
License
</>Source code
Packages
pypi.org

Participating organisations

Netherlands eScience Center

Contributors

Related projects

DEPICTION

DEveloPing an International CollaboraTIon to advance community-based, Open and FAIR eNvironmental modelling

Updated 1 month ago
Finished

eWaterCycle

Overcoming the challenge of locality using a community multi-model environment

Updated 7 months ago
Finished

Related software

ewatercycle

EW

The eWaterCycle package makes it easier to use hydrological models without having intimate knowledge about how to install and run the models.

Updated 15 months ago
2 10

grpc4bmi

GR

Run, read and write model state of a numerical simulation written in a variety of languages remotely from Python

Updated 7 months ago
3