Hydromt-sfincs

Latest version: v1.1.0

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.1.0

===================
**This release contains some breaking changes and can only be used in combination with
`SFINCS versions ≥ 2.1.1 <https://github.com/Deltares/SFINCS/releases/tag/v2.1.1_Dollerup_release>`_.**

The most important change is the implementation of a new subgrid methodology including wet fraction as in Van Ormondt et al. (2024, in review),
which is now written as a NetCDF file! The old implementation is still available when providing the original binary file, but then all wet fractions are assumed to be 1.

Next to this, some minor additions and bugfixes are made that improve the overall functionality of the package.

Added
-----
- improved subgrid tables that account for the wet fraction of the cell (160)
- add source points at headwater locations with `SfincsModel.setup_river_inflow` (170)
- it's now possible to provide a format/precision in `SfincsModel.write_forcing` (197)
- river bed levels for burn-in can now be provided at point locations in `SfincsModel.setup_subgrid` (209)

Changed
-------
- improved subgrid tables are saved as NetCDF (160)
- improved weighting of adjacent cells in u/v points for determining representative Manning roughness and conveyance depth (200)
- In `SfincsModel.setup_river_inflow`, in case of a confluence within a user-defined buffer of the
model boundary, the confluence rather than both tributaries is selected as inflow point. (202)
- turned on "baro", the atmospheric pressure term in the momentum equation, in sfincs.inp by default (208)
- the expected variable names for wind and pressure forcing have been changed to "wind10_u", "wind10_v" and "press_msl" to match hydromt-core conventions (211)

Fixed
-----
- rounding errors in `workflows.tile_window` which resulted in erronuous slippy-tiles (178)
- "active geometry column to use has not been set" error for GeoDataFrame (180)
- added nodata value to raster before writing (199)

1.0.3

=======================
This release contains several changes and fixes. Most notably, models with a geographical CRS can now be build.
Also note the changes in the default values in the sfincs.inp file.

Changed
-------
- support for HydroMT core v0.9
- changed default value of dtmaxout to 86400 (was 99999.0) and for advection to 1 (instead of non-existing 2) in sfincs.inp (156)
- support for filtering forcing data from timeseries and locations based on model region (162)

Fixed
-----
- fixed `SfincsModel.setup_subgrid` for models with geograpgical CRS (152)
- fixed masking of elevation and manning datasets when providing mask attribute (153)
- fix a bug that caused some model files to be read twice (161)
- bugfix in workflows.bathymetry that was encountered while burning in rivers (166)

1.0.2

========================
This release mostly contains bugfixes and improvements to existing methods. Some new features have been added as well,
such as the option to add storage volume to the model to account for green infrastructure. Another addition is the
generation of overviews for the Cloud Optimized GeoTIFF files for faster visualization.

Added
-----
- `SfincsModel.setup_storage_volume` to account for green-infrastructure PR 101
- Added reverse_river_geom keyword argument in workflows.river_boundary_points PR 136
- the COG files that are written automatically contain overviews for faster visualization PR 144

Changed
-------
- Changed `setup_cn_infiltration_with_kr` into `setup_cn_infiltration_with_ks` since saturated hydraulic conductivity (ks) is used instead of recovery rate (kr) PR 126
- precision of coordinates in geoms and forcing now depends on CRS (geographic or not) PR 143


Fixed
-----
- writing COG files in `SfincsModel.setup_subgrid` (the COG driver settings were wrong) PR 117
- a constant offset in the `datasets_dep` argument to `SfincsModel.setup_subgrid` and `SfincsModel.setup_dep` was ignored PR 119
- mismatch between gis data and the model grid causing issues while reading the model PR 128
- Bugfixes in workflows.river_boundary_points to make sure function also works with geoDataFrame PR 136
- `utils.downscale_floodmap` now also works for large (rotated) grids PR 145

Deprecated
----------

1.0.1

======================
This release contains several new features, such as burning in river bathymetry into the subgrid, setting up drainage structures and adding wind and pressure forcing.
It also contains several bugfixes and improvements to existing methods.
It is recommended to use this release together with the latest version of the `SFINCS model <https://github.com/Deltares/SFINCS/releases/tag/v2.0.2_Blockhaus_release>`_.

Added
-----
- `SfincsModel.setup_cn_infiltration_with_kr` to setup three layers related to the curve number
(maximum and effective infiltration capacity; seff and smax) and recovery rate (kr) PR 87
- `SfincsModelsetup_drainage_structures` to setup drainage structures (pumps,culverts) from a geodataframe. PR90
- Added `SfincsModel.setup_wind_forcing`, `SfincsModel.setup_wind_forcing_from_grid` and `SfincsModel.setup_pressure_forcing_from_grid` methods to easily add wind and pressure forcing. PR 92
- `SfincsModel.setup_observation_lines` to setup model observation lines (cross-sections) to monitor discharges. PR 114

Changed
-------
- `SfincsModel.setup_subgrid` now supports the 'riv_datasets' to burn in river bathymetry into the subgrid. PR 84
- `SfincsModel.setup_mask_active` argument reset_mask default to True PR 94
- `SfincsModel.read_config` allows to use a template input file from a directory different than the model root. PR 102
- Added the option to use landuse/landcover data combined with a reclass table to `SfincsModel.setup_constant_infiltration`. PR 103
- Enabled to provide locations only (so no timeseries) for `SfincsModel.setup_waterlevel_forcing` and `SfincsModel.setup_discharge_forcing` PR 104
- New optional buffer argument in `SfincsModel.setup_discharge_forcing` to select gauges around boundary only. PR 104
- `SfincsModel.plot_basemaps` now supports other CRS than UTM zones. PR 111
- New functionality within `SfincsModel.setup_structures` to use high resolution dem for weir elevation. PR 109
- hydromt_data.yml is written to the model root directory with used data sources.

Fixed
------
- bugfix in `SfincsModel.write_forcing` to ensure all NetCDF files are written instead of only the first one. PR 86
- bugfix in `SfincsModel.read_config` & `SfincsInput.read` for relative paths in inp file. PR 88
- bugfix in `SfincsModel.setup_subgrid` to ensure that a 'big geotiff' will be written by default when 'write_dep_tif' or 'write_man_tif' are True
- fix memory issues caused by rasterizing the model region and reprojecting before clipping of rasters. PR 94
- bugfix in `Sfincs.read_forcing` when combining attributes from the locations stored in the gis folder with the actual forcing locations. PR 99
- bugfix in `SfincsModel.setup_discharge_from_grid` when snapping based on upstream area in case a src points is outside of the uparea grid domain. PR 99

Removed
----------
- `burn_river_zb` and `get_river_bathymetry` workflow methods have been deprecated in favor of `burn_river_rect`. PR 84

1.0

====================

This release is a major update of the SfincsModel interface. It contains many new features,
such as support for *rotated grids*, *subgrid* and improved support for *building models from Python* scripts.
The documentation and exmaples have been updated to reflect these changes.

The release however also contains several breaking changes as we have tried to improve the
consistency of the interface and match it more closely to the SFINCS model itself.
Please carefully check the API reference for the new methods and arguments.

Main differences
----------------
- `setup_region` has been replaced by `setup_grid_from_region` and `setup_grid`.
This method actually creates an empty regular grid based on a region of interest or user-defined coordinates, shape, rotation, etc..
- `setup_dep` has replaced `setup_topobathy` and `setup_merge_topobathy`.
This method can now also be used to setup a bathymetry map from multiple sources at once.
- `setup_mask_active` has replaced `setup_mask`.
- `setup_mask_bounds` has replaced `setup_bounds`
- `setup_waterlevel_forcing` has replaced `setup_h_forcing` and now supports merging fording from several data sources
- `setup_discharge_forcing` has replaced `setup_q_forcing` and now supports merging fording from several data sources
- `setup_discharge_forcing_from_grid` has replaces `setup_q_forcing_from_grid`
- `setup_precip_forcing` has replaced `setup_p_forcing`
- `setup_precip_forcing_from_grid` has replaced `setup_p_forcing_from_grid`
- `setup_observation_points` has replace `setup_gauges`

Added
-----------
- `setup_grid` to setup a user-defined regular grid based coordinates, shape, rotation, etc.
- `setup_subgrid` to setup subgrid tables (sbgfile) based on one ore more elevation and Manning roughness datasets
- `setup_constant_infiltration` to setup a constant infiltration rate maps (qinffile)
- `setup_waterlevel_bnd_from_mask` to setup water level boundary points (bndfile) based on the SFINCS model mask (mskfile)
- `setup_tiles` to create tiles of the model for fast visualization

Changed
---------------
- `setup_river_inflow` and `setup_river_outflow` are now based river centerline data (which can be derivded from hydrography data).
This is more robust compared to the previous method which was based on reprojected flow direction data.

Removed (not replaced)
------------------------------
- `setup_basemaps` This method was already deprecated in v0.2.1 and has now been removed.
- `setup_river_hydrography` This method was removed as reprojection of the hydrography data is no longer required for river inflow/outflow.
- `setup_river_bathymetry` This method was removed as river bathymetry should ideally be burned in the subgrid data of the model rather
than the dep file itself to be able to include rivers with widths smaller than the model grid cell size. A new option to burn rivers
in the subgrid data will be added in to `setup_subgrid` a future release.


New low-level classes
---------------------
These classes are not intended to be used directly by the user, but are used internally by the SfincsModel class.

- The `SfincsInput` class contains methods to generate, read and write SFINCS input files
- The `RegularGrid` class contains methods to create and manipulate regular grids
- The `SubgridTableRegular` class contains methods to create and manipulate subgrid tables for regular grids

1.0.0

.. _Semantic Versioning: https://semver.org/spec/v2.0.0.html

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.