Dependencies
- add support for Python 3.10 and 3.11
- support dropped for cf-python <=3.16.2
API changes
- 3 new Components added to framework to allow modelling of nutrient cycle (#14)
- Unit tests updated to include the 3 new Components (#93)
Bug fixes
- fix DataComponent/NullComponent bug making them unusable as substitute components in a Model (#87)
- fix broken grid cell area calculation with CF-Python version 3.14.0 and above (#98)
- fix broken grid subsetting with CF-Python 3.16.2 (#101)
Documentation
- Update documentation to include Nutrient Components (#99)
- Added Developer section to documentation to document how to add new transfers and Components to the framework (#96)
Released on 2022-04-17.
Bug fixes
- fix intermittent data filenames loss in YAML configuration file (#80)
- fix relative import bug for advanced test suite (#82)
- prevent unwanted installation of tests package alongside unifhy (#83)
Documentation
- add data to run tutorial and revise tutorial accordingly (#81)
- revise installation instructions to recommend conda over pip because of esmpy dependency not available on PyPI (#81)
Released on 2021-12-07.
Functional changes
- 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)
- cache remapping weights at initialisation (#44)
- 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)
- move API reference page to doc tree root
- move science library page to doc tree root
- add support page
- add change log page
- add logo for package
Released on 2021-02-10.
- first release