Change Log

v1.0.0

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)

v0.1.1

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)

v0.1.0

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

v0.1.0-beta

Released on 2021-02-10.

  • first release