API reference#

The FINAM model coupling framework.

See also these FINAM book chapters:

Schedule#

Driver/scheduler for creating and executing coupled model compositions.

Composition(modules[, logger_name, ...])

A composition of linked components.

Software development kit#

Implementations of FINAM interfaces for component and adapter development.

Adapter()

Abstract adapter implementation.

CallbackInput(callback, name[, info, static])

Input implementation calling a callback when notified.

CallbackOutput(callback, name[, info])

Output implementation calling a callback when pulled.

Component()

Abstract component implementation.

Input(name[, info, static])

Default input implementation.

Output([name, info, static])

Default output implementation.

TimeComponent()

Abstract component with time step implementation.

TimeDelayAdapter()

Base class for adapters that delay/offset time to resolve dependency cycles.

Grids#

Grid specifications for the exchange of spatial data in FINAM.

EsriGrid(ncols, nrows[, cellsize, ...])

Esri grid raster specification.

NoGrid([dim])

Indicator for data without a spatial grid.

RectilinearGrid(axes[, data_location, ...])

Regular grid with variable spacing in up to three coordinate directions.

UniformGrid(dims[, spacing, origin, ...])

Regular grid with uniform spacing in up to three coordinate directions.

UnstructuredGrid(points, cells, cell_types)

Unstructured grid specification.

UnstructuredPoints(points[, order, ...])

Unstructured points without cells.

Grid tools#

Utilities for grid specifications.

CellType(value[, names, module, qualname, ...])

Supported cell types.

Location(value[, names, module, qualname, ...])

Data location in the grid.

Data tools#

Utilities for data and metadata handling.

Info(time, grid[, meta])

Data info containing grid specification and metadata

UNITS

A wrapper class used to distribute changes to the application registry.

Interfaces#

Basic interfaces of the FINAM framework.

ComponentStatus(value[, names, module, ...])

Status for components.

IComponent()

Interface for components.

ITimeComponent()

Interface for components with a time step.

IAdapter()

Interface for adapters.

IInput()

Interface for input slots.

IOutput()

Interface for output slots.

Loggable()

Loggable component.

NoBranchAdapter()

Interface to mark adapters as allowing only a single end point.

NoDependencyAdapter()

Interface to mark adapters as breaking time dependencies between components.

ITimeDelayAdapter()

Interface for adapters that manipulate the request time.

Errors#

FINAM-specific error types.

FinamCircularCouplingError

Error for unresolved circular or bidirectional coupling.

FinamConnectError

Error for wrong connection setup.

FinamDataError

Error for wrong data.

FinamLogError

Error for wrong logging configuration.

FinamMetaDataError

Error for missing but required metadata.

FinamNoDataError

Error for data not yet being available.

FinamStaticDataError

Error for operations that are not allowed on static inputs or outputs.

FinamStatusError

Error for unexpected status in Components.

FinamTimeError

Error for request time not matching available data timestamps.

Subpackages#

Built-in components, adapters and tool functions.

adapters

Adapters to transform or interpolate data when passed between modules.

data

Specialized data types for exchanges between models/modules.

modules

Components that are no simulation models.

tools

Tools for using FINAM.