Closed penguian closed 1 year ago
@inh599@nci.org.au commented
1st attempt at code is included in branch at https://trac.nci.org.au/trac/cable/log/branches/Users/inh599/move_snowage_Ticket331
This branch retains some, now unnecessary, entries in the argument lists from cbl_albedo and would still fail UMST code review.
@inh599@nci.org.au commented
15th May
Testing with CCarouge's benchmarking system demonstrated that bit reproducibility failed for single site runs (branch vs trunk) that had snow cover at initialisation. While this is likely not scientifically important, a revised approach has been developed.
In practice the refactored albedo -> snow_aging + albedo code is now called from the cbm module where as previously the snow_aging routine was called from soil_snow. This revision has two important positives: i) snow age is updated in the same sequence as the trunk and ii) the refactored code will be picked up automatically when using the SLI soil model (previously a further edit would have been needed)
@inh599@nci.org.au set milestone to 3. Implementation
@inh599@nci.org.au changed type from defect
to code improvement
@inh599@nci.org.au changed title from moving snow aging routine from albedo to soilsnow
to reorganising albedo code to separate snow age code from snow albedo
@inh599@nci.org.au commented
branch @8848 results in bit reproducibility across 16 variables, 170 FLUXNET sites and 8 configurations as run through the benchcab system.
This branch will not work within the ESM as partner changes are needed in the coupled directory(ies).
This branch retains some, now unnecessary, entries in the argument lists of cbl_albedo and would likely fail UMST code review.
@inh599@nci.org.au commented
branch @8850 includes necessary code to back port these changes to the ESM (only involves cable_cbm)
This should retain functionality since
@inh599@nci.org.au changed status from new
to assigned
@inh599@nci.org.au changed owner from jxs599
to inh599
@inh599@nci.org.au changed milestone from 3. Implementation
to 2. Submission
@inh599@nci.org.au commented
branch @8852 includes all changes to (removals from) the Albedo() argument list necessary. Changes have been carried across into the coupled/ESM calling points.
branch @8852 results in bit reproducibility across 16 variables and 170 sites using the benchcab process: only 1 science configuration considered (see above for more science configurations on @8848)
no offline global tests have been conducted on this branch
This branch should now be considered for merging with the trunk.
Note
vars1 =['Qmom','Qle','Qh','Qg','Rnet','Qs','ECanop','BaresoilT','VegT','SnowT','SnowDepth','Tscrn','Qscrn','Albedo']\
vars2 = ['SoilTemp','SoilMoist']\ 0 of 170 AR-SLu_2010-2010_FLUXNET2015_Met 0.0 \ 1 of 170 AT-Neu_2002-2012_FLUXNET2015_Met 0.0\ 2 of 170 AU-ASM_2011-2017_OzFlux_Met 0.0\ 3 of 170 AU-Cow_2010-2015_OzFlux_Met 0.0\ 4 of 170 AU-Cpr_2011-2017_OzFlux_Met 0.0\ 5 of 170 AU-Ctr_2010-2017_OzFlux_Met 0.0\ 6 of 170 AU-Cum_2013-2018_OzFlux_Met 0.0\ 7 of 170 AU-DaP_2009-2012_OzFlux_Met 0.0\ 8 of 170 AU-DaS_2010-2017_OzFlux_Met 0.0\ 9 of 170 AU-Dry_2011-2015_OzFlux_Met 0.0\ 10 of 170 AU-Emr_2012-2013_OzFlux_Met 0.0\ ...\ 162 of 170 US-Twt_2010-2014_FLUXNET2015_Met 0.0\ 163 of 170 US-UMB_2000-2014_FLUXNET2015_Met 0.0\ 164 of 170 US-Var_2001-2014_FLUXNET2015_Met 0.0\ 165 of 170 US-WCr_1999-2006_FLUXNET2015_Met 0.0\ 166 of 170 US-Whs_2008-2014_FLUXNET2015_Met 0.0\ 167 of 170 US-Wkg_2005-2014_FLUXNET2015_Met 0.0\ 168 of 170 ZA-Kru_2000-2002_FLUXNET2015_Met 0.0\ 169 of 170 ZM-Mon_2008-2008_FLUXNET2015_Met 0.0\ All sites/variables have passed is True
@jxs599@nci.org.au changed status from assigned
to closed
@jxs599@nci.org.au set resolution to fixed
@jxs599@nci.org.au changed milestone from 2. Submission
to 1. Closed
@ccc561@nci.org.au set keywords to keepgit
keyword_keepgit
owner:inh599@nci.org.au
resolution_fixed
type_code improvement
| by inh599The state variable ssnow%snage is currently timestepped inside the alebdo code. This is problematic as it creates signficant technical overhead for ACCESS and JAC - particulary in terms of variables that need to be sourced and included in restart files.
Proposed solution is to move the evaluation of the Snow Age from within the albedo code to the end of the soilsnow routines.
Note that the alternate soil scheme does not appear to use %ssnage.
see Ticket https://trac.nci.org.au/trac/cable/ticket/326
Issue migrated from trac:331 at 2023-11-27 11:41:27 +1100