Skip to content

Make diversion initialization errors non-fatal warnings#856

Merged
rcabell merged 1 commit into
NCAR:mainfrom
rcabell:fix/diversions-missing
Oct 1, 2025
Merged

Make diversion initialization errors non-fatal warnings#856
rcabell merged 1 commit into
NCAR:mainfrom
rcabell:fix/diversions-missing

Conversation

@rcabell
Copy link
Copy Markdown
Collaborator

@rcabell rcabell commented Oct 1, 2025

TYPE: enhancement

KEYWORDS: diversions

SOURCE: NCAR

DESCRIPTION OF CHANGES: make formerly fatal errors in init_diversions warnings that just disable diversion processing for the current run

ISSUE: Missing timeslice files caused model to error stop instead of falling back to previous, no-diversions behavior

TESTS CONDUCTED: NCAR Internal

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR converts fatal errors during diversion initialization to non-fatal warnings, allowing the model to continue running without diversions when initialization fails. This prevents the model from stopping unexpectedly when diversion-related files are missing or corrupted.

  • Fatal hydro_stop calls replaced with warning messages and early returns
  • Diversions processing disabled gracefully when errors occur
  • Model falls back to previous behavior of running without diversions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/Routing/Diversions/module_diversions.F90
Copy link
Copy Markdown
Contributor

@arezoorn arezoorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested the code and it works when there is no time slices!

@rcabell rcabell merged commit fbef115 into NCAR:main Oct 1, 2025
9 of 10 checks passed
scrasmussen added a commit to scrasmussen/WRF that referenced this pull request Nov 26, 2025
- NCAR/wrf_hydro_nwm_public#756 Add initial support for gage-assisted diversions in channel routing
- NCAR/wrf_hydro_nwm_public#811 bugfix: Diversions Makefiles for configure build
- NCAR/wrf_hydro_nwm_public#816 Revert TYPEL(k) check
- NCAR/wrf_hydro_nwm_public#823 make clean new directories
- NCAR/wrf_hydro_nwm_public#829 Rename fortglob.f90 to fortglob.F90 for preprocessor
- NCAR/wrf_hydro_nwm_public#827 Dropping .exe extension from wrf_hydro binary
- NCAR/wrf_hydro_nwm_public#855 Properly handle unexpected NaNs in diversion observations
- NCAR/wrf_hydro_nwm_public#856 Make diversion init errors non-fatal, proceed without diversions
- NCAR/wrf_hydro_nwm_public#861 Nudging, Fixing type mismatch when nudging turned on
- NCAR/wrf_hydro_nwm_public#862 OUTPUT_CHAN_CONN uses nudging io but not nudging
scrasmussen added a commit to scrasmussen/WRF that referenced this pull request Nov 26, 2025
- NCAR/wrf_hydro_nwm_public#756 Add initial support for gage-assisted diversions in channel routing
- NCAR/wrf_hydro_nwm_public#811 bugfix: Diversions Makefiles for configure build
- NCAR/wrf_hydro_nwm_public#816 Revert TYPEL(k) check
- NCAR/wrf_hydro_nwm_public#823 make clean new directories
- NCAR/wrf_hydro_nwm_public#829 Rename fortglob.f90 to fortglob.F90 for preprocessor
- NCAR/wrf_hydro_nwm_public#827 Dropping .exe extension from wrf_hydro binary
- NCAR/wrf_hydro_nwm_public#855 Properly handle unexpected NaNs in diversion observations
- NCAR/wrf_hydro_nwm_public#856 Make diversion init errors non-fatal, proceed without diversions
- NCAR/wrf_hydro_nwm_public#861 Nudging, Fixing type mismatch when nudging turned on
- NCAR/wrf_hydro_nwm_public#862 OUTPUT_CHAN_CONN uses nudging io but not nudging

Co-authored-by: Ryan Cabell <rcabell@users.noreply.github.com>
Co-authored-by: Andrew Song <andrewsoong@users.noreply.github.com>
islas pushed a commit to wrf-model/WRF that referenced this pull request Feb 12, 2026
TYPE: bugfix, enhancement

KEYWORDS: syncing WRF-Hydro/hydro, gage-assisted diversion, bugfixes

SOURCE: internal hydro team + contributor 
 - Soren Rasmussen, NSF NCAR
 - Ryan Cabell, NSF NCAR
- Andrew Song, Inner Mongolia Meteorological Service / China
Meteorological Administration (Wrote PR#829)

DESCRIPTION OF CHANGES: This PR updates the hydro directory to the
[NCAR/wrf_hydro_nwm_public](https://github.com/NCAR/wrf_hydro_nwm_public)
repository. It includes the following PRs
- NCAR/wrf_hydro_nwm_public#756
- NCAR/wrf_hydro_nwm_public#811
- NCAR/wrf_hydro_nwm_public#816
- NCAR/wrf_hydro_nwm_public#823
- NCAR/wrf_hydro_nwm_public#829
- NCAR/wrf_hydro_nwm_public#827
- NCAR/wrf_hydro_nwm_public#855
- NCAR/wrf_hydro_nwm_public#856
- NCAR/wrf_hydro_nwm_public#861
- NCAR/wrf_hydro_nwm_public#862

LIST OF MODIFIED FILES:
```
$ git diff --name-status develop
M       hydro/CMakeLists.txt
M       hydro/CPL/WRF_cpl/CMakeLists.txt
M       hydro/Data_Rec/module_namelist.F90
M       hydro/Data_Rec/module_namelist_inc.F90
M       hydro/HYDRO_drv/module_HYDRO_drv.F90
M       hydro/Makefile
M       hydro/OrchestratorLayer/config.F90
M       hydro/Routing/CMakeLists.txt
A       hydro/Routing/Diversions/CMakeLists.txt
A       hydro/Routing/Diversions/Makefile
A       hydro/Routing/Diversions/module_diversions.F90
A       hydro/Routing/Diversions/module_diversions_timeslice.F90
M       hydro/Routing/Makefile
M       hydro/Routing/module_channel_routing.F90
M       hydro/arc/Makefile.mpp
D       hydro/arc/Makefile.seq
M       hydro/arc/macros.mpp.cray_fortran
M       hydro/arc/macros.mpp.gfort
M       hydro/arc/macros.mpp.ifort
D       hydro/arc/macros.mpp.ifort.luna
D       hydro/arc/macros.mpp.ifort.summit_has
D       hydro/arc/macros.mpp.ifort.theia
M       hydro/arc/macros.mpp.linux
D       hydro/arc/macros.seq.IBM.xlf90_r
D       hydro/arc/macros.seq.gfort
D       hydro/arc/macros.seq.ifort
D       hydro/arc/macros.seq.linux
D       hydro/arc/macros.theia.debug
D       hydro/arc/macros.yellowstone
D       hydro/arc/macros.yellowstone.debug
M       hydro/configure
M       hydro/nudging/CMakeLists.txt
A       hydro/nudging/io/CMakeLists.txt
R098    hydro/nudging/module_nudging_io.F90     hydro/nudging/io/module_nudging_io.F90
M       hydro/utils/CMakeLists.txt
A       hydro/utils/fortglob/CMakeLists.txt
A       hydro/utils/fortglob/Makefile
A       hydro/utils/fortglob/fortglob.F90
A       hydro/utils/fortglob/libfortglob.c
A       hydro/utils/fortglob/libfortglob.h
```

TESTS CONDUCTED: **NOTE THAT THE PR IS IN DRAFT UNTIL TESTING IS
COMPLETE**. Current building and running
1. [WRF-Hydro Front Range, CO
testcase](https://wrf-hydro.readthedocs.io/en/latest/appendices.html#a2-coupled-wrf-wrf-hydro-test-case-user-guide)
2. Testing multiple configurations of Make and CMake build systems 

RELEASE NOTE: Hydro bug fixes plus modifications to add initial support
for gage-assisted diversions in channel routing, which requires a new
optional Diversion netCDF parameter file. This adds a C compiler
dependency

---------

Co-authored-by: Ryan Cabell <rcabell@users.noreply.github.com>
Co-authored-by: Andrew Song <andrewsoong@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants