From 208c594c6084d47c99081d9ca2aa49f8c0942a75 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Fri, 3 May 2024 15:08:27 -0600 Subject: [PATCH 01/27] Point CDEPS external at cdeps1.0.33. --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 185f412cab..515eaccd8b 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -55,7 +55,7 @@ local_path = components/cmeps required = True [cdeps] -tag = cdeps1.0.28 +tag = cdeps1.0.33 protocol = git repo_url = https://github.com/ESCOMP/CDEPS.git local_path = components/cdeps From 8d628f2f75c37bb450fa8003571219e4864cc293 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Fri, 3 May 2024 15:31:39 -0600 Subject: [PATCH 02/27] Update other externals after CESM tag cesm2_3_alpha17e. --- Externals.cfg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 515eaccd8b..183690d159 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -8,7 +8,7 @@ required = True local_path = components/cism protocol = git repo_url = https://github.com/ESCOMP/CISM-wrapper -tag = cismwrap_2_1_99 +tag = cismwrap_2_1_100 externals = Externals_CISM.cfg required = True @@ -34,7 +34,7 @@ hash = 34723c2 required = True [ccs_config] -tag = ccs_config_cesm0.0.92 +tag = ccs_config_cesm0.0.106 protocol = git repo_url = https://github.com/ESMCI/ccs_config_cesm.git local_path = ccs_config @@ -44,11 +44,11 @@ required = True local_path = cime protocol = git repo_url = https://github.com/ESMCI/cime -tag = cime6.0.217_httpsbranch03 +tag = cime6.0.238_httpsbranch01 required = True [cmeps] -tag = cmeps0.14.50 +tag = cmeps0.14.60 protocol = git repo_url = https://github.com/ESCOMP/CMEPS.git local_path = components/cmeps @@ -63,7 +63,7 @@ externals = Externals_CDEPS.cfg required = True [cpl7] -tag = cpl77.0.7 +tag = cpl77.0.8 protocol = git repo_url = https://github.com/ESCOMP/CESM_CPL7andDataComps local_path = components/cpl7 From 702477db00b86d4938c3998e2bb844ba8a98f2ee Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 9 May 2024 15:32:13 -0600 Subject: [PATCH 03/27] Add datm_rcp45_anom_forc testmod. --- .../datm_rcp45_anom_forc/include_user_mods | 1 + .../clm/datm_rcp45_anom_forc/user_nl_clm | 1 + .../clm/datm_rcp45_anom_forc/user_nl_datm | 1 + .../datm_rcp45_anom_forc/user_nl_datm_streams | 55 +++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/include_user_mods create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_clm create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/include_user_mods new file mode 100644 index 0000000000..fe0e18cf88 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/include_user_mods @@ -0,0 +1 @@ +../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_clm new file mode 100644 index 0000000000..ebd35fb2ab --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_clm @@ -0,0 +1 @@ +flanduse_timeseries = '$DIN_LOC_ROOT/lnd/clm2/surfdata_esmf/ctsm5.2.0/landuse.timeseries_0.9x1.25_SSP2-4.5_1850-2100_78pfts_c240216.nc' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm new file mode 100644 index 0000000000..5caf191fe2 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm @@ -0,0 +1 @@ +anomaly_forcing = 'Anomaly.Forcing.Precip', 'Anomaly.Forcing.Temperature', 'Anomaly.Forcing.Pressure', 'Anomaly.Forcing.Humidity', 'Anomaly.Forcing.Uwind', 'Anomaly.Forcing.Vwind', 'Anomaly.Forcing.Shortwave', 'Anomaly.Forcing.Longwave' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams new file mode 100644 index 0000000000..2bc553567c --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams @@ -0,0 +1,55 @@ +Anomaly.Forcing.Temperature:year_first=2015 +Anomaly.Forcing.Temperature:year_last=2100 +Anomaly.Forcing.Temperature:year_align=2015 +Anomaly.Forcing.Temperature:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Temperature:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.tas.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Temperature:datavars = tas Sa_tbot_af + +Anomaly.Forcing.Precip:year_first=2015 +Anomaly.Forcing.Precip:year_last=2100 +Anomaly.Forcing.Precip:year_align=2015 +Anomaly.Forcing.Precip:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Precip:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.pr.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Precip:datavars = pr Faxa_prec_af + +Anomaly.Forcing.Pressure:year_first=2015 +Anomaly.Forcing.Pressure:year_last=2100 +Anomaly.Forcing.Pressure:year_align=2015 +Anomaly.Forcing.Pressure:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Pressure:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.ps.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Pressure:datavars = ps Sa_pbot_af + +Anomaly.Forcing.Humidity:year_first=2015 +Anomaly.Forcing.Humidity:year_last=2100 +Anomaly.Forcing.Humidity:year_align=2015 +Anomaly.Forcing.Humidity:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Humidity:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.huss.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Humidity:datavars = huss Sa_shum_af + +Anomaly.Forcing.Uwind:year_first=2015 +Anomaly.Forcing.Uwind:year_last=2100 +Anomaly.Forcing.Uwind:year_align=2015 +Anomaly.Forcing.Uwind:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Uwind:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.uas.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Uwind:datavars = uas Sa_u_af + +Anomaly.Forcing.Vwind:year_first=2015 +Anomaly.Forcing.Vwind:year_last=2100 +Anomaly.Forcing.Vwind:year_align=2015 +Anomaly.Forcing.Vwind:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Vwind:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.vas.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Vwind:datavars = vas Sa_v_af + +Anomaly.Forcing.Shortwave:year_first=2015 +Anomaly.Forcing.Shortwave:year_last=2100 +Anomaly.Forcing.Shortwave:year_align=2015 +Anomaly.Forcing.Shortwave:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Shortwave:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.rsds.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Shortwave:datavars = rsds Faxa_swdn_af + +Anomaly.Forcing.Longwave:year_first=2015 +Anomaly.Forcing.Longwave:year_last=2100 +Anomaly.Forcing.Longwave:year_align=2015 +Anomaly.Forcing.Longwave:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc +Anomaly.Forcing.Longwave:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.rlds.ccsm4.rcp45.2006-2300.nc +Anomaly.Forcing.Longwave:datavars = rlds Faxa_lwdn_af From f59d04515d9759750c9170bc593006c0aba85e37 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 9 May 2024 14:12:47 -0600 Subject: [PATCH 04/27] Point CDEPS external at my branch, with Anomaly.Forcing.cmip5.rcp45. --- Externals.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 183690d159..df9daf3658 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -55,9 +55,9 @@ local_path = components/cmeps required = True [cdeps] -tag = cdeps1.0.33 +tag = e4bd386dc564cbe2c89872947e2fc4c5c480480f protocol = git -repo_url = https://github.com/ESCOMP/CDEPS.git +repo_url = https://github.com/samsrabin/CDEPS.git local_path = components/cdeps externals = Externals_CDEPS.cfg required = True From 662e536fb302bc1b01d7d1da42a781d0bb9f7794 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 15:03:52 -0600 Subject: [PATCH 05/27] datm_rcp45_anom_forc testmod now uses Anomaly.Forcing.cmip5.rcp45. Instead of having to specify anomaly_forcing = 'Anomaly.Forcing.Precip', 'Anomaly.Forcing.Temperature', etc. --- .../testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm index 5caf191fe2..a1e2523cca 100644 --- a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm +++ b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm @@ -1 +1 @@ -anomaly_forcing = 'Anomaly.Forcing.Precip', 'Anomaly.Forcing.Temperature', 'Anomaly.Forcing.Pressure', 'Anomaly.Forcing.Humidity', 'Anomaly.Forcing.Uwind', 'Anomaly.Forcing.Vwind', 'Anomaly.Forcing.Shortwave', 'Anomaly.Forcing.Longwave' +anomaly_forcing = 'Anomaly.Forcing.cmip5.rcp45' From 8df08ff6d0234ee2d669645789903f7c78b3ccdd Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 15:28:56 -0600 Subject: [PATCH 06/27] Added a few scripts for this work --- tmp_scripts/make_allvars_files.sh | 46 +++++++++++++++++++ .../test-ssp-temperature-ctsm5.2.003.sh | 35 ++++++++++++++ 2 files changed, 81 insertions(+) create mode 100755 tmp_scripts/make_allvars_files.sh create mode 100755 tmp_scripts/test-ssp-temperature-ctsm5.2.003.sh diff --git a/tmp_scripts/make_allvars_files.sh b/tmp_scripts/make_allvars_files.sh new file mode 100755 index 0000000000..06d47a9479 --- /dev/null +++ b/tmp_scripts/make_allvars_files.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -e + +module load nco + +indir=/glade/campaign/cesm/cesmdata/cseg/inputdata/atm/datm7/anomaly_forcing +outdir=/glade/work/samrabin/ctsm_cdeps_ssp-temperature + +rcp=$1 +if [[ ${rcp} == "" ]]; then + echo "You must provide rcp (e.g., 45)" >&2 + exit 1 +fi + +if [[ ! -d "${indir}" ]]; then + echo "Input directory not found: ${indir}" >&2 + exit 1 +fi + +restoffilename="ccsm4.rcp${rcp}.2006-2300.nc" + +pushd "${indir}" 1>/dev/null +varlist="$(ls af.*.${restoffilename} | grep -v allvars | cut -f2 -d.)" +if [[ "${varlist}" == "" ]]; then + echo "No variables found" >&2 + exit 1 +fi +popd 1>/dev/null + +newfile="${outdir}/af.allvars.${restoffilename}" + +i=0 +for var in ${varlist}; do + echo $var + i=$((i + 1)) + thisfile="${indir}/af.${var}.${restoffilename}" + if [[ ${i} -eq 1 ]]; then + nccopy -k cdf5 "${thisfile}" "${newfile}" + continue + fi + ncks -A -v ${var} "${thisfile}" "${newfile}" +done + +echo Done + +exit 0 \ No newline at end of file diff --git a/tmp_scripts/test-ssp-temperature-ctsm5.2.003.sh b/tmp_scripts/test-ssp-temperature-ctsm5.2.003.sh new file mode 100755 index 0000000000..4c9ca5c39e --- /dev/null +++ b/tmp_scripts/test-ssp-temperature-ctsm5.2.003.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +ssp=$1 +if [[ ${ssp} == "" ]]; then + echo "You must provide an SSP number (e.g., 245)" >&2 + exit 1 +fi +ssp_punctuation="$(echo ${ssp} | sed -E "s/(.)(.)(.)/\1-\2.\3/")" + +casedir="$HOME/cases_ctsm/test_cdeps_ssp-temperature" +compset="SSP${ssp}_DATM%GSWP3v1_CLM51%BGC-CROP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV" +res="f10_f10_mg37" + +if [[ -d "${casedir}" ]]; then + rm -r "${casedir}" +fi + +cime/scripts/create_newcase --run-unsupported --case "${casedir}" --compset ${compset} --res ${res} \ + --handle-preexisting-dirs r + +cd "${casedir}" +./case.setup + +#echo "anomaly_forcing = 'Anomaly.Forcing.Temperature'" >> user_nl_datm +echo "anomaly_forcing = 'Anomaly.Forcing.cmip5.rcp45'" >> user_nl_datm +echo "flanduse_timeseries = '/glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/surfdata_esmf/ctsm5.2.0/landuse.timeseries_10x15_SSP${ssp_punctuation}_78_CMIP6_1850-2100_c230517.nc'" >> user_nl_clm + +echo "Generating namelists..." +./preview_namelists 1>/dev/null + +./xmlquery COMPSET +grep "" CaseDocs/datm.streams.xml | grep anomaly_forcing | grep '.tas.' + +exit 0 From 141636313fe6599413cd6003694fbd03b8cd47d3 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 15:50:47 -0600 Subject: [PATCH 07/27] Remove user_nl_datm_streams from datm_rcp45_anom_forc testmod. --- .../datm_rcp45_anom_forc/user_nl_datm_streams | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams b/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams deleted file mode 100644 index 2bc553567c..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_rcp45_anom_forc/user_nl_datm_streams +++ /dev/null @@ -1,55 +0,0 @@ -Anomaly.Forcing.Temperature:year_first=2015 -Anomaly.Forcing.Temperature:year_last=2100 -Anomaly.Forcing.Temperature:year_align=2015 -Anomaly.Forcing.Temperature:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Temperature:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.tas.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Temperature:datavars = tas Sa_tbot_af - -Anomaly.Forcing.Precip:year_first=2015 -Anomaly.Forcing.Precip:year_last=2100 -Anomaly.Forcing.Precip:year_align=2015 -Anomaly.Forcing.Precip:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Precip:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.pr.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Precip:datavars = pr Faxa_prec_af - -Anomaly.Forcing.Pressure:year_first=2015 -Anomaly.Forcing.Pressure:year_last=2100 -Anomaly.Forcing.Pressure:year_align=2015 -Anomaly.Forcing.Pressure:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Pressure:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.ps.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Pressure:datavars = ps Sa_pbot_af - -Anomaly.Forcing.Humidity:year_first=2015 -Anomaly.Forcing.Humidity:year_last=2100 -Anomaly.Forcing.Humidity:year_align=2015 -Anomaly.Forcing.Humidity:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Humidity:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.huss.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Humidity:datavars = huss Sa_shum_af - -Anomaly.Forcing.Uwind:year_first=2015 -Anomaly.Forcing.Uwind:year_last=2100 -Anomaly.Forcing.Uwind:year_align=2015 -Anomaly.Forcing.Uwind:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Uwind:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.uas.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Uwind:datavars = uas Sa_u_af - -Anomaly.Forcing.Vwind:year_first=2015 -Anomaly.Forcing.Vwind:year_last=2100 -Anomaly.Forcing.Vwind:year_align=2015 -Anomaly.Forcing.Vwind:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Vwind:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.vas.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Vwind:datavars = vas Sa_v_af - -Anomaly.Forcing.Shortwave:year_first=2015 -Anomaly.Forcing.Shortwave:year_last=2100 -Anomaly.Forcing.Shortwave:year_align=2015 -Anomaly.Forcing.Shortwave:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Shortwave:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.rsds.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Shortwave:datavars = rsds Faxa_swdn_af - -Anomaly.Forcing.Longwave:year_first=2015 -Anomaly.Forcing.Longwave:year_last=2100 -Anomaly.Forcing.Longwave:year_align=2015 -Anomaly.Forcing.Longwave:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -Anomaly.Forcing.Longwave:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/af.rlds.ccsm4.rcp45.2006-2300.nc -Anomaly.Forcing.Longwave:datavars = rlds Faxa_lwdn_af From 4b96267b8e806b5627d6c8ef693671220b4302fa Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 16:22:50 -0600 Subject: [PATCH 08/27] Update CDEPS external to 462c7a9. Branch ssp-fix: Fix more typos of "anomaly." --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index df9daf3658..07c3a00a2b 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -55,7 +55,7 @@ local_path = components/cmeps required = True [cdeps] -tag = e4bd386dc564cbe2c89872947e2fc4c5c480480f +tag = 462c7a9cff10e7ce9a7ab2d670f159f91d96d2cb # ssp-fix protocol = git repo_url = https://github.com/samsrabin/CDEPS.git local_path = components/cdeps From 825fbb6f4fd0711ad36be3eddc6a6f773545506b Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 17:32:34 -0600 Subject: [PATCH 09/27] Update CDEPS external to 759c591. Branch ssp-fix: Add Anomaly.Forcing.cmip6.ssp126. --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 07c3a00a2b..34fb385441 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -55,7 +55,7 @@ local_path = components/cmeps required = True [cdeps] -tag = 462c7a9cff10e7ce9a7ab2d670f159f91d96d2cb # ssp-fix +tag = 759c5910e147b322a5ac833ddc760d9a27b90477 # ssp-fix protocol = git repo_url = https://github.com/samsrabin/CDEPS.git local_path = components/cdeps From 496c1540c0971035f33ed1c51292fba54c9b6ff6 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 17:34:59 -0600 Subject: [PATCH 10/27] datm_ssp126_anom_forc testmod now uses Anomaly.Forcing.cmip6.ssp126. --- .../clm/datm_ssp126_anom_forc/user_nl_datm | 2 +- .../user_nl_datm_streams | 22 ------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm_streams diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm index d8ee13a339..83878d7e4c 100644 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm @@ -1 +1 @@ -anomaly_forcing = 'Anomaly.Forcing.Temperature' +anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp126' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm_streams b/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm_streams deleted file mode 100644 index 34ca8a96ae..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm_streams +++ /dev/null @@ -1,22 +0,0 @@ -Anomaly.Forcing.Temperature:year_first=2015 -Anomaly.Forcing.Temperature:year_last=2100 -Anomaly.Forcing.Temperature:year_align=2015 -Anomaly.Forcing.Temperature:meshfile =$DIN_LOC_ROOT/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc -! List of Data types to use -! Remove the variables you do NOT want to include in the Anomaly forcing: -! pr is preciptiation -! tas is temperature -! huss is humidity -! uas and vas are U and V winds -! rsds is solare -! rlds is LW down -Anomaly.Forcing.Temperature:datavars = pr Faxa_prec_af, \ - tas Sa_tbot_af, \ - ps Sa_pbot_af, \ - huss Sa_shum_af, \ - uas Sa_u_af, \ - vas Sa_v_af, \ - rsds Faxa_swdn_af, \ - rlds Faxa_lwdn_af -Anomaly.Forcing.Temperature:datafiles =$DIN_LOC_ROOT/atm/datm7/anomaly_forcing/CMIP6-SSP1-2.6/af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc - From 0a8df10ce43d8d722875d50443a4b6e63a80cf41 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 17:35:51 -0600 Subject: [PATCH 11/27] Add 'ssp' test suite. --- cime_config/testdefs/testlist_clm.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index c2a90507ba..a97f91e62a 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -2532,6 +2532,7 @@ + From 634cfcef4a8c9554adc12f1ad950a6e49da5f3a6 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 18:25:26 -0600 Subject: [PATCH 12/27] Update CDEPS external to 84669d7. ssp-fix branch: Add Anomaly.Forcing.cmip6.245, 370, 585. --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 34fb385441..e8a682598b 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -55,7 +55,7 @@ local_path = components/cmeps required = True [cdeps] -tag = 759c5910e147b322a5ac833ddc760d9a27b90477 # ssp-fix +tag = 84669d7984e8a941b3e675c0d331c72deec932b3 # ssp-fix protocol = git repo_url = https://github.com/samsrabin/CDEPS.git local_path = components/cdeps From 42b7575846e8f2c8beb19a0b812b639512df6526 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 18:28:33 -0600 Subject: [PATCH 13/27] Add testmods for ssp245, 370, 585. --- .../testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods | 1 + .../testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm | 1 + .../testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods | 1 + .../testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm | 1 + .../testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods | 1 + .../testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm | 1 + 6 files changed, 6 insertions(+) create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods create mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods new file mode 100644 index 0000000000..fe0e18cf88 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods @@ -0,0 +1 @@ +../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm new file mode 100644 index 0000000000..148091362d --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm @@ -0,0 +1 @@ +anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp245' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods new file mode 100644 index 0000000000..fe0e18cf88 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods @@ -0,0 +1 @@ +../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm new file mode 100644 index 0000000000..082d916c2e --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm @@ -0,0 +1 @@ +anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp370' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods new file mode 100644 index 0000000000..fe0e18cf88 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods @@ -0,0 +1 @@ +../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm new file mode 100644 index 0000000000..d218ac45b7 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm @@ -0,0 +1 @@ +anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp585' From 567fcad83fb66a7c219453ed3ba9a6001efdc2c2 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 18:30:29 -0600 Subject: [PATCH 14/27] Add ssp suite tests for 245, 370, 585. --- cime_config/testdefs/testlist_clm.xml | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index a97f91e62a..92b137d857 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -2529,6 +2529,7 @@ + @@ -2539,6 +2540,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c4ec313d239cc1a70a28e15794593dff68fda070 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 8 Aug 2024 20:59:22 -0600 Subject: [PATCH 15/27] Update CDEPS external to 547506603e. Branch ssp-fix: Merge tag 'cdeps1.0.34' into ssp-fix --- .gitmodules | 2 +- components/cdeps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 824337af6f..b010ad89a2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = 84669d7984e8a941b3e675c0d331c72deec932b3 +fxtag = 547506603e1f3ac302f16e70b448d74a84947341 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/components/cdeps b/components/cdeps index 84669d7984..547506603e 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 84669d7984e8a941b3e675c0d331c72deec932b3 +Subproject commit 547506603e1f3ac302f16e70b448d74a84947341 From 49382ee62b6d51b60606b3b7c436c18d35132993 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 4 Sep 2024 16:52:09 -0600 Subject: [PATCH 16/27] Update CDEPS external to 3f36622. Branch ssp-fix: "anomaly_forcing now automatically set based on compset (ISSP*)." Also updates testmods accordingly. --- .gitmodules | 2 +- cime_config/testdefs/testlist_clm.xml | 40 +++++++++++++++++++ .../clm/datm_ssp126_anom_forc/user_nl_datm | 1 - .../clm/datm_ssp245_anom_forc/user_nl_datm | 1 - .../clm/datm_ssp370_anom_forc/user_nl_datm | 1 - .../clm/datm_ssp585_anom_forc/user_nl_datm | 1 - components/cdeps | 2 +- 7 files changed, 42 insertions(+), 6 deletions(-) delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm diff --git a/.gitmodules b/.gitmodules index b010ad89a2..37a3f9624f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = 547506603e1f3ac302f16e70b448d74a84947341 +fxtag = 3f36622b3bd6358d324f1aca5e90009db306963e fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index f8e8d3208f..f2bd123c84 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1989,6 +1989,7 @@ + @@ -2551,6 +2552,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm deleted file mode 100644 index 83878d7e4c..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/user_nl_datm +++ /dev/null @@ -1 +0,0 @@ -anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp126' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm deleted file mode 100644 index 148091362d..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/user_nl_datm +++ /dev/null @@ -1 +0,0 @@ -anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp245' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm deleted file mode 100644 index 082d916c2e..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/user_nl_datm +++ /dev/null @@ -1 +0,0 @@ -anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp370' diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm b/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm deleted file mode 100644 index d218ac45b7..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/user_nl_datm +++ /dev/null @@ -1 +0,0 @@ -anomaly_forcing = 'Anomaly.Forcing.cmip6.ssp585' diff --git a/components/cdeps b/components/cdeps index 547506603e..3f36622b3b 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 547506603e1f3ac302f16e70b448d74a84947341 +Subproject commit 3f36622b3bd6358d324f1aca5e90009db306963e From 728257bd21ade1948bd014c7ad79310fd9472257 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 09:04:35 -0600 Subject: [PATCH 17/27] Update CDEPS external to 797b320. Branch ssp-fix: Now actually sets anomaly_forcing based on compset. --- .gitmodules | 2 +- components/cdeps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 37a3f9624f..37052fdc07 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = 3f36622b3bd6358d324f1aca5e90009db306963e +fxtag = 797b320464a93b05eea492ea2f28821a14584515 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/components/cdeps b/components/cdeps index 3f36622b3b..797b320464 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 3f36622b3bd6358d324f1aca5e90009db306963e +Subproject commit 797b320464a93b05eea492ea2f28821a14584515 From 4da45876d25bc875fb4cb3a714214d08f9b2ddaa Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 13:02:36 -0600 Subject: [PATCH 18/27] Update CDEPS external to 274b06b. Branch ssp-fix: Only set anomaly_forcing for DATM SSP compsets. --- .gitmodules | 2 +- components/cdeps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 37052fdc07..648b29abb9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = 797b320464a93b05eea492ea2f28821a14584515 +fxtag = 274b06bfd59c6e6f8e4ffcd257747ac09099bf91 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/components/cdeps b/components/cdeps index 797b320464..274b06bfd5 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 797b320464a93b05eea492ea2f28821a14584515 +Subproject commit 274b06bfd59c6e6f8e4ffcd257747ac09099bf91 From 51a8e1b76d12790284ae3912494dcb7962efe873 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 11:46:22 -0600 Subject: [PATCH 19/27] Update "Running with anomaly forcing" doc for latest CDEPS. --- .../Running-with-anomaly-forcing.rst | 90 ++++++++++++------- 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst index 0c6009f3fe..efb6400afe 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst @@ -7,39 +7,67 @@ ============================== Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called 'anomaly forcing'. The anomaly forcing method uses a previously completed fully coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. -To enable anomaly forcing in a CTSM simulation, the following namelist variable can be added to the user\_nl\_datm file: - - anomaly\_forcing = 'Anomaly.Forcing.Precip','Anomaly.Forcing.Temperature','Anomaly.Forcing.Pressure','Anomaly.Forcing.Humidity','Anomaly.Forcing.Uwind','Anomaly.Forcing.Vwind','Anomaly.Forcing.Shortwave','Anomaly.Forcing.Longwave' - -Any combination or subset of forcing variables can be used, e.g. to modify only a single atmospheric forcing variable, one could use: - - anomaly\_forcing = 'Anomaly.Forcing.Temperature' - -which will only adjust the temperature (TBOT). - -After the namelist has been created, the run directory will be populated with files such as these: - - datm.streams.txt.Anomaly.Forcing.Temperature - -which will contain the location of the default anomaly forcing datasets. To use alternative data, copy these files to the case directory with the 'user\_' prefix, and modify the 'user\_*' files accordingly, e.g.: - - user\_datm.streams.txt.Anomaly.Forcing.Temperature - - For example, one could use the user\_datm.streams.txt.Anomaly.Forcing.* files to point to these SSP-derived anomaly forcing datasets: - - /glade/p/cesmdata/cseg/inputdata/atm/datm7/anomaly\_forcing/CMIP6-SSP3-7.0 - - af.huss.cesm2.SSP3-7.0.2015-2100\_c20200329.nc - af.pr.cesm2.SSP3-7.0.2015-2100\_c20200329.nc - af.ps.cesm2.SSP3-7.0.2015-2100\_c20200329.nc - af.rlds.cesm2.SSP3-7.0.2015-2100\_c20200329.nc - af.rsds.cesm2.SSP3-7.0.2015-2100\_c20200329.nc - af.tas.cesm2.SSP3-7.0.2015-2100\_c20200329.nc - -Users may wish to also update files such as the landuse\_timeseries and aerosol and Ndepostion files to correspond to the appropriate SSP. +Anomaly climate forcings are automatically enabled for ``ISSP`` compsets (e.g., ``ISSP585``). To disable anomaly forcing in such compsets, the following can be added to the ``user_nl_datm`` file: + +TODO: WHAT WOULD THIS DO? + +:: + + anomaly_forcing = '' + +After the namelist has been created, ``CaseDocs/datm.streams.xml`` will have an entry like this pointing to the anomaly forcing file being used: + +:: + + + ... + + /glade/campaign/cesm/cesmdata/inputdata/atm/datm7/anomaly_forcing/CMIP6-SSP5-8.5/af.allvars.CESM.SSP5-8.5.2015-2100_c20220628.nc + + + huss Sa_shum_af + pr Faxa_prec_af + ps Sa_pbot_af + rlds Faxa_lwdn_af + rsds Faxa_swdn_af + tas Sa_tbot_af + uas Sa_u_af + vas Sa_v_af + + ... + + +To use alternative data, add a ``user_nl_datm_streams`` namelist file to your case with contents like so: + +:: + + Anomaly.Forcing.cmip6.ssp585:datafiles = /path/to/your/datafile + Anomaly.Forcing.cmip6.ssp585:meshfile = /path/to/meshfile/for/your/datafile + + ! List of Data types to use + ! Remove the variables you do NOT want to include in the anomaly forcing: + ! pr is precipitation + ! tas is temperature + ! huss is humidity + ! uas and vas are U and V winds + ! rsds is solare + ! rlds is LW down + Anomaly.Forcing.cmip6.ssp585:datavars = pr Faxa_prec_af, \ + tas Sa_tbot_af, \ + ps Sa_pbot_af, \ + huss Sa_shum_af, \ + uas Sa_u_af, \ + vas Sa_v_af, \ + rsds Faxa_swdn_af, \ + rlds Faxa_lwdn_af + + +Note that other inputs are also set automatically for ``ISSP`` compsets, including CO2 (``co2tseries``), ozone (``preso3``), N deposition (``presndep``), and aerosols (``presaero``). For single point simulations, the global anomaly forcing files can be used, but the map_algo namelist variable should be appended with nearest neighbor values for each of the anomaly forcing fields, e.g. +TODO: IN WHAT NAMELIST? DOES THIS NEED TO BE UPDATED? + mapalgo = 'nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn' (the number of 'nn' values will depend on the number of original streams plus the number of anomaly forcing streams) -The cycling of the present-day (base) climate is controlled through the DATM\_CLMNCEP\_YR\_START and DATM_CLMNCEP\_YR\_END variables in env\_run.xml. +The first and last years over which the present-day (base) climate should cycle are set through the ``DATM_YR_START`` and ``DATM_YR_END`` XML variables. From 1644c619755b5d88f86333a308edf991de1fb7ce Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 12:07:28 -0600 Subject: [PATCH 20/27] Running-with-anomaly-forcing.rst: Formatting improvements. --- .../Running-with-anomaly-forcing.rst | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst index efb6400afe..1dcc5e1546 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst @@ -5,7 +5,7 @@ ============================== Running with anomaly forcing ============================== -Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called 'anomaly forcing'. The anomaly forcing method uses a previously completed fully coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. +Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called "anomaly forcing." The anomaly forcing method uses a previously-completed, fully-coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. Anomaly climate forcings are automatically enabled for ``ISSP`` compsets (e.g., ``ISSP585``). To disable anomaly forcing in such compsets, the following can be added to the ``user_nl_datm`` file: @@ -64,10 +64,14 @@ To use alternative data, add a ``user_nl_datm_streams`` namelist file to your ca Note that other inputs are also set automatically for ``ISSP`` compsets, including CO2 (``co2tseries``), ozone (``preso3``), N deposition (``presndep``), and aerosols (``presaero``). -For single point simulations, the global anomaly forcing files can be used, but the map_algo namelist variable should be appended with nearest neighbor values for each of the anomaly forcing fields, e.g. +For single-point simulations, the global anomaly forcing files can be used, but the ``mapalgo`` namelist variable should be appended with nearest neighbor values for each of the anomaly forcing fields. I.e.: -TODO: IN WHAT NAMELIST? DOES THIS NEED TO BE UPDATED? +TODO: IN WHAT NAMELIST? DOES THIS NEED TO BE UPDATED? IMPROVE CLARITY OF NOTE: HOW CAN USER CALCULATE NUMBER NEEDED? - mapalgo = 'nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn' (the number of 'nn' values will depend on the number of original streams plus the number of anomaly forcing streams) +:: + + ! The number of 'nn' values will depend on the number of original streams + ! plus the number of anomaly forcing streams + mapalgo = 'nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn' The first and last years over which the present-day (base) climate should cycle are set through the ``DATM_YR_START`` and ``DATM_YR_END`` XML variables. From 5aae2a66c899a150d2ee7d9dc1cca2239a49029f Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 12:20:03 -0600 Subject: [PATCH 21/27] Running-with-anomaly-forcing.rst: Resolve a TODO. --- .../Running-with-anomaly-forcing.rst | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst index 1dcc5e1546..6b3752b86d 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst @@ -7,15 +7,7 @@ ============================== Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called "anomaly forcing." The anomaly forcing method uses a previously-completed, fully-coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. -Anomaly climate forcings are automatically enabled for ``ISSP`` compsets (e.g., ``ISSP585``). To disable anomaly forcing in such compsets, the following can be added to the ``user_nl_datm`` file: - -TODO: WHAT WOULD THIS DO? - -:: - - anomaly_forcing = '' - -After the namelist has been created, ``CaseDocs/datm.streams.xml`` will have an entry like this pointing to the anomaly forcing file being used: +Anomaly climate forcings are automatically enabled for ``ISSP`` compsets (e.g., ``ISSP585``). After the namelist has been created, ``CaseDocs/datm.streams.xml`` will have an entry like this pointing to the anomaly forcing file being used: :: @@ -61,6 +53,11 @@ To use alternative data, add a ``user_nl_datm_streams`` namelist file to your ca rsds Faxa_swdn_af, \ rlds Faxa_lwdn_af +To instead disable anomaly forcing in ``ISSP`` compsets, the following can be added to the ``user_nl_datm`` file: + +:: + + anomaly_forcing = 'none' Note that other inputs are also set automatically for ``ISSP`` compsets, including CO2 (``co2tseries``), ozone (``preso3``), N deposition (``presndep``), and aerosols (``presaero``). From a2fc1c1eea842ba3e5d385a4eb971016329f28d0 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 13:57:02 -0600 Subject: [PATCH 22/27] Running-with-anomaly-forcing.rst: Update single-pt instructions. --- .../Running-with-anomaly-forcing.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst index 6b3752b86d..0a22fea0c6 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-anomaly-forcing.rst @@ -61,14 +61,13 @@ To instead disable anomaly forcing in ``ISSP`` compsets, the following can be ad Note that other inputs are also set automatically for ``ISSP`` compsets, including CO2 (``co2tseries``), ozone (``preso3``), N deposition (``presndep``), and aerosols (``presaero``). -For single-point simulations, the global anomaly forcing files can be used, but the ``mapalgo`` namelist variable should be appended with nearest neighbor values for each of the anomaly forcing fields. I.e.: +For single-point simulations, the global anomaly forcing files can be used, but the map should be nearest-neighbor interpolated by putting the following in ``user_nl_datm_streams``: -TODO: IN WHAT NAMELIST? DOES THIS NEED TO BE UPDATED? IMPROVE CLARITY OF NOTE: HOW CAN USER CALCULATE NUMBER NEEDED? +TODO: IS THIS ACTUALLY NEEDED? :: - ! The number of 'nn' values will depend on the number of original streams - ! plus the number of anomaly forcing streams - mapalgo = 'nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn','nn' + ! Replace "ssp585" if needed + Anomaly.Forcing.cmip6.ssp585:mapalgo = nn The first and last years over which the present-day (base) climate should cycle are set through the ``DATM_YR_START`` and ``DATM_YR_END`` XML variables. From f514ed8599ea686ccab5d73f07d3ae7b96e31f8b Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 14:21:03 -0600 Subject: [PATCH 23/27] Update CDEPS external to 1e403a8. Branch ssp-fix: Provide hint in error message if namelist variable invalid due to surrounding quote marks. --- .gitmodules | 2 +- components/cdeps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 648b29abb9..7e4d38607a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = 274b06bfd59c6e6f8e4ffcd257747ac09099bf91 +fxtag = 1e403a8574096d58cfb332cd620faaea156359eb fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/components/cdeps b/components/cdeps index 274b06bfd5..1e403a8574 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 274b06bfd59c6e6f8e4ffcd257747ac09099bf91 +Subproject commit 1e403a8574096d58cfb332cd620faaea156359eb From da2f4e8813f6130ea8f2908e5db719cb97609e72 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 15:17:04 -0600 Subject: [PATCH 24/27] Update CDEPS external to b1f17519. Branch ssp-fix: Make datm buildnml more robust. --- .gitmodules | 2 +- components/cdeps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 7e4d38607a..a8a88fd3dd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = 1e403a8574096d58cfb332cd620faaea156359eb +fxtag = b1f17519a57d2b99aa6651235a713836e0844eb8 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/components/cdeps b/components/cdeps index 1e403a8574..b1f17519a5 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 1e403a8574096d58cfb332cd620faaea156359eb +Subproject commit b1f17519a57d2b99aa6651235a713836e0844eb8 From 8cb5854267974e934b42733003a1c1b609ffc803 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 15:20:55 -0600 Subject: [PATCH 25/27] Remove datm_ssp*_anom_forc testmods. --- cime_config/testdefs/testlist_clm.xml | 40 +------------------ .../datm_ssp126_anom_forc/include_user_mods | 1 - .../datm_ssp245_anom_forc/include_user_mods | 1 - .../datm_ssp370_anom_forc/include_user_mods | 1 - .../datm_ssp585_anom_forc/include_user_mods | 1 - 5 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/include_user_mods delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods delete mode 100644 cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index f2bd123c84..6ad95bda6c 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -2514,46 +2514,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp126_anom_forc/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp245_anom_forc/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp370_anom_forc/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/datm_ssp585_anom_forc/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default From 01967bf96af78f698dc043d8cc27f0616a9d3f6f Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 15:36:03 -0600 Subject: [PATCH 26/27] Replace non-SSP test in ssp suite with nvhpc version. To match what's run in aux_clm. --- cime_config/testdefs/testlist_clm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 6ad95bda6c..df6f6b01cc 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1989,7 +1989,7 @@ - + From 124027b2d7500a61490ca3fa4827943768e4243d Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 5 Sep 2024 15:49:45 -0600 Subject: [PATCH 27/27] Update CDEPS external to 25c7b92. Branch ssp-fix: Bugfix to future-proofing of datm buildnml. --- .gitmodules | 2 +- components/cdeps | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index a8a88fd3dd..2708c9446b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/samsrabin/CDEPS.git -fxtag = b1f17519a57d2b99aa6651235a713836e0844eb8 +fxtag = 25c7b920de8fdf1a90b00276a0d7b003b4a845a9 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git diff --git a/components/cdeps b/components/cdeps index b1f17519a5..25c7b920de 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit b1f17519a57d2b99aa6651235a713836e0844eb8 +Subproject commit 25c7b920de8fdf1a90b00276a0d7b003b4a845a9