Recent Releases of HydroMT
HydroMT - 1.1.0
v1.1.0 (2025-04-11)
New
Changed
Fixed
- Pandas driver does not receive unnecessary metadata (#1141)
- Transform total bounds of region to 4326 before guessing UTM crs in
grid_from_region
(#1154) create_rotated_grid_from_geom
now returns grids with dimensions (y,x) instead if (x,y). (#1153)ConfigComponent
now actually reads from provided default template files if no data is present (#1171)
Deprecated
- Removed
to_slippy_tiles
andto_xyz_tiles
methods from the raster module (#1110). We recommend to use the packagecht_tiling <https://github.com/Deltares-research/cht_tiling>
_ instead. Although writing tiles is no longer available, HydroMT is still able to read .vrt-files.
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] 16 days ago

HydroMT - v1.0.1
v1.0.1 (2025-03-21)
New
- Add support for python 3.12 and 3.13 (#540)
- Support all versions of pyarrow (#1105)
Changed
- Rasterio have as been limited to
<1.4.0
(#1097)
Fixed
- Fixed incorrect arguments causing crashes in
geom_component._region_data()
(#1091) - Fixed binder integration dockerfile (#1098)
- Examples are back in the documentation. (#796, #1088)
Deprecated
V1
Added
- Added Driver class for customizable io
- Added entrypoints for Driver Plugins as "hydromt.drivers"
- Added entrypoints for ModelComponent Plugins as "hydromt.components"
- Added entrypoints for PredefinedCatalog Plugins as "hydromt.catalogs"
- Added
URIResolver
class for customizable metadata discovery - Added DataSource class to represent and validate DataCatalog entries.
- Data catalogs can now list multiple roots depending on the system used (linux, windows etc). where the first existing root will be used. (#786)
- A Github action now checks whether the migration guide is updated (#829)
- Added a
ConfigComponent
to write configurations for kernels/simulations. (#863) - Added a
GeomsComponent
to manage geo-spatial geometry data of a model. (#867) - Added a
DatasetsComponent
to manage multidimensional data of a model. (#894) - Added a
GeoDatasetDriver
to read vector data from tabular formats. (#912) - Added a
GeoDatasetSource
to handle vector data from tabular formats. (#912) - Added
RasterTindexResolver
to handle URIs in raster tindex files. (#928)
Changed
- The data catalog format has been refactored to better represent the individual v1 components. (#912)
- The
root
meta key of data catalogs yaml files has becomeroots
(#786) - The model region is no longer a subset of the
geoms
but rather it's own component class. See the migration guide for more info (#810) - The model class has been moved to a component architecture. See the migration guide for more info (#845)
- Changed the
GeoDatasetAdapter
to transform vector data from tabular formats. (#912) - Updated deltares_data data catalog to incorporate the newest data catalog features (#667)
- Changed the logging in HydroMT to canonical logging using logging hierarchy (#1006)
- Rename variables away from the conventions
fn
andtime_tuple
(#1017) - Implemented reading using
zoom
instead of the ambiguouszoom_level
(#875)
Removed
- support for
**artifact_keys
when initializing the DataCatalog has been removed. (#786) - support for dictionary like features on the DataCatalog have been removed. (#790)
- Support for using
.ini
and.toml
files for configuration has been removed. (#791) staticmaps
andstaticgeoms
attributes on theModel
object have been removed. (#845)- Code refering to the unimplemented Network Model type has been removed (#871)
- Removed
_API
,.api
property,test_api
and otherModel
level conventions as they are now handled by the components. (#894) - support for using aliases in the DataCatalog has been removed. (#987)
- support for
storage_options
in the DataCatalog and adapters has been removed. (#987) - The function
hydromt.gis.flw.guagemap
has been removed in favour ofhydromt.gis.flw.guage_map
. (#987) - The function
hydromt.gis.flw.basinmap
has been removed in favour ofhydromt.gis.flw.basin_map
. (#987) - Support for using the
within
predicate in the functionget_basin_geometry
has been removed. (#987)
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] about 1 month ago

HydroMT - v0.10.1
What's Changed
- Fix dependencies v0.10 by @Tjalling-dejong in https://github.com/Deltares/hydromt/pull/1112
- fix resolve path by @DirkEilander in https://github.com/Deltares/hydromt/pull/1114
- fix attr issue on get_data with variable filter by @DirkEilander in https://github.com/Deltares/hydromt/pull/1117
Full Changelog: https://github.com/Deltares/hydromt/compare/v0.10.0...v0.10.1
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 about 2 months ago

HydroMT - v1.0.0
v1.0.0 (2024-09-26)
THIS IS A BREAKING CHANGE
For the relevant details for migrating to v1 please refer to https://deltares.github.io/hydromt/stable/guides/plugin_dev/migrating_to_v1.html
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] 7 months ago

HydroMT - v0.10.0
New
- New
PredefinedCatalog
class to handle predefined catalog version based on pooch registry files. (#849)
Changed
- Development environment is now set up via pixi instead of mamba / conda. See the documentation for more information on how to install.
- Use the native data CRS when determining zoom levels over the data catalog crs. (#851)
- Improved
flw.d8_from_dem
method with different options to use river vector data to aid the flow direction derivation. (#305) - DataCatalog.predefined_catalogs retrieves predefined_catalogs specified in predefined_catalogs.py. There is no need for setting the predefined_catalogs anymore. (#844)
Fixed
- Bug in
raster.transform
with lazy coordinates. (#801) - Bug in
workflows.mesh.mesh2d_from_rasterdataset
with multi-dimensional coordinates. (#843) - Bug in
MeshModel.get_mesh
after xugrid update to 0.9.0. (#848) - Bug in
raster.clip_bbox
when bbox doesn't overlap with raster. (#860) - Allow for string format in zoom_level path, e.g.
{zoom_level:02d}
(#851) - Fixed incorrect renaming of single variable raster datasets (#883)
- Provide better error message for 0D geometry arrays in GeoDataset (#885)
- Fixed index error when the number of peaks varies between stations in get_hydrographs method (#933)
Deprecated
- The
DataCatalog.from_archive
method is deprecated. UseDataCatalog.from_yml
with the root pointing to the archive instead. (#849)
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 11 months ago

HydroMT - v1.0.0-alpha1
V1-Alpha
This is the first alpha release of our v1
implementation with a new model and driver architecture. Please be aware that this is still an alpha so bugs and missing features may still be encountered. If you experience either, please submit an issue or open a discussion, we would love your feedback. Below is the changelog but for a more indepth explanation of all the changes and their implications please see the migration guide at docs/dev/migrating-to-v1.rst
.
Because this is an alpha this will not be merged to main for quite a while, and will not be tagged as the latest release. Because we want to be able to respond to feedback quickly, a separate release branch for alpha will be maintained, and more alpha releases may be published as required.
Added
- Added Driver class for customizable io
- Added entrypoints for Driver Plugins as "hydromt.drivers"
- Added entrypoints for ModelComponent Plugins as "hydromt.components"
- Added entrypoints for PredefinedCatalog Plugins as "hydromt.catalogs"
- Added MetaDataResolver class for customizable metadata discovery
- Added DataSource class to represent and validate DataCatalog entries.
- Data catalogs can now list multiple roots depending on the system used (linux, windows etc). where the first existing root will be used. (#786)
- A Github action now checks whether the migration guide is updated (#829)
- Added a
ConfigComponent
to write configurations for kernels/simulations. (#863) - Added a
GeomsComponent
to manage geo-spatial geometry data of a model. (#867) - Added a
DatasetsComponent
to manage multidimensional data of a model. (#894) - Added a
GeoDatasetDriver
to read vector data from tabular formats. (#912) - Added a
GeoDatasetSource
to handle vector data from tabular formats. (#912) - Added
RasterTindexResolver
to handle URIs in raster tindex files. (#928)
Changed
- The data catalog format has been refactored to better represent the individual v1 components. (#912)
- The
root
meta key of data catalogs yaml files has becomeroots
(#786) - The model region is no longer a subset of the
geoms
but rather it's own component class. See the migration guide for more info (#810) - The model class has been moved to a component architecture. See the migration guide for more info (#845)
- Changed the
GeoDatasetAdapter
to transform vector data from tabular formats. (#912)
Removed
- support for
**artifact_keys
when initializing the DataCatalog has been removed. (#786) - support for dictionary like features on the DataCatalog have been removed. (#790)
- Support for using
.ini
and.toml
files for configuration has been removed. (#791) staticmaps
andstaticgeoms
attributes on theModel
object have been removed. (#845)- Code refering to the unimplemented Network Model type has been removed (#871)
- Removed
_API
,.api
property,test_api
and otherModel
level conventions as they are now handled by the components. (#894)
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 11 months ago

HydroMT - v0.9.4
This release fixes a performance regression when reading geometry masks, relaxed warnings for empty raster datasets and updated the documentation of the new hydromt commands.
Fixed
- Added back geometry mask when reading vector files with
fiona
as engine/ driver. (#777) - Relaxed empty data checking on
RasterDatasetAdapter
. (#782) - Add documentation for
hydromt check
andhydromt export
commands. (#767)
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 about 1 year ago

HydroMT - v0.9.3
v0.9.3 (2024-02-08)
This release fixes several bugs. Most notably the NoDataSrategy
is available in much more data reading methods so plugins can use it more directly. Additionally there are some bug fixes relating to reading shapefiles and reading COGs.
Added
- Test script for testing predefined catalogs locally. (#735)
- Option to write a data catalog to a csv file (#425)
Fixed
- Reading Vector formats that consist of more than one file via geopandas. (#691)
- Handle NoDataStrategy consistently when reading data in adapters (#738)
- add option to ignore empty data sets when exporting data (#743)
- Fix bug in
raster._check_dimensions
for datasets with multiple variables with varying dimension size (#761) - Fix bug when reading COGs at requested zoom level (#758)
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 about 1 year ago

HydroMT - v0.9.2
v0.9.2 (2024-01-09)
This release adds additional bug fixes for the meridian offset functinality, and improvements to the new CLI commands.
Added
- Export CLI now also accepts time tuples (#660)
- New stats.skills VE and RSR (#666)
- Check CLI command can now validate bbox and geom regions (#664)
Changed
- Export CLI now uses '-s' for source, '-t' for time and '-i' for config. (#660)
Fixed
- Double reading of model components when in appending mode. (#695)
- Removed deprecated entrypoints library. (#676)
- Bug in
raster.set_crs
if input_crs is of type CRS. (#659) - Export CLI now actually parses provided geoms. (#660)
- Bug in stats.skills for computation of pbias and MSE / RMSE. (#666)
Model.write_geoms
ow has an option to write GeoJSON coordinates in WGS84 if specified (#510)- Fix bug with lazy spatial_ref coordinate (#682)
- Bug in gis_utils.meridian_offset. (#692)
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 over 1 year ago

HydroMT - v0.9.1
- Pyogrio io by @Jaapel in https://github.com/Deltares/hydromt/pull/583
- fix some docs issues by @savente93 in https://github.com/Deltares/hydromt/pull/619
- To stac by @savente93 in https://github.com/Deltares/hydromt/pull/617
- Implement from stac for data catalog by @savente93 in https://github.com/Deltares/hydromt/pull/625
- Transform boundary fix by @Tjalling-dejong in https://github.com/Deltares/hydromt/pull/629
- Implement export data via cli by @savente93 in https://github.com/Deltares/hydromt/pull/627
- Add more diagrams to the documentation for users. by @savente93 in https://github.com/Deltares/hydromt/pull/631
- Add Pixi as a task runner by @savente93 in https://github.com/Deltares/hydromt/pull/634
- Add validation methods for data catalog by @savente93 in https://github.com/Deltares/hydromt/pull/632
- fix zoom level bugs by @DirkEilander in https://github.com/Deltares/hydromt/pull/642
- Model config validation by @savente93 in https://github.com/Deltares/hydromt/pull/643
- Fix meridian offset by @DirkEilander in https://github.com/Deltares/hydromt/pull/649
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 over 1 year ago

HydroMT - v0.9.0
This release contains several new features, here we highlight a few:
- Support in the DataCatalog for data sources from different providers or versions with better support for cloud and http data.
- Developers documentation to start your own plugin and accompanying template.
- Support multigrids in meshmodel (with example) and improved implementation VectorModel (was LumpedModel)
- Support for reading overviews (zoom levels) of Cloud Optimized GeoTIFFs (COGs).
Added
Documentation
- docs now include a dropdown for selecting older versions of the docs. (PR #457)
- docs include a new example for MeshModel. (PR #595)
- Added documentation for how to start your own plugin (PR #446)
Data
- Support for loading the same data source but from different providers (e.g., local & aws) and versions (PR #438)
- Add support for reading and writing tabular data in
parquet
format. (PR #445) - Add support for reading model configs in
TOML
format. (PR #444) - add
open_mfcsv
function inio
module for combining multiple CSV files into one dataset. (PR #486) - Adapters can now clip data that is passed through a python object the same way as through the data catalog. (PR #481)
- Relevant data adapters now have functionality for reporting and detecting the spatial and temporal extent they cover (PR #503)
- Data catalogs have a
hydromt_version
meta key that is used to determine compatibility between the catalog and the installed hydromt version. (PR #506) - Allow the root of a data catalog to point to an archive, this will be extracted to the ~/.hydromt_data folder. (PR #512)
- Support for reading overviews from (Cloud Optimized) GeoTIFFs using the zoom_level argument of
DataCatalog.get_rasterdataset
. (PR #514) - Support for http and other filesystems in path of data source (PR #515).
Model
- new
force-overwrite
option inhydromt update
CLI to force overwritting updated netcdf files. (PR #460) - Model objects now have a _MODEL_VERSION attribute that plugins can use for compatibility purposes (PR # 495)
set_forcing
can now add pandas.DataFrame object to forcing. (PR #534)
Raster
- Model class now has methods for getting, setting, reading and writing arbitrary tabular data. (PR #502)
- Support for writing overviews to (Cloud Optimized) GeoTIFFs in the
raster.to_raster
method. (PR #514) - New raster method
to_slippy_tiles
: tiling of a raster dataset according to the slippy tile structure for e.g., webviewers (PR #440).
Changed
Model
- Updated
MeshModel
and related methods to support multigrids instead of one single 2D grid. (PR #412) - Renamed
LumpedModel.response_units
toVectorModel.vector
and updated the base set, read, write methods. (#531) - possibility to
load
the data in the model read_ functions for netcdf files (default for read_grid in r+ mode). (PR #460) - Internal model components (e.g.
Models._maps
,GridModel._grid``) are now initialized with None and should not be accessed directly, call the corresponding model property (e.g.
Model.maps,
GridModel.grid`) instead. (PR #473) setup_mesh2d_from_rasterdataset
andsetup_mesh2d_from_raster_reclass
now use xugrid Regridder methods. (PR #535)- Use the Model.data_catalog to read the model region if defined by a geom or grid. (PR #479)
Vector
vector.GeoDataset.from_gdf
can use the gdf columns as data_vars instead of external xarray. (PR #412)
Fixed
- when a model component (eg maps, forcing, grid) is updated using the set_ methods, it will first be read to avoid loosing data. (PR #460)
- open_geodataset with driver vector also works for other geometry type than points. (PR #509)
- overwrite model in update mode. (PR #534)
- fix stats.extremes methods for (dask) 3D arrays. (PR #505)
- raster gives better error on incompatible nodata (PR #544)
Deprecated
- the dependencies
pcraster
andpygeos
are no longer used and were removed. (PR #467)
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander over 1 year ago

HydroMT - v0.8.0
This release contains several new features, including extreme value analysis, new generic methods for the GridModel
class, setting variable attributes like units through the data catalog, and the ability to detect compatibility issues between Datacatalog and HydroMT versions. It also includes a minor breaking change since now geometry masks are only set if the mask
in raster.clip_geom
is set to True
to improve memory usage.
What's Changed
Added
- Support for unit attributes for all data types in the DataCatalog. PR #334
- Data catalog can now handle specification of HydroMT version
- New generic methods for
GridModel
:setup_grid
,setup_grid_from_constant
,setup_grid_from_rasterdataset
,setup_grid_from_raster_reclass
,setup_grid_from_geodataframe
. PR #333 - New
grid
workflow methods to support the setup methods inGridModel
:grid_from_constant
,grid_from_rasterdataset
,grid_from_raster_reclass
,grid_from_geodataframe
.
PR #333 - New raster method
rasterize_geometry
. - New extreme valua analysis and design event (creation hydrographs) methods in stats submodule.
Note that these methods are experimental and may be moved elsewhere / change in signature. PR #85
Changed
- Arguments to drivers in data catalog files and the
DataCatalog.get_
methods should now explicitly be called driver_kwargs instead of kwargs. PR #334 - New geom_type argument in
RasterDataArray.vector_grid
to specify the geometry type {'polygon', 'line', 'points'} of the vector grid. PR #351 - Added extrapolate option to
raster.interpolate_na
method. PR #348 - Name of methods
setup_maps_from_raster
andsetup_mesh_from_raster
tosetup_maps_from_rasterdataset
andsetup_mesh_from_rasterdataset
. PR #333 - Add rename argument to
setup_*_from_rasterdataset
,setup_*_from_raster_reclass
to maps and mesh for consistency with grid. PR #333 - Introduced different merge options in
GeoDataset.from_gdf
andGeoDataFrame.from_gdf
. PR #441 DataCatalog.get_rasterdataset
always uses bbox to clip raster data. PR #434raster.clip_geom
only set a geometry mask if the mask argument is true to avoid memory issues. PR #434raster.clip_mask
interface and behavior changed to be consistent withraster.clip_geom
. PR #318
Fixed
- Order of renaming variables in
DataCatalog.get_rasterdataset
for x,y dimensions. PR #324 - fix bug in
get_basin_geometry
for region kind 'subbasin' if no stream or outlet option is specified. - fix use of Path objects in
DataCatalog.from_dict
. PR #429 raster.reproject_like
first clips the data to the target extent before reprojecting. PR #434
Hydrosphere - Freshwater and Hydrology
- Python
Published by savente93 almost 2 years ago

HydroMT - v0.7.1
This release contains several small updates of the code.
Most prominently is the support for yml configuration files.
Full list of PRs (auto generated)
- DOC: JOSS paper by @DirkEilander in https://github.com/Deltares/hydromt/pull/303
- ENH: Create issue templates by @alimeshgi in https://github.com/Deltares/hydromt/pull/308
- BUG: fix error if crs property of Model.grid is None by @DirkEilander in https://github.com/Deltares/hydromt/pull/294
- ENH: support exporting individual variables in DataCatalog.export_data by @DirkEilander in https://github.com/Deltares/hydromt/pull/302
- ENH: support YAML configuration files by @Tjalling-dejong in https://github.com/Deltares/hydromt/pull/292
- ENH: support data like objects in DataCatalog.get methods by @DirkEilander in https://github.com/Deltares/hydromt/pull/313
- BUG: small fix parsing paths in yml by @DirkEilander in https://github.com/Deltares/hydromt/pull/315
- BUG: small bugs related to new yml ini files by @DirkEilander in https://github.com/Deltares/hydromt/pull/319
New Contributors
- @alimeshgi made their first contribution in https://github.com/Deltares/hydromt/pull/308
Full Changelog: https://github.com/Deltares/hydromt/compare/v0.7.0...v0.7.1
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander about 2 years ago

HydroMT - v0.7.0
This release contains several major updates of the code. These following updates might require small changes to your code:
- Most noticeable is the change in the
hydromt build
CLI, where made the region argument optional and deprecated the resolution option. Futhermore, the user has to force existing folders to be overwritten when building new models. - We also did a major overhaul of the
GeoDataset
and the associated.vector
assessor to support any type of vector geometries (before only points).
More new features, including support for rotated grids, new cloud data catalogs and (caching of) tiled raster datasets and more details are listed below.
Changed
- Removed resolution ('-r', '--res') from the hydromt build cli, made region (now '-r') an optional argument. PR #278
- If the model root already contains files when setting root, this will cause an error unless force overwrite (mode='w+' or --fo/--force-overwrite from command line). PR #278
- Revamped the GeoDataset (vector.py) to now work with geometry objects and wkt strings besides xy coordinates. PR #276
- GeoDataset can write to .nc that is compliant with ogr. PR #208
- Support for rotated grids in RasterDataset/Array, with new rotation and origin properties. PR #272
- Removed pygeos as an optional dependency, hydromt now relies entirely on shapely 2.0 PR #258
- Changed shapely to require version '2.0.0' or later. PR #228
- strict and consistent read/write mode policy PR #238
- do not automatically read hydromt_data.yml file in model root. PR #238
- RasterDataset zarr driver: possiblility to read from several zarr stores. The datasets are then merged and
preprocess
can
be applied similar to netcdf driver. PR #249
Added
- New methods to compute PET in workflows.forcing.pet using Penman Monteith FAO-56 based on the
pyet
module. Available arguments are now method = ['debruin', 'makkink', 'penman-monteith_rh_simple', 'penman-monteith_tdew'] PR #266 - New get_region method in cli/api.py that returns a geojson representation of the parsed region. PR #209
- write raster (DataArray) to tiles in xyz stucture with the RasterDataArray.to_xyz_tiles method. PR #262
- add zoom_level to DataCatalog.get_rasterdataset method. PR #262
- new write_vrt function in gis_utils to write '.vrt' using GDAL. PR #262
- new predefined catalog for cmip6 data stored on Google Cloud Storage
cmip6_data
. Requires dependency gcsfs. PR #250 - new predefined catalog for public data stored on Amazon Web Services
aws_data
. Requires dependency s3fs. PR #250 - new DataCatalog preprocess function
harmonise_dims
for manipulation and harmonisation of array dimensions. PR #250 - experimental: support for remote data with a new yml data source
filesystem
attribute. Supported filesystems are [local, gcs, s3].
Profile information can be passed in the data catalogkwargs
under storage_options. PR #250 - experimental: new caching option for tiled rasterdatasets ('--cache' from command line). PR #286
Fixed
- bug related to opening named raster files. PR #262
- All CRS objects are from pyproj library (instead of rasterio.crs submodule). PR #230
- fix reading lists and none with config. PR #246
- fix
DataCatalog.to_yml
andDataCatalog.export()
with relative path and add meta section. PR #238
Deprecated
x_dim
,y_dim
, andtotal_bounds
attributes of GeoDataset/GeoDataArray are renamed tox_name
,y_name
andbounds
. PR #276- Move pygeos to optional dependencies in favor of shapely 2.0. PR #228
- Resolution option in hydromt build cli. PR #278
Documentation
- Added Working with GeoDatasets python notebook. PR #276
- added working_with_models example notebook. PR #229
- added export_data example notebook. PR #222
- added reading_point_data example notebook. PR #216
- added working_with_flow_directions example notebook. PR #231
- added prep_data_catalog example notebook. PR #232
- added reading_tabular_data example notebook. PR #216
Full list of PRs (auto generated):
- Era5 vars by @hboisgon in https://github.com/Deltares/hydromt/pull/187
- Prep 0.6 by @hboisgon in https://github.com/Deltares/hydromt/pull/223
- Post release commit by @hboisgon in https://github.com/Deltares/hydromt/pull/224
- Working with models example by @hboisgon in https://github.com/Deltares/hydromt/pull/229
- added export_data notebook by @hboisgon in https://github.com/Deltares/hydromt/pull/222
- Example point data by @IMarth in https://github.com/Deltares/hydromt/pull/216
- add flow direction example #220 by @DirkEilander in https://github.com/Deltares/hydromt/pull/231
- simplify binder using latest release by @DirkEilander in https://github.com/Deltares/hydromt/pull/233
- Prepare data catalog notebook by @hboisgon in https://github.com/Deltares/hydromt/pull/232
- Small notebook updates by @hboisgon in https://github.com/Deltares/hydromt/pull/234
- Example docs improvements by @JoostBuitink in https://github.com/Deltares/hydromt/pull/235
- Datacatalog fixes and strict read/write mode in Model class by @DirkEilander in https://github.com/Deltares/hydromt/pull/238
- update data_artifacts to v0.0.7 by @DirkEilander in https://github.com/Deltares/hydromt/pull/255
- fixed reading lists and none with config by @DirkEilander in https://github.com/Deltares/hydromt/pull/246
- Checklist for pull request added. Ref #264 by @couasnonanais in https://github.com/Deltares/hydromt/pull/265
- Api get region by @Tjalling-dejong in https://github.com/Deltares/hydromt/pull/209
- Envyml by @B-Dalmijn in https://github.com/Deltares/hydromt/pull/268
- fix eval setup_config by @DirkEilander in https://github.com/Deltares/hydromt/pull/275
- make pygeos an optional dependency by @DirkEilander in https://github.com/Deltares/hydromt/pull/258
- CLI revision (i.e. region & res) by @B-Dalmijn in https://github.com/Deltares/hydromt/pull/277
- notebook for tabular data by @IMarth in https://github.com/Deltares/hydromt/pull/217
- v0.0.8 artifact data by @laurenebouaziz in https://github.com/Deltares/hydromt/pull/280
- Penman by @DirkEilander in https://github.com/Deltares/hydromt/pull/266
- CLI revision (i.e. region & res); Reopend by @B-Dalmijn in https://github.com/Deltares/hydromt/pull/278
- update gpkg files to fgb in deltares_data catalog by @DirkEilander in https://github.com/Deltares/hydromt/pull/240
- support for rotated grid by @DirkEilander in https://github.com/Deltares/hydromt/pull/272
- Geodataset by @B-Dalmijn in https://github.com/Deltares/hydromt/pull/276
- Draft: support CMIP6 from Google Cloud by @hboisgon in https://github.com/Deltares/hydromt/pull/250
- Tiles: DataArray to xyz by @B-Dalmijn in https://github.com/Deltares/hydromt/pull/262
- fix name error in GeoDataArray.from_gdf by @DirkEilander in https://github.com/Deltares/hydromt/pull/288
- add vrt tile caching functionality by @DirkEilander in https://github.com/Deltares/hydromt/pull/286
New Contributors
- @B-Dalmijn made their first contribution in https://github.com/Deltares/hydromt/pull/268
Full Changelog: https://github.com/Deltares/hydromt/compare/v0.6.0...v0.7.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander about 2 years ago

HydroMT - v0.6.0
v0.6.0 (24 October 2022)
In this release, we updated the Model API
by renaming staticgeoms to geoms, adding a new maps object and removing abstract methods. We also added new general subclasses to Model: GridModel
, LumpedModel
, MeshModel
, NetworkModel
. These new subclasses have their own objects (e.g. grid for GridModel representing regular grids which replaces the old staticmaps object). More details in the list below:
Added
- ModelCatalog to discover generic and plugin model classes.
PR #202 <https://github.com/Deltares/hydromt/pull/202>
_ - Support for 2-dimensional tabular data through the new DataFrameAdapter.
PR #153 <https://github.com/Deltares/hydromt/pull/153>
_ - API calls to get info about model components and dataset for the dashboard.
PR #118 <https://github.com/Deltares/hydromt/pull/118>
_ - New submodelclasses in hydromt:
GridModel
,LumpedModel
,MeshModel
,NetworkModel
- Added entrypoints for lumped_model, mesh_model, grid_model
- New mixin classes created for model specific object:
GridMixin
for self.grid,LumpedMixin
for self.response_units,MeshMixin
for self.mesh,
MapsMixin
for self.maps - New high-level object: self.maps for storing regular rasters data (which can have resolution and / or projection).
- Maps generic setup methods:
MapsMixin.setup_maps_from_raster
andMapsMixin.setup_maps_from_rastermapping
- Mesh generic setup methods:
MeshModel.setup_mesh
,MeshMixin.setup_maps_from_raster
andMeshMixin.setup_maps_from_rastermapping
Changed
- self.staticgeoms object and methods renamed to self.geoms
- self.staticmaps object and methods renamed to self.grid and moved into GridModel and GridMixin
Fixed
- Bug in backward compatibility of staticgeoms (not read automatically).
Issue #190 <https://github.com/Deltares/hydromt/issues/190>
_ - Direct import of xarray.core.resample.
Issue #189 <https://github.com/Deltares/hydromt/issues/189>
_ - Bug in dim0 attribute of raster, removed instead of set to None if no dim0
Issue #210 <https://github.com/Deltares/hydromt/issues/210>
Deprecated
- self.staticgeoms and self.staticmaps are deprecated.
Hydrosphere - Freshwater and Hydrology
- Python
Published by hboisgon over 2 years ago

HydroMT - v0.5.0
v0.5.0 (4 August 2022)
We now use rioxarray to read raster data. We recommend reinstalling your hydromt environment including the rioxarray package.
Furthermore, we have changed some internals to support multiple predefined data catalogs and data archives. A detailed overview of all changes is shown below.
@IMarth and @xldeltares made their first contributions 🎉
Added
- New raster method for adding gdal_compliant() attributes to xarray object.
- Function
to_datetimeindex
in available preprocess functions for xr.open_dataset in the data adapter. - Function
remove_duplicates
in available preprocess functions for xr.open_dataset in the data adapter. - New
DataCatalog.from_predefined_catalogs
andDataCatalog.from_archive
to support predefined data catalogs and archive
in a generic way through the data/predefined_catalogs.yml file. - Optional formatting for year and month variables in path of data sources.
Changed
- splitted data_adapter.py into a data_catalog and data_adapter submodule with py scripts per adapter
- Add rioxarray dependency to read raster data
- In build or update methods, the setup_config component is not forced to run first anymore but according to order of the components in the ini config (opt dict).
- In DataCatalog.get_RasterDataset & DataCatalog.get_GeoDataset methods, variables can now also be a str as well as a list of strings.
- In DataCatalog.get_RasterDataset & DataCatalog.get_GeoDataset methods, automatic renaming of single variable datasets based on the variables argument will be deprecated
- Interpolate missing values based on D4 neighbors of missing value cells only. This largely improves the performance without loosing accuracy.
Changes have been observed whennearest
method is used but this should not impact quality of the interpolation. - New source_names argument to DataCatalog.to_yml
Fixed
- Fixed DataAdapter.resolve_paths with unknown keys #121
- Fixed the WGS84 datum in the gis_utils.utm_crs method.
- In merge.merge the grid is now aligned with input dataset with the largest overlap if no dst_bounds & dst_res are given.
- Fixed the predicate not being passed in get_geodataframe method.
- Removed deprecated xr.ufuncs calls.
Deprecated
- Automatic renaming of single var dataset if variables is provided in get_rasterdataset. Data catalog should be used instead.
DataCatalog.from_artifacts
. UseDataCatalog.from_predefined_catalogs
instead.
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander over 2 years ago

HydroMT - v0.4.5
Added
- New skill scores: KGE 2012, KGE non-parametric (2018), KGE non-parametric flood (2018).
- new rasterio inverse distance weighting method ("rio_idw") in raster.interpolate_na
- Add option to add placeholders in yml file to explode a single yml entry to multiple yml entries (useful for e.g. climate datasets).
- general Model.setup_region method
Changed
- stats.py is now in stats/skills.py in order to include more and different type of new statistics later.
- improved flw.reproject_hydrography_like and flw.dem_adjust methods
- file handlers of loggers are replaced in Model.set_root
- log.setuplog replaces old handlers if these exist to avoid duplicates.
- setup_basemaps method no longer required for build method
- improved interbasin regions in workflows.get_basin_geometry
- drop non-serializable entries from yml file when writing data catalog to avoid it getting corrupt
- data catalog yml entries get priority over local files or folders with the same name in the data_adapter.get_* methods
multi-file rasterdatasets are only supported through the data catalog yml file
Fixed
- fix incorrect nodata values at valid cells from scipy.griddata method in raster.interpolate_na
Deprecated
- workflows.basemaps methods (hydrography and topography) moved to hydromt_wflow
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander about 3 years ago

HydroMT - v0.4.4
Added
- flw.d8_from_dem to derive a flow direction raster from a DEM
- flw.reproject_hydrography_like to reproject flow direction raster data
- flw.floodplain_elevation method which returns floodplain classification and hydrologically adjusted elevation
- raster.flipud method to flip data along y-axis
- raster.area_grid to get the raster cell areas [m2]
- raster.density_grid to convert the values to [unit/m2]
- gis_utils.spread2d method (wrapping its pyflwdir equivalent) to spread values on a raster
- gis_utils.nearest and gis_utils.nearest_merge methods to merge GeoDataFrame based on proximity
- river_width to estimate a segment average river width based on a river mask raster
- river_depth to get segment average river depth estimates based bankfull discharge (requires pyflwdir v0.5.2)
Changed
- bumped hydromt-artifacts version to v0.0.6
- In model API build and update functions, if any write_* are called in the ini file (opt),
the final self.write() call is skipped. This enables passing custom arguments to the write_
functions without double writting files or costumizing the order in which write_ functions
are called. If any write_ function is called we assume the user manages the writing and
a the global write method is skipped. - default GTiff lwz compression with DataCatalog.export_data method
- rename DataAdapter.export_data to DataAdapter.to_file to avoid confusion with DataCatalog.export_data method
- allow "alias" with attributes in DataCatalog yml files / dictionaries
Fixed
- DataCatalog.to_yml Path objects written as normal strings
- Bugfix in basin_mask.get_basin_geometry when using bbox or geom arguments
- Bugfix DataAdapter.init setting None value in meta data
- Bugfix DataAdapter.resolve_paths with argument in root
Deprecated
- flw.gaugemap is replaced by flw.gauge_map for a more conistent interace of flw.*map methods
- flw.basin_shape is redundant
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander over 3 years ago

HydroMT - v0.4.3
New
- log hydromt_data.yml with write_datata_catalog (needs to be implemented in various plugins)
Fixed
- Fix bug in io.open_vector and io.open_vector_from_table with WindowsPath fn
- Fix data_libs usage from [global] section of config in cli/main.py
- Bugfix sampling for rasters with 'mask' coordinate
- Bugfix logical operator in merge method
improved
- add alias option in data catalog yml files
- generalize DataCatalog artifact kwargs to allow for multiple yml files from artifacts
- keep geom attributes with <Dataset/DataArray>.vector.to_gdf method
- use mamba for github actions
Deprecated
- data_adapter.parse_data_sources method deprecated
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander over 3 years ago

HydroMT - v0.4.2
Noticeable changes include new import of model plugins and improvements of reading methods for tile index and geodataset.
Added
- Small patch for geoms/bbox regions when upscaling flow dir.
- Mask option in merge.merge method for improved open_raster_from_tindex.
Changed
- New import of model plugins. Before plugins were only loaded when import MODELS or xxxModel from hydromt.models and not when importing hydromt as before.
- Dropped dask version pins
- read-only check in write_config; dropped write_results
- results objects of Model API can also contain xarray.Dataset. To split a Dataset into DataArrays use the split_dataset option of set_results.
Deprecated
- Importing model plugins via "hydromt import xxxModel" or "import hydromt.xxxModel" will be deprecated. Instead use "from hydromt.models import xxxModel"
or "from hydromt_xxx import xxxModel".
Fixed
- Fix error when deriving basin mask for subbasin with multiple xy.
- Fix passing timeseries and crs for get_geodataset with vector driver
Hydrosphere - Freshwater and Hydrology
- Python
Published by hboisgon over 3 years ago

HydroMT - v0.4.1
Noticeable changes are a new CLI region option based on grid
.
Added
- New REGION option of the build CLI methods for model region based on a
grid
. - Keep track of the hydroMT plugin versions in the logging and
--models
CLI flag. - deltares_data and artifact_data options in DataCatalog class and Model API
Changed
- Changed the data-artifacts version to v0.0.4. This includes renaming from hydrom_merit to merit_hydro.
- moved binder to seperate folder with postBuild script
- Bump Black version (formatting).
Fixed
- Multiple
--opt
arguments from CLI are now taken into account (instead of only the first). - Bugfix for crs without an EPSG code.
- Bugfix for Path type path in DataCatalog
- Bugfix missing rasterio in gis_utils.write_map() method
- Bugfix handling of fn_ts in DataCatalog.get_geodataset() method
Documentation
- Now latest and stable versions.
- Added read_raster_data notebooks to the examples.
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander almost 4 years ago

HydroMT - hydroMT v0.3.9
Hydrosphere - Freshwater and Hydrology
- Python
Published by DirkEilander about 4 years ago
