Skip to content

v1.0.0rc2

Pre-release
Pre-release

Choose a tag to compare

@Tjalling-dejong Tjalling-dejong released this 15 Oct 13:07
· 108 commits to main since this release
cbf2c72

In v1.0.0rc2, lakes and reservoirs were merged into a single structure in Wflow.jl, prompting updates to related functions and parameters. Several new model components were introduced,
including those for configuration, static maps, forcing, states, geoms, and various output types. The minimum supported Python version was raised to 3.11.
The model root is now managed by a ModelRoot class, and model components such as config and forcing are now ModelComponent classes, with their data accessed via a data property.
Component and method names were updated for clarity, including renaming "grid" to "staticmaps" and splitting or renaming several setup methods. The process for clipping a model was simplified to a single clip method.
Reservoir handling was enhanced, allowing overwriting or adding reservoirs, and a combined staticgeom for all reservoirs is now created. The release also included various bug fixes,
such as improved handling in upgrade_to_v1_wflow, correct addition of states in setup_floodplains, and better clipping and snapping of 1D rivers.
The use of the tomlkit dependency was reverted, and the standard naming conventions were updated. Finally, the workflows.waterbodies module was renamed to workflows.reservoirs,
and the release included documentation improvements and updates to example configurations.

Added

  • config component WflowConfigComponent: represents the Wflow configuration TOML file.
  • staticmaps component WflowStaticMapsComponent: represents Wflow static and cyclic data (used to be grid).
  • forcing component WflowForcingComponent: represents Wflow input forcing data.
  • states component WflowStatesComponent: represents Wflow input states data.
  • geoms component WflowGeomsComponent: represents Wflow staticgeoms data.
  • output_grid WflowOutputGridComponent, output_scalar WflowOutputScalarComponent and output_csv WflowOutputCsvComponent components: represent Wflow outputs (used to be results).
  • write_geoms: added function arguments to_wgs84 to convert the geometry to WGS84 before writing it to file. PR #432
  • Reservoirs can now overwrite or be added to existing ones in the model. PR #515
  • Create a combined staticgeom for all reservoirs "reservoirs.geojson". PR #515

Changed

  • Increased minimum python version to 3.11 according to https://scientific-python.org/specs/spec-0000/
  • Model root is now a ModelRoot class. To access the root path, use wflow.root.path.
  • Model components like config, forcing are now ModelComponent classes.
    To access the inherent data objects (dictionary, xarray.Dataset etc.) of the components, the data property is now used.
    Eg wflow.config.data, wflow.staticmaps.data
  • The names of some of the model components have changed: grid to staticmaps.
  • setup_config: the method now explicitly uses a dictionary with the options to add/update.
  • utils.read_csv_results has been renamed to utils.read_csv_output.
  • Reverted the use of TOMLkit dependency
  • Renamed WflowModel to WflowSbmModel. This also affects the cli command hydromt <build/update> wflow, which now becomes hydromt <build/update> wflow_sbm.
  • Split WflowModel into WflowBaseModel containing all generic parts of all wflow models, like components and some setup functions, and WflowSbmModel, containing the specific parts for the wflow_sbm concept.
  • WflowSedimentModel and WflowSbmModel both inherit from WflowBaseModel and extend it for their specific use cases.
  • The old WflowModel.setup_rivers has been split into three parts: WflowBaseModel.setup_rivers, WflowSbmModel.setup_rivers and WflowSbmModel.setup_river_roughness. Where the first contains the generic river setup logic, the second Sbm-specific implementations, and the third contains manning roughness implementations.
  • Clipping a model is now done by calling a single clip method. This function can be called with the hydromt update cli command.
  • upgrade_to_v1_wflow: Function now also updates any input variables that link to netcdf.variable.name to netcdf_variable_name.
  • Existing forcing file is now overwritten if the model is in w+ mode (build with --fo).(#598)
  • Update values used in example yamls to new defaults used in Wflow.jl (#589)
  • Improve behavior of merge_reservoirs, to merge values based on their ID rather than all non-missing pixels. (#597)
  • Rename standard names to no longer use "instantaneous" in the name (#601)
  • setup_reservoirs has been renamed to setup_reservoirs_simple_control for sbm. The default output geom is meta_reservoirs_simple_control.geojson. PR #515
  • setup_lakes has been renamed to setup_reservoirs_no_control for sbm. Arguments of the functions have been updated as well. The default output geom is meta_reservoirs_no_control.geojson. PR #515
  • setup_lakes has been renamed to setup_natural_reservoirs for sediment. Arguments of the functions have been updated as well. The default output geom is meta_natural_reservoirs.geojson. PR #515
  • workflows.waterbodies has been renamed to workflows.reservoirs. PR #515

Fixed

  • upgrade_to_v1_wflow: fixed bug for [model] options that kept the same name in Wflow v1. (e.g. type, river_routing, land_routing). PR #487
  • setup_floodplains: states were not correctly added to the model config. PR #486
  • setup_1d_model_connection: improve clipping and snapping of 1D river with wflow basins/river. PR #416
  • Fix wflow build config example in the docs. PR #486
  • Fix crop_factor and water_frac values for grassland in CORINE. PR #523
  • included floodplain_water_flow__manning_n_parameter in naming script (#529)

Removed

  • Reverted use of tomlkit (#529)