Releases: NOAA-OWP/t-route
v2.4.0
Summary
This update represents the efforts to make t-route compatible with the NextGen framework. Most of the updates have focused on making sure routing features from NWMv3.0 work in the NextGen framework. The major features are listed here:
- Integration of t-route and the coastal total water level models (SCHISM and DFLOW) via the NextGen Framework
- Data Assimilation methodology (e.g. nudging) integrated into t-route at all locations where USGS gauge data is currently available
- Reservoir routing methodologies integrated with t-route at all locations available in NWM v.3.0
- Diffusive Wave routing capability integrated into t-route for approximately 10,000 river miles where bathymetric data is currently available
- Capability for the user to specify the most appropriate routing technique from Muskingum-Cunge and Diffusive Wave options where appropriate integrated into t-route
Initial BMI modules were created and tested, but t-route has not been connected to the model engine via BMI yet. The existing BMI modules/functions in t-route will need major updates as both t-route and model engine have progressed beyond the initial creation of these modules.
What's Changed
- added synthetic_wb_segments parameter under supernetwork_parameters i… by @shorvath-noaa in #575
- Map back water elevation from refactored to unrefactored hydrofabric by interpolating water depth not elevation by @kumdonoaa in #576
- troute network abstractions for NHD and Hy Features based networks by @hellkite500 in #577
- Da abstract classes by @shorvath-noaa in #579
- NHD network class by @shorvath-noaa in #584
- refactor main.py for making hydbrid routing and reservoir DA fully compatible with NHDNetwork class by @kumdonoaa in #586
- Ngen hydrofabric v1 updates by @hellkite500 in #585
- unit test for NHDNetwork class w/wo reservoirs by @kumdonoaa in #588
- Preprocess Hyfeature channel connectivity, forcing, t0, hybrid routing network. by @kumdonoaa in #594
- Reformat qlat inputs by @shorvath-noaa in #595
- t-route on larger hyfeature domain with hybrid routing by @kumdonoaa in #602
- Fix troute-nwm package setup.cfg by @hellkite500 in #603
- Abstract network update by @shorvath-noaa in #600
- Restructure DA classes by @shorvath-noaa in #605
- Build system updates for Intel compilers by @mattw-nws in #606
- BMI t-route wrapper by @shorvath-noaa in #607
- default creation of empty waterbody dataframes by @shorvath-noaa in #610
- BMI for Standalone Reservoirs by @shorvath-noaa in #611
- Updated get_values() functionality by @shorvath-noaa in #612
- Fix typos found by running ispell on comments and strings by @PhilMiller in #615
- update use of numpy str dtype by @hellkite500 in #623
- Fix bugs in v3_doc.yaml by @aaraney in #613
- Update running t-route through BMI functions with latest hydrofabric by @shorvath-noaa in #622
- actually fix numpy str type deprecation by @hellkite500 in #634
- troute.config: Implementation of t-route configuration file schema using pydantic by @aaraney in #628
- Time log based on new update by @AminTorabi-NOAA in #635
- Da forcing part1 by @kumdonoaa in #638
- Add support for NetCDF/Time-partitioned CSV QLAT inputs by @program-- in #636
- Integrate DA Forcing Module by @shorvath-noaa in #642
- nudged value added in return by @AminTorabi-NOAA in #644
- Integrate troute.config by @shorvath-noaa in #645
- Fix preprocess param issue by @shorvath-noaa in #647
- fix read_geopkg() to skip reading lakes and network tables if not needed by @shorvath-noaa in #648
- update conditional checking for lite_restart by @shorvath-noaa in #649
- Fix bmi issues by @shorvath-noaa in #650
- Build package updates by @hellkite500 in #643
- adding missing editable/no-editable functionality to network-config by @TrupeshKumarPatel in #657
- add outline of configuration file that works with pydantic module by @shorvath-noaa in #659
- Started directory for canonical Lower Colorado test for v4/ngen by @JurgenZach-NOAA in #653
- renamed channel forcing files by @AminTorabi-NOAA in #662
- generalize bandaid() function to work on subdomains of CONUS by @shorvath-noaa in #663
- yaml file for V4 HYFeature and NHD by @AminTorabi-NOAA in #664
- BMI restart and lastobs files by @shorvath-noaa in #654
- Stream output function & V4 yaml for NHD by @AminTorabi-NOAA in #661
- update usgs timeslice files for Lower Colorado river TX by @kumdonoaa in #672
- drop waterbodies with missing parameters by @shorvath-noaa in #676
- Bmi compliant arrays by @JurgenZach-NOAA in #666
- Minor fixes nov2 2023 by @shorvath-noaa in #678
- -V3 test fix by @JoshCu in #668
- Updated geopackage and forcing files to NGEN v2.0 in Lower Colorado t… by @JurgenZach-NOAA in #679
- Repair output functions by @shorvath-noaa in #681
- Added subset forcings, added missing directories and set flags in yam… by @JurgenZach-NOAA in #682
- fix - lock cython version, add missing pip deps by @JoshCu in #667
- Check before performing CRS reprojection by @shorvath-noaa in #686
- updating the column names as timestamp by @AminTorabi-NOAA in #687
- Adding lite-restart and lastObs to BMI conversions by @JurgenZach-NOAA in #685
- use only python version of RFC DA by @kumdonoaa in #688
- feature - add github actions ubuntu latest build by @JoshCu in #670
- add _rfc_timeseries_df slot by @shorvath-noaa in #691
- Update logic to call assemble_rfc_dataframes() function by @shorvath-noaa in #692
- feature - adds dockerfile, helper script, build action by @JoshCu in #669
- add rfc_lake_gage_crosswalk file to network directory by @shorvath-noaa in #694
- Update GitHub action to run V4 by @shorvath-noaa in #695
- Read json/geojson files by @shorvath-noaa in #699
- Bug fix in QGIS based routine: tnx nexus is now in the geopackage and… by @JurgenZach-NOAA in #700
- fix checking for lite_restart and config test for lite_restart_directory by @shorvath-noaa in #703
- Implemented fully BMI compliant transport code into troute by @JurgenZach-NOAA in #702
- Update on readme.md file (Documentation) by @AminTorabi-NOAA in #704
- writing nc file with different frequency (Update for #697) by @AminTorabi-NOAA in #708
- add LastObs reading and writing for command-line run of main_V04 with HYfeature hydrofabric by @kumdonoaa in #701
- Correct subroutine calling in diffusive.f90 and update makefile by @kumdonoaa in #709
- Updated run_with_BMI with BMI compliant arrays by @JurgenZach-NOAA in #711
- A new diffusive_utils file without features designed only for refactored hydrofabric by @kumdonoaa in #710
- update to read the parquet file by @AminTorabi-NOAA in #712
- Nex to bin speedup by @JoshCu in #714
- simple fix for flowpaths with unavailable 3Dxsec data by @kumdonoaa in #715
- parallel computing for storing output by @AminTorabi-NOAA in #716
- function that build diffusive domain by @amin...
t-route v2.3.0
Add diffusive routing computation kernel and a hybrid runtime configuration to enable additional diffusive routing computations. This release includes the required diffuse domain data for 10 main stem CONUS channel segments, and the the related configuration files to enable these computations. Not included are the lateral flow forcing data or the initial condition files, as these are scenario specific.
Note This change log also includes the changes from the calibration release
.
What's Changed
- Bug fix allowing looped diffusive hybrid simulations by @awlostowski-noaa in #540
- change feature_id variable type for CHANOBS files by @awlostowski-noaa in #542
- Alaska feature id variable fix by @awlostowski-noaa in #543
- Alaska reservoir fix by @awlostowski-noaa in #545
- Simulation looping with hybrid reservoir data assimilation by @awlostowski-noaa in #547
- Natural cross section integration (non-refactored) by @awlostowski-noaa in #546
- write waterbody results to LAKEOUT files by @shorvath-noaa in #550
- Quick fixes related to calibration by @awlostowski-noaa in #555
- MC kernel updates for V3.0 RouteLink by @awlostowski-noaa in #556
- bug fix: empty reservoir_types_df causes failure when looping by @awlostowski-noaa in #558
- Facilitating use of GDL reservoir module in AK domain by @awlostowski-noaa in #559
- edits to only calculate subnetworks on first iteration of for loops by @shorvath-noaa in #557
- update initial value of water elevation for preventing any numerical… by @kumdonoaa in #551
- Changes to handle reservoir persistence by @shorvath-noaa in #562
- make diffusive routing capable of running on refactored hydrofabric of Lower Colorado River, TX by @kumdonoaa in #561
- updating refactor test config input by @BrianAvant in #563
- solve roredered_reaches issue when two independent diffusive mainstem domains are applied by @kumdonoaa in #565
- changes to speed up writing lakeout files by @shorvath-noaa in #566
- specify netcdf4 engine for reading chrtout files with xarray by @shorvath-noaa in #567
- Clean up geopandas dependency by @hellkite500 in #568
- update readme and setup.cfg for removing geopandas by @hellkite500 in #569
- a few changes to help with reservoir DA, fixing typo, moving some DA … by @shorvath-noaa in #570
- Ten diffusive domains w schism boundary by @kumdonoaa in #573
New Contributors
- @shorvath-noaa made their first contribution in #550
Full Changelog: v2.2.2...v2.3.0
calibration release
v2.2.2 update logic becuase the waterbody_types_df_sub may be empty for sims…
t-route v2.2.0
Benchmarking codebase February 14, 2022.
t-route v2.1.0
Write flow at gage locations to netCDF (CHANOBS) file (#505) * create chanobs draft * move writing sequence to function in nhd_io * yaml documentation Co-authored-by: awlostowski-noaa <[email protected]>
t-route v 2.0.0
This release updated all methods for network traversal and provides a prototype diffusive routing capability..
t-route v1.0.0
An initial release with capability to simulate Muskingum Cunge Routing using NWM data.
Two tests are available in the src/python_routing_v01/
folder:
compute_nhd_routing_SingleSeg.py --test -v
to run a small test case with all output options enabled
... and ...
compute_nhd_routing_SingleSeg.py --test-full-pocono -v
for a slightly larger test case with reservoir simulation .
other options that are compatible with the test cases include:
--parallel
to run the simulation using parallel processes for the different independent networks in each test domain.
--sts
simulate using the short-time-step assumption currently used in the WRF-Hydro version of the Muskingum Cunge routing code.