Glossary

A glossary of terms used with BMI.

$
The default shell prompt.
Anaconda
A Python distribution that includes libraries for scientific computing and a package manager. See https://www.anaconda.com/distribution for more information.
Basic Model Interface
A set a functions that are used to interact with and control a model. See https://bmi.readthedocs.io for more information.
BMI
See Basic Model Interface.
Community Surface Dynamics Modeling System
CSDMS is an NSF-funded program that seeks to transform the science and practice of earth-surface dynamics modeling. For more information, visit https://csdms.colorado.edu.
class
A program that acts as a template for creating objects.
conda
The package manager for Anaconda. Also an informal name for an Anaconda installation.
conda-forge
A collection of community-built packages distributed by Anaconda. See https://conda-forge.org.
conda environment
A conda sub-installation that isolates a group of packages from the main conda installation.
configuration file
A file that contains information, including initial values of parameters, for setting up a model.
coupling
See model coupling.
CSDMS
See Community Surface Dynamics Modeling System.
CSDMS Workbench
An integrated system of software tools, technologies, and standards for building and coupling models. See https://csdms.colorado.edu/wiki/Workbench for more information.
data
Information held by an object.
edge
A line or curve bounded by two nodes.
exchange item
A variable that a model with a BMI produces or consumes. Exchange items are public, not internal variables in the model. Exchange items should use Standard Names.
face
A plane or surface enclosed by a set of edges. In a 2D horizontal application one may consider the word “polygon”, but in the hierarchy of elements the term “face” is most common. See also node.
grid
A representation of a larger spatial domain by smaller discrete cells. See Model grids and References, as well as terms node, edge, and face.
grid identifier
A unique object that labels (identifies) a model grid. Grid identifiers are integers, starting at zero. Often abbreviated “grid id”. They’re obtained through the get_var_grid function.
grid node
See node.
import
The process of bringing code from a Python module into another module or into an interactive Python session.
instance
See object.
method
Programs that act upon the data of an object.
model
A computer program that attempts to describe a physical process with mathematical relationships that evolve over time and are solved numerically. For more information, see, for example, https://en.wikipedia.org/wiki/Numerical_modeling_(geology).
model configuration file
A file, usually in a text-based format, that lists the tunable parameters of a model and supplies their initial values.
model coupling
Models are coupled when they exchange inputs and outputs, often at the resolution of individual time steps. One-way coupling occurs when the outputs from one model are used as inputs to another model. Two-way coupling is when outputs from one model are used as inputs for another model, which in turn supplies its outputs to the first model as inputs, producing a feedback.
module
A file (with the .py extension) that contains Python code.
node
A point that has a coordinate pair or triplet: the most basic element of a grid. Variable values are typically calculated at nodes. See also face and edge.
NumPy
A Python library that provides arrays. Outputs from pymt are NumPy arrays. See also http://www.numpy.org.
object
A variable that is a concrete example of a class. Objects have data and methods that act upon those data.
rank
The number of dimensions of a model grid. A scalar has rank 0, a vector has rank 1, a rectilinear grid has rank 2, etc.
refactor
The act of modifying the internals of a program without changing the external behaviors of the program. Refactoring is often done to clean up code and improve its performance.
Scientific Interface Definition Language
A specification language for describing software interfaces to scientific model codes. See References.
SIDL
See Scientific Interface Definition Language.
Standard Names
A semantic mediation technology developed at CSDMS for precisely matching variable names between models. For more information, see https://csdms.colorado.edu/wiki/CSDMS_Standard_Names.
unit test
A program that isolates and runs a section (a unit) of source code to ensure that it produces an expected result.