Workbench: Difference between revisions

From CSDMS
m (Checkpoint with Workbench elements listed in a table)
m (Checkpoint with more content)
Line 3: Line 3:
The ''CSDMS Workbench'' is the integrated system of software tools, technologies, and standards
The ''CSDMS Workbench'' is the integrated system of software tools, technologies, and standards
developed by CSDMS for designing, building, interfacing, and coupling models.
developed by CSDMS for designing, building, interfacing, and coupling models.
Each element of the CSDMS Workbench is developed as open source software and released to the community under the MIT License.
The CSDMS Workbench consists of five core elements:
The CSDMS Workbench consists of five core elements:


Line 8: Line 9:
# [[CSDMS_Standard_Names|Standard Names (CSN)]]
# [[CSDMS_Standard_Names|Standard Names (CSN)]]
# Babelizer
# Babelizer
# Python Modeling Toolkit (PyMT)
# [[PyMT|Python Modeling Toolkit (PyMT)]]
# Landlab
# [[Landlab]]


{|
{|
|-
|-
| The ''Basic Model Interface'' (BMI) is a set of functions that standardizes how numerical models can be queried, modified, and run. A model with a BMI exposes the same set of functions, no matter which language the model is written in. While a BMI can be specified for any language, CSDMS currently supports C, C++, Fortran, and Python. [[https://bmi.readthedocs.io documentation], [https://github.com/csdms/bmi/ source repository]]
| The ''Basic Model Interface'' (BMI) is a set of functions that standardizes how numerical models can be queried, modified, and run. A model with a BMI exposes the same set of functions, no matter which language the model is written in. While a BMI can be specified for any language, CSDMS currently supports C, C++, Fortran, and Python. [[https://bmi.readthedocs.io documentation], [https://github.com/csdms/bmi source repository]]
|| [[ File:Bmi-logo-lowercase.png | 250 px | center ]]
|| [[ File:Bmi-logo-lowercase.png | 250 px | center ]]
|-
|-
| ''Standard Names'' provides a standard grammar for interoperable variable names, facilitating information exchange between models that expose a Basic Model Interface.
| ''Standard Names'' provides a standard grammar for variable names, facilitating interoperability and information exchange between models that expose a Basic Model Interface.
[[https://bmi.readthedocs.io documentation], [https://github.com/csdms/bmi/ source repository]]
|| [[ File:Bmi-logo-lowercase.png | 250 px | center ]]
|| [[ File:Bmi-logo-lowercase.png | 250 px | center ]]
|-
|-
| The ''Babelizer'' is a utility for wrapping libraries, from a variety of languages, that expose a Basic Model Interface (BMI) so that they can be imported as a Python package.
| The ''Babelizer'' is a utility for wrapping libraries, from a variety of languages, that expose a Basic Model Interface (BMI) so that they can be imported as a Python package.
[[https://babelizer.readthedocs.io documentation], [https://github.com/csdms/babelizer source repository]]
|| [[ File:babelizer-logo-lowercase.png | 225 px | center ]]
|| [[ File:babelizer-logo-lowercase.png | 225 px | center ]]
|-
|-
| The Python Modeling Tool (PyMT) ...
| The ''Python Modeling Tool'' (PyMT) provides the tools needed for coupling models that expose a Basic Model Interface. PyMT provides utilities for coupling models of disparate time and space scales, a collection of Earth-surface models, and an extensible plug-in framework for adding new models.
[[https://pymt.readthedocs.io documentation], [https://github.com/csdms/pymt source repository]]
|| [[ File:pymt-logo-lowercase.png | 250 px | center ]]
|| [[ File:pymt-logo-lowercase.png | 250 px | center ]]
|-
|-
| Landlab ...
| ''Landlab'' is library that allows users to easily build unique earth surface processes models to address specific hypotheses. The Landlab library contains gridding engines for building regular and irregular grids, process components that act on grid variables, tools for storing and sharing data among the grid and components, and plotting and analysis tools.
[[https://landlab.readthedocs.io documentation], [https://github.com/landlab/landlab source repository]]
|| [[ File:landlab-logo-lowercase.png | 250 px | center ]]
|| [[ File:landlab-logo-lowercase.png | 250 px | center ]]
|}
|}
Line 31: Line 36:
To learn more about the CSDMS Workbench,
To learn more about the CSDMS Workbench,
visit the individual product pages linked above,
visit the individual product pages linked above,
or reach out to us through the CSDMS Help Desk to get in touch with a CSDMS staff member.
or reach out to us through the [https://github.com/csdms/help-desk CSDMS Help Desk] to get in touch with a CSDMS staff member.

Revision as of 15:47, 9 November 2020

The CSDMS Workbench

The CSDMS Workbench is the integrated system of software tools, technologies, and standards developed by CSDMS for designing, building, interfacing, and coupling models. Each element of the CSDMS Workbench is developed as open source software and released to the community under the MIT License. The CSDMS Workbench consists of five core elements:

  1. Basic Model Interface (BMI)
  2. Standard Names (CSN)
  3. Babelizer
  4. Python Modeling Toolkit (PyMT)
  5. Landlab
The Basic Model Interface (BMI) is a set of functions that standardizes how numerical models can be queried, modified, and run. A model with a BMI exposes the same set of functions, no matter which language the model is written in. While a BMI can be specified for any language, CSDMS currently supports C, C++, Fortran, and Python. [documentation, source repository]
Bmi-logo-lowercase.png
Standard Names provides a standard grammar for variable names, facilitating interoperability and information exchange between models that expose a Basic Model Interface.

[documentation, source repository]

Bmi-logo-lowercase.png
The Babelizer is a utility for wrapping libraries, from a variety of languages, that expose a Basic Model Interface (BMI) so that they can be imported as a Python package.

[documentation, source repository]

Babelizer-logo-lowercase.png
The Python Modeling Tool (PyMT) provides the tools needed for coupling models that expose a Basic Model Interface. PyMT provides utilities for coupling models of disparate time and space scales, a collection of Earth-surface models, and an extensible plug-in framework for adding new models.

[documentation, source repository]

Pymt-logo-lowercase.png
Landlab is library that allows users to easily build unique earth surface processes models to address specific hypotheses. The Landlab library contains gridding engines for building regular and irregular grids, process components that act on grid variables, tools for storing and sharing data among the grid and components, and plotting and analysis tools.

[documentation, source repository]

Landlab-logo-lowercase.png

To learn more about the CSDMS Workbench, visit the individual product pages linked above, or reach out to us through the CSDMS Help Desk to get in touch with a CSDMS staff member.