constrain temporal and spatial resolutions of components forming a model to be integer multiples of one another
(#67)
enforce two-dimensional spatial domains for components
(#69)
allow components to use/produce only parts of the standardised transfers through the framework interfaces
(#76)
API changes
add units requirement for component parameters and constants
(#21)
move Component and its subclasses from subpackage components to package root
(#46)
rename component class attributes _flow_direction and _land_sea_mask in component definition to _requires_flow_direction and _requires_land_sea_mask, respectively
(#46)
remove science components (Artemis and RFM) from framework
(#45)
remove vertical dimension (i.e. altitude) in LatLonGrid,
RotatedLatLonGrid, and BritishNationalGrid
(#69)
replace State dunder methods __getitem__ and __setitem__ with get_timestep and set_timestep methods
(#71)
include component inputs as arguments given to initialise method
(#75)
revise/refine component inward and outward transfers
(#76)
Bug fixes
fix dump file update bug due to missing 'divisions' dimension
(#32)
fix model identifier renaming not propagating to its components' identifiers
(#48)
fix impossibility to run Model using a Component on the BritishNationalGrid
(#51)
fix failed aggregation of fields with no standard name in DataSet
(#52)
apply land_sea_mask to underlying field of Grid to be used in remapping
(#59)
Enhancements
add support for arrays for component parameters
(#21)
add support for multiple divisions for component states
(#39)
add support for customisable divisions for component states
(#31)
add time slice for I/O operations (user customisable)
(#42)
add cell_area property to SpaceDomain that can be provided by the user or else automatically computed for Grid
(#61)
add initialised_states property to Component to allow component contributors not to overwrite user-defined initial conditions
(#75)
add shelf attribute to Component to allow the communication of data between component methods
(#75)
add _inwards and _outwards component class attributes to allow contributors to declare what interface transfers their component use and produce, respectively
(#76)
Dependencies
change dependency cf-python>=3.11.0
drop support for Python 3.6
Documentation
document 'divisions' for component states in preparation page
(#35)
Functional changes
API changes
Component
and its subclasses from subpackagecomponents
to package root (#46)_flow_direction
and_land_sea_mask
in component definition to_requires_flow_direction
and_requires_land_sea_mask
, respectively (#46)LatLonGrid
,RotatedLatLonGrid
, andBritishNationalGrid
(#69)State
dunder methods__getitem__
and__setitem__
withget_timestep
andset_timestep
methods (#71)initialise
method (#75)Bug fixes
Model
using aComponent
on theBritishNationalGrid
(#51)DataSet
(#52)land_sea_mask
to underlying field ofGrid
to be used in remapping (#59)Enhancements
cell_area
property toSpaceDomain
that can be provided by the user or else automatically computed forGrid
(#61)initialised_states
property toComponent
to allow component contributors not to overwrite user-defined initial conditions (#75)shelf
attribute toComponent
to allow the communication of data between component methods (#75)_inwards
and_outwards
component class attributes to allow contributors to declare what interface transfers their component use and produce, respectively (#76)Dependencies
cf-python>=3.11.0
Documentation