Add new snow interception modules from Alex's PhD thesis#471
Open
acebulsk wants to merge 20 commits intosrlabUsask:masterfrom
Open
Add new snow interception modules from Alex's PhD thesis#471acebulsk wants to merge 20 commits intosrlabUsask:masterfrom
acebulsk wants to merge 20 commits intosrlabUsask:masterfrom
Conversation
…lculations. This calculates the initial accumulation/interception of snow in the canopy following: Cebulski, A. C., & Pomeroy, J. W. (2025). Snow Interception Relationships With Meteorology and Canopy Density. Hydrological Processes, 39(4), e70135. https://doi.org/10.1002/hyp.70135 Interception efficiency is calculated as a function of atmospheric snowfall and canopy density. Canopy density is defined using the snow-leaf contact area which is approximated as function of nadir canopy coverage and the hydrometeor trajectory angle. Applicable for a range of forest densities that do not have large clearings/clear cuts.
…es.h` so they can be shared with the new `CanopySnowBalance` module. Snobal functionality remains the same. A comment was also added in ref to issue https://github.com/issues/created?issue=srlabUsask%7Ccrhmcode%7C465
… which provide physically-based methods to handle the mass and energy balance of snow intercepted in the canopy following: Cebulski, A. C., & Pomeroy, J. W. (under review). Processes Governing the Ablation of Intercepted Snow. Water Resources Research. This module is designed to be paired with the `CanopyVectorBased` module and together replace the typically used `CanopyClearingGap` module.
… the Harder method typically returns non zero even for warm/cold temps.
…and `CanopySnowBalance`
This was referenced Oct 24, 2025
Closed
…cadesticity with generalised linear regression
Removed unused parameters “Surrounding_Ht”, "Gap_diameter", "CanopyClearing". Edited description for parameter “CanopyWindSwitchIP”.
Removed unused parameters “Surrounding_Ht”, "Gap_diameter", "CanopyClearing".
This is the same discussion for srlabUsask#465 It is in the original Snobal's _precip.c file. The h2o can come from existing h2o stored in snowcover, melt, or rain. I leave this code as it is, because removing it could impact others' models that are built in warmer and more temperate climates.
The code m_snow[hh] = 0.0 on original line 298 is within else statement when snowcover is false, giving value of 0. It is not for condition if(m_snow_X[hh] > 0.0) is false.
…/crhmcode into alex-ceb-thesis-changes
loganxingfang
approved these changes
Mar 23, 2026
Edited description for parameters “CanopyWindSwitchCanSno” and "MassUnloadingSwitch". Added parameters "unld_to_melt_ratio_m" and "unld_to_melt_ratio_b" for for unloading to melt ratio.
Added parameters "unld_to_melt_ratio_m" and "unld_to_melt_ratio_b" for for unloading to melt ratio.
Included "unld_to_melt_ratio_m" and "unld_to_melt_ratio_b" as parameters for unloading to melt ratio.
Also included ClassCanopySnowBalanceBase and ClassCanopySnowBalanceCRHM in Makefile in case they are called.
Edited comments of switch cases for MassUnloadingSwitch.
This small change could impact others' model. For this time, not merge this.
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.
Implemented new canopy snow energy and mass budgets as new CRHM modules. The main changes are the addition of two new modules to represent the initial loading of snow in the canopy:
CanopyVectorBasedwhich follows developments from:Cebulski, A. C., & Pomeroy, J. W. (2025). Snow Interception Relationships With Meteorology and
Canopy Density. Hydrological Processes, 39(4), e70135. https://doi.org/10.1002/hyp.70135
the second module
CanopySnowBalancefollows developments from:Cebulski, A. C., & Pomeroy, J. W. (under review). Processes Governing the Ablation of Intercepted
Snow. Water Resources Research.
Together these new modules replace the canopy snow routines previously incorporated in CanopyClearingGap. The original radiation routines in CanopyClearingGap were copied over to the CanopyVectorBased module which feeds into the surface snowpack routines so CanopyClearingGap is no longer needed.
See individual commits for additional details.