v0.4.0 #3
MuellerSeb
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
FINAM v0.4
FINAM is an open-source component-based model coupling framework for environmental models.
It aims at enabling bi-directional online couplings of models for different compartments like geo-, hydro-, pedo- and biosphere.
The framework is built in Python, with well-defined interfaces for data exchange.
This approach allows for coupling of models irrespective of their internal structure, architecture or programming language.
Resources
Changelog
New scheduling algorithm
Once for the common starting time, and once for the actual component time
Data and metadata rework
compatible_units
to check for convertibility (!105)Info
object (!111)ConnectHelper
by specifying transfer rules at initialization (!154)Info
now requires time in constructor (can beNone
) (!111)IInput
,IOutput
andIAdapter
have new internally used propertiesneeds_push
andneeds_pull
(!112)to_xarray
now checks the data shape if the data is not flat (!130)static
for data that is only used during initialization, or that is constant (!166)static
for constant data (!171)xarray
data has no time coordinate anymore, only a dimension without values (for performance and usability) (!223)xarray
wrapping completely. Use numpy arrays in pintQuantity
(!235)memory_limit
and write data to disk if the limit is exceeded (!238)Components
modules.WeightedSum
for aggregation of multiple inputs (!105)modules.SimplexNoise
for generating spatio-temporal noise (!131)modules.TimeTrigger
to forward data from pull-based to push-based components (!131)modules.ScheduleLogger
to visualize scheduling/module updates through ASCII charts (!160)modules.DebugPushConsumer
as a push-based variant of the debug consumer (!165)modules.UserControl
that lets users control FINAM runs from the terminal (!184)modules.DebugConsumer
andmodules.DebugPushConsumer
can use optional callbacks for better debugging (!176)with_name()
(!243)Adapters
adapters.Histogram
to extract a histogram from grid values (!182)adapters.DelayFixed
,adapters.DelayToPull
andadapters.DelayToPush
to resolve circular coupling through the use of delayed data (!187)adapters.StepTime
for step-wise interpolation (!194)adapters.IntegrateTime
renamed toadapters.AvgOverTime
adapters.SumOverTime
for sum/Area under Curve integrationfinalize()
for cleanup (!226).with_name()
(!243)Other
core
, subpackages now underfinam
(!106)IOutput.source_changed()
tosource_updated
(!107)LogError
toErrorLogger
(!107)AAdapter
is nowAdapter
AComponent
is nowComponent
ATimeComponent
is nowTimeComponent
create_connector()
(!111)required_out_infos
required_in_data
topull_data
errors
now, and re-exported at top level (!116)_validate()
and_finalize()
in components is now mandatory (!156)comp["A"]
instead ofcomp.inputs["A"]
(!147)static
for constant data without time information (!166, !171)tools.inspect()
to inspect components, adapters and I/O slots (!197)(see the benchmarks README)
(!222, !223, !224, !228, !229, !237).
TRACE
(most verbose) andPROFILE
(betweenDEBUG
andINFO
) (!240)This discussion was created from the release v0.4.0.
Beta Was this translation helpful? Give feedback.
All reactions