Closed olyson closed 1 month ago
I'm kind of assuming that a variant on this simulation should be our new baseline for CLM6 calibration? What do other's think?
@olyson it it worth opening a PR so that all the source mods you had to use in this simulation are in the main code? One exception would be the changes to CNPhenology, as I'm less sure we want to use these yet?
I guess a draft PR is in order. Aside from the changes to CNPhenology, this would encompass the code change that fixes https://github.com/ESCOMP/CTSM/issues/2298, a change to controlMod.F90 that eliminates the experimental warning for snicar_snobc_intmix, a new parameter file, and setting snicar_snobc_intmix=.true. and snow_thermal_cond_method = 'Sturm1997' by default. Meier2022 is already default on in the new code. Does that sound right?
I think that sounds right. we should maybe talk about what would be appropriate on the default parameter file? This is maybe less critical than the code changes that also have to come in?
These are the differences from the current default file:
(0) diff: 0.75 (0) pft: 11 (0) FUN_fracfixers ABCD_blk_A5BCD Norevert: 1 ctsm5.1.dev166 Default: 0.25 (0) pftnum: 12 (0) DIFF (0) diff: 0.75 (0) pft: 12 (0) FUN_fracfixers ABCD_blk_A5BCD Norevert: 1 ctsm5.1.dev166 Default: 0.25
(0) diff: 0.3 (0) pft: 11 (0) froot_leaf ABCD_blk_A5BCD Norevert: 1.2 ctsm5.1.dev166 Default: 1.5 (0) pftnum: 12 (0) DIFF (0) diff: 0.3 (0) pft: 12 (0) froot_leaf ABCD_blk_A5BCD Norevert: 1.2 ctsm5.1.dev166 Default: 1.5
(0) diff: 0.5 (0) scvng_fct_mlt_sf ABCD_blk_A5BCD Norevert: 0.5 ctsm5.1.dev166 Default: 1
(0) diff: 500 (0) snw_rds_refrz ABCD_blk_A5BCD Norevert: 1500 ctsm5.1.dev166 Default: 1000
(0) diff: 195.474 (0) fresh_snw_rds_max ABCD_blk_A5BCD Norevert: 400 ctsm5.1.dev166 Default: 204.526
(0) diff: 4 (0) xdrdt ABCD_blk_A5BCD Norevert: 5 ctsm5.1.dev166 Default: 1
Description: Same as ctsm51_ctsm51d160_1deg_GSWP3V1_ABCDE_blk_A5BCD_1850AD but with CRUJRA forcing (w/CRUJRA FLDS) (issue #47 )
Case directory: Locally: /glade/work/oleson/ctsm5.1.dev160/cime/scripts/ctsm51_ctsm51d160_1deg_CRUJRA_FLDS_ABCDE_blk_A5BCD_1850AD
Sandbox: Locally: /glade/work/oleson/ctsm5.1.dev160
usernl changes:
user_nl_clm:
! Full output hist_nhtfrq = 0 hist_mfilt = 1 hist_empty_htapes = .false. hist_fincl1 = 'FSDSND','FSDSVD','FSDSNI','FSDSVI','RAIN_FROM_ATM','SNOW_FROM_ATM','FLDS_NOT_DOWNSCALED','ZBOT','Tair_from_atm','Thair_from_atm','QBOT_NOT_DOWNSCALED','PBOT_NOT_DOWNSCALED','Rho_from_atm','PCO2','UWIND','VWIND','BCPHIDRY','BCPHODRY','BCPHIWET','OCPHIDRY','OCPHODRY','OCPHIWET','DSTWET1','DSTDRY1','DSTWET2','DSTDRY2','DSTWET3','DSTDRY3','DSTWET4','DSTDRY4','ATM_TOPO'
!---------------------------------------------------------------------------------- ! Settings from cmip6_carbon_isotopes ! CAN ONLY USE THIS IF STARTING FROM AN INITIAL FILE THAT HAS ISOTOPES !----------------------------------------------------------------------------------
use_c13 = .true. use_c14 = .true. use_c13_timeseries = .true. use_c14_bombspike = .true. fsurdat = '/glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/surfdata_esmf/ctsm5.2.0/surfdata_0.9x1.25_hist_78pfts_CMIP6_1850_c230517.nc' paramfile = '/glade/campaign/cgd/tss/people/oleson/modify_param/ctsm51_params.c231117.norevert.nc.ABCD_blk_A5BCD.nc' snicar_snobc_intmix = .true. snow_thermal_cond_method = 'Sturm1997' z0param_method = 'Meier2022'
user_nl_datm_streams (note "datafiles" strings have been shortened below)
SourceMods:
src.clm/atm2lndType.F90: Add some additional history fields src.clm/clm_varpar.F90: nlevurb=5 -> nlevurb=10 src.clm/surfrdMod.F90: Remove read of PFTDATA_MASK src.clm/Wateratm2lndType.F90: Add some additional history fields src.clm/CNPhenologyMod.F90 decreasing temperature thresholds to -3C, reducing the minimum critical daylength by 25%, doubling the snow threshold src.clm/controlMod.F90 remove error associated with snicar_snobc_intmix src.clm/SnowSnicarMod.F90 set flg_snoage_scl to .true. so that xdrdt change takes effect
Diagnostics:
https://webext.cgd.ucar.edu/I1850/ctsm51_ctsm51d160_1deg_CRUJRA_FLDS_ABCDE_blk_A5BCD_1850AD/lnd/ctsm51_ctsm51d160_1deg_CRUJRA_FLDS_ABCDE_blk_A5BCD_1850AD_471_480-ctsm51_ctsm51d160_1deg_GSWP3V1_ABCDE_blk_A5BCD_1850AD_311_320/setsIndex.html
Output: Output (if still available): /glade/derecho/scratch/oleson/archive/ctsm51_ctsm51d160_1deg_CRUJRA_FLDS_ABCDE_blk_A5BCD_1850AD/
Contacts: @olyson @wwieder
Extra details: I've designated this combination simulation as ABCDE_blk_A5BCD, where the first ABCDE is: A - SturmSnowtk (implemented via namelist snow_thermal_cond_method = 'Sturm1997') B - decidphenotrig (implemented via src.clm/CNPhenologyMod.F90) C - frootleaf (implemented via ctsm51_params.c231117.norevert.nc.ABCD_blk_A5BCD.nc) D - FUNfracfixers (implemented via ctsm51_params.c2311117.norevert.nc.ABCD_blk_A5BCD.nc) E - new SNICAR (on by default) blk - snicar_snobc_intmix = .true. (implemented via namelist, per Issue #36 ) and the next A5BCD is (per Issue #36 ) A5 - xdrdt = 5 (implemented via ctsm51_params.c231117.norevert.nc.ABCD_blk_A5BCD.nc and takes effect by code change to SnowSnicarMod.F90) B - scvng_fct_mlt_sf = 0.5 (implemented via ctsm51_params.c2311117.norevert.nc.ABCD_blk_A5BCD.nc) C - snw_rds_refrz = 1500 (implemented via ctsm51_params.c231117.norevert.nc.ABCD_blk_A5BCD.nc) D - fresh_snw_rds_max = 400._r8 (implemented via ctsm51_params.c231117.norevert.nc.ABCD_blk_A5BCD.nc)
See discussion in https://github.com/NCAR/LMWG_dev/discussions/3 AD spunup to 2.89% disequilibrium, 480 years pAD spunup to X.XX% disequilibrium, X years