-
Notifications
You must be signed in to change notification settings - Fork 315
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Threshold for explicit snow pack initiation should use frac_sno_eff, not frac_sno #785
Comments
I have confirmed that, as expected, in a case with I confirmed this by running |
And also as expected: in a case with |
Fix frac_sno bugs Two bug fixes related to frac_sno, and a third change involving replacing a frac_sno calculation with a simpler equation that is algebraically equivalent: (1) Fix lake frac_sno always being 0 (#783). This fixes the albedo calculation (and possibly others) over snow-covered lake surfaces. (2) Fix threshold for explicit snow pack initiation to use frac_sno_eff, not frac_sno (#785). For standard runs (which have use_subgrid_fluxes = .true.), this just changes answers for urban columns. This also changes answers more widely for runs with use_subgrid_fluxes = .false. (3) Rewrite Swenson & Lawrence 2012 frac_sno equation to be more straightforward and less sensitive to roundoff errors (#784) - Resolves #783 (frac_sno is always 0 for lake points) - Resolves #785 (Threshold for explicit snow pack initiation should use frac_sno_eff, not frac_sno) - Resolves #784 (Suggested algebraic rework of frac_sno calculation)
Fix frac_sno bugs Two bug fixes related to frac_sno, and a third change involving replacing a frac_sno calculation with a simpler equation that is algebraically equivalent: (1) Fix lake frac_sno always being 0 (ESCOMP#783). This fixes the albedo calculation (and possibly others) over snow-covered lake surfaces. (2) Fix threshold for explicit snow pack initiation to use frac_sno_eff, not frac_sno (ESCOMP#785). For standard runs (which have use_subgrid_fluxes = .true.), this just changes answers for urban columns. This also changes answers more widely for runs with use_subgrid_fluxes = .false. (3) Rewrite Swenson & Lawrence 2012 frac_sno equation to be more straightforward and less sensitive to roundoff errors (ESCOMP#784) Addressed conflicts in /doc
Brief summary of bug
The threshold for snow pack initiation is currently based on
frac_sno(c)*snow_depth(c)
. It seems this should actually befrac_sno_eff(c)*snow_depth(c)
General bug information
CTSM version you are using: ctsm1.0.dev055 (but also present in earlier versions)
Does this bug cause significantly incorrect results in the model's science? No
I believe this just affects (a) runs with
use_subgrid_fluxes = .false.
(NOT the default); (b) urban points in all runs. (For runs withuse_subgrid_fluxes = .true.
, columns other than urban and lake havefrac_sno == frac_sno_eff
; the code in question doesn't operate over lakes, so I think this just affects urban points.) The impact should be fairly small in both cases, since this just changes the timing of when an explicit snow pack is initiated, rather than using an unresolved (0-layer) snow pack.However, this bears further investigation.
Configurations affected: I think this just affects (a) runs with
use_subgrid_fluxes = .false.
(NOT the default); (b) urban points in all runs.Details of bug
This is the code in question:
https://github.com/ESCOMP/ctsm/blob/a87e67da23ab4c7e971351289dc051e2ebc5bf1c/src/biogeophys/SnowHydrologyMod.F90#L746-L751
Based on other, similar code – particularly in
CombineSnowLayers
– I thinkfrac_sno
should actually befrac_sno_eff
here. @swensosc agrees.The text was updated successfully, but these errors were encountered: