- Fixed support for interger type DEMs in from_dem and dem.fill_depressions methods
- support py 3.11 and drop support for py 3.8
- add FlwdirRaster.ucat_volume & subgrid.ucat_volume methods
- FlwdirRaster.smooth_rivlen method to smooth river length with a moving window operation over a river network.
- Move to flit and pyproject.toml for installation and publication
- drop support for python 3.7
- update docs to Sphinx pydata style
- use np.uint64 as dtype for large arrays
- read_nextxy method to read binary nextxy data
- Support -9 (river outlet at ocean) and -10 (inland river pit) pit values for nextxy data
- Fix 'argmin of an empty sequence' error in dem_dig_d4
- improve gvf and manning estimates in river_depth method
- prioritize non-boundary cells with same elevation over boundary cells in dem.fill_depressions #17
- fix dem_adjust method #16
- add new idxs_pit argument to dem.fill_depressions
- min_rivdph argument was not always applied in FlwdirRaster.river_depth
- Flwdir.river_depth for gradually varying flow (gvf) and manning river depth estimation
- Flwdir.path method to get the indices of flow paths for vector flow directions
- FlwdirRaster.streams method includes a (zero-length) line at pits and adds option for trace direction in combination with segment end cells.
- Moved accuflux method from FlwdirRaster to parent Flwdir class.
- Additional how argument in fillnodata to indicate how to combine values at confluences. Min, max, sum and mean are supported.
- Restore FlwdirRaster.inflow_idxs and FlwdirRaster.outflow_idxs methods
- General Flwdir object for 1D vector based (instead of raster based) flow directions
- flwdir.from_dataframe methods to derive a Flwdir object from a (Geo)DataFrame based on the row index and a column with downstream row indices.
- dem.fill_depressions and pyflwdir.from_dem methods to derive flow directions from DEMs based on Wang & Lui (2015)
- gis_utils.get_edge method to get a boolean mask of valid cells at the interface with nodata cells or the array edge.
- gis_utils.spread2d method to spread valid values on a 2D raster with optional friction and mask rasters
- FlwdirRaster.dem_dig_d4 method to adjust a DEM such that each cell has a 4D neighbor with equal or lower elevation.
- FlwdirRaster.fillnodata method fill nodata gaps by propagating valid values up or downstream.
- region.region_outlets method; which is also wrapped in the new FlwdirRaster.basin_outlets method
- region.region_dissolve method to dissovle regions into their nearest neighboring region
- FlwdirRaster.subbasins_areas method to derive subbasins based on a minimal area threshold
- added type="classis" for bottum-up stream order to FlwdirRaster.stream_order, default is type="strahler"
- return subbasin outlet indices for all FlwdirRaster.subbasin* methods
- improved subgrid slope method with optional lstsq regression based slope
- FlwdirRaster.streams takes an optional idxs_out argument to derive stream vectors for unit catchments
- FlwdirRaster.streams takes an optional max_len argument to split large segments into multiple smaller ones.
- Using the new Flwdir object as common base of FlwdirRaster to share methods and properties
- gis_utils.IDENTITY transform has North -> South orientation (yres < 0) instead of S->N orientation which is in line with flow direction rasters.
- new restrict_strord argument in FlwdirRaster.moving_average and FlwdirRaster.moving_median methods to restrict the moving window to cells with same or larger stream order.
- strahler stream_order method gave incorrect results
- basins.subbasins_pfafstetter reimplementation to fix mall functioning when jitted
- FlwdirRaster.streams fix when called with optional min_sto argument
- FlwdirRaster.main_tributaries method is deprecated due to mallfunctioning when jitted
- FlwdirRaster.inflow_idxs and FlwdirRaster.outflow_idxs
- vectorizing of local flow directions and streams in seperate methods
- fixed subbasins method
- documentation using nbsphinx
- subbasin_mask_within_region
- contiguous_area_within_region
- IHU upscaling (HESS preprint)
- vectorizing of streams
- pfafstetter method improved
- remove use of pandas and geopandas to limit dependencies
- new subbasins method
- features method in favor vectorize
- improved test coverage
- prepared release for pip
- code reformatted using black
- improved subgrid river methods
- subgrid_rivlen, subgrid_rivslp methods in favor of ucat_channel (will be deprecated)
- improved COM upscaling
- simplified data layout based on linear downstream cell indices and a ordered sequence or down- to upstream cell indices.
- hand - height above neares drain based on Nobre et al. (2016)
- floodplains - flood plain delineation based on Nardi et al. (2019)
- snap/path - methods to follow a streamline in up- or downstream direction
- suport for multiple flow direction types
- upscale - Connecting outlets method is born
- setup_network - Setup all upstream - downstream connections based on the flow direcion map.
- get_pits - Return the indices of the pits/outlets in the flow direction map.
- upstream_area - Returns the upstream area [km] based on the flow direction map.
- stream_order - Returns the Strahler Order map
- delineate_basins - Returns a map with basin ids and corresponding bounding boxes.
- basin_map - Returns a map with (sub)basins based on the up- downstream network.
- ucat_map - Returns the unit-subcatchment and outlets map.
- basin_shape - Returns the vectorized basin boundary.
- stream_shape - Returns a GeoDataFrame with vectorized river segments.
- upscale - Returns upscaled flow direction map using the extended effective area method.
- propagate_downstream - Returns a map with accumulated material from all upstream cells.
- propagate_upstream - Returns a map with accumulated material from all downstream cells.
- adjust_elevation - Returns hydrologically adjusted elevation map.