merge master to hypre_logging#17
Merged
gartavanis merged 5 commits intogartavanis:hypre_loggingfrom Feb 4, 2026
Merged
Conversation
q_overlnd_x and q_overlnd_y were not being initialized if surface_predictor == True but are used in the surface predictor calculation even if they are not output. This was causing PF to throw an error for this case. --------- Co-authored-by: Steven Smith <smith84@llnl.gov>
### Summary
This PR standardizes CMake variable naming and updates GPU
documentation. It addresses a breaking configuration change where
`RMM_ROOT`, originally defined in uppercase, was later changed to
mixed-case (`rmm_ROOT`), which silently broke existing user build
scripts when upgrading ParFlow. This PR restores the original uppercase
convention and enforces consistent naming across all third-party
dependencies to prevent similar regressions.
### Changes
- **CMake variable consistency:**
- All third-party CMake variables are now uppercase, including:
- `RMM_ROOT` (restored from mixed-case `rmm_ROOT`)
- `UMPIRE_ROOT` (updated from `umpire_ROOT`)
- This aligns with existing variables such as `KOKKOS_ROOT`,
`SILO_ROOT`, `HYPER_ROOT`, and `SUNDIALS_ROOT`.
- **Workflow files** updated to reflect the uppercase RMM_ROOT and
UMPIRE_ROOT variables.
- **Backward compatibility fix:**
- `RMM_ROOT` was originally uppercase; changing it to lowercase silently
broke existing user scripts when upgrading to newer ParFlow versions.
This PR restores the original convention to avoid unexpected build
failures.
- **Documentation updates (README-GPU.md):**
- Removed obsolete references to RMM v0.10 and the previous upgrade
work-in-progress note
- Ensured consistent use of `RMM_ROOT`
- Updated the RMM link to the official repository
## Summary Add configurable snow parameterization options for CLM. ## New Features - **Rain-snow partitioning:** CLM, WetbulbThreshold, WetbulbLinear methods - **Thin snow damping:** Prevents spurious early-season melt from warm ground - **Albedo schemes:** CLM, VIC, Tarboton temperature-dependent aging ## New Keys (12 total) - `Solver.CLM.SnowPartition`, `WetbulbThreshold` - `Solver.CLM.ThinSnowDamping`, `ThinSnowThreshold` - `Solver.CLM.AlbedoScheme`, `AlbedoVisNew`, `AlbedoNirNew`, `AlbedoMin` - `Solver.CLM.AlbedoDecayVis`, `AlbedoDecayNir`, `AlbedoAccumA`, `AlbedoThawA` ## Changes - YAML schema with types, defaults, and bounds - RST documentation with physics background - 3 bibliography references - 3 Python tests with reference outputs ## References - Wang et al. (2019) GRL, doi:10.1029/2019GL085722 - Tarboton & Luce (1996) WRR, doi:10.1029/96WR01049 - Andreadis et al. (2009) JHM ## Test Plan - [x] `clm_snow_defaults` - backward compatibility - [x] `clm_snow_partition` - WetbulbThreshold method - [x] `clm_snow_albedo` - Tarboton scheme All pass via `ctest -R clm_snow` --------- Co-authored-by: Reed <rmaxwell@mines.edu> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Steven Smith <smith84@llnl.gov>
## Summary Extends CLM snow parameterizations with new rain-snow partitioning methods, SZA-based melt damping, and configurable fractional snow cover. **New Features:** - **Dai (2008) rain-snow partitioning**: Hyperbolic tangent function fitted to 30 years of global observations - **Jennings (2018) rain-snow partitioning**: Bivariate logistic regression using temperature and relative humidity - **SZA-based snow melt damping**: Reduces melt energy at high solar zenith angles where CLM underestimates albedo - **Configurable fractional snow cover**: Adjustable roughness parameter for frac_sno calculation - **Configurable temperature thresholds**: SnowTCrit, SnowTLow, SnowTHigh, SnowTransitionWidth for existing methods **New Keys (16 total):** - `Solver.CLM.SnowTCrit`, `SnowTLow`, `SnowTHigh`, `SnowTransitionWidth` - `Solver.CLM.DaiCoeffA`, `DaiCoeffB`, `DaiCoeffC`, `DaiCoeffD` - `Solver.CLM.JenningsCoeffA`, `JenningsCoeffB`, `JenningsCoeffG` - `Solver.CLM.SZASnowDamping`, `SZADampingCoszenRef`, `SZADampingCoszenMin` - `Solver.CLM.FracSnoScheme`, `FracSnoRoughness` **References:** - Dai (2008) GRL doi:10.1029/2008GL033295 - Jennings et al. (2018) Nature Communications doi:10.1038/s41467-018-03629-7 - Dang et al. (2019) The Cryosphere doi:10.5194/tc-13-2325-2019 ## Test plan - [x] `clm_snow_dai` - Dai sigmoidal partitioning method - [x] `clm_snow_jennings` - Jennings bivariate logistic method - [x] `clm_snow_sza_damping` - SZA-based melt reduction - [x] All existing CLM snow tests pass Run tests with: `ctest -R clm_snow` 🤖 Generated with [Claude Code](https://claude.ai/code) --------- Co-authored-by: Reed <rmaxwell@mines.edu> Co-authored-by: Claude <noreply@anthropic.com>
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.
No description provided.