Basic Model Interface

landlab.bmi.bmi_bridge module

Wrap landlab component with the Basic Modeling Interface (landlab.bmi.bmi_bridge)

Section author: Eric Hutton

Function reference

The wrap_as_bmi function wraps a landlab component class so that it exposes a Basic Modelling Interface.

class TimeStepper(start=0.0, stop=None, step=1.0, units='s')[source]

Bases: object

Step through time.

Parameters
  • start (float, optional) – Clock start time.

  • stop (float, optional) – Stop time.

  • step (float, optional) – Time step.

Examples

>>> from landlab.bmi import TimeStepper
>>> time_stepper = TimeStepper()
>>> time_stepper.start
0.0
>>> time_stepper.stop is None
True
>>> time_stepper.step
1.0
>>> time_stepper.time
0.0
>>> for _ in range(10): time_stepper.advance()
>>> time_stepper.time
10.0
>>> time_stepper = TimeStepper(1., 13., 2.)
>>> [time for time in time_stepper]
[1.0, 3.0, 5.0, 7.0, 9.0, 11.0]
advance()[source]

Advance the time stepper by one time step.

property start

Start time.

property step

Time Step.

property stop

Stop time.

property time

Current time.

property units

Time units.

wrap_as_bmi(cls)[source]

Wrap a landlab class so it exposes a BMI.

Give a landlab component a Basic Model Interface (BMI). Since landlab components have an interface that is already in the style of BMI, this function adds just a light wrapping to landlab components. There are a number of differences that may cause some confusion to landlab users.

  1. Because BMI doesn’t have a concept of a dual grid, it only defines nodes (points), edges (vectors), and faces (areas). The dual-graph of landlab is considered as two separate grids by BMI.

  2. It is important to note that BMI has only three grid elements (node, edge, and face) while landlab has 6. The names used by landlab and BMI are also different.

    Thus, a BMI-wrapped landlab component will always have two grids with grid identifiers 0, and 1. Grid 0 will contain the landlab nodes, links, and patches while grid 1 will contain corners, faces, and cells.landlab and BMI refer to grid elements by different names. The mapping from landlab to BMI nomenclature is the following:

    Grid 0: * node: node * link: edge * patch: face

    Grid 1: * corner: node * face: edge * cell: face

  3. In BMI, the initialize method requires an input file that is used to create and setup the model for time-stepping. landlab components generally do not have anything like this; instead this task is usually done programmatically. Thus, the input file that is used by the BMI initialize method is a standard landlab input file as used by the landlab create_grid function.

Parameters

cls (class) – A landlab class that inherits from Component.

Returns

A wrapped class that exposes a BMI.

Return type

class

Examples

>>> from landlab.bmi import wrap_as_bmi
>>> from landlab.components.flexure import Flexure
>>> BmiFlexure = wrap_as_bmi(Flexure)
>>> flexure = BmiFlexure()
>>> sorted(flexure.get_input_var_names())
['boundary_condition_flag', 'lithosphere__overlying_pressure_increment']
>>> flexure.get_var_units("lithosphere__overlying_pressure_increment")
'Pa'
>>> config = """
... flexure:
...     eet: 10.e+3
...     method: flexure
... clock:
...     start: 0.
...     stop: 10.
...     step: 2.
... grid:
...     RasterModelGrid:
...     - [20, 40]
...     - xy_spacing: [2000., 1000.]
...     - fields:
...        node:
...          lithosphere__overlying_pressure_increment:
...            constant:
...              - value: 0.0
... """
>>> flexure.initialize(config)
>>> sorted(flexure.get_output_var_names())
['boundary_condition_flag', 'lithosphere_surface__elevation_increment']
>>> flexure.get_var_grid('lithosphere_surface__elevation_increment')
0
>>> flexure.get_grid_shape(0, np.empty(flexure.get_grid_rank(0), dtype=int))
array([20, 40])
>>> dz = np.empty(flexure.get_grid_size(0))
>>> _ = flexure.get_value('lithosphere_surface__elevation_increment', dz)
>>> np.all(dz == 0.)
True
>>> flexure.get_current_time()
0.0
>>> sorted(flexure.get_input_var_names())
['boundary_condition_flag', 'lithosphere__overlying_pressure_increment']
>>> load = np.zeros((20, 40), dtype=float)
>>> load[0, 0] = 1.
>>> flexure.set_value('lithosphere__overlying_pressure_increment', load)
>>> flexure.update()
>>> flexure.get_current_time()
2.0
>>> _ = flexure.get_value('lithosphere_surface__elevation_increment', dz)
>>> np.all(dz == 0.)
False

landlab.bmi.components module

class BedrockLandslider

Bases: Bmi

Basic Modeling Interface for the BedrockLandslider component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class CarbonateProducer

Bases: Bmi

Basic Modeling Interface for the CarbonateProducer component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class ChannelProfiler

Bases: Bmi

Basic Modeling Interface for the ChannelProfiler component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class ChiFinder

Bases: Bmi

Basic Modeling Interface for the ChiFinder component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DepressionFinderAndRouter

Bases: Bmi

Basic Modeling Interface for the DepressionFinderAndRouter component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DepthDependentDiffuser

Bases: Bmi

Basic Modeling Interface for the DepthDependentDiffuser component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DepthDependentTaylorDiffuser

Bases: Bmi

Basic Modeling Interface for the DepthDependentTaylorDiffuser component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DepthSlopeProductErosion

Bases: Bmi

Basic Modeling Interface for the DepthSlopeProductErosion component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DetachmentLtdErosion

Bases: Bmi

Basic Modeling Interface for the DetachmentLtdErosion component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DimensionlessDischarge

Bases: Bmi

Basic Modeling Interface for the DimensionlessDischarge component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DischargeDiffuser

Bases: Bmi

Basic Modeling Interface for the DischargeDiffuser component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class DrainageDensity

Bases: Bmi

Basic Modeling Interface for the DrainageDensity component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class ErosionDeposition

Bases: Bmi

Basic Modeling Interface for the ErosionDeposition component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class ExponentialWeatherer

Bases: Bmi

Basic Modeling Interface for the ExponentialWeatherer component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class ExponentialWeathererIntegrated

Bases: Bmi

Basic Modeling Interface for the ExponentialWeathererIntegrated component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FastscapeEroder

Bases: Bmi

Basic Modeling Interface for the FastscapeEroder component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FireGenerator

Bases: Bmi

Basic Modeling Interface for the FireGenerator component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class Flexure

Bases: Bmi

Basic Modeling Interface for the Flexure component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class Flexure1D

Bases: Bmi

Basic Modeling Interface for the Flexure1D component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FlowAccumulator

Bases: Bmi

Basic Modeling Interface for the FlowAccumulator component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FlowDirectorD8

Bases: Bmi

Basic Modeling Interface for the FlowDirectorD8 component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FlowDirectorDINF

Bases: Bmi

Basic Modeling Interface for the FlowDirectorDINF component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FlowDirectorMFD

Bases: Bmi

Basic Modeling Interface for the FlowDirectorMFD component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FlowDirectorSteepest

Bases: Bmi

Basic Modeling Interface for the FlowDirectorSteepest component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class FractureGridGenerator

Bases: Bmi

Basic Modeling Interface for the FractureGridGenerator component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class GroundwaterDupuitPercolator

Bases: Bmi

Basic Modeling Interface for the GroundwaterDupuitPercolator component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class HackCalculator

Bases: Bmi

Basic Modeling Interface for the HackCalculator component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class HeightAboveDrainageCalculator

Bases: Bmi

Basic Modeling Interface for the HeightAboveDrainageCalculator component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class KinematicWaveRengers

Bases: Bmi

Basic Modeling Interface for the KinematicWaveRengers component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int

get_input_var_names()

Names of the input exchange items.

get_output_item_count()

Count of a model’s output variables.

Returns

The number of output variables.

Return type

int

get_output_var_names()

Names of the output exchange items.

get_start_time()

Start time of the component.

get_time_step()

Component time step.

get_time_units()

Time units used by the component.

get_value(name, dest)

Get a copy of a variable’s data.

get_value_at_indices(name, dest, inds)

Get values at particular indices.

Parameters
  • name (str) – An input or output variable name, a CSDMS Standard Name.

  • dest (ndarray) – A numpy array into which to place the values.

  • indices (array_like) – The indices into the variable array.

Returns

Value of the model variable at the given location.

Return type

array_like

get_value_ptr(name)

Get a reference to values of the given variable.

This is a getter for the model, used to access the model’s current state. It returns a reference to a model variable, with the return type, size and rank dependent on the variable.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

A reference to a model variable.

Return type

array_like

get_value_ref(name)

Get a reference to a variable’s data.

get_var_grid(name)

Get the grid id for a variable.

get_var_itemsize(name)

Get the size of elements of a variable.

get_var_location(name)

Get the grid element type that the a given variable is defined on.

The grid topology can be composed of nodes, edges, and faces.

node

A point that has a coordinate pair or triplet: the most basic element of the topology.

edge

A line or curve bounded by two nodes.

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 word “face” is most common.

Parameters

name (str) – An input or output variable name, a CSDMS Standard Name.

Returns

The grid location on which the variable is defined. Must be one of “node”, “edge”, or “face”.

Return type

str

Notes

CSDMS uses the ugrid conventions to define unstructured grids.

get_var_nbytes(name)

Get the total number of bytes used by a variable.

get_var_type(name)

Get the data type for a variable.

get_var_units(name)

Get the unit used by a variable.

initialize(config_file)

Initialize the component from a file.

BMI-wrapped Landlab components use input files in YAML format. Component-specific parameters are listed at the top level, followed by grid and then time information. An example input file looks like:

flexure:
    eet: 15.e+3
clock:
    start: 0
    stop: 100.
    step: 2.
grid:
    type: raster
    shape: [20, 40]
    spacing: [1000., 2000.]

In this case, a RasterModelGrid is created (with the given shape and spacing) and passed to the underlying landlab component. The eet=15000. is also given to the component but as a keyword parameter. The BMI clock is initialized with the given parameters.

Parameters

config_file (str or file_like) – YAML-formatted input file for the component.

set_value(name, values)

Set the values of a variable.

set_value_at_indices(name, inds, src)

Specify a new value for a model variable at particular indices.

Parameters
  • var_name (str) – An input or output variable name, a CSDMS Standard Name.

  • indices (array_like) – The indices into the variable array.

  • src (array_like) – The new value for the specified variable.

update()

Update the component one time step.

update_frac(frac)

Update the component a fraction of a time step.

update_until(then)

Update the component until a given time.

class KinwaveImplicitOverlandFlow

Bases: Bmi

Basic Modeling Interface for the KinwaveImplicitOverlandFlow component.

finalize()

Clean-up the component.

get_component_name()

Name of the component.

get_current_time()

Current component time.

get_end_time()

Stop time for the component.

get_grid_edge_count(grid)

Get the number of edges in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid edges.

Return type

int

get_grid_edge_nodes(grid, edge_nodes)

Get the edge-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • edge_nodes (ndarray of int, shape (2 x nnodes,)) – A numpy array to place the edge-node connectivity. For each edge, connectivity is given as node at edge tail, followed by node at edge head.

Returns

The input numpy array that holds the edge-node connectivity.

Return type

ndarray of int

get_grid_face_count(grid)

Get the number of faces in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid faces.

Return type

int

get_grid_face_edges(grid)

Get the face-edge connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_edges (ndarray of int) – A numpy array to place the face-edge connectivity.

Returns

The input numpy array that holds the face-edge connectivity.

Return type

ndarray of int

get_grid_face_nodes(grid, face_nodes)

Get the face-node connectivity.

Parameters
  • grid (int) – A grid identifier.

  • face_nodes (ndarray of int) – A numpy array to place the face-node connectivity. For each face, the nodes (listed in a counter-clockwise direction) that form the boundary of the face.

Returns

The input numpy array that holds the face-node connectivity.

Return type

ndarray of int

get_grid_node_count(grid)

Get the number of nodes in the grid.

Parameters

grid (int) – A grid identifier.

Returns

The total number of grid nodes.

Return type

int

get_grid_nodes_per_face(grid, nodes_per_face)

Get the number of nodes for each face.

Parameters
  • grid (int) – A grid identifier.

  • nodes_per_face (ndarray of int, shape (nfaces,)) – A numpy array to place the number of edges per face.

Returns

The input numpy array that holds the number of nodes per edge.

Return type

ndarray of int

get_grid_origin(grid, origin)

Get the origin for a structured grid.

get_grid_rank(grid)

Get the number of dimensions of a grid.

get_grid_shape(grid, shape)

Get the shape of a structured grid.

get_grid_size(grid)

Get the total number of elements in the computational grid.

Parameters

grid (int) – A grid identifier.

Returns

Size of the grid.

Return type

int

get_grid_spacing(grid, spacing)

Get the row and column spacing of a structured grid.

get_grid_type(grid)

Get the type of grid.

get_grid_x(grid, x)

Get coordinates of grid nodes in the x direction.

Parameters
  • grid (int) – A grid identifier.

  • x (ndarray of float, shape (nrows,)) – A numpy array to hold the x-coordinates of the grid node columns.

Returns

The input numpy array that holds the grid’s column x-coordinates.

Return type

ndarray of float

get_grid_y(grid, y)

Get coordinates of grid nodes in the y direction.

Parameters
  • grid (int) – A grid identifier.

  • y (ndarray of float, shape (ncols,)) – A numpy array to hold the y-coordinates of the grid node rows.

Returns

The input numpy array that holds the grid’s row y-coordinates.

Return type

ndarray of float

get_grid_z(grid, z)

Get coordinates of grid nodes in the z direction.

Parameters
  • grid (int) – A grid identifier.

  • z (ndarray of float, shape (nlayers,)) – A numpy array to hold the z-coordinates of the grid nodes layers.

Returns

The input numpy array that holds the grid’s layer z-coordinates.

Return type

ndarray of float

get_input_item_count()

Count of a model’s input variables.

Returns

The number of input variables.

Return type

int