FINAM is a lighweight, easy to use model coupling framework. Written in Python, it can be used to link models written in virtually any language.
We put particular focus on ease of use, and on making it possible to link existing models with as few programming work as possible.
FINAM is open source software under the LGPL3 license.
Use the power and convenience of Python to wrap you models, write adapters, and set up model linkage.
Benefit from Python as glue code to couple models from different programming languages. Exchange any data between models in any language!
( cpp_model.outputs["precip"] >> TimeIntegration() >> fortran_model.inputs["precip"] )
class MyComponent(ATimeComponent): def __init__(self, ...) def initialize(self) def connect(self) def validate(self) def update(self) def finalize(self)
class ScaleAdapter(AAdapter): def __init__(self, scale): super().__init__() self.scale = scale def get_data(self, time): d = self.pull_data(time) return d * self.scale
FINAM is primarily designed for linking environmental models for different domains, like hydrosphere, pedosphere and biosphere.
For fast development, FINAM provides built-in support for a variety of spatial and spatio-temporal data types. But still, any data types can be exchanged.