refactor(biogeophys): Rename frac_sno and frac_sno_eff to clarify albedo vs flux roles - #4185
refactor(biogeophys): Rename frac_sno and frac_sno_eff to clarify albedo vs flux roles#4185johnpaulalex wants to merge 3 commits into
Conversation
|
Thanks for tackeling this, @johnpaulalex. Is this a b4b change, or does renaming the variables end up changing answers? |
|
Hey @wwieder, it should be b4b! I have had problems logging in to derecho for a while - recently resolved - so I thought now I'd run the aux_clm tests to verify (lmk if that's wrong). I did run the pfunit test cases just now and they surfaced one renaming (compilation) error. Oh and derecho appears to be down right now (not responding to pings or ssh's) so I'll have to try later, hopefully later today. |
|
Thanks @johnpaulalex. Derecho is down, but may come online again this afternoon. |
|
Also, can you modify this PR to come to b4b_dev, not master? I don't seem to have those permissions. |
|
Now set to b4b_dev. I'll ping this thread again when I've run the aux_clm tests on derecho (which still appears to be down, fingers crossed...) |
|
Ok aux_clm passed except for 4 issues, which appear orthogonal, but I'd love for someone who Knows Things to verify. I'm happy to dig further into any of them - and if there are infra bugs causing them, I could fix them too. Update 2 of the issues are known errors. The other two I should be able to fix with a rerun. 1.
|
|
Hi @johnpaulalex , I've been assigned to review this PR. I'm half-time, so I'll be able to start looking at this on Tuesday/Wednesday. Happy to look further at this next week. |
|
Thanks @olyson, on deeper inspection it looks like the two date|time_written warnings were bogus, that was just AI misinterpreting warnings as real errors. Your command line should solve my numpy import warning (thank you!), and doing the proper subrepo import should fix the other one. I'm going to rerun with your command, which should make it all clean. |
|
Regarding the first failure, I think it is due to some differences in the coupler history file, i.e., |
|
Wow, ok, I had forgotten some layers here. Turns out the second case - also with the bogus date|time_written warnings that AI flagged - also had genuine science diffs (as you're saying @olyson for the first test). But those are both known issues and auto-ignored in ExpectedTestFails.xml:
|
Description of changes
This PR addresses ESCOMP/CTSM Issue #822 to resolve ambiguity around snow fraction variables by renaming them according to their primary intended physical roles:
frac_sno->frac_sno_albedo(snow cover fraction for radiation and surface albedo)frac_sno_eff->frac_sno_fluxes(effective snow cover fraction for fluxes and thermodynamics)The changes are structured across two stacked commits:
444d2e18b): Corrects 8 subroutineassociateblocks wherewaterdiagnosticbulk_inst%frac_sno_eff_colwas incorrectly aliased to the local namefrac_sno.450531d65): Performs global renaming across 32 source and test modules while adding colon-delimited restart fallback variable names (frac_sno_albedo:frac_snoandfrac_sno_fluxes:frac_sno_eff) inWaterDiagnosticBulkType.F90to preserve restart backward compatibility.History output field names (
FSNO,FSNO_ICE,FSNO_EFF) remain unchanged.Specific notes
Contributors other than yourself, if any:
CTSM issues resolved or otherwise addressed, if any:
Description of generative AI usage:
Any user interface changes (namelist or namelist defaults changes)?
Testing planned or performed, if any:
git log -n 2).frac_sno/frac_sno_effvariable references.test_DustEmisLeung2023.pf,test_DustEmisZender2003.pf, andunittestDustEmisInputs.F90.Requirements before merge: