FINAM 1.0 released#
We are delighted to announce the first stable release of FINAM: Version 1.0 🎉
FINAM is an open-source, component-based model coupling framework designed for environmental modeling. It enables seamless, bi-directional online coupling of models across different environmental compartments such as geo-, hydro-, pedo-, and biosphere.
What’s new?#
This landmark release provides a robust foundation for environmental model integration, including substantial improvements, richer metadata handling, enhanced grid management, and extensive masking capabilities.
Breaking changes#
Several significant API refinements ensure clarity and long-term stability:
Submodule
modules
renamed tocomponents
for consistency.Argument
modules
renamed tocomponents
inComposition
.Components now implement method
_next_time
instead of thenext_time
property.Fields in
Composition
,Input
, andOutput
are now private; access via properties.Composition metadata restructured with separate sub-dictionaries for components and adapters.
Updates to
Info
new optional init-args, changed signature forInfo.accepts()
, and simplified metadata checks.Extended flexibility in grid handling (
data_shape
, support for variable dimensions).
New features#
FINAM 1.0 introduces powerful new capabilities:
Default metadata for components and adapters, easily extendable.
Enhanced Grid class providing detailed cell connectivity metadata compatible with ESMF and VTK.
New grid tools (
get_cells_matrix
,INV_VTK_TYPE_MAP
,VTK_CELL_DIM
) for improved interoperability.Advanced grid reuse and type casting (including
copy
method, improved location handling, and additional casting options).Enhanced masking support with
Mask
enum (Mask.FLEX
,Mask.NONE
), integrated masking viadata.prepare()
, and robust mask handling in regridding adapters (adapters.RegridNearest
,adapters.RegridLinear
).Improved adapter introspection through the new
in_info
property.
Bug fixes#
Significant reliability enhancements:
Corrected 3D structured grid cell generation, resolving issues with negative volumes.
Compatibility restored with recent versions of
pint
.Documentation clarity and consistency improvements.
Documentation#
The documentation has been significantly expanded:
New detailed chapter on composition, component, and adapter metadata.
Clear examples demonstrating new grid and masking features.
Updated API reference reflecting recent changes.
Resources#
FINAM homepage: https://finam.pages.ufz.de
FINAM documentation: https://finam.pages.ufz.de/finam/
FINAM source code: https://git.ufz.de/FINAM/finam
FINAM GitLab group: https://git.ufz.de/FINAM
For a full list of changes, see the Release notes.
The FINAM developers.