Releases: CIROH-UA/NGIAB_data_preprocess
v2.2.1
v2.2.0
What's Changed
- The cli can now run ngiab for you with
--run
- Troute template has been updated to run a lot faster on multi core machines
- cfe's gw_storage inital value is now fetched from nwm_retro v3 output rather than a default 5%
- troute's config file has been renamed to troute.yaml
- the cli has been simplified and additional options for debug, evaluation, visualization, and
--all
have been added - The generated t-route config file now contains explanatory comments from the template
- APCP_surface is now converted to mm/h correctly
- Forcing generation has been overhauled to be faster, use less memory overall, and perform the operations in chunks so theoretically any amount of forcings data can be processed. If you ask for 40 years of data it should give it to you as long as you have the disk space and patience.
Merges
- Gage crosswalk by @JoshCu in #41
- Merge in main fixes (#42) by @JoshCu in #43
- Cli refactor by @JoshCu in #44
- Realization rework by @JoshCu in #45
- Memory management and Visualisation by @JoshCu in #53
- Bump flask-cors from 4.0.1 to 5.0.0 by @dependabot in #40
Full Changelog: v2.1.1...v2.2.0
fix forcing validation
v2.2.4-beta fix forcing validation
Fix geopackage reading without fiona
using the pyogrio driver instead of the fiona driver means that the automatic crs conversions no longer happen automatically, this addresses that issue and:
-
Fixes selection by lat lon
-
Fixes the map selection when fiona isn't installed
-
Additionally fixes the catchment you clicked on not being highlighted
ARM install fix + gage crosswalk fix
require geopandas >= 1.0.0 to fix issues installing on arm
crossreference flowpath_attributes and hydrolocations tables to resolve gages being associated with more than one waterbody and nexus
Fix time range selection
Selecting a time range after the end of the zarr forcing data would cause the caching to fail and redownload all of the forcing data. This is now fixed.
As of writing, this range is 1979-02-01T00:00:00 - 2023-01-31T23:00:00
inclusive
Change to Catchment based ouflow delineation
What's Changed
wb id has been replaced with cat id.
Previously, waterbody id was used as the unique identifier for processing the data. The waterbody and everything that flows into it would be added to the selection. The nexus that the selected waterbody flows into would also be added to the selection. This caused incomplete delineation in cases where multiple waterbodies flowed into this final nexus.
In other words, delineation only included waterbodies that merged before entering the catchment area, and exluded those that merged inside the catchment.
This wasn't clear or intuitive when clicking on a catchment on the map.
Now catchment ids are used in place of waterbody ids, and when you click on a catchment or use the cli, everything that contributes to the outflow of that catchment will be included in the selection.
Step by step delineation process comparison
Old (pseudo inflow and incorrect)
- Click on a catchment
- Get the waterbody id for that catchment
- Get everything upstream of that waterbody
- Add just the nexus the waterbody flows into
New Catchment id
- Click on a catchment
- Get the waterbody id for that catchment
- Get the nexus that waterbody flows into (the outlet of that catchment)
- Get everything upstream of that nexus
Full Changelog: v1.4.4...v2.0.0
Changes Delineation Methodology to Catchment outlet
What's Changed
wb id has been replaced with cat id.
Previously, waterbody id was used as the unique identifier for processing the data. The waterbody and everything that flows into it would be added to the selection. The nexus that the selected waterbody flows into would also be added to the selection. This caused incomplete delineation in cases where multiple waterbodies flowed into this final nexus.
In other words, delineation only included waterbodies that merged before entering the catchment area, and exluded those that merged inside the catchment.
This wasn't clear or intuitive when clicking on a catchment on the map.
Now catchment ids are used in place of waterbody ids, and when you click on a catchment or use the cli, everything that contributes to the outflow of that catchment will be included in the selection.
Step by step delineation process comparison
Old (pseudo inflow and incorrect)
- Click on a catchment
- Get the waterbody id for that catchment
- Get everything upstream of that waterbody
- Add just the nexus the waterbody flows into
New Catchment id
- Click on a catchment
- Get the waterbody id for that catchment
- Get the nexus that waterbody flows into (the outlet of that catchment)
- Get everything upstream of that nexus
Full Changelog: v1.4.4...v2.0.0-beta
Fix gauge delineation
The previous release removed the extra downstream catchment selection, but removed all catchments but the first to flow into a nexus. This corrects the delineation to fetch ALL the water bodies that flow into a nexus, not just the first.
Full Changelog: v1.4.3...v1.4.4
Fix select by gauge fetching extra downstream
Full Changelog: v1.4.2...v1.4.3