NGWPC NWM PI-3 Formulation Selection Delivery 2025-12-18#925
Open
cmaynard-ngwpc wants to merge 558 commits into
Open
NGWPC NWM PI-3 Formulation Selection Delivery 2025-12-18#925cmaynard-ngwpc wants to merge 558 commits into
cmaynard-ngwpc wants to merge 558 commits into
Conversation
Update t route submodule reference
…erence-assert-ewts Update lasam submodule reference converting asserts to EWTS Log messages
…ence Update SFT submodule reference
…r thrown (NGWPC-7474) (#13) Adds an EWTS log when a formulation model throws an error during the Update[Until] call. The message includes information on which formulation and catchment the error occurred on and information injected through set_model_inputs_prior_to_update. Logging this information will help debugging errors in data in the future.
…sco (#11) In dynamic initialization of a global static instance of InterpreterUtil, there was a call to LOG that happened to be running before the dynamic initialization of the class-static members of Logger. This led to invalid memory accesses and hence crashes. These crashes were a symptom of C++ Static Initialization Order Fiasco.
Store catchment and nexus BMI results in memory to pass to t-route BMI model (NGWPC-7421)
…reference Update Topmodel Submodule Reference
Update cfe submodule ref for EWTS msg fix
…ule() If the call to pybind11's pybind11::module_::import(topLevelName) failed and threw an exception, the map of importedTopLevelModules was left with a default-constructed entry containing a pybind11::object with a NULL pointer. Later attempts to use that top level module would believe it had been imported, because the key existed in the map, and then dereference that NULL pointer and crash. Thus, separate the import call from the modification to the map, so that the map is left unmodified if the import throws.
Update t-route submodule ref for lakes patch
…n_safety InterpreterUtil exception safety, file refactoring
…rflow in large-and-long runs
Add support for init_config in realization file
Fix malloc error with T-Route (NGWPC-8969)
…ng_bmi Add EWTS Environment Vars for BMI Forcing (NGWPC-7198) and rename TopoFlow to Topoflow-Glacier
…rward declare it, to mitigate linker errors
State Saving Refactor and support code (NGWPC-4213)
Optional Catchment Output CSVs
Merge development into ngwpc-candidate for release 3.1.2.1.0-rc1
Merge ngwpc-candidate into ngwpc-release for release 3.1.2.1.0
Update Submodule References for official release. (snow17 and t-route)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These updates span robustness improvements, and major refactoring of core simulation and logging infrastructure. They update submodule references for official and release-candidate builds, tighten CSV forcing validation, and correct logging configuration and naming consistency. The work significantly restructures formulation and routing dependencies—moving responsibilities into
Ngen Simulation, reducing global state, improving const-correctness, and simplifying MPI-related interfaces to mitigate linker issues. Nexus index handling, flow accumulation, and outflow writing are made safer and more deterministic. Improvements to error handling, empty-file checks, and JSON parsing strengthen stability, while cleanup removes deprecated or defunct code.
Additional efforts reduce transient disk usage for Torch, support coastal workflows, fix knock-on test failures, and refine documentation and naming for clarity. Further work-in-progress updates for ongoing integration and state-saving enhancements.