NCAR / LMWG_dev

Repository to track LMWG development simulations
3 stars 0 forks source link

Historical CRUJRA(w/FLDS) + d166deadveg branch + init tsoisno=272K + 1940-1949 atm forcing (ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_hist) #56

Open olyson opened 4 months ago

olyson commented 4 months ago

*Description:** Same as #54 but with 1940-1949 forcing for 1850-1939. Purpose is to see how different this simulation is from https://github.com/NCAR/LMWG_dev/issues/54 (which uses our default years of 1901-1920 forcing). This will help assess if ERA5 forcing, which is only available starting in 1940, is adequate for our use in spinup and historical simulations.


Case directory: Locally: /glade/work/oleson/ctsm_deadveg/cime/scripts/ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_hist


Sandbox: Locally: /glade/work/oleson/ctsm_deadveg


usernl changes:

user_nl_clm:

use_init_interp = .true. finidat = '/glade/campaign/cgd/tss/people/oleson/CLM5_restarts/ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_1850pAD.clm2.r.1161-01-01-00000.nc' 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' fsurdat = '/glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/surfdata_esmf/ctsm5.2.0/surfdata_0.9x1.25_hist_78pfts_CMIP6_1850_c230517.nc' flanduse_timeseries = '/glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/surfdata_esmf/ctsm5.2.0/landuse.timeseries_0.9x1.25_SSP5-8.5_78_CMIP6_1850-2100_c230517.nc'

! Generated from ./create_newcase ..... --user-mods-dir output_crop_highfreq and edited for only h0,h1,h2,h3,h4

!---------------------------------------------------------------------------------- ! Settings from output_base !----------------------------------------------------------------------------------

! h0 stream (monthly average, gridcell-level) ! h0 stream ICE variables and other variables inactive by default (monthly average, gridcell-level) ! Emon, Lmon, LIMon hist_mfilt(1) = 1 hist_dov2xy(1) = .true. hist_nhtfrq(1) = 0 hist_type1d_pertape(1) = ' ' !hist_fexcl1 += 'PCT_GLC_MEC','PCT_NAT_PFT' hist_fexcl1 += 'PCT_GLC_MEC' hist_fincl1 += 'EFLX_LH_TOT_ICE', 'FIRE_ICE', 'FLDS_ICE', 'FSH_ICE', 'FSNO_ICE', 'FSR_ICE', 'QFLX_SOLIDEVAP_FROM_TOP_LAYER_ICE', 'QRUNOFF_ICE', 'QSNOFRZ_ICE', 'QSNOMELT_ICE', 'RAIN_ICE', 'SNOW_ICE', 'SNOWICE_ICE', 'SNOWLIQ_ICE', 'SNOTXMASS_ICE', 'TG_ICE', 'TOPO_COL_ICE', 'TSA_ICE', 'TSOI_ICE'

! h1 stream (monthly average, finest sub-grid) ! Emon, Lmon hist_mfilt(2) = 1 hist_dov2xy(2) = .false. hist_nhtfrq(2) = 0 hist_type1d_pertape(2) = ' ' hist_fincl2 += 'TLAI', 'TSA','TREFMNAV','TREFMXAV', 'BTRANMN', 'Vcmx25Z', 'FSH', 'VEGWP', 'FCTR', 'FCEV', 'FGEV', 'FIRE', 'FSR', 'FIRA', 'FSA', 'GSSUNLN', 'GSSHALN', 'TSKIN'

! h2 stream (monthly average, landunit-level) ! Emon hist_mfilt(3) = 1 hist_dov2xy(3) = .false. hist_nhtfrq(3) = 0 hist_type1d_pertape(3) = 'LAND' hist_fincl3 += 'FSR', 'H2OSNO', 'Q2M', 'SNOWDP', 'TSA', 'TREFMNAV', 'TREFMXAV', 'TG', 'QRUNOFF', 'FSH', 'FIRE', 'FIRA', 'FGR', 'EFLX_LH_TOT', 'RH2M', 'TLAI', 'SOILWATER_10CM', 'TOTSOILLIQ', 'TOTSOILICE', 'U10', 'TSOI_10CM', 'QIRRIG_DRIP', 'URBAN_HEAT', 'WASTEHEAT', 'TSKIN'

! h3 stream (yearly average, gridcell-level) ! Eyr hist_mfilt(4) = 1 hist_dov2xy(4) = .true. hist_nhtfrq(4) = -8760 hist_type1d_pertape(4) = ' ' hist_fincl4 += 'PCT_GLC_MEC', 'QICE_FORC', 'TSRF_FORC', 'TOPO_FORC', 'PCT_NAT_PFT','PCT_LANDUNIT','FSNO_ICE'

! h4 stream (yearly average, landunit-level) ! Eyr landuse tiles ! (No fields in base, but other usermods add to this stream) hist_mfilt(5) = 1 hist_dov2xy(5) = .false. hist_nhtfrq(5) = -8760 hist_type1d_pertape(5) = 'LAND'

!---------------------------------------------------------------------------------- ! 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.

! h0 stream (monthly average, gridcell-level) hist_fexcl1 += 'C14_SOILC_vr'

! h3 stream (yearly average, gridcell-level) hist_fincl4 += 'C14_SOILC_vr'

!---------------------------------------------------------------------------------- ! Settings from output_bgc !----------------------------------------------------------------------------------

! h0 stream (monthly average, gridcell-level) hist_fexcl1 += 'SOM_ACT_C_vr', 'SOM_ACT_N_vr', 'SOM_SLO_C_vr', 'SOM_SLO_N_vr', 'SOM_PAS_C_vr', 'SOM_PAS_N_vr', 'SOILC_vr', 'SOILN_vr', 'CWD_C_vr', 'LIT_MET_C_vr', 'LIT_CEL_C_vr', 'LIT_LIG_C_vr', 'LIT_MET_N_vr', 'LIT_CEL_N_vr', 'LIT_LIG_C_vr', 'CWD_N_vr', 'SMIN_NO3_vr', 'CONC_O2_UNSAT', 'CONC_O2_SAT','SMIN_NH4_vr','SMINN_vr' hist_fincl1 += 'LEAFC_TO_LITTER', 'FROOTC_TO_LITTER','LIT_MET_C_TO_SOM_ACT_C','LIT_MET_N_TO_SOM_ACT_N','LIT_CEL_C_TO_SOM_ACT_C', 'LIT_CEL_N_TO_SOM_ACT_N','LIT_LIG_C_TO_SOM_SLO_C','LIT_LIG_N_TO_SOM_SLO_N','DWT_WOOD_PRODUCTC_GAIN_PATCH'

! h1 stream (monthly average, finest sub-grid) hist_fincl2 += 'GPP', 'NPP', 'AGNPP', 'TOTVEGC', 'NPP_NUPTAKE', 'AR', 'HR', 'HTOP'

! h2 stream (monthly average, landunit-level) ! TOT_WOODPRODC:I, CROPPROD1C:I, and NEE are not available at the landunit level hist_fincl3 += 'GPP', 'NPP', 'AR', 'HR', 'DWT_CONV_CFLUX_PATCH', 'WOOD_HARVESTC', 'DWT_WOOD_PRODUCTC_GAIN_PATCH', 'SLASH_HARVESTC', 'COL_FIRE_CLOSS', 'DWT_SLASH_CFLUX_PATCH', 'FROOTC:I', 'HTOP'

! h3 stream (yearly average, gridcell-level) hist_fincl4 += 'SOILC_vr', 'SOILN_vr', 'CWD_C_vr', 'LIT_MET_C_vr', 'LIT_CEL_C_vr', 'LIT_LIG_C_vr', 'LIT_MET_N_vr', 'LIT_CEL_N_vr', 'LIT_LIG_N_vr','CWD_N_vr', 'TOTLITC:I', 'TOT_WOODPRODC:I', 'TOTSOMC:I','TOTVEGC:I'

! h4 stream (yearly average, landunit-level) hist_fincl5 += 'TOTSOMC:I', 'TOTSOMC_1m:I', 'TOTECOSYSC:I', 'TOTVEGC:I', 'WOODC:I', 'TOTLITC:I', 'LIVECROOTC:I', 'DEADCROOTC:I', 'FROOTC:I'

!---------------------------------------------------------------------------------- ! Settings from output_crop !----------------------------------------------------------------------------------

! h0 stream (monthly average, gridcell-level) hist_fexcl1 += 'PCT_CFT'

! h1 stream (monthly average, finest sub-grid) hist_fincl2 += 'GRAINC_TO_FOOD','NFERTILIZATION'

! h2 stream (monthly average, landunit-level) hist_fincl3 += 'GRAINC_TO_FOOD'

! h3 stream (yearly average, gridcell-level) hist_fincl4 += 'PCT_CFT','CROPPROD1C:I'

user_nl_datm_streams (note "datafiles" strings have been shortened below) The simulation will use 1940-1949 forcing for years 1850-1939 and then 1940-2022 for years 1940-2022 as shown below.

CLMCRUNCEPv7.Solar:tintalgo = coszen
CLMCRUNCEPv7.Solar:mapalgo = bilinear
CLMCRUNCEPv7.Solar:taxmode = cycle
CLMCRUNCEPv7.Solar:datavars = FSDS_DIRECT Faxa_swdndr,FSDS_DIFFUSE Faxa_swdndf
CLMCRUNCEPv7.Solar:meshfile = /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/lnd_mesh_cdf5.nc
CLMCRUNCEPv7.Solar:datafiles = /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/clmforc.TRENDY.c2023_0.5x0.5.Solr.1940_cdf5.nc,...,/glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/clmforc.TRENDY.c2023_0.5x0.5.Solr.2022_cdf5.nc
CLMCRUNCEPv7.Precip:tintalgo = nearest
CLMCRUNCEPv7.Precip:mapalgo = bilinear
CLMCRUNCEPv7.Precip:taxmode = cycle
CLMCRUNCEPv7.Precip:datavars = PRECTmms Faxa_precn
CLMCRUNCEPv7.Precip:meshfile = /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/lnd_mesh_cdf5.nc
CLMCRUNCEPv7.Precip:datafiles = /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/clmforc.TRENDY.c2023_0.5x0.5.Prec.1940_cdf5.nc,...,/glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/clmforc.TRENDY.c2023_0.5x0.5.Prec.2022_cdf5.nc
CLMCRUNCEPv7.TPQW:tintalgo = linear
CLMCRUNCEPv7.TPQW:mapalgo = bilinear
CLMCRUNCEPv7.TPQW:taxmode = cycle
CLMCRUNCEPv7.TPQW:datavars = QBOT Sa_shum,PSRF Sa_pbot,TBOT Sa_tbot,WIND Sa_wind, FLDS Faxa_lwdn
CLMCRUNCEPv7.TPQW:meshfile = /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/lnd_mesh_cdf5.nc
CLMCRUNCEPv7.TPQW:datafiles = /glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/clmforc.TRENDY.c2023_0.5x0.5.TPQWL.1940_cdf5.nc,...,/glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/atm_forcing.datm7.CRUJRA.0.5d.c2023/TRENDY_cdf5/clmforc.TRENDY.c2023_0.5x0.5.TPQWL.2022_cdf5.nc

SourceMods:

src.clm/clm_varpar.F90: nlevurb=5 -> nlevurb=10 src.clm/surfrdMod.F90: Remove read of PFTDATA_MASK src.clm/TemperatureType.F90: Set initial tsoisno to 272K


Diagnostics: The ILAMB results are here:

https://webext.cgd.ucar.edu/I1850/ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_hist/lnd/_build_newscore_regions_DeadVegBGC_1940-1949_1901-1920/

Maybe slightly worse for NBP and slightly better for soil carbon. Everything else looks pretty similar.

Standard diagnostics are here:

https://webext.cgd.ucar.edu/I1850/ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_hist/lnd/ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_hist_2003_2022-ctsm51_ctsm51d166deadveg_1deg_CRUJRA_FLDS_ABsnoCDE_blk_A5BCD_hist_2003_2022/setsIndex.html


Output: Output (if still available): /glade/derecho/scratch/oleson/archive/ctsm51_ctsm51d166deadveg_1deg_CRUJRA1940-1949_FLDS_ABsnoCDE_blk_A5BCD_hist/


Contacts: @olyson


Extra details: I've designated this combination simulation as ABsnoCDE_blk_A5BCD, where the first ABsnoCDE is: A - SturmSnowtk (implemented in the default lnd_in) Bsno - snow5d_thresh_for_onset = 0.2 (implemented by default in ctsm51_params.c240208.nc, other CNPhenologyMod.F90 mods back to defaults) C - frootleaf (implemented by default in ctsm51_params.c240208.nc) D - FUN_fracfixers (implemented by default in ctsm51_params.c240208.nc) E - new SNICAR (implemented in the default lnd_in) blk - snicar_snobc_intmix = .true. (implemented in the default lnd_in) and the next A5BCD is A5 - xdrdt = 5 (implemented by default in ctsm51_params.c240208.nc) B - scvng_fct_mlt_sf = 0.5 (implemented by default in ctsm51_params.c240208.nc) C - snw_rds_refrz = 1500 (implemented by default in ctsm51_params.c240208.nc) D - fresh_snw_rds_max = 400._r8 (implemented by default in ctsm51_params.c240208.nc)

See discussion in https://github.com/NCAR/LMWG_dev/discussions/3

Complete