diff --git a/.github/workflows/check-clm6-aliases.sh b/.github/workflows/check-clm6-aliases.sh deleted file mode 100755 index 32778f15d6..0000000000 --- a/.github/workflows/check-clm6-aliases.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Check that clm6* compset aliases return CLM6* longnames - -# Change to top level of clone -cd "$(git rev-parse --show-toplevel)" - -# Check that query_config can run without error -cime/scripts/query_config --compsets 1>/dev/null - -# Find bad compsets -OLD_IFS=$IFS -IFS='\n' -set +e -# Relies on case sensitivity here: Alias should have Clm6 and longname should have CLM6 -bad_compsets="$(cime/scripts/query_config --compsets | sort | uniq | grep Clm6 | grep -v CLM6)" -set -e -if [[ "${bad_compsets}" != "" ]]; then - echo "One or more compsets with Clm6 alias but not CLM6 longname:" >&2 - echo $bad_compsets >&2 - exit 1 -fi - -exit 0 \ No newline at end of file diff --git a/.github/workflows/check-compset-aliases.sh b/.github/workflows/check-compset-aliases.sh new file mode 100755 index 0000000000..cbe6a7eea4 --- /dev/null +++ b/.github/workflows/check-compset-aliases.sh @@ -0,0 +1,116 @@ +#!/usr/bin/env bash +set -e + +# Check that compset aliases return matching longnames + +# Change to top level of clone +cd "$(git rev-parse --show-toplevel)" + +# Check that query_config can run without error +cime/scripts/query_config --compsets 1>/dev/null + +# Save previous IFS line-splitting behavior to restore at the end (keep this at the beining) +OLD_IFS=$IFS +IFS=$'\n' + +bad_compsets() { + # Subroutine to Find bad compsets + # Set input arguments + local ALIAS="$1" + local LCOMPSET="$2" + set +e + # Relies on case sensitivity here: Alias should have $ALIAS and longname should have $LCOMPSET + # --invert-match can be shortened to -v + # --fixed-strings can be shortened to -F + local bad_matches="$(cime/scripts/query_config --compsets | sort | uniq | grep --fixed-strings -- \"$ALIAS\" | grep --fixed-strings --invert-match -- \"$LCOMPSET\")" + set -e + if [[ "${bad_matches}" != "" ]]; then + echo "One or more compsets with $ALIAS alias but not $LCOMPSET longname:" >&2 + echo "$bad_matches" >&2 + exit 1 + fi +} + +check_missing_alias_matches() { + # Subroutine to Find bad compsets by checking that if something is not found in the alias -- then something else SHOULD be found in the long-compset name + # Allows for regular expressions in the alias argument + # Set input arguments + local ALIAS="$1" + local LCOMPSET="$2" + set +e + # Relies on case sensitivity here: Alias should NOT have a match in $ALIAS but longname should have $LCOMPSET + # --invert-match can be shortened to -v + # --fixed-strings can be shortened to -F + local bad_compsets="$(cime/scripts/query_config --compsets clm | awk 'NR > 5{print $0}' | grep -E --invert-match -- \"$ALIAS\" | grep --fixed-strings -- \"$LCOMPSET\")" + set -e + if [[ "${bad_compsets}" != "" ]]; then + echo "One or more compsets without $ALIAS alias but not $LCOMPSET longname:" >&2 + echo "$bad_compsets" >&2 + exit 1 + fi +} + +# Now call the subroutine for various options +# -- Physics versions --- +bad_compsets Clm60 CLM60 +bad_compsets Clm50 CLM50 +bad_compsets Ctsm50 "CLM50%NWP" +# -- stub ROF or GLC +bad_compsets Rs SROF +bad_compsets Gs SGLC +# -- General veg type -- +bad_compsets Bgc "%BGC" +bad_compsets BgcCrop "%BGC-CROP" +bad_compsets Clm50Sp "%SP" +bad_compsets Clm60Sp "%SP" +# ---- Note that specifying SP for NWP compsets as they shouldn't use BGC ---- +bad_compsets Nwp "%NWP-SP" +# ---- NWP cases should always be stub GLC --- +bad_compsets Nwp Gs +bad_compsets Fates "%FATES" +bad_compsets FatesSp "%FATES-SP" +bad_compsets 'NoAnthro' 'NOANTHRO_' + +# -- Period of simulation -- +bad_compsets I2000 2000_ +bad_compsets I2010 2010_ +bad_compsets I1850 1850_ +bad_compsets IHist HIST_ +bad_compsets ISSP585 SSP585_ +bad_compsets ISSP126 SSP126_ +bad_compsets ISSP119 SSP119_ +bad_compsets ISSP245 SSP245_ +bad_compsets ISSP370 SSP370_ +bad_compsets ISSP460 SSP460_ +bad_compsets ISSP534 SSP534_ +# --- DATM forcing types --- +bad_compsets I1Pt "DATM%1PT" +bad_compsets Crujra "DATM%CRUJRA2024b" +bad_compsets Gswp "DATM%GSWP3v1" +bad_compsets "Cru " "DATM%CRU" +bad_compsets Nldas "DATM%NLDAS2" +bad_compsets Qian '_DATM%QIA_' +bad_compsets 'Spinup' 'DATM%CPLHIST' + +# --- ROF models --- +bad_compsets Miz _MIZUROUTE_ +bad_compsets "Rtm " _RTM_ +bad_compsets RtmFl "_RTM%FLOOD_" + +# --- CISM options --- +bad_compsets "G " '_CISM2%GRIS-EVOLVE_' +bad_compsets "Ga " '_CISM2%AIS-EVOLVE_' +bad_compsets "Gag " '_CISM2%AIS-EVOLVE%GRIS-EVOLVE_' + + +# +# Now check compsets that don't have something in the alias to make sure something else is there +# +check_missing_alias_matches "Rs|Rtm|Miz" "_MOSART_" +check_missing_alias_matches "Gs|G |Gag|Ga " "_DGLC%NOEVOLVE_" +check_missing_alias_matches 'Crujra|Cru|Nldas|As|1Pt|Qia|Spi' 'GSWP3v1' + +# Restore line-splitting behavior (keep this at the end) +IFS=$OLD_IFS + +exit 0 \ No newline at end of file diff --git a/.github/workflows/check-clm6-aliases.yml b/.github/workflows/check-compset-aliases.yml similarity index 81% rename from .github/workflows/check-clm6-aliases.yml rename to .github/workflows/check-compset-aliases.yml index 7bdcf8af3b..bdafb7aa9b 100644 --- a/.github/workflows/check-clm6-aliases.yml +++ b/.github/workflows/check-compset-aliases.yml @@ -1,4 +1,4 @@ -name: Check that clm6* compset aliases return CLM6* longnames +name: Checking compset aliases are correct # Only check files in our repo that AREN'T in submodules # Use a Python command to check each file because xmllint isn't available on GH runners @@ -7,21 +7,21 @@ on: # Run when a change to these files is pushed to any branch. Without the "branches:" line, for some reason this will be run whenever a tag is pushed, even if the listed files aren't changed. branches: ['*'] paths: - - '.github/workflows/check-clm6-aliases.sh' + - '.github/workflows/check-compset-aliases.sh' - 'cime/**' - 'cime_config/config_compsets.xml' pull_request: # Run on pull requests that change the listed files paths: - - '.github/workflows/check-clm6-aliases.sh' + - '.github/workflows/check-compset-aliases.sh' - 'cime/**' - 'cime_config/config_compsets.xml' workflow_dispatch: jobs: - check-clm6-aliases: + check-compset-aliases: runs-on: ubuntu-latest steps: - name: Checkout repository @@ -37,4 +37,4 @@ jobs: - name: Check aliases run: | - .github/workflows/check-clm6-aliases.sh + .github/workflows/check-compset-aliases.sh diff --git a/cime_config/SystemTests/ssp.py b/cime_config/SystemTests/ssp.py index 53df763045..1c1c978ec4 100644 --- a/cime_config/SystemTests/ssp.py +++ b/cime_config/SystemTests/ssp.py @@ -3,7 +3,7 @@ This is a CLM specific test: Verifies that spinup works correctly -this test is only valid for CLM compsets with CLM45 or CLM50 +this test is only valid for CLM compsets with CLM50 (1) do an initial spin test - set CLM_ACCELERATED_SPINUP to on - write restarts at the end of the run, turn on short term archiving diff --git a/cime_config/buildnml b/cime_config/buildnml index adb2bb2e7d..aa48b09a1c 100644 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -97,10 +97,6 @@ def buildnml(case, caseroot, compname): # Warnings for land tuning modes # closest_tuning = { - "clm4_5_1PT": "clm4_5_CRUv7", - "clm4_5_QIAN": "clm4_5_CRUv7", - "clm4_5_NLDAS2": "clm4_5_CRUv7", - "clm4_5_ERA5": "clm4_5_CRUv7", "clm5_0_1PT": "clm5_0_GSWP3v1", "clm5_0_QIAN": "clm5_0_GSWP3v1", "clm5_0_NLDAS2": "clm5_0_GSWP3v1", @@ -137,9 +133,6 @@ def buildnml(case, caseroot, compname): "clm6_0_cam4.0": "clm5_0_cam6.0", "clm5_0_cam5.0": "clm5_0_cam6.0", "clm5_0_cam4.0": "clm5_0_cam6.0", - "clm4_5_cam6.0": "clm5_0_cam6.0", - "clm4_5_cam5.0": "clm5_0_cam6.0", - "clm4_5_cam4.0": "clm5_0_cam6.0", } for mode, based_on in tuning_based_on.items(): if lnd_tuning_mode == mode: diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 366b504d3e..d0cca1a0b3 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -13,25 +13,20 @@ - clm4.5: - clm5.0: - clm6.0: + clm5.0: + clm6.0: Satellite phenology: - Satellite phenology with VIC hydrology: Satellite phenology without anthropomorphic influences BGC (vert. resol. CN and methane): BGC (vert. resol. CN and methane) with prognostic crop: BGC (vert. resol. CN and methane) without anthropomorphic influences: FATES (Functionally Assembled Terrestrial Ecosystem Simulator) Ecosystem Demography model: Satellite phenology with FATES (Functionally Assembled Terrestrial Ecosystem Simulator) Ecosystem Demography model: - BGC (vert. resol. CN and methane) with dynamic vegetation: - BGC (vert. resol. CN and methane) with dynamic vegetation and prognostic crop: BGC (vert. resol. CN and methane) with prognostic crop, with modifications appropriate for CMIP6 DECK experiments: BGC (vert. resol. CN and methane) with prognostic crop, with modifications appropriate for CMIP6 WACCM DECK experiments: NWP configuration with satellite phenology: - NWP configuration with BGC and CROP: char @@ -79,24 +74,9 @@ UNSET - clm5_0_cam6.0,clm5_0_cam7.0,clm5_0_cam5.0,clm5_0_cam4.0,clm5_0_GSWP3v1,clm5_0_CRUJRA2024,clm5_0_CRUv7,clm5_0_QIAN,clm5_0_1PT,clm5_0_NLDAS2,clm5_0_ERA5,clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_QIAN,clm4_5_cam6.0,clm4_5_cam7.0,clm4_5_cam5.0,clm4_5_cam4.0,clm4_5_1PT,clm4_5_NLDAS2,clm4_5_ERA5,clm6_0_CRUv7,clm6_0_GSWP3v1,clm6_0_CRUJRA2024,clm6_0_cam6.0,clm6_0_cam7.0,clm6_0_cam5.0,clm6_0_cam4.0,clm6_0_QIAN,clm6_0_1PT,clm6_0_NLDAS2,clm6_0_ERA5 + clm5_0_cam6.0,clm5_0_cam7.0,clm5_0_cam5.0,clm5_0_cam4.0,clm5_0_GSWP3v1,clm5_0_CRUJRA2024,clm5_0_CRUv7,clm5_0_QIAN,clm5_0_1PT,clm5_0_NLDAS2,clm5_0_ERA5,clm6_0_CRUv7,clm6_0_GSWP3v1,clm6_0_CRUJRA2024,clm6_0_cam6.0,clm6_0_cam7.0,clm6_0_cam5.0,clm6_0_cam4.0,clm6_0_QIAN,clm6_0_1PT,clm6_0_NLDAS2,clm6_0_ERA5 - - clm4_5_CRUv7 - clm4_5_CRUv7 - clm4_5_GSWP3v1 - clm4_5_cam6.0 - clm4_5_cam4.0 - clm4_5_cam5.0 - clm4_5_cam6.0 - clm4_5_cam7.0 - clm4_5_cam5.0 - clm4_5_QIAN - clm4_5_QIAN - clm4_5_1PT - clm4_5_NLDAS2 - clm4_5_ERA5 clm5_0_CRUJRA2024 clm5_0_CRUv7 @@ -146,7 +126,6 @@ by the compset match. --> UNSET - clm4_5 clm5_0 clm6_0 @@ -279,15 +258,6 @@ Caveats: --bgc bgc --crop --no-megan --no-drydep --no-fire_emis - - -bgc bgc -dynamic_vegetation - -bgc bgc -dynamic_vegetation -crop - -bgc sp -vichydro - - - -bgc bgc -dynamic_vegetation - -bgc bgc -dynamic_vegetation -crop - -bgc sp -vichydro run_component_ctsm env_run.xml diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index a1c6a1128d..a49f2a46b9 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -13,13 +13,14 @@ TIME_ATM[%phys]_LND[%phys]_ICE[%phys]_OCN[%phys]_ROF[%phys]_GLC[%phys]_WAV[%phys][_BGC%phys] Where for the CAM specific compsets below the following is supported TIME = Time period (e.g. 2000, HIST, SSP585...) - ATM = [CAM40, CAM50, CAM60] - LND = [CLM45, CLM50, CLM60, SLND] - ICE = [CICE, DICE, SICE] - OCN = [DOCN, ,AQUAP, SOCN] - ROF = [RTM, SROF] - GLC = [CISM2, SGLC] - WAV = [SWAV] + ATM = [DATM, CAM40, CAM50, CAM60, CAM70, SATM] (CAM only for CAM or CESM checkouts) + LND = [CLM50, CLM60, DLND, SLND] + ICE = [CICE, DICE, SICE] (CICE only for CAM or CESM checkouts) + OCN = [MOM, DOCN, SOCN] (MOM only for CESM checkouts) + ROF = [RTM, MOSART, MIZUROUTE, DROF, SROF] + GLC = [CISM2, DGLC, SGLC] + WAV = [WW3, DWAV, SWAV] (WW3 only for CESM checkouts) + ESP = [DESP, SESP] BGC = optional BGC scenario The OPTIONAL %phys attributes specify submodes of the given system @@ -37,185 +38,196 @@ - I1PtClm60Bgc + I1PtClm60BgcRsGs 2000_DATM%1PT_CLM60%BGC_SICE_SOCN_SROF_SGLC_SWAV - I1PtClm60Fates + I1PtClm60FatesRsGs 2000_DATM%1PT_CLM60%FATES_SICE_SOCN_SROF_SGLC_SWAV - IHist1PtClm60Bgc + IHist1PtClm60BgcRsGs HIST_DATM%1PT_CLM60%BGC_SICE_SOCN_SROF_SGLC_SWAV - IHist1PtClm60Fates + IHist1PtClm60FatesRsGs HIST_DATM%1PT_CLM60%FATES_SICE_SOCN_SROF_SGLC_SWAV - I1PtClm60SpRs + I1PtClm60SpRsGs 2000_DATM%1PT_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV - I1PtClm50SpRs + I1PtClm50SpRsGs 2000_DATM%1PT_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV - - I1PtClm45SpRs - 2000_DATM%1PT_CLM45%SP_SICE_SOCN_SROF_SGLC_SWAV - - I2000Clm50Sp - 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - I2000Clm50SpRs + I2000Clm50SpRsGs 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm60SpRs + I2000Clm60SpRsGs 2000_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm60SpCrujraRs + I2000Clm60SpCrujraRsGs 2000_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV I2000Clm60Sp - 2000_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV - - + 2000_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm60SpCrujra - 2000_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - + + + - + - I2000Clm50SpRtm - 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM_SGLC_SWAV + I2000Clm60SpMiz + 2000_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MIZUROUTE_DGLC%NOEVOLVE_SWAV + - I2000Clm60SpMizGs 2000_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MIZUROUTE_SGLC_SWAV - I2000Clm60SpMizGsNldas + I2000Clm60SpMizNldasGs 2000_DATM%NLDAS2_CLM60%SP_SICE_SOCN_MIZUROUTE_SGLC_SWAV I2010Clm50Sp - 2010_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV + 2010_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + I2000Clm50Bgc + 2000_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + I2000Clm50BgcCru - 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm50BgcCropRtm - 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV I2000Clm50BgcCrop - 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm60BgcCrop - 2000_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm60BgcCropCrujra - 2000_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + + + + + + I2000Clm60BgcCropCrujraRsGs + 2000_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV I2000Clm60Bgc - 2000_DATM%GSWP3v1_CLM60%BGC_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM60%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm60BgcCrujra - 2000_DATM%CRUJRA2024b_CLM60%BGC_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%CRUJRA2024b_CLM60%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm50Sp - 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV - - - - - - I1850Clm50SpCru - 1850_DATM%CRUv7_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV - - + 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60SpCrujra - 1850_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + + + - I1850Clm60SpCru - 1850_DATM%CRUv7_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV + I1850Clm50BgcCrop + 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - I1850Clm50BgcCrop - 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV - - + I1850Clm50BgcCropRsGs + 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV I1850Clm60BgcCrop - 1850_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60BgcCropCrujra - 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + + I1850Clm60Sp - 1850_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV - - + 1850_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + + I1850Clm60BgcCropCrujraRsGs + 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV I1850Clm60Bgc - 1850_DATM%GSWP3v1_CLM60%BGC_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM60%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60BgcCrujra - 1850_DATM%CRUJRA2024b_CLM60%BGC_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%CRUJRA2024b_CLM60%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV @@ -223,85 +235,67 @@ I1850Clm50BgcCropCmip6 - 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60BgcCropCmip6 - 1850_DATM%GSWP3v1_CLM60%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM60%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60BgcCropCrujraCmip6 - 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm50BgcCropCmip6waccm - 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60BgcCropCmip6waccm - 1850_DATM%GSWP3v1_CLM60%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM60%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I1850Clm60BgcCropCrujraCmip6waccm - 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_SGLC_SWAV - - - - - I1850Clm50BgcCropCru - 1850_DATM%CRUv7_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV - - - - - - - I1850Clm60BgcCropCru - 1850_DATM%CRUv7_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - I2000Clm60BgcCropQianRs + I2000Clm60BgcCropQianRsGs 2000_DATM%QIA_CLM60%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm50BgcCropQianRs + I2000Clm50BgcCropQianRsGs 2000_DATM%QIA_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - - I2000Clm45BgcCropQianRs - 2000_DATM%QIA_CLM45%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm50FatesQian - 2000_DATM%QIA_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%QIA_CLM50%FATES_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - I2000Clm50BgcCruRs + I2000Clm50BgcCruRsGs 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV I2000Clm50SpRtmFl - 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM%FLOOD_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM%FLOOD_DGLC%NOEVOLVE_SWAV I2000Clm60Fates - 2000_DATM%GSWP3v1_CLM60%FATES_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM60%FATES_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm50Fates - 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV + 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV I2000Clm50FatesCruRsGs @@ -312,132 +306,120 @@ 2000_DATM%CRUJRA2024b_CLM60%FATES-SP_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm60FatesSpCruRsGs - 2000_DATM%CRUv7_CLM60%FATES-SP_SICE_SOCN_SROF_SGLC_SWAV + I2000Clm60FatesSpCrujra + 2000_DATM%CRUJRA2024b_CLM60%FATES-SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + I2000Clm60FatesSpRsGs 2000_DATM%GSWP3v1_CLM60%FATES-SP_SICE_SOCN_SROF_SGLC_SWAV - - I2000Clm50FatesCru - 2000_DATM%CRUv7_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV - - I2000Clm50FatesRs + I2000Clm50FatesRsGs 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm60FatesRs + I2000Clm60FatesRsGs 2000_DATM%GSWP3v1_CLM60%FATES_SICE_SOCN_SROF_SGLC_SWAV - I2000Clm60FatesCrujraRs + I2000Clm60FatesCrujraRsGs 2000_DATM%CRUJRA2024b_CLM60%FATES_SICE_SOCN_SROF_SGLC_SWAV I1850Clm50Bgc - 1850_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV + 1850_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - I1850Clm60BgcNoAnthro - 1850_DATM%GSWP3v1_CLM60%BGC-NOANTHRO_SICE_SOCN_RTM_SGLC_SWAV - + I1850Clm60BgcNoAnthroRtm + 1850_DATM%GSWP3v1_CLM60%BGC-NOANTHRO_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV - I1850Clm60BgcCrujraNoAnthro - 1850_DATM%CRUJRA2024b_CLM60%BGC-NOANTHRO_SICE_SOCN_RTM_SGLC_SWAV + I1850Clm60BgcCrujraNoAnthroRtm + 1850_DATM%CRUJRA2024b_CLM60%BGC-NOANTHRO_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV + - I1850Clm60SpNoAnthro - 1850_DATM%GSWP3v1_CLM60%SP-NOANTHRO_SICE_SOCN_RTM_SGLC_SWAV - + I1850Clm60SpNoAnthroRtm + 1850_DATM%GSWP3v1_CLM60%SP-NOANTHRO_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV - I1850Clm60SpCrujraNoAnthro - 1850_DATM%CRUJRA2024b_CLM60%SP-NOANTHRO_SICE_SOCN_RTM_SGLC_SWAV + I1850Clm60SpCrujraNoAnthroRtm + 1850_DATM%CRUJRA2024b_CLM60%SP-NOANTHRO_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV + - I1850Clm50BgcNoAnthro - 1850_DATM%GSWP3v1_CLM50%BGC-NOANTHRO_SICE_SOCN_RTM_SGLC_SWAV + I1850Clm50BgcNoAnthroRtm + 1850_DATM%GSWP3v1_CLM50%BGC-NOANTHRO_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV - I1850Clm50SpNoAnthro - 1850_DATM%GSWP3v1_CLM50%SP-NOANTHRO_SICE_SOCN_RTM_SGLC_SWAV + I1850Clm50SpNoAnthroRtm + 1850_DATM%GSWP3v1_CLM50%SP-NOANTHRO_SICE_SOCN_RTM_DGLC%NOEVOLVE_SWAV IHistClm50BgcCrop - HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV - - + HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV IHistClm60Sp - HIST_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV - - + HIST_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV IHistClm60SpCrujra - HIST_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + + - IHistClm60SpRs + IHistClm60SpRsGs HIST_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV - IHistClm60SpCrujraRs + IHistClm60SpCrujraRsGs HIST_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV IHistClm60Bgc - HIST_DATM%GSWP3v1_CLM60%BGC_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%GSWP3v1_CLM60%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV IHistClm60BgcCrop - HIST_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV IHistClm60BgcCropCrujra - HIST_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV + + + + IHistClm50Sp - HIST_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV - - - - - - IHistClm50SpCru - HIST_DATM%CRUv7_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV - - - - - - IHistClm60SpCru - HIST_DATM%CRUv7_CLM60%SP_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV IHistClm50Bgc - HIST_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV IHistClm50BgcQian - HIST_DATM%QIA_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV + HIST_DATM%QIA_CLM50%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - IHistClm50BgcQianRs + IHistClm50BgcQianRsGs HIST_DATM%QIA_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV - IHistClm60BgcQianRs + IHistClm60BgcQianRsGs HIST_DATM%QIA_CLM60%BGC_SICE_SOCN_SROF_SGLC_SWAV @@ -463,60 +445,60 @@ --> ISSP585Clm50BgcCrop - SSP585_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP585_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP585Clm60BgcCropCrujra - SSP585_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP585_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP126Clm50BgcCrop - SSP126_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP126_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP119Clm50BgcCrop - SSP119_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP119_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP245Clm50BgcCrop - SSP245_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP245_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP245Clm60BgcCropCrujra - SSP245_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP245_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP370Clm50BgcCrop - SSP370_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP370_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP370Clm60BgcCropCrujra - SSP370_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP370_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP434Clm50BgcCrop - SSP434_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP434_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP460Clm50BgcCrop - SSP460_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP460_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP534Clm50BgcCrop - SSP534_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP534_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV ISSP585Clm60BgcCrop - SSP585_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV + SSP585_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV @@ -524,155 +506,54 @@ give faster datm throughput, which is particularly relevant for single-point cases (where datm dominates the runtime) --> - IHistClm50BgcCropQianRs + IHistClm50BgcCropQianRsGs HIST_DATM%QIA_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - IHistClm60BgcCropQianRs + IHistClm60BgcCropQianRsGs HIST_DATM%QIA_CLM60%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - IHistClm50BgcCropRs + IHistClm50BgcCropRsGs HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - - - I2000Clm50BgcDvCrop - 2000_DATM%GSWP3v1_CLM50%BGCDV-CROP_SICE_SOCN_MOSART_SGLC_SWAV - + - - I2000Clm50BgcDvCropQianRs - 2000_DATM%QIA_CLM50%BGCDV-CROP_SICE_SOCN_SROF_SGLC_SWAV + I1850Clm50BgcSpinup + 1850_DATM%CPLHIST_CLM50%BGC_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - - - I1850Clm50BgcSpinup - 1850_DATM%CPLHIST_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV + I1850Clm60BgcCropSpinup + 1850_DATM%CPLHIST_CLM60%BGC-CROP_SICE_SOCN_MOSART_DGLC%NOEVOLVE_SWAV - I2000Ctsm50NwpSpGswp + I2000Ctsm50NwpSpGswpGs 2000_DATM%GSWP3v1_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV - - I2000Ctsm50NwpBgcCropGswp - 2000_DATM%GSWP3v1_CLM50%NWP-BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV - - - I2000Ctsm50NwpSpNldas + I2000Ctsm50NwpSpNldasGs 2000_DATM%NLDAS2_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV - I2000Ctsm50NwpSpNldasRs + I2000Ctsm50NwpSpNldasRsGs 2000_DATM%NLDAS2_CLM50%NWP-SP_SICE_SOCN_SROF_SGLC_SWAV - - - - I1850Clm45BgcCrop - 1850_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV - - - - I1850Clm45BgcCru - 1850_DATM%CRUv7_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV - - - - - - - IHistClm45BgcCrop - HIST_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV - - - - - IHistClm45BgcCropQianRs - HIST_DATM%QIA_CLM45%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV - - - - I2000Clm45Sp - 2000_DATM%GSWP3v1_CLM45%SP_SICE_SOCN_RTM_SGLC_SWAV - - - - I2000Clm45BgcCrop - 2000_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV - - - - I2000Clm45Fates - 2000_DATM%GSWP3v1_CLM45%FATES_SICE_SOCN_RTM_SGLC_SWAV - - - - - I2000Clm45FatesRs - 2000_DATM%GSWP3v1_CLM45%FATES_SICE_SOCN_SROF_SGLC_SWAV - - - - I1850Clm45Bgc - 1850_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV - - - - - - IHistClm45Bgc - HIST_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV - - - - - - IHistClm45BgcCru - HIST_DATM%CRUv7_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV - - - - - - IHistClm45Sp - HIST_DATM%GSWP3v1_CLM45%SP_SICE_SOCN_RTM_SGLC_SWAV - - - - - - - I2000Clm50Vic - 2000_DATM%GSWP3v1_CLM50%SP-VIC_SICE_SOCN_RTM_SGLC_SWAV - - - I2000Clm45VicCru - 2000_DATM%CRUv7_CLM45%SP-VIC_SICE_SOCN_RTM_SGLC_SWAV - - @@ -726,24 +607,23 @@ I1850Clm60BgcCropG 1850_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAV - - - I1850Clm60BgcCropCrujraG 1850_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAV - + + - IHistClm60BgcCropG - HIST_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAV - - + IHistClm60BgcCropCrujraG + HIST_DATM%CRUJRA2024b_CLM60%BGC-CROP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAV + + + @@ -758,11 +638,11 @@ - I1850Clm60SpRs + I1850Clm60SpRsGs 1850_DATM%GSWP3v1_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV - I1850Clm60SpCrujraRs + I1850Clm60SpCrujraRsGs 1850_DATM%CRUJRA2024b_CLM60%SP_SICE_SOCN_SROF_SGLC_SWAV @@ -776,7 +656,7 @@ both purposes.) --> - I2000Ctsm50NwpSpAsRs + I2000Ctsm50NwpSpAsRsGs 2000_SATM_CLM50%NWP-SP_SICE_SOCN_SROF_SGLC_SWAV @@ -790,7 +670,6 @@ 2010-01-01 2015-01-01 1980-01-15 - 1997-12-31 1993-12-01 1992-08-12 0001-08-12 diff --git a/cime_config/config_tests.xml b/cime_config/config_tests.xml index c5c6749392..3ffb8f6867 100644 --- a/cime_config/config_tests.xml +++ b/cime_config/config_tests.xml @@ -186,7 +186,9 @@ This defines various CTSM-specific system tests smoke CLM CN-Matrix spinup test 1 diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 98a1a7d72e..081ea01748 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -29,7 +29,7 @@ - + FAIL CDEPS/#243 and/or #2122 @@ -37,14 +37,7 @@ - - - FAIL - #3660 - Restart issues with default "inactive" fields added to history by hist_all_fields. - - - + FAIL #3454 @@ -55,7 +48,7 @@ Divide by zero happens when ch4finundatedmapalgo==bilinear with intel/2025.3.2, but passes for nn,consf,consd - + FAIL #3454 @@ -127,36 +120,107 @@ + + + FAIL + ESCOMP/CDEPS#3788 + + + + + + FAIL + ESCOMP/CDEPS#3788 + + + + + + FAIL + #4160 + + + + + + FAIL + #4160 + + + + + + FAIL + #4160 + + + + + + FAIL + #4160 + + + + + + FAIL + #4160 + + + + + + FAIL + #4160 + + + + + + FAIL + #4160 + + + + + + FAIL + Does this also relate to #2619? + #4160 + + + - + FAIL #3798 Divide by zero happens when ch4finundatedmapalgo==bilinear with intel/2025.3.2, but passes for nn,consf,consd - + FAIL #3798 Divide by zero happens when ch4finundatedmapalgo==bilinear with intel/2025.3.2, but passes for nn,consf,consd - + FAIL #3798 Divide by zero happens when ch4finundatedmapalgo==bilinear with intel/2025.3.2, but passes for nn,consf,consd - + FAIL #3798 Divide by zero happens when ch4finundatedmapalgo==bilinear with intel/2025.3.2, but passes for nn,consf,consd - + FAIL #3798 @@ -164,7 +228,7 @@ - + FAIL #2261 @@ -201,7 +265,8 @@ - + + FAIL #3660 @@ -218,7 +283,7 @@ --> - + PEND FATES#983 @@ -226,21 +291,21 @@ - + FAIL FATES#1089 - + FAIL FATES#1089 - + FAIL #2919 @@ -254,14 +319,14 @@ - + FAIL #2653 - + FAIL #2321 diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index ad107a00d1..8e0332fd26 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1,22 +1,28 @@ @@ -623,13 +611,14 @@ - + + @@ -711,37 +700,41 @@ - + + - + + - + + - + + @@ -750,6 +743,7 @@ + @@ -866,13 +860,14 @@ - + + @@ -957,7 +952,7 @@ - + @@ -967,7 +962,7 @@ - + @@ -976,7 +971,7 @@ - + @@ -986,7 +981,7 @@ - + @@ -995,7 +990,7 @@ - + @@ -1004,7 +999,7 @@ - + @@ -1283,7 +1278,7 @@ - + @@ -1302,6 +1297,7 @@ + @@ -1373,7 +1369,7 @@ - + @@ -1394,12 +1390,13 @@ - + + @@ -1420,14 +1417,14 @@ - + - + @@ -1448,7 +1445,7 @@ - + @@ -1457,7 +1454,7 @@ - + @@ -1470,7 +1467,6 @@ - @@ -1545,12 +1541,13 @@ - + + @@ -1604,7 +1601,7 @@ - + @@ -1624,7 +1621,7 @@ - + @@ -1634,7 +1631,7 @@ - + @@ -1650,6 +1647,7 @@ + @@ -1668,6 +1666,7 @@ + @@ -1680,24 +1679,26 @@ - + + - + + - + @@ -1780,7 +1781,7 @@ - + @@ -1789,7 +1790,7 @@ - + @@ -1804,6 +1805,7 @@ + @@ -1822,6 +1824,7 @@ + @@ -1834,12 +1837,13 @@ - + + @@ -1861,23 +1865,6 @@ - - - - - - - - - - - - - - - - - @@ -1896,32 +1883,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2018,24 +1979,16 @@ - + - + - - - - - - - - @@ -2168,32 +2121,25 @@ - + + - + + - - - - - - - - - - + @@ -2203,15 +2149,7 @@ - - - - - - - - - + @@ -2221,7 +2159,7 @@ - + @@ -2231,7 +2169,7 @@ - + @@ -2242,7 +2180,7 @@ - + @@ -2252,7 +2190,7 @@ - + @@ -2262,7 +2200,7 @@ - + @@ -2273,7 +2211,7 @@ - + @@ -2294,7 +2232,7 @@ - + @@ -2332,15 +2270,6 @@ - - - - - - - - - @@ -2369,7 +2298,7 @@ - + @@ -2380,7 +2309,7 @@ - + @@ -2392,7 +2321,7 @@ - + @@ -2481,13 +2410,14 @@ - + + @@ -2539,7 +2469,7 @@ - + @@ -2549,7 +2479,7 @@ - + @@ -2879,7 +2809,7 @@ - + @@ -2887,7 +2817,7 @@ - + @@ -2904,30 +2834,13 @@ - - - - - - - - - - - - - - - - - - + @@ -2950,13 +2863,14 @@ - + + @@ -2976,16 +2890,7 @@ - - - - - - - - - - + @@ -2998,14 +2903,14 @@ - + + - @@ -3013,7 +2918,7 @@ - + @@ -3028,7 +2933,7 @@ - + @@ -3041,7 +2946,7 @@ - + @@ -3068,7 +2973,7 @@ - + @@ -3083,7 +2988,7 @@ - + @@ -3117,17 +3022,7 @@ - - - - - - - - - - - + @@ -3136,7 +3031,7 @@ - + @@ -3145,7 +3040,7 @@ - + @@ -3176,7 +3071,7 @@ - + @@ -3185,22 +3080,13 @@ - + - - - - - - - - - - + @@ -3391,7 +3277,7 @@ - + @@ -3400,17 +3286,7 @@ - - - - - - - - - - - + @@ -3423,6 +3299,15 @@ + + + + + + + + + @@ -3432,7 +3317,7 @@ - + @@ -3441,7 +3326,7 @@ - + @@ -3449,7 +3334,7 @@ - + @@ -3457,7 +3342,7 @@ - + @@ -3465,7 +3350,7 @@ - + @@ -3477,7 +3362,7 @@ - + @@ -3489,7 +3374,7 @@ - + @@ -3498,7 +3383,7 @@ - + @@ -3508,7 +3393,7 @@ - + @@ -3517,7 +3402,7 @@ - + @@ -3526,7 +3411,7 @@ - + @@ -3537,7 +3422,7 @@ - + @@ -3547,7 +3432,7 @@ - + @@ -3556,7 +3441,7 @@ - + @@ -3603,7 +3488,7 @@ - + @@ -3614,7 +3499,7 @@ - + @@ -3624,7 +3509,7 @@ - + @@ -3663,7 +3548,7 @@ - + @@ -3682,7 +3567,7 @@ - + @@ -3694,15 +3579,7 @@ - - - - - - - - - + @@ -3710,7 +3587,7 @@ - + @@ -3721,7 +3598,7 @@ - + @@ -3729,7 +3606,7 @@ - + @@ -3738,16 +3615,7 @@ - - - - - - - - - - + @@ -3756,7 +3624,7 @@ - + @@ -3765,7 +3633,7 @@ - + @@ -3774,7 +3642,7 @@ - + @@ -3806,15 +3674,6 @@ - - - - - - - - - @@ -3824,7 +3683,7 @@ - + @@ -3834,7 +3693,7 @@ - + @@ -3842,19 +3701,19 @@ - + - + - + - + @@ -3863,16 +3722,16 @@ - + - + - + @@ -3881,7 +3740,7 @@ - + @@ -3890,7 +3749,7 @@ - + @@ -3899,7 +3758,7 @@ - + @@ -3908,7 +3767,7 @@ - + @@ -3918,7 +3777,7 @@ - + @@ -3927,7 +3786,7 @@ - + @@ -3945,7 +3804,7 @@ - + @@ -3955,7 +3814,7 @@ - + @@ -3964,7 +3823,7 @@ - + @@ -3973,7 +3832,7 @@ - + @@ -3983,7 +3842,7 @@ - + @@ -3993,7 +3852,7 @@ - + @@ -4002,7 +3861,7 @@ - + @@ -4012,7 +3871,7 @@ - + @@ -4022,7 +3881,7 @@ - + @@ -4034,7 +3893,7 @@ - + @@ -4044,16 +3903,7 @@ - - - - - - - - - - + @@ -4062,7 +3912,7 @@ - + @@ -4071,7 +3921,7 @@ - + @@ -4080,7 +3930,7 @@ - + @@ -4089,7 +3939,7 @@ - + @@ -4098,7 +3948,7 @@ - + @@ -4106,7 +3956,7 @@ - + @@ -4114,7 +3964,7 @@ - + @@ -4122,7 +3972,7 @@ - + @@ -4130,7 +3980,7 @@ - + @@ -4142,7 +3992,7 @@ - + @@ -4170,7 +4020,7 @@ - + @@ -4179,7 +4029,7 @@ - + @@ -4188,7 +4038,7 @@ - + @@ -4199,7 +4049,7 @@ - + @@ -4208,7 +4058,7 @@ - + @@ -4217,7 +4067,7 @@ - + @@ -4226,7 +4076,7 @@ - + @@ -4236,7 +4086,7 @@ - + @@ -4274,7 +4124,7 @@ - + @@ -4287,7 +4137,7 @@ - + @@ -4300,7 +4150,7 @@ - + @@ -4350,7 +4200,7 @@ - + @@ -4363,7 +4213,7 @@ - + @@ -4377,7 +4227,7 @@ - + @@ -4391,7 +4241,7 @@ - + @@ -4404,7 +4254,7 @@ - + @@ -4439,7 +4289,7 @@ - + @@ -4448,7 +4298,7 @@ - + @@ -4457,7 +4307,7 @@ - + @@ -4466,7 +4316,7 @@ - + @@ -4475,7 +4325,7 @@ - + @@ -4484,7 +4334,7 @@ - + @@ -4493,7 +4343,7 @@ - + @@ -4504,7 +4354,7 @@ - + @@ -4514,7 +4364,7 @@ - + @@ -4525,7 +4375,7 @@ - + @@ -4534,7 +4384,7 @@ - + @@ -4543,7 +4393,7 @@ - + @@ -4552,7 +4402,7 @@ - + @@ -4561,7 +4411,7 @@ - + @@ -4570,7 +4420,7 @@ - + @@ -4580,7 +4430,7 @@ - + @@ -4589,7 +4439,7 @@ - + @@ -4608,15 +4458,6 @@ - - - - - - - - - @@ -4626,15 +4467,6 @@ - - - - - - - - - @@ -4711,7 +4543,7 @@ - + @@ -4723,7 +4555,7 @@ - + @@ -4743,26 +4575,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -4783,15 +4595,6 @@ - - - - - - - - - diff --git a/cime_config/testdefs/testmods_dirs/clm/ADspinup/shell_commands b/cime_config/testdefs/testmods_dirs/clm/ADspinup/shell_commands index 5fbc5fd2bd..0e434ebd2f 100644 --- a/cime_config/testdefs/testmods_dirs/clm/ADspinup/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/ADspinup/shell_commands @@ -1,5 +1,9 @@ #!/bin/bash ./xmlchange CLM_ACCELERATED_SPINUP="on" -./xmlchange MOSART_MODE="NULL" + +COMP_ROF=`./xmlquery --value COMP_ROF` +if [[ $COMP_ROF == "mosart" ]]; then + ./xmlchange MOSART_MODE="NULL" +fi diff --git a/cime_config/testdefs/testmods_dirs/clm/DA_multidrv/shell_commands b/cime_config/testdefs/testmods_dirs/clm/DA_multidrv/shell_commands index 3a08fbc8e7..fe3925c56e 100644 --- a/cime_config/testdefs/testmods_dirs/clm/DA_multidrv/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/DA_multidrv/shell_commands @@ -2,5 +2,8 @@ ./xmlchange LND_DATA_ASSIMILATION=TRUE ./xmlchange MULTI_DRIVER=TRUE +#Set DGLC coupling to half a day so 12hour tests can work +./xmlchange GLC_NCPL=24 + # Set calendar, just because Gregorian is ussually used for DA ./xmlchange CALENDAR=GREGORIAN diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesColdCamLndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/FatesColdCamLndTuningMode/shell_commands index 7dd25a08bf..2602f065de 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesColdCamLndTuningMode/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/FatesColdCamLndTuningMode/shell_commands @@ -1,5 +1,5 @@ #!/bin/bash ./xmlchange LND_TUNING_MODE="clm6_0_cam7.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' diff --git a/cime_config/testdefs/testmods_dirs/clm/FatesColdSatPhenCamLndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/FatesColdSatPhenCamLndTuningMode/shell_commands index b8060089d9..d5ca67943c 100644 --- a/cime_config/testdefs/testmods_dirs/clm/FatesColdSatPhenCamLndTuningMode/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/FatesColdSatPhenCamLndTuningMode/shell_commands @@ -8,5 +8,5 @@ if [[ "${compset}" != *"FATES-SP"* ]]; then fi ./xmlchange LND_TUNING_MODE="clm6_0_cam7.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' diff --git a/cime_config/testdefs/testmods_dirs/clm/FireLi2014Qian/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/FireLi2014Qian/user_nl_clm deleted file mode 100644 index 3e05de8cad..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/FireLi2014Qian/user_nl_clm +++ /dev/null @@ -1 +0,0 @@ -fire_method = 'li2014qianfrc' diff --git a/cime_config/testdefs/testmods_dirs/clm/FireLi2014Qian/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/SimplePhysics/include_user_mods similarity index 100% rename from cime_config/testdefs/testmods_dirs/clm/FireLi2014Qian/include_user_mods rename to cime_config/testdefs/testmods_dirs/clm/SimplePhysics/include_user_mods diff --git a/cime_config/testdefs/testmods_dirs/clm/SimplePhysics/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/SimplePhysics/user_nl_clm new file mode 100644 index 0000000000..024a1b3319 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/SimplePhysics/user_nl_clm @@ -0,0 +1,13 @@ +! These are options from clm4_5 physics that may still be useful to retain. +! Mostly they are options to simplify physics by turning more advanced options off. +! This can be useful for software testing and possibly for science testing as well. + + lower_boundary_condition = 4 ! useful to test with an aquifer + soilwater_movement_method = 0 ! Required to set lower_boundary_condition to 4 + + use_bedrock = .false. + use_hydrstress = .false. + repartition_rain_snow = .false. + melt_non_icesheet_ice_runoff = .false. + light_inhibit = .false. + wind_dependent_snow_density = .false. diff --git a/cime_config/testdefs/testmods_dirs/clm/bgcCropSimplePhysics/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/bgcCropSimplePhysics/include_user_mods new file mode 100644 index 0000000000..e04303fa75 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/bgcCropSimplePhysics/include_user_mods @@ -0,0 +1 @@ +../SimplePhysics diff --git a/cime_config/testdefs/testmods_dirs/clm/bgcCropSimplePhysics/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/bgcCropSimplePhysics/user_nl_clm new file mode 100644 index 0000000000..0880a25c7c --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/bgcCropSimplePhysics/user_nl_clm @@ -0,0 +1,14 @@ +! These are options from clm4_5 physics for BGC-CROP that may still be useful to retain. +! Mostly they are options to simplify physics by turning more advanced options off. +! This can be useful for software testing and possibly for science testing as well. + + ! finundation_method requires BGC as it's used for the methane model + finundation_method = 'ZWT_inversion' ! useful to test with water isotopes + + ! The following require certain compset physics options + use_luna = .false. ! Requires BGC + constrain_stress_deciduous_onset = .false. ! Requires BGC + use_flexiblecn = .false. ! Requires BGC + use_fun = .false. ! Requires BGC + modifyphoto_and_lmr_forcrop = .false. ! Requires BGC-Crop + baset_mapping = 'constant' ! Requires BGC-Crop diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_monthly_matrixcn_spinup/shell_commands b/cime_config/testdefs/testmods_dirs/clm/ciso_monthly_matrixcn_spinup/shell_commands index 45fdc7e8fd..17949a2675 100755 --- a/cime_config/testdefs/testmods_dirs/clm/ciso_monthly_matrixcn_spinup/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/ciso_monthly_matrixcn_spinup/shell_commands @@ -1,2 +1,6 @@ ./xmlchange CLM_ACCELERATED_SPINUP=sasu -./xmlchange MOSART_MODE=NULL + +COMP_ROF=`./xmlquery --value COMP_ROF` +if [[ $COMP_ROF == "mosart" ]]; then + ./xmlchange MOSART_MODE="NULL" +fi \ No newline at end of file diff --git a/cime_config/testdefs/testmods_dirs/clm/ciso_rtmColdSSP/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/ciso_rtmColdSSP/include_user_mods deleted file mode 100644 index 7cded6662d..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/ciso_rtmColdSSP/include_user_mods +++ /dev/null @@ -1,2 +0,0 @@ -../ciso -../rtmColdSSP diff --git a/cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/shell_commands deleted file mode 100644 index 010b5b5680..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/shell_commands +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -./xmlchange LND_TUNING_MODE="clm4_5_cam4.0" -./xmlchange ROF_NCPL='$ATM_NCPL' - diff --git a/cime_config/testdefs/testmods_dirs/clm/clm45cam6LndTuningMode/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/clm45cam6LndTuningMode/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/clm45cam6LndTuningMode/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/clm45cam6LndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm45cam6LndTuningMode/shell_commands deleted file mode 100644 index f2e3e8db60..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/clm45cam6LndTuningMode/shell_commands +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -./xmlchange LND_TUNING_MODE="clm4_5_cam6.0" -./xmlchange CLM_NDEP_FROM_CPL="TRUE" - diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50CMIP6frc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/clm50CMIP6frc/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/clm50CMIP6frc/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50CMIP6frc/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/clm50CMIP6frc/user_nl_clm deleted file mode 100644 index 588fa7d7a9..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/clm50CMIP6frc/user_nl_clm +++ /dev/null @@ -1,3 +0,0 @@ -ndep_varlist = 'NDEP_month' -ndep_taxmode = 'cycle' -stream_fldfilename_ndep = '$DIN_LOC_ROOT/lnd/clm2/ndepdata/fndep_clm_hist_simyr1850_0.9x1.25_CMIP6alpha01_c170330.nc' diff --git a/cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/include_user_mods similarity index 100% rename from cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/include_user_mods rename to cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/include_user_mods diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/shell_commands new file mode 100644 index 0000000000..66497e5e9e --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/shell_commands @@ -0,0 +1,5 @@ +#!/bin/bash + +./xmlchange LND_TUNING_MODE="clm5_0_cam4.0" +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' + diff --git a/cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/user_nl_clm similarity index 100% rename from cime_config/testdefs/testmods_dirs/clm/clm45cam4LndTuningModeZDustSoilErod/user_nl_clm rename to cime_config/testdefs/testmods_dirs/clm/clm50cam4LndTuningModeZDustSoilErod/user_nl_clm diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50cam5LndTuningModeZDustSoilErod/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm50cam5LndTuningModeZDustSoilErod/shell_commands index 753bc2f045..926009ccf5 100644 --- a/cime_config/testdefs/testmods_dirs/clm/clm50cam5LndTuningModeZDustSoilErod/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/clm50cam5LndTuningModeZDustSoilErod/shell_commands @@ -1,5 +1,5 @@ #!/bin/bash ./xmlchange LND_TUNING_MODE="clm5_0_cam5.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50cam6LndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm50cam6LndTuningMode/shell_commands index dfdf1a96dc..0cc1ccca1c 100644 --- a/cime_config/testdefs/testmods_dirs/clm/clm50cam6LndTuningMode/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/clm50cam6LndTuningMode/shell_commands @@ -1,6 +1,6 @@ #!/bin/bash ./xmlchange LND_TUNING_MODE="clm5_0_cam6.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' ./xmlchange CLM_NDEP_FROM_CPL="TRUE" diff --git a/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/shell_commands index 10125c04fd..316758b9fb 100644 --- a/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/clm50cam7LndTuningMode/shell_commands @@ -1,6 +1,6 @@ #!/bin/bash ./xmlchange LND_TUNING_MODE="clm5_0_cam7.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' ./xmlchange CLM_NDEP_FROM_CPL="TRUE" diff --git a/cime_config/testdefs/testmods_dirs/clm/clm60cam6LndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm60cam6LndTuningMode/shell_commands index 1c0d86dbb3..d5156118d2 100644 --- a/cime_config/testdefs/testmods_dirs/clm/clm60cam6LndTuningMode/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/clm60cam6LndTuningMode/shell_commands @@ -1,6 +1,6 @@ #!/bin/bash ./xmlchange LND_TUNING_MODE="clm6_0_cam6.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' ./xmlchange CLM_NDEP_FROM_CPL="TRUE" diff --git a/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/shell_commands b/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/shell_commands index 2923976af3..34766af9f1 100644 --- a/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/clm60cam7LndTuningMode/shell_commands @@ -1,6 +1,6 @@ #!/bin/bash ./xmlchange LND_TUNING_MODE="clm6_0_cam7.0" -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' ./xmlchange CLM_NDEP_FROM_CPL="TRUE" diff --git a/cime_config/testdefs/testmods_dirs/clm/for_testing_fastsetup_bypassrun/shell_commands b/cime_config/testdefs/testmods_dirs/clm/for_testing_fastsetup_bypassrun/shell_commands index 0d8a5d36e1..e404bac228 100755 --- a/cime_config/testdefs/testmods_dirs/clm/for_testing_fastsetup_bypassrun/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/for_testing_fastsetup_bypassrun/shell_commands @@ -1,8 +1,8 @@ #!/bin/bash ./xmlchange CLM_FORCE_COLDSTART="on" -# We use this testmod in a _Ln1 test; this requires forcing the ROF coupling frequency to same frequency as DATM -./xmlchange ROF_NCPL='$ATM_NCPL' +# We use this testmod in a _Ln1 test; this requires forcing the DGLC/ROF coupling frequency to same frequency as DATM +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' # Turn off ROF model when used with compsets that have them ./xmlchange RTM_MODE='NULL' diff --git a/cime_config/testdefs/testmods_dirs/clm/monthly_matrixcn_fast_spinup/shell_commands b/cime_config/testdefs/testmods_dirs/clm/monthly_matrixcn_fast_spinup/shell_commands index 3a435b6233..5aea75115a 100755 --- a/cime_config/testdefs/testmods_dirs/clm/monthly_matrixcn_fast_spinup/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/monthly_matrixcn_fast_spinup/shell_commands @@ -1,4 +1,7 @@ ./xmlchange CLM_ACCELERATED_SPINUP=sasu ./xmlchange DATM_YR_START=1901,DATM_YR_END=1902 -./xmlchange MOSART_MODE=NULL +COMP_ROF=`./xmlquery --value COMP_ROF` +if [[ $COMP_ROF == "mosart" ]]; then + ./xmlchange MOSART_MODE="NULL" +fi diff --git a/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/README b/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/README deleted file mode 100644 index 97bae04376..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/README +++ /dev/null @@ -1,8 +0,0 @@ -The purpose of this testmod is to exercise the newer snow cover fraction -method along with having use_subgrid_fluxes = .false. - -Note that we also need h2osfcflag = 0 in this testmod, because -h2osfcflag = 1 is incompatible with use_subgrid_fluxes = .false. Also, -this needs to be used in a clm45 configuration for compatibility with -other options (or else would need to set some other flags: -lower_boundary_condition and possibly others) diff --git a/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/user_nl_clm deleted file mode 100644 index efbd30d380..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/no_subgrid_fluxes/user_nl_clm +++ /dev/null @@ -1,2 +0,0 @@ - h2osfcflag = 0 - use_subgrid_fluxes = .false. diff --git a/cime_config/testdefs/testmods_dirs/clm/oldhyd/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/oldhyd/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/oldhyd/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/oldhyd/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/oldhyd/user_nl_clm deleted file mode 100644 index 5ef1fc660a..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/oldhyd/user_nl_clm +++ /dev/null @@ -1,3 +0,0 @@ - snow_cover_fraction_method = 'NiuYang2007' - h2osfcflag = 0 - use_subgrid_fluxes = .false. diff --git a/cime_config/testdefs/testmods_dirs/clm/pauseResume/shell_commands b/cime_config/testdefs/testmods_dirs/clm/pauseResume/shell_commands index 4b6f8faeea..cb7a4b0c4d 100644 --- a/cime_config/testdefs/testmods_dirs/clm/pauseResume/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/pauseResume/shell_commands @@ -2,3 +2,5 @@ ./xmlchange LND_PAUSE_ACTIVE=TRUE # Set calendar, just because Gregorian is ussually used for DA ./xmlchange CALENDAR=GREGORIAN +#Set DGLC coupling to half a day so 12hour tests can work +./xmlchange GLC_NCPL=24 diff --git a/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/include_user_mods deleted file mode 100644 index fe0e18cf88..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../default diff --git a/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/shell_commands b/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/shell_commands deleted file mode 100644 index b8e8b792cd..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/shell_commands +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./xmlchange MOSART_MODE="NULL" diff --git a/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/user_nl_rtm b/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/user_nl_rtm deleted file mode 100644 index e78d13a51c..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/rtmColdSSP/user_nl_rtm +++ /dev/null @@ -1,4 +0,0 @@ -finidat = " " -mfilt = 1 -ndens = 2 -nhtfrq = 0 diff --git a/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/shell_commands b/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/shell_commands index 5e9068895c..b8c3973f70 100755 --- a/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/waccmx_offline/shell_commands @@ -1,5 +1,5 @@ -./xmlchange USE_ESMF_LIB=TRUE,ATM_NCPL=288,CALENDAR=GREGORIAN,ROF_NCPL='$ATM_NCPL',LND_TUNING_MODE="clm5_0_cam6.0" +./xmlchange USE_ESMF_LIB=TRUE,ATM_NCPL=288,CALENDAR=GREGORIAN,LND_TUNING_MODE="clm5_0_cam6.0" ./xmlchange CLM_BLDNML_OPTS="-megan -drydep" --append ./xmlchange RUN_STARTDATE=1979-01-01 -./xmlchange ROF_NCPL='$ATM_NCPL' +./xmlchange ROF_NCPL='$ATM_NCPL',GLC_NCPL='$ATM_NCPL' diff --git a/cime_config/user_nl_clm b/cime_config/user_nl_clm index 47865671a2..881a17f3d8 100644 --- a/cime_config/user_nl_clm +++ b/cime_config/user_nl_clm @@ -3,8 +3,6 @@ ! namelist_var = new_namelist_value ! ! EXCEPTIONS: -! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting -! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting ! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting ! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting ! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting diff --git a/cime_config/usermods_dirs/clm/NEON/FATES/README.md b/cime_config/usermods_dirs/clm/NEON/FATES/README.md index 2d099771aa..34da5351ac 100644 --- a/cime_config/usermods_dirs/clm/NEON/FATES/README.md +++ b/cime_config/usermods_dirs/clm/NEON/FATES/README.md @@ -2,7 +2,7 @@ Use these user mods as you would any other user_mods, e.g.: -`./create_newcase --case FATES_ABBY_test --res CLM_USRDAT --compset I1PtClm60Fates --run-unsupported --user-mods-dir clm/NEON/FATES/ABBY` +`./create_newcase --case FATES_ABBY_test --res CLM_USRDAT --compset I1PtClm60FatesRsGs --run-unsupported --user-mods-dir clm/NEON/FATES/ABBY` ## Note on crop sites KONA and STER diff --git a/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_clm b/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_clm index e49d110d51..0d36937bf3 100644 --- a/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/clm/NEON/FATES/defaults/user_nl_clm @@ -3,8 +3,6 @@ ! namelist_var = new_namelist_value ! ! EXCEPTIONS: -! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting -! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting ! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting ! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting ! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting diff --git a/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_clm index f0e7142990..7ce41c264e 100644 --- a/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/clm/NEON/defaults/user_nl_clm @@ -3,8 +3,6 @@ ! namelist_var = new_namelist_value ! ! EXCEPTIONS: -! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting -! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting ! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting ! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting ! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting diff --git a/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm b/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm index 179184cd4f..713ff40ed3 100644 --- a/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/clm/PLUMBER2/defaults/user_nl_clm @@ -3,8 +3,6 @@ ! namelist_var = new_namelist_value ! ! EXCEPTIONS: -! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting -! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting ! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting ! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting ! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting diff --git a/cime_config/usermods_dirs/clm/_includes/output_base/user_nl_clm b/cime_config/usermods_dirs/clm/_includes/output_base/user_nl_clm index 509e0436d3..490de7aa6a 100644 --- a/cime_config/usermods_dirs/clm/_includes/output_base/user_nl_clm +++ b/cime_config/usermods_dirs/clm/_includes/output_base/user_nl_clm @@ -3,8 +3,6 @@ ! namelist_var = new_namelist_value ! ! EXCEPTIONS: -! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting -! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting ! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting ! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting ! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting diff --git a/cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/user_nl_clm b/cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/user_nl_clm index 025aa390e7..7fd4b5a416 100644 --- a/cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/user_nl_clm +++ b/cime_config/usermods_dirs/clm/f09_37x288pt_PanBoreal/user_nl_clm @@ -3,8 +3,6 @@ ! namelist_var = new_namelist_value ! ! EXCEPTIONS: -! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting -! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting ! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting ! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting ! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting diff --git a/doc/.ChangeLog_template b/doc/.ChangeLog_template index 95ea01885b..8fb94c7fc6 100644 --- a/doc/.ChangeLog_template +++ b/doc/.ChangeLog_template @@ -24,9 +24,6 @@ Does this tag change answers significantly for any of the following physics conf [ ] ctsm5_0-nwp -[ ] clm4_5 - - Bugs fixed ---------- [Remove any lines that don't apply. Remove entire section if nothing applies.] @@ -79,7 +76,7 @@ here is guidance on different available levels of system testing: c) python only (for use where the only changes are in the python directory: run the python testing listed below) d) regular (regular tests on normal machines if CTSM source is modified) - e) release (regular tests plus the fates, ctsm_sci, mosart and rtm test lists + e) release (regular tests plus the fates, ctsm_sci, mosart, mizu and rtm test lists and normally all of the ancillary tests (build-namelist, python, etc.) would be run as well) diff --git a/doc/ChangeLog b/doc/ChangeLog index c96bf11844..4139635fb2 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,166 @@ =============================================================== +Tag name: ctsm5.4.051 +Originator(s): erik (Erik Kluzek) +Date: Fri Aug 7 17:50:35 MDT 2026 +One-line Summary: Update compsets to use DGLC adjust Fates compsets/tests, remove clm4_5/VIC/BGCDV/NWP%BGC compsets/tests + +Purpose and description of changes +---------------------------------- + +Update most of the compsets to use DGLC%NOEVOLVE (Data GLaCier model) rather than stub +glacier. I1Pt single point compsets are left alone. + +Make single point tests and compsets all have RsGs at the end of the alias to +specify stub ROF and stub GLC, and do this consistently in all compsets and +tests. This makes it easier to see the meaning in the aliases. + +Change FATES tests to use RsGs compsets for single-point/regional and +without it for global. And change Clm60FatesCru tests to Clm60FatesCrujra. +Make FATES tests (other than single-point) run with MOSART and DGLC. + +Make single point tests all consistently use Qian forcing compsets for +consistency and speed. Remove most of the Cru tests except for one with Clm50. + +Also since I'm messing with compsets and tests, and removing compsets and +tests for several things we've decided to deprecate: clm4_5, BGCDV, %BGC%NWP, +and VIC. So I remove them from compsets and tests. + +The change to DGLC also required changes to the Tech Note regarding Glaciers. +And the removal of the options talked about above (clm4_5 etc.) also required +changes to the Tech Note. + +Significant changes to scientifically-supported configurations +-------------------------------------------------------------- + +Does this tag change answers significantly for any of the following physics configurations? +(Details of any changes will be given in the "Answer changes" section below.) + + [Put an [X] in the box for any configuration with significant answer changes.] + +[x] clm6_0 + +[x] clm5_0 + +[ ] ctsm5_0-nwp + +(Since most compsets now use DGLC, answers are different over Greenland) + +Bugs fixed +---------- + +List of CTSM issues fixed (include CTSM Issue # and description) [one per line]: + + - Fixes Only test a few Clm50 compsets with Cruv7 forcing #4149 + - Partial on Some of our testmods test things that are default on, rather than the reverse #4148 + - Fixes rtmColdSSP test mod directory is not a good label anymore -- remove it #1242 + - Fixes Have most Fates compsets use MOSART #4109 + - Fixes Use data glc model where we used to use CISM2%NOEVOLVE #1136 + - Fixes Remove clm4_5 compets and tests and mark as deprecated #4128 + - Fixes Remove Izumi aux_cime_baselines tests and move to prealpha #4129 + - Fixes Remove BGCDV from our compsets, tests and documentation #4130 + - Fixes Remove NwP Bgc/BgcCrop compsets and tests #4127 + - Fixes Remove VIC compsets #4126 + - Fixes Expand compset checking in GitHub workflows #3249 + +Notes of particular relevance for users +--------------------------------------- +Caveats for users (e.g., need to interpolate initial conditions): + Compsets may have the same name as before, but now most will use DGLC + (unless it has Gs, G, Ga, or Gag in the alias name) + Likewise some FATES compsets have the same name, but now most will use DGLC + and MOSART + +Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): + Extensive changes in compsets and alias names + + Changes made to compset aliases to make them more consistent and predictable: + + - Compsets consistently use Rs to denote that a stub ROF (river) model is used + - Compsets consistently use Gs to denote that a stub GLC (glacier) model is used + - Compsets consistently use Rtm or Miz to denote that RTM or mizuRoute is used in place of MOSART + - Compsets consistently use Cplhist, Cru, Qian, Nldas, or Crujra if GSWP forcing is NOT used + + Note, compsets mostly have the forcing type at the end of the compset (order + is giving these types: ROF, GLC, Forcing). However, this is NOT completely + consistent yet. + +Changes to documentation: + Updates to Tech Note and User's Guide to cover using DGLC and to remove + documentation on the things removed. + +Contributors: @ekluzek @slevis-lmwg + +Notes of particular relevance for developers: +--------------------------------------------- + +Caveats for developers (e.g., code that is duplicated that requires double maintenance): + The compset checker under .github/workflows updated to check more things for + validity. This can be run to check changes to compsets are correct. Updated + the science_support resolutions for scientifically supported compsets. + +Changes to tests or testing: + Tests changed to use the new compsets. Single point tests now consistently + use Qian forcing for speed. Tests for the deprecated options (clm4_5, etc.) + were removed. More reasons for tests were added as comments. Decomp_init + tests moved from Clm45 to Clm50 with SimplePhysics options. Remove tests and + testmods for the Li-fire options that are already turned on by default. + +Testing summary: regular++ (close to release testing) +---------------- + [PASS means all tests PASS; OK means tests PASS other than expected fails.] + + build-namelist tests (if CLMBuildNamelist.pm has changed): + + derecho - + + python testing (if python code has changed; see instructions in python/README.md; document testing done): + + derecho - + + regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): + + derecho ----- + izumi ------- + + fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) + derecho ----- + izumi ------- + + any other testing (give details below): + + ctsm_sci + derecho ---- + decomp_init + derecho ---- + uhr_decomp_init + derecho ---- + hillslope, fire, ssp, interim-restart run with "--namelists-only" to verify that they function: + derecho ---- + +If the tag used for baseline comparisons was NOT the previous tag, note that here: + + +Answer changes +-------------- + +Changes answers relative to baseline: Yes + + Summarize any changes to answers, i.e., + - what code configurations: Compsets without Gs in the alias + - what platforms/compilers: All + - nature of change: + New climate over Greenland, because the topography it's downscaled to, is now + determined by DGLC. + +Other details +------------- + +Pull Requests that document the changes (include PR ids): +(https://github.com/ESCOMP/ctsm/pull) + -- #4110 Update compsets to use DGLC... + +=============================================================== +=============================================================== Tag name: ctsm5.4.050 Originator(s): samrabin (Sam Rabin, UCAR/TSS) Date: Fri Aug 7 01:30:48 PM MDT 2026 diff --git a/doc/ChangeSum b/doc/ChangeSum index e195b89d2b..be86ae6da5 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ + ctsm5.4.051 erik 08/07/2026 Update compsets to use DGLC adjust Fates compsets/tests, remove clm4_5/VIC/BGCDV/NWP%BGC compsets/tests ctsm5.4.050 samrabin 08/07/2026 Rework FATES SP testmods ctsm5.4.049 r-ward 08/03/2026 Fix typo 'expontential' to 'exponential' in fates c starvation model ctsm5.4.048 erik 07/31/2026 Move b4b-dev to master diff --git a/doc/IMPORTANT_NOTES.md b/doc/IMPORTANT_NOTES.md index 7006ada85d..89b6340091 100644 --- a/doc/IMPORTANT_NOTES.md +++ b/doc/IMPORTANT_NOTES.md @@ -1,6 +1,21 @@ # Important Notes on Experimental Features of CTSM --- +## Compsets that are NOT tested + +- "Nwp" (Numerical Weather Prediction) compsets with BGC or BGC-Crop +- "Nwp" compsets with active GLC (CISM) +- "Nwp" compsets with clm6_0 physics +- LILAC with active GLC +- LILAC with clm6_0 physics +- FATES with active GLC +- mizuRoute with active GLC or BGC or BGC-Crop +- compsets with clm4_5 physics + +## Compsets that are being deprecated + +- Compsets using CRUNCEPv7 forcing + ## Namelist items not regularly tested or used (some aren't even implemented) See '../bld/namelist_files/namelist_definition_ctsm.xml' -- for definitions of all namelist variables @@ -11,7 +26,6 @@ The following are tested but not on by default (for any physics): - all_active - allow_invalid_gdd20_season_inputs - - h2osfcflag (deprecated) - use_nvmovement - use_soil_moisture_streams @@ -32,7 +46,6 @@ The following are NOT currently tested nor turned on by default: - override_bgc_restart_mismatch_dump - perchroot - perchroot_alt - - pertlim (deprecated) - reduce_dayl_factor (not implemented, it's commented out in the code) - replenishlakec - rooting_profile_method_soilcarbon (DELETE) @@ -46,13 +59,53 @@ The following are NOT currently tested nor turned on by default: - snicar_solarspec /= mid_latitude_winter - snicar_use_aerosol /= FALSE - urban_traffic (not implemented) - - use_cndv (deprecated) - use_extralakelayers - usefrootc - usephfact - - use_vichydro (deprecated) - vcmax_opt = 4 +### The following are clm4_5 physics options that may be retained because they allow simpler options + - use_bedrock = .false. + - use_flexiblecn = .false. + - use_fun = .false. + - use_hydrstress = .false. + - use_luna = .false. + - repartition_rain_snow = .false. + - melt_non_icesheet_ice_runoff = .false. + - lower_boundary_condition = 4 (useful for testing with water aquifer) + - light_inhibit = .false. + - constrain_stress_deciduous_onset = .false. + - finundation_method = 'ZWT_inversion' (useful for water isotope testing) + - wind_dependent_snow_density = .false. + - modifyphoto_and_lmr_forcrop = .false. + - baset_mapping = constant + +### The following are being deprecated and will be removed +### (They also are NOT tested) + - pertlim + - use_cndv + - use_vichydro + - h2osfcflag + - snow_cover_fraction_method = 'NiuYang2007' + - use_subgrid_fluxes = .false. + +### The following are clm4_5 physics options that are deprecated and will be removed +### (They also are NOT tested) + - soil_layerstruct_predefined = '10SL_3.5m' + - use_nguardrail = .false. + - use_clm5_fpi = .false. + - soilwater_movement_method = 0 + - rooting_profile_method_water = 0 + - soil_resis_method = 0 + - use_undercanopy_stability = .true. + - building_temp_method = 0 + - organic_frac_squared = .true. + - lotmp_snowdensity_method = 'TruncatedAnderson1976' + - snow_overburden_compaction_method = 'Anderson1976' + - leafresp_method = 1 + - stomatalcond_method = 'Ball-Berry1987' + - fire_method = 'li2014qianfrc' + ### FATES experimental namelist items FATES is a relatively new subcomponent of CTSM. Almost all FATES options include "fates" in the name. diff --git a/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst b/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst index c755200ad6..8c98c248d1 100644 --- a/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst +++ b/doc/source/tech_note/Ecosystem/CLM50_Tech_Note_Ecosystem.rst @@ -436,7 +436,7 @@ Biogenic Volatile Organic Compounds emissions factors are from the Model of Emis The default list of PFTs includes an unmanaged crop treated as a second C3 grass (:numref:`Table Plant functional types`). The unmanaged crop has grid cell fractional cover assigned from MODIS satellite data (:ref:`Lawrence and Chase (2007) `). A managed crop option uses grid cell fractional cover from the present-day crop dataset of :ref:`Ramankutty and Foley (1998) ` (CLM4CNcrop). Managed crops are assigned in the proportions given by :ref:`Ramankutty and Foley (1998) ` without exceeding the area previously assigned to the unmanaged crop. The unmanaged crop continues to occupy any of its original area that remains and continues to be handled just by the CN part of CLM4CNcrop. The managed crop types (corn, soybean, and temperate cereals) were chosen based on the availability of corresponding algorithms in AgroIBIS (:ref:`Kucharik et al. 2000 `; :ref:`Kucharik and Brye 2003 `). Temperate cereals include wheat, barley, and rye here. All temperate cereals are treated as summer crops (like spring wheat, for example) at this time. Winter cereals (such as winter wheat) may be introduced in a future version of the model. -To allow crops to coexist with natural vegetation in a grid cell and be treated by separate models (i.e., CLM4.5BGCcrop versus the Dynamic Vegetation version (CLM4.5BGCDV)), we separate the vegetated land unit into a naturally vegetated land unit and a human managed land unit. PFTs in the naturally vegetated land unit share one soil column and compete for water (default CLM setting). PFTs in the human managed land unit do not share soil columns and thus permit for differences in land management between crops. +To allow crops to coexist with natural vegetation in a grid cell and be treated by separate models (for example to allow for both BGC and FATES to use the same crop model), we separate the vegetated land unit into a naturally vegetated land unit and a human managed land unit. PFTs in the naturally vegetated land unit share one soil column and compete for water (default CLM setting). PFTs in the human managed land unit do not share soil columns and thus permit for differences in land management between crops. CLM includes the option to irrigate cropland areas that are equipped for irrigation. The application of irrigation responds dynamically to climate (see Chapter :numref:`rst_Crops and Irrigation`). In CLM, irrigation is implemented for the C3 generic crop only. When irrigation is enabled, the cropland area of each grid cell is divided into an irrigated and unirrigated fraction according to a dataset of areas equipped for irrigation (:ref:`Siebert et al. (2005) `). The area of irrigated cropland in each grid cell is given by the smaller of the grid cell's total cropland area, according to the default CLM4 dataset, and the grid cell's area equipped for irrigation. The remainder of the grid cell's cropland area (if any) is then assigned to unirrigated cropland. Irrigated and unirrigated crops are placed on separate soil columns, so that irrigation is only applied to the soil beneath irrigated crops. diff --git a/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst b/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst index 7ee974fc35..548658bb62 100644 --- a/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst +++ b/doc/source/tech_note/Fire/CLM50_Tech_Note_Fire.rst @@ -279,14 +279,7 @@ where :math:`M_{j1} =(M_{{leaf}},M_{{livestem,1}},M_{{deadstem}},M_{{root}},M_{{ where :math:`M_{livestem,2}` is the corresponding mortality factor (:numref:`Table PFT-specific fire parameters`). -Fire nitrogen emissions and nitrogen transfers due to fire-induced mortality are calculated the same way as for carbon, using the same values for combustion completeness and mortality factors. With CLM's dynamic vegetation option enabled, the number of tree PFT individuals killed by fire per km\ :sup:`2` (individual km\ :sup:`-2` s\ :sup:`-1`) is given by - -.. math:: - :label: 23.29 - - P_{disturb,j} =\frac{A_{b,j} }{f_{j} A_{g} } P_{j} \xi _{j} - -where :math:`P_{j}` (individual km\ :sup:`-2`) is the population density for the :math:`j` th tree PFT and :math:`\xi _{j}` is the whole-plant mortality factor (:numref:`Table PFT-specific fire parameters`). +Fire nitrogen emissions and nitrogen transfers due to fire-induced mortality are calculated the same way as for carbon, using the same values for combustion completeness and mortality factors. .. _Agricultural fires: diff --git a/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst b/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst index e8a4b81298..f01af95c1b 100644 --- a/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst +++ b/doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst @@ -16,11 +16,11 @@ Compared with CLM4.5 (:ref:`Oleson et al. 2013 `), CLM5.0 contai - A number of namelist parameters offer fine-grained control over glacier behavior in different regions of the world (section :numref:`Glacier regions`). (The options used outside of Greenland and Antarctica reproduce the standard CLM4.5 glacier behavior.) -- CLM can now keep its glacier areas and elevations in sync with CISM when running with an evolving ice sheet. (However, in typical configurations, the ice sheet geometry still remains fixed throughout the run.) +- CLM can now keep its glacier areas and elevations in sync with CISM as the ice sheet is evolving. (However, in typical configurations, the ice sheet geometry still remains fixed throughout the run, since the data glacier model is used [DGLC as part of CDEPS].) - The downscaling to elevation classes now includes downwelling longwave radiation and partitioning of precipitation into rain vs. snow (section :numref:`Multiple elevation class scheme`). -- Other land units within the CISM domain undergo the same downscaling as the glacier land unit, and surface mass balance is computed for the natural vegetated land unit. This allows CLM to produce glacial inception when running with an evolving ice sheet model. +- Other land units within the CISM domain undergo the same downscaling as the glacier land unit, and surface mass balance is computed for the natural vegetated land unit. This allows CLM to produce glacial inception when running with the CISM evolving ice sheet model. - There have also been substantial improvements to CLM's snow physics, as described in other chapters of this document. @@ -29,27 +29,27 @@ Compared with CLM4.5 (:ref:`Oleson et al. 2013 `), CLM5.0 contai Overview -------- -CLM is responsible for computing two quantities that are passed to the ice sheet model: +CLM is responsible for computing two quantities that are passed to the ice sheet model (either CISM, DGLC or SGLC): #. Surface mass balance (SMB) - the net annual accumulation/ablation of mass at the upper surface (section :numref:`Computation of the surface mass balance`) #. Ground surface temperature, which serves as an upper boundary condition for CISM's temperature calculation The ice sheet model is typically run at much higher resolution than CLM (e.g., :math:`\sim`\ 5 km rather than :math:`\sim`\ 100 km). To improve the downscaling from CLM's grid to the ice sheet grid, the glaciated portion of each grid cell is divided into multiple elevation classes (section :numref:`Multiple elevation class scheme`). The above quantities are computed separately in each elevation class. The CESM coupler then computes high-resolution quantities via horizontal and vertical interpolation, and passes these high-resolution quantities to CISM. -There are several reasons for computing the SMB in CLM rather than in CISM: +There are several reasons for computing the SMB in CLM rather than in CISM/DGLC: #. It is much cheaper to compute the SMB in CLM for :math:`\sim`\ 10 elevation classes than in CISM. For example, suppose we are running CLM at a resolution of :math:`\sim`\ 50 km and CISM at :math:`\sim`\ 5 km. Greenland has dimensions of about 1000 x 2000 km. For CLM we would have 20 x 40 x 10 = 8,000 columns, whereas for CISM we would have 200 x 400 = 80,000 columns. -#. We can use the sophisticated snow physics parameterization already in CLM instead of implementing a separate scheme for CISM. Any improvements to CLM are applied to ice sheets automatically. +#. We can use the sophisticated snow physics parameterization already in CLM instead of implementing a separate scheme for CISM/DGLC. Any improvements to CLM are applied to ice sheets automatically. -#. The atmosphere model can respond during runtime to ice-sheet surface changes (even in the absence of two-way feedbacks with CISM). As shown by :ref:`Pritchard et al. (2008)`, runtime albedo feedback from the ice sheet is critical for simulating ice-sheet retreat on paleoclimate time scales. Without this feedback the atmosphere warms much less, and the retreat is delayed. +#. The atmosphere model can respond during runtime to ice-sheet surface changes (even in the absence of two-way feedbacks when DGLC is used rather than CISM). As shown by :ref:`Pritchard et al. (2008)`, runtime albedo feedback from the ice sheet is critical for simulating ice-sheet retreat on paleoclimate time scales. Without this feedback the atmosphere warms much less, and the retreat is delayed. #. The improved SMB is potentially available in CLM for all glaciated grid cells (e.g., in the Alps, Rockies, Andes, and Himalayas), not just those which are part of ice sheets. -In typical runs, CISM is not evolving; CLM computes the SMB and sends it to CISM, but CISM's ice sheet geometry remains fixed over the course of the run. In these runs, CISM serves two roles in the system: +In typical runs, DGLC is used and the ice sheet is not evolving; CLM computes the SMB and sends it to DGLC, but DGLC's ice sheet geometry remains fixed over the course of the run. In these runs, DGLC serves two roles in the system: -#. Over the CISM domain (typically Greenland in CESM2), CISM dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. CISM also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) +#. Over the DGLC domain (typically Greenland in CESM), DGLC dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. DGLC also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) -#. CISM provides the grid onto which SMB is downscaled. (If you run with SGLC then SMB will still be computed in CLM, but it won't be downscaled to a high-resolution ice sheet grid.) +#. DGLC provides the grid onto which SMB is downscaled. (If you run with SGLC then SMB will still be computed in CLM, but it won't be downscaled to a high-resolution ice sheet grid.) It is also possible to run CESM with an evolving ice sheet. In this case, CLM responds to CISM's evolution by adjusting the areas of the glacier land unit and each elevation class within this land unit, as well as the mean topographic heights of each elevation class. Thus, CLM's glacier areas and elevations remain in sync with CISM's. Conservation of mass and energy is done as for other landcover change (see Chapter :numref:`rst_Transient Landcover Change`). @@ -80,7 +80,7 @@ The world's glaciers and ice sheets are broken down into a number of different r b. Ice runoff from snow capping is melted (generating a negative sensible heat flux) and runs off as liquid. This matches the behavior for non-glacier columns. This is appropriate in regions that have little iceberg calving in reality. This can be important to avoid unrealistic cooling of the ocean and consequent runaway sea ice growth. -The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the Greenland region stops at the edge of Greenland as defined by CISM. This means that, by default, SMB is not computed for grid cells outside Greenland but within the CISM domain. (This treatment of the non-Greenland portion of the CISM domain as being the same as the world's mountain glaciers rather than like Greenland itself is mainly for the sake of avoiding unrealistic fluxes from the Canadian archipelago that can potentially result in runaway sea ice growth in that region.) +The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the Greenland region stops at the edge of Greenland as defined by CISM/DGLC. This means that, by default, SMB is not computed for grid cells outside Greenland but within the CISM/DGLC domain. (This treatment of the non-Greenland portion of the CISM/DGLC domain as being the same as the world's mountain glaciers rather than like Greenland itself is mainly for the sake of avoiding unrealistic fluxes from the Canadian archipelago that can potentially result in runaway sea ice growth in that region.) .. _Table Glacier region behaviors: @@ -119,7 +119,7 @@ The atmospheric surface temperature, potential temperature, specific humidity, d This downscaling allows lower-elevation columns to undergo surface melting while columns at higher elevations remain frozen. This gives a more accurate simulation of summer melting, which is a highly nonlinear function of air temperature. -Within the CISM domain, this same downscaling procedure is also applied to all non-urban land units. The elevation of non-glacier land units is taken from the mean elevation of ice-free grid cells in CISM. This is done in order to keep the glaciated and non-glaciated portions of the CISM domain as consistent as possible. +Within the CISM/DGLC domain, this same downscaling procedure is also applied to all non-urban land units. The elevation of non-glacier land units is taken from the mean elevation of ice-free grid cells in CISM/DGLC. This is done in order to keep the glaciated and non-glaciated portions of the CISM/DGLC domain as consistent as possible. In contrast to most CLM subgrid units, glacier\_mec columns can be active (i.e., have model calculations run there) even if their area is zero. These are known as "virtual" columns. This is done because the ice sheet model may require a SMB for some grid cells where CLM has zero glacier area in that elevation range. Virtual columns also facilitate glacial advance and retreat in the two-way coupled case. Virtual columns do not affect energy exchange between the land and the atmosphere. @@ -132,9 +132,9 @@ This section describes the computation of surface mass balance and associated ru The SMB of a glacier or ice sheet is the net annual accumulation/ablation of mass at the upper surface. Ablation is defined as the mass of water that runs off to the ocean. Not all the surface meltwater runs off; some of the melt percolates into the snow and refreezes. Accumulation is primarily by snowfall and deposition, and ablation is primarily by melting and evaporation/sublimation. CLM uses a surface-energy-balance (SEB) scheme to compute the SMB. In this scheme, the melting depends on the sum of the radiative, turbulent, and conductive fluxes reaching the surface, as described elsewhere in this document. -Note that the SMB typically is defined as the total accumulation of ice and snow, minus the total ablation. The SMB flux passed to CISM is the mass balance for ice alone, not snow. We can think of CLM as owning the snow, whereas CISM owns the underlying ice. Fluctuations in snow depth between 0 and 10 m water equivalent are not reflected in the SMB passed to CISM. In transient runs, this can lead to delays of a few decades in the onset of accumulation or ablation in a given glacier column. +Note that the SMB typically is defined as the total accumulation of ice and snow, minus the total ablation. The SMB flux passed to CISM/DGLC is the mass balance for ice alone, not snow. We can think of CLM as owning the snow, whereas CISM/DGLC owns the underlying ice. Fluctuations in snow depth between 0 and 10 m water equivalent are not reflected in the SMB passed to CISM/DGLC. In transient runs, this can lead to delays of a few decades in the onset of accumulation or ablation in a given glacier column. -SMB is computed and sent to the CESM coupler regardless of whether and where CISM is operating. However, the effect of SMB terms on runoff fluxes differs depending on whether and where CISM is evolving in two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where CISM is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, CISM's mass is not considered to be part of the coupled system. In cases where CISM is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. +SMB is computed and sent to the CESM coupler regardless of whether and where CISM/DGLC is operating. However, the effect of SMB terms on runoff fluxes differs depending on whether CISM is used and the ice sheet is evolving in a two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where DGLC is used and the ice sheet is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, DGLC's mass is not considered to be part of the coupled system. In cases where CISM is used and the ice sheet is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. Any snow capping (section :numref:`Runoff from glaciers and snow-capped surfaces`) is added to :math:`q_{ice,frz}`. Any liquid water (i.e., melted ice) below the snow pack in the glacier column is added to :math:`q_{ice,melt}`, then is converted back to ice to maintain a pure-ice column. Then the total SMB is given by :math:`q_{ice,tot}`: diff --git a/doc/source/tech_note/Introduction/CLM50_Tech_Note_Introduction.rst b/doc/source/tech_note/Introduction/CLM50_Tech_Note_Introduction.rst index 5ae662b6a3..a7daaa5858 100644 --- a/doc/source/tech_note/Introduction/CLM50_Tech_Note_Introduction.rst +++ b/doc/source/tech_note/Introduction/CLM50_Tech_Note_Introduction.rst @@ -85,7 +85,7 @@ Specifically, several parameterizations were revised to reflect new scientific u The main modifications include updates to canopy processes including a revised canopy radiation scheme and canopy scaling of leaf processes, co-limitations on photosynthesis, revisions to photosynthetic parameters (:ref:`Bonan et al. 2011`), temperature acclimation of photosynthesis, and improved stability of the iterative solution in the photosynthesis and stomatal conductance model (:ref:`Sun et al. 2012`). Hydrology updates included modifications such that hydraulic properties of frozen soils are determined by liquid water content only rather than total water content and the introduction of an ice impedance function, and other corrections that increase the consistency between soil water state and water table position and allow for a perched water table above icy permafrost ground (:ref:`Swenson et al. 2012`). A new snow cover fraction parameterization is incorporated that reflects the hysteresis in fractional snow cover for a given snow depth between accumulation and melt phases (:ref:`Swenson and Lawrence, 2012`). The lake model in CLM4 was replaced with a completely revised and more realistic lake model (:ref:`Subin et al. 2012a`). A surface water store was introduced, replacing the wetland land unit and permitting prognostic wetland distribution modeling. The surface energy fluxes are calculated separately (:ref:`Swenson and Lawrence, 2012`) for snow-covered, water-covered, and snow/water-free portions of vegetated and crop land units, and snow-covered and snow-free portions of glacier land units. Globally constant river flow velocity is replaced with variable flow velocity based on mean grid cell slope. A vertically resolved soil biogeochemistry scheme is introduced with base decomposition rates modified by soil temperature, water, and oxygen limitations and also including vertical mixing of soil carbon and nitrogen due to bioturbation, cryoturbation, and diffusion (:ref:`Koven et al. 2013`). The litter and soil carbon and nitrogen pool structure as well as nitrification and denitrification that were modified based on the Century model. Biological fixation was revised to distribute fixation more realistically over the year (:ref:`Koven et al. 2013`). The fire model was replaced with a model that includes representations of natural and anthropogenic triggers and suppression as well as agricultural, deforestation, and peat fires (:ref:`Li et al. 2012a,b`; :ref:`Li et al. 2013a`). The biogenic volatile organic compounds model is updated to MEGAN2.1 (:ref:`Guenther et al. 2012`). -Additions to the model include a methane production, oxidation, and emissions model (:ref:`Riley et al. 2011a`) and an extension of the crop model to include interactive fertilization, organ pools (:ref:`Drewniak et al. 2013`), and irrigation (:ref:`Sacks et al. 2009`). Elements of the Variable Infiltration Capacity (VIC) model are included as an alternative optional runoff generation scheme (:ref:`Li et al. 2011`). There is also an option to run with a multilayer canopy (:ref:`Bonan et al. 2012`). Multiple urban density classes, rather than the single dominant urban density class used in CLM4, are modeled in the urban land unit. Carbon (:math:`{}^{13}`\ C and :math:`{}^{14}`\ C) isotopes are enabled (:ref:`Koven et al. 2013`). Minor changes include a switch of the C3 Arctic grass and shrub phenology from stress deciduous to seasonal deciduous and a change in the glacier bare ice albedo to better reflect recent estimates. Finally, the carbon and nitrogen cycle spinup is accelerated and streamlined with a revised spinup method, though the spinup timescale remains long. +Additions to the model include a methane production, oxidation, and emissions model (:ref:`Riley et al. 2011a`) and an extension of the crop model to include interactive fertilization, organ pools (:ref:`Drewniak et al. 2013`), and irrigation (:ref:`Sacks et al. 2009`). There is also an option to run with a multilayer canopy (:ref:`Bonan et al. 2012`). Multiple urban density classes, rather than the single dominant urban density class used in CLM4, are modeled in the urban land unit. Carbon (:math:`{}^{13}`\ C and :math:`{}^{14}`\ C) isotopes are enabled (:ref:`Koven et al. 2013`). Minor changes include a switch of the C3 Arctic grass and shrub phenology from stress deciduous to seasonal deciduous and a change in the glacier bare ice albedo to better reflect recent estimates. Finally, the carbon and nitrogen cycle spinup is accelerated and streamlined with a revised spinup method, though the spinup timescale remains long. Finally, the predominantly low resolution input data for provided with CLM4 to create CLM4 surface datasets is replaced with newer and higher resolution input datasets where possible (see section :numref:`Surface Data` for details). The default meteorological forcing dataset provided with CLM4 (:ref:`Qian et al. 2006)` is replaced with the 1901-2010 CRUNCEP forcing dataset (see Chapter :numref:`rst_Land-Only Mode`) for CLM4.5, though users can also still use the :ref:`Qian et al. (2006)` dataset or other alternative forcing datasets. @@ -98,7 +98,7 @@ Developments for CLM5.0 build on the progress made in CLM4.5. Most major compone The hydrology updates include the introduction of a dry surface layer-based soil evaporation resistance parameterization :ref:`(Swenson and Lawrence, 2014)` and a revised canopy interception parameterization. Canopy interception is now divided into liquid and solid phases, with the intercepted snow subject to unloading events due to wind or above-freezing temperatures. The snow-covered fraction of the canopy is used within the canopy radiation and surface albedo calculation. Instead of applying a spatially uniform soil thickness, soil thickness can vary in space :ref:`(Brunke et al. 2016` and :ref:`Swenson and Lawrence, 2015)` and is set to values within a range of 0.4m to 8.5m depth, derived from a spatially explicit soil thickness data product :ref:`(Pelletier et al., 2016)`. The explicit treatment of soil thickness allows for the deprecation of the unconfined aquifer parameterization used in CLM4.5, which is replaced with a zero flux boundary condition and explicit modeling of both the saturated and unsaturated zones. The default model soil layer resolution is increased, especially within the top 3m, to more explicitly represent active layer thickness within the permafrost zone. Rooting profiles were used inconsistently in CLM4.5 with :ref:`Zeng (2001)` profiles used for water and :ref:`Jackson et al. (1996)` profiles used for carbon inputs. For CLM5, the Jackson et al. (1996) rooting profiles are used for both water and carbon. Roots are deepened for the broadleaf evergreen tropical tree and broadleaf deciduous tropical tree types. Finally, an adaptive time-stepping solution to the Richard's equation is introduced, which improves the accuracy and stability of the numerical soil water solution. The River Transport Model (RTM) is replaced with the Model for Scale Adaptive River Transport (MOSART, :ref:`Li et al., 2013b)` in which surface runoff is routed across hillslopes and then discharged along with subsurface runoff into a tributary subnetwork before entering the main channel. -Several changes are included that are mainly targeted at improving the simulation of surface mass balance over ice sheets. The fresh snow density parameterization is updated to more realistically capture temperature effects and to additionally account for wind effects on new snow density :ref:`(van Kampenhout et al., 2017)`. The maximum number of snow layers and snow amount is increased from 5 layers and 1m snow water equivalent to 12 layers and 10m snow water equivalent to allow for the formation of firn in regions of persistent snow-cover (e.g., glaciers and ice sheets) :ref:`(van Kampenhout et al., 2017)`. The CISM2 ice sheet model is included for Greenland by default. The ice sheet does not evolve for typical configurations, but ice sheet evolution can be turned on by choosing an appropriate compset. The introduction in CLM5 of the capability to dynamically adjust landunit weights means that a glacier can initiate, grow, shrink, or disappear during a simulation when ice evolution is active. That is, there are two-way feedbacks between CLM and CISM. Multiple elevation classes (10 elevation classes by default) and associated temperature, rain/snow partitioning, and downwelling longwave downscaling are used for glacier landunits to account for the strong topographic elevation heterogeneity over glaciers and ice sheets. +Several changes are included that are mainly targeted at improving the simulation of surface mass balance over ice sheets. The fresh snow density parameterization is updated to more realistically capture temperature effects and to additionally account for wind effects on new snow density :ref:`(van Kampenhout et al., 2017)`. The maximum number of snow layers and snow amount is increased from 5 layers and 1m snow water equivalent to 12 layers and 10m snow water equivalent to allow for the formation of firn in regions of persistent snow-cover (e.g., glaciers and ice sheets) :ref:`(van Kampenhout et al., 2017)`. The data ice sheet model (DGLC in CDEPS) is included for Greenland by default. The ice sheet does not evolve for typical configurations (as the ice sheet model is either the data ice sheet DGLC or the stub one SGLC), but ice sheet evolution can be turned on by choosing an appropriate compset (one that uses CISM as the ice sheet model). The introduction in CLM5 of the capability to dynamically adjust landunit weights means that a glacier can initiate, grow, shrink, or disappear during a simulation when ice evolution is active. That is, there are two-way feedbacks between CLM and CISM. Multiple elevation classes (10 elevation classes by default) and associated temperature, rain/snow partitioning, and downwelling longwave downscaling are used for glacier landunits to account for the strong topographic elevation heterogeneity over glaciers and ice sheets. A plant hydraulic stress routine is introduced which explicitly models water transport through the vegetation according to a simple hydraulic framework (Kennedy et al., to be submitted). The water supply equations are used to solve for vegetation water potential forced by transpiration demand and a set of layer-by-layer soil water potentials. Stomatal conductance, therefore, is a function of prognostic leaf water potential. Water stress is calculated as the ratio of attenuated stomatal conductance to maximum stomatal conductance. An emergent feature of the plant hydraulics is soil hydraulic redistribution. In CLM5, maximum stomatal conductance is obtained from the Medlyn conductance model :ref:`(Medlyn et al., 2011)`, rather than the Ball-Berry stomatal conductance model that was utilized in CLM4.5 and prior versions of the model. The Medlyn stomatal conductance model is preferred mainly for it's more realistic behavior at low humidity levels :ref:`(Rogers et al., 2017)`. The stress deciduous vegetation phenology trigger is augmented with a antecedent precipitation requirement :ref:`(Dahlin et al. 2015)`. @@ -112,8 +112,6 @@ The fire model is the same as utilized in CLM4.5 except that a modified scheme i Included with the release of CLM5.0 is a functionally supported version of the Functionally-Assembled Terrestrial Ecosystem Simulator (FATES, :ref:`Fisher et al., 2015)`. A major motivation of FATES is to allow the prediction of biome boundaries directly from plant physiological traits via their competitive interactions. FATES is a cohort model of vegetation competition and co-existence, allowing a representation of the biosphere which accounts for the division of the land surface into successional stages, and for competition for light between height structured cohorts of representative trees of various plant functional types. FATES is not active by default in CLM5.0. -Note that the classical dynamic global vegetation model (CLM-DGVM) that has been available within CLM4 and CLM4.5 remains available, though it is largely untested. The technical description of the CLM-DGVM can be found within the CLM4.5 Technical Description (:ref:`Oleson et al. 2013)`. - During the course of the development of CLM5.0, it became clear that the increasing complexity of the model combined with the increasing number and range of model development projects required updates to the underlying CLM infrastructure. Many such software improvements are included in CLM5 including a partial transition to an object-oriented modular software structure. Many hard coded model parameters have been extracted into either the parameter file or the CLM namelist, which allows users to more readily calibrate the model for use at specific locations or to conduct parameter sensitivity studies. As part of the effort to increase the scientific utility of the code, in most instances older generation parameterizations (i.e., the parameterizations available in CLM4 or CLM4.5) are retained under namelist switches, allowing the user to revert to CLM4.5 from the same code base or to revert individual parameterizations where the old parameterizations are compatible with the new code. Finally, multiple vertical soil layer structures are defined and it is relatively easy to add additional structures. Biogeophysical and Biogeochemical Processes diff --git a/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst b/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst index 20fd9d787e..58f9748181 100644 --- a/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst +++ b/doc/source/tech_note/Plant_Mortality/CLM50_Tech_Note_Plant_Mortality.rst @@ -41,7 +41,7 @@ This section describes plant mortality in the biogeochemistry (BGC) configuratio In this framework, mortality is represented as a first-order loss process, in which all vegetation carbon and nitrogen pools experience proportional losses over time. The equations presented in this section describe the pool-level mortality fluxes and their routing within the biogeochemical framework. -This section does not describe mechanistic mortality processes represented in the Functionally Assembled Terrestrial Ecosystem Simulator (FATES), where mortality emerges from explicit demographic, physiological, and disturbance processes (see Chapter :numref:`rst_Ecosystem Demography with FATES`). Readers interested in those formulations should refer to the `FATES documentation`_. Mortality associated with fire and land-use or harvest processes is treated separately in the Fire and Land Use Change sections (see Chapters :numref:`rst_Fire` and :numref:`rst_Transient Landcover Change`, respectively). Legacy dynamic vegetation configurations (CNDV) used related mortality formulations but are no longer actively supported; mechanistic dynamic vegetation and mortality processes in CTSM are now handled through FATES. +This section does not describe mechanistic mortality processes represented in the Functionally Assembled Terrestrial Ecosystem Simulator (FATES), where mortality emerges from explicit demographic, physiological, and disturbance processes (see Chapter :numref:`rst_Ecosystem Demography with FATES`). Readers interested in those formulations should refer to the `FATES documentation`_. Mortality associated with fire and land-use or harvest processes is treated separately in the Fire and Land Use Change sections (see Chapters :numref:`rst_Fire` and :numref:`rst_Transient Landcover Change`, respectively). Mechanistic dynamic vegetation and mortality processes in CTSM are now handled through FATES. .. _FATES documentation: https://fates-users-guide.readthedocs.io/en/latest/index.html diff --git a/doc/source/tech_note/References/CLM50_Tech_Note_References.rst b/doc/source/tech_note/References/CLM50_Tech_Note_References.rst index 764f3b7659..4082e2b2b1 100644 --- a/doc/source/tech_note/References/CLM50_Tech_Note_References.rst +++ b/doc/source/tech_note/References/CLM50_Tech_Note_References.rst @@ -221,10 +221,6 @@ Bytnerowicz, T. A., Akana, P. R., Griffin, K. L., & Menge, D. N. L. 2022: Temper Campbell, G.S., and Norman, J.M. 1998. An Introduction to Environmental Biophysics (2nd edition). Springer-Verlag, New York. -.. _Castilloetal2012: - -Castillo, G., Kendra, C., Levis, S., and Thornton, P. 2012. Evaluation of the new CNDV option of the Community Land Model: effects of dynamic vegetation and interactive nitrogen on CLM4 means and variability. J. Climate 25:3702–3714. - .. _Caoetal1996: Cao, M., Marshall, S. and Gregson, K., 1996. Global carbon exchange and methane emissions from natural wetlands: Application of a process-based model. J. Geophys. Res. 101(D9):14,399-14,414. @@ -545,10 +541,6 @@ Gomes, E.P.C., Mantovani, W., and Kageyama, P.Y. 2003. Mortality and recruitment Gosz, J.R., Likens, G.E., and Bormann, F.H. 1973. Nutrient release from decomposing leaf and branch litter in the Hubbard Brook Forest, New Hampshire. Ecological Monographs 43:173-191. -.. _GotangcoCastilloetal2012: - -Gotangco Castillo C., Levis S., and Thornton P. 2012. Evaluation of the new CNDV option of the Community Land Model: Effects of dynamic vegetation and interactive nitrogen on CLM4 means and variability. J. Climate 25:3702-3714. DOI:10.1175/JCLID-11-00372.1. - .. _Grahametal1999: Graham, S.T., Famiglietti, J.S., and Maidment, D.R. 1999. Five-minute, 1/2°, and 1° data sets of continental watersheds and river networks for use in regional and global hydrologic and climate system modeling studies. Water Resour. Res. 35:583-587. @@ -1402,10 +1394,6 @@ Saggar, S., Tate, K.R., Feltham, C.W., Childs, C.W. and Parshotam, A., 1994. Car Sakaguchi, K., and Zeng, X. 2009. Effects of soil wetness, plant litter, and under-canopy atmospheric stability on ground evaporation in the Community Land Model (CLM3.5). J. Geophys. Res. 114:D01107. DOI:10.1029/2008JD010834. -.. _sato2007: - -Sato, H., A. Itoh, and T. Kohyama, 2007. SEIB-DGVM: A new Dynamic Global Vegetation Model using a spatially explicit individual-based approach. Ecological Modelling 200.3, pp. 2793307. - .. _Schaafetal2002: Schaaf, C.B., Gao, F., Strahler, A.H., Lucht, W., Li, X., Tsang, T., Strugnell, N.C., Zhang, X., Jin, Y., and Muller, J.-P. 2002. First operational BRDF, albedo nadir reflectance products from MODIS. Remote Sens. Environ. 83:135-148. diff --git a/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst b/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst index 60d90dc6fc..b6b7cbb3e5 100644 --- a/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst +++ b/doc/source/tech_note/Transient_Landcover/CLM50_Tech_Note_Transient_Landcover.rst @@ -27,7 +27,7 @@ If the total land unit area of glaciers and crops has decreased, then the natura These rules have two important implications: -1. We always match CISM's glacier areas exactly, even if that means a disagreement with prescribed crop areas. This is needed for conservation when CISM is evolving in two-way-coupled mode. +1. We always match CISM's glacier areas exactly, even if that means a disagreement with prescribed crop areas. This is needed for conservation as the ice sheet is evolving in a two-way-coupled mode. 2. For land units other than crop, glacier and natural vegetation, their areas can decrease (due to encroaching crops or glaciers), but can never increase. So, for example, if a grid cell starts as 5% lake, crops expand to fill the entire grid cell, then later crop area decreases, the lake area will not return: instead, the abandoned cropland will become entirely natural vegetation. diff --git a/doc/source/users_guide/overview/getting-help.rst b/doc/source/users_guide/overview/getting-help.rst index 439d764823..e01577cfa9 100644 --- a/doc/source/users_guide/overview/getting-help.rst +++ b/doc/source/users_guide/overview/getting-help.rst @@ -86,11 +86,6 @@ CLMBGC-Crop ``./xmlchange CLM_CONFIG_OPTS="phys clm5_0 -bgc bgc -crop`` -CLMCN - Community Land Model (CLM) with Carbon Nitrogen (CN) Biogeochemistry (either CLM4.0, CLM4.5 or |version|) The CLM_CONFIG_OPTS option for this is - - ``./xmlchange CLM_CONFIG_OPTS="-bgc cn" -append`` - CLMSP Community Land Model (CLM) with Satellite Phenology (SP) (either CLM4.0, CLM4.5 or |version|) The CLM_CONFIG_OPTS option for this is @@ -109,14 +104,6 @@ CTSM DATM Data Atmosphere Model (DATM) the prescribed data atmosphere component for CESM. Forcing data that we provide are either the CRUNCEP, Qian, or GSWP3 forcing datasets (see below). -DV - Dynamic global vegetation, where fractional PFT (see PFT below) changes in time prognostically. Can NOT be used with prescribed transient PFT (requires either CLMBGC or CLMCN for either CLM4.0, CLM4.5 or |version|). The CLM_CONFIG_OPTS option for this is - - ``./xmlchange CLM_CONFIG_OPTS="-bgc cndv" -append`` - - This option is being phased out for the different methodology of FATES (see below). DV is not currently scientifically validated - and as such should be considered experimental. - ESMF Earth System Modeling Framework (ESMF). They are a software project that provides a software library to support Earth System modeling. We provide interfaces for ESMF as well as use their regridding capabilities for offline CLM tools. @@ -157,7 +144,4 @@ RTM SCRIP Spherical Coordinate Remapping and Interpolation Package (SCRIP). We use it's file format for specifying both grid coordinates as well as mapping between different grids. -VIC - Variable Infiltration Capacity (VIC) model for hydrology. This is an option to |version| in place of the standard |version| hydrology. The CLM_CONFIG_OPTS option for this is - ``./xmlchange CLM_CONFIG_OPTS="-vichydro on" -append`` diff --git a/doc/source/users_guide/overview/introduction.rst b/doc/source/users_guide/overview/introduction.rst index 1dcf901ff8..8a21968f0f 100644 --- a/doc/source/users_guide/overview/introduction.rst +++ b/doc/source/users_guide/overview/introduction.rst @@ -61,7 +61,7 @@ In this introduction we first give a simple guide to understand the document con As a followup to the tools chapter, :ref:`adding-new-resolutions-section` tells how to add files to the XML database for build-namelist to use. This is important if you want to use the XML database to automatically select user-created input files that you have created when you setup new cases with CLM (CLM4.0, CLM4.5 and |version| physics). -In :ref:`running-special-cases-section`, again for the expert user, we give details on how to do some particularly difficult special cases. For example, we give the protocol for spinning up the |version|-BGC and CLMCN models as well as CLM with dynamic vegetation active (CNDV). We give instructions to do a spinup case from a previous case with Coupler history output for atmospheric forcing. We also give instructions on running both the prognostic crop and irrigation models. Lastly we tell the user how to use the DATM model to send historical CO2 data to CLM. +In :ref:`running-special-cases-section`, again for the expert user, we give details on how to do some particularly difficult special cases. For example, we give the protocol for spinning up the |version|-BGC |version|-SP models. We give instructions to do a spinup case from a previous case with Coupler history output for atmospheric forcing. Lastly we tell the user how to use the DATM model to send historical CO2 data to CLM. :ref:`running-single-points` outlines how to do single-point or regional simulations using |version|. This is useful to either compare |version| simulations with point observational stations, such as tower sites (which might include your own atmospheric forcing), or to do quick simulations with CLM for example to test a new parameterization. There are several different ways given on how to perform single-point simulations which range from simple sampling of existing inputs to more complex where you create all your own datasets, tying into :ref:`using-clm-tools-section` and also :ref:`adding-new-resolutions-section` to add the files into the build-namelist XML database. @@ -90,19 +90,19 @@ The README (which can be found in ``$CTSMROOT/doc``) is repeated here. Best Practices ================ -- |version| includes BOTH the old CLM4.0, CLM4.5 physics AND the new |version| physics and you can toggle between those three. The "standard" practice for CLM4.0 is to run with CN on, and with Qian atmospheric forcing. While the "standard" practice for CLM4.5 is to run with BGC on, and CRUNCEP atmospheric forcing. And finally the "standard" practice for |version| is to run with BGC and Prognostic Crop on, with the MOSART model for river routing, as well as the CISM ice sheet model, and using GSWP3 atmospheric forcing. "BGC" is the new |version| biogeochemistry and include CENTURY-like pools, vertical resolved carbon, as well as Nitrification and de-Nitrification (see :ref:`acronyms-and-terms`). +- |version| includes BOTH the old CLM4.5, and CLM5.0 physics AND the new |version| physics and you can toggle between those three. The "standard" practice for CLM4.0 is to run with CN on, and with Qian atmospheric forcing. While the "standard" practice for CLM4.5 is to run with BGC on, and CRUNCEP atmospheric forcing. And finally the "standard" practice for |version| is to run with BGC and Prognostic Crop on, with the MOSART model for river routing, as well as the DGLC data ice sheet model, and using CRUJRA atmospheric forcing. "BGC" is the new |version| biogeochemistry and include CENTURY-like pools, vertical resolved carbon, as well as Nitrification and de-Nitrification (see :ref:`acronyms-and-terms`). -- When running with CLMCN (either CLM4.0 or |version| physics) or |version|-BGC, it is critical to begin with initial conditions that are provided with the release or to spin the model up following the CN spinup procedure before conducting scientific runs (see :ref:`spinning-up-clm-bgc` or :ref:`spinning-up-sp`). Simulations without a proper spinup will effectively be starting from an unvegetated world. See :ref:`setting-initial-conditions` for information on how to provide initial conditions for your simulation. +- When running with BGC vegetation (either CLM4.5, CLM5.0 or |version| physics), it is critical to begin with initial conditions that are provided with the release or to spin the model up following the BGC spinup procedure before conducting scientific runs (see :ref:`spinning-up-clm-bgc` or :ref:`spinning-up-sp`). Simulations without a proper spinup will effectively be starting from an unvegetated world. See :ref:`setting-initial-conditions` for information on how to provide initial conditions for your simulation. -- Initial condition files are provided for CLM4.0-CN as before, for fully coupled BCN and offline ICN cases for 1850 and 2000 at finite volume grids: 1deg (0.9x1.25), 2deg (1.9x2.5), and T31 resolutions. We also have interpolated initial conditions for BCN for 1850 and 2000 for two finite volume grids: 10x15, 4x5 and two HOMME grids (ne30np4 and ne120np4). There's also an initial condition file for ICN with the prognostic crop model for 2000 at 2deg resolution, and one with CLMSP for 2000 at 2deg resolution. We also have initial conditions for offline CNDV for 1850. The 1850 initial condition files are in 'reasonable' equilibrium. The 2000 initial condition files represent the model state for the year 2000, and have been taken from transient simulations. Therefore, by design the year 2000 initial condition files do not represent an equilibrium state. Note also that spinning the 2000 initial conditions out to equilibrium will not reflect the best estimate of the real carbon/nitrogen state for the year 2000. +- Initial condition files are provided for CLM4.5 and CLM5.0 from the previous release, for fully coupled B compsets with BGC and offline I compset BGC and SP cases for 1850 and 2000 at finite volume grids: 1deg (0.9x1.25), 2deg (1.9x2.5), and 1-degree SE grid: ne30.pg3 resolutions. There's also an initial condition file for CLMBGC with the prognostic crop model for 2000 at 2deg resolution, and one with CLM-SP for 2000 at 2deg resolution. The 2000 initial condition files represent the model state for the year 2000, and have been taken from transient simulations. Therefore, by design the year 2000 initial condition files do not represent an equilibrium state. Note also that spinning the 2000 initial conditions out to equilibrium will not reflect the best estimate of the real carbon/nitrogen state for the year 2000. -- Initial condition files are also provided for |version| for several configurations and resolutions. For CLM4.5-SP and CLM4.5-BGC with both CRUNCEP and GSWP3 forcing we have initial conditions at 1deg resolution for 1850. For |version|-SP and |version|-BGC-Crop with both CRUNCEP and GSWP3 forcing we have initial conditions at 1deg resolution for 1850. Normally, these files are interpolated to any other resolution that you run at. +- Initial condition files are also provided for |version| for several configurations and resolutions. For |version|-SP and |version|-BGC-Crop with CRUJRA forcing we have initial conditions at 1deg and 2deg resolutions for 1850, 1979, 2000 and 2010. Normally, these files are interpolated to any other resolution that you run at. -- Users can interpolate initial condition files at different resolutions at startup of a CLM4.5 or |version| simulation. And the file created can be stored for later use. Interpolated initial condition files may no longer be in 'reasonable' equilibrium. +- Users can interpolate initial condition files at different resolutions at startup of a CLM4.5, CLM5.0 or |version| simulation. And the file created can be stored for later use. Interpolated initial condition files may no longer be in 'reasonable' equilibrium. -- In |version| for both |version|-CN, |version|-BGC, and |version|-BGC-Crop the new fire model requires lightning frequency data, and human population density (both are read inside of CLM). By default we have provided a climatology dataset for lightning frequency and a dataset with coverage from 1850 to 2014 for population density. Both of these datasets are interpolated from the native resolution of the datasets to the resolution you are running the model on. If you are running with an atmosphere model or forcing that is significantly different than present day -- the lightning frequency may NOT appropriately correspond to your atmosphere forcing and fire initiation would be inappropriate. +- In |version| for both |version|-CN, |version|-BGC, and |version|-BGC-Crop the fire model requires lightning frequency data, and human population density (both are read inside of CLM). By default we have provided a climatology dataset for lightning frequency and a dataset with coverage from 1850 to 2024 for population density. Both of these datasets are interpolated from the native resolution of the datasets to the resolution you are running the model on. If you are running with an atmosphere model or forcing that is significantly different than present day -- the lightning frequency may NOT appropriately correspond to your atmosphere forcing and fire initiation would be inappropriate. -- Aerosol deposition is a required field to both CLM4.0, CLM4.5 and |version| physics, sent from the atmosphere model. Simulations without aerosol deposition will exhibit unreasonably high snow albedos. The model sends aerosol deposition from the atmospheric model (either CAM or DATM). When running with prescribed aerosol the atmosphere model will interpolate the aerosols from 2-degree resolution to the resolution the atmosphere model is running at. +- Aerosol deposition is a required field to CLM4.5, CLM5.0 and |version| physics, sent from the atmosphere model. Simulations without aerosol deposition will exhibit unreasonably high snow albedos. The model sends aerosol deposition from the atmospheric model (either CAM or DATM). When running with prescribed aerosol the atmosphere model will interpolate the aerosols from 2-degree resolution to the resolution the atmosphere model is running at. .. _ctsm_vs_cesm_checkout: diff --git a/doc/source/users_guide/running-single-points/predefined-single-point-regional-resolutions.rst b/doc/source/users_guide/running-single-points/predefined-single-point-regional-resolutions.rst index 207ec33481..75510a8506 100644 --- a/doc/source/users_guide/running-single-points/predefined-single-point-regional-resolutions.rst +++ b/doc/source/users_guide/running-single-points/predefined-single-point-regional-resolutions.rst @@ -15,7 +15,7 @@ To setup a ``PTS_MODE`` simulation you use the ``-pts_lat`` and ``-pts_lon`` arg :: > cd cime/scripts - > ./create_newcase -case testPTS_MODE -res f19_g17_gl4 -compset I1850Clm50BgcCropCru -pts_lat 40.0 -pts_lon -105 + > ./create_newcase --case testPTS_MODE --res f19_f19_mt232 --compset I1850Clm60BgcCrop --pts_lat 40.0 --pts_lon -105 > cd testPTS_MODE # We make sure the model will start up cold rather than using initial conditions diff --git a/doc/source/users_guide/running-special-cases/Running-the-prognostic-crop-model.rst b/doc/source/users_guide/running-special-cases/Running-the-prognostic-crop-model.rst index 56620b2fde..4b0897dec1 100644 --- a/doc/source/users_guide/running-special-cases/Running-the-prognostic-crop-model.rst +++ b/doc/source/users_guide/running-special-cases/Running-the-prognostic-crop-model.rst @@ -6,14 +6,14 @@ Running the prognostic crop model =================================== -The prognostic crop model is setup to work with CLM4.0, CLM4.5 or |version| with either BGC or CN (with or without DV). In order to use the initial condition file, we need to set the ``RUN_TYPE`` to startup rather than ``hybrid`` since the compset for f19 sets up to use an initial condition file without crop active. To activate the crop model you can choose a compset that has "Crop" in the name such as "I1850Clm50BgcCropCru" or simply add ``-crop`` to ``CLM_BLDNML_OPTS`` (or for CLM4.0 add ``-crop on`` to ``CLM_CONFIG_OPTS``). +The prognostic crop model is setup to work with CLM4.5, CLM5.0 or |version| with either BGC or CN (with or without DV). In order to use the initial condition file, we need to set the ``RUN_TYPE`` to startup rather than ``hybrid`` since the compset for f19 sets up to use an initial condition file without crop active. To activate the crop model you can choose a compset that has "Crop" in the name such as "I1850Clm60BgcCrop" or simply add ``-crop`` to ``CLM_BLDNML_OPTS`` Example: Crop Simulation ------------------------------------ :: > cd cime/scripts - > ./create_newcase -case CROP -res f19_g17_gl4 -compset I1850Clm50BgcCropCru + > ./create_newcase --case CROP --res f19_f19_mt232 --compset I1850Clm60BgcCrop > cd CROP > ./case.setup diff --git a/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst b/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst index 3cfc4cf46b..c0c801b36c 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-MOAR-data-as-atmospheric-forcing-to-spinup-the-model.rst @@ -11,14 +11,14 @@ Because it takes so long to spinup the CN model (as we just saw previously), if you are doing fully coupled simulations with active atmosphere and ocean, you will want to do the spinup portion of this "offline". So instead of doing expensive fully coupled simulations for the spinup duration, you run CLM in a very cheap "I" compset using atmospheric forcing from a shorter fully coupled simulation (or a simulation run previously by someone else). -In this example we will use the ``I1850Clm50BgcSpinup compset`` to setup CLM to run with atmospheric forcing from a previous fully coupled simulation with data that is already stored on disk on derecho. There are several simulations that have high frequency data for which we can do this. You can also do this on a machine other than derecho, but would need to download the data from the Earth System Grid and change the datapath similar to Example :numref:`eg-sim-data-from-prev-sim`. +In this example we will use the ``I1850Clm60BgcCropSpinup compset`` to setup CLM to run with atmospheric forcing from a previous fully coupled simulation with data that is already stored on disk on derecho. There are several simulations that have high frequency data for which we can do this. You can also do this on a machine other than derecho, but would need to download the data from the Earth System Grid and change the datapath similar to Example :numref:`eg-sim-data-from-prev-sim`. Example: Simulation with MOAR Data on derecho ------------------------------------------------------------- :: > cd cime/scripts - > ./create_newcase -case MOARforce1850 -res f19_g17_gl4 -compset I1850Clm50BgcSpinup + > ./create_newcase --case MOARforce1850 --res f19_g17_gl4 --compset I1850Clm60BgcCropSpinup > cd MOARforce1850 # The following sets the casename to point to for atm forcing (you could also use an editor) > ./xmlchange DATM_CPLHIST_CASE=b40.1850.track1.1deg.006a diff --git a/doc/source/users_guide/running-special-cases/Running-with-excess-ground-ice.rst b/doc/source/users_guide/running-special-cases/Running-with-excess-ground-ice.rst index d0b29f8682..0ed6248974 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-excess-ground-ice.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-excess-ground-ice.rst @@ -26,8 +26,8 @@ Example: Crop Simulation :: > cd cime/scripts - > ./create_newcase -case I1850Clm50BgcCrop_with_exice -res f19_g17_gl4 -compset I1850Clm50BgcCrop - > cd I1850Clm50BgcCrop_with_exice + > ./create_newcase --case I1850Clm60BgcCrop_with_exice --res f19_f19_mt232 --compset I1850Clm60BgcCrop + > cd I1850Clm60BgcCrop_with_exice > ./case.setup diff --git a/doc/source/users_guide/running-special-cases/Running-with-irrigation.rst b/doc/source/users_guide/running-special-cases/Running-with-irrigation.rst index 5e9adb4b6a..630d375621 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-irrigation.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-irrigation.rst @@ -17,7 +17,7 @@ Example: Irrigation Simulation # Note here we do a CLMSP simulation as that is what has been validated > cd cime/scripts - > ./create_newcase -case IRRIG -res f19_g17_gl4 -compset I1850Clm50BgcCrop + > ./create_newcase --case IRRIG --res f19_f19_mt232 --compset I1850Clm60BgcCrop > cd IRRIG # Append "-irrig on" to CLM_BLDNML_OPTS in env_run.xml (you could also use an editor) diff --git a/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst b/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst index 94ad61c5e6..6975795477 100644 --- a/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst +++ b/doc/source/users_guide/running-special-cases/Running-with-your-own-previous-simulation-as-atmospheric-forcing-to-spinup-the-model.rst @@ -45,7 +45,7 @@ Example: Simulation Forced with Data from the Previous Simulation :: > cd cime/scripts - > ./create_newcase -case frcwmyB1850 -res f09_g17_gl4 -compset I1850Clm50BgcSpinup + > ./create_newcase -case frcwmyB1850 -res f09_f09_mt232 -compset I1850Clm60BgcCropSpinup > cd frcWmyB1850 # The following sets the casename to point to for atm forcing (you could also use an editor) > ./xmlchange DATM_CPLHIST_CASE="myB1850" @@ -53,15 +53,15 @@ Example: Simulation Forced with Data from the Previous Simulation # (you could also use an editor) > ./xmlchange DATM_YR_ALIGN="1",DATM_YR_START=1,DATM_YR_END=20 # Set the strm_datdir in the namelist_defaults_datm.xml - # file to the archival path of the case above in the form of: /glade/home/achive/$USER/$DATM_CPLHIST_CASE/cpl/hist - # NOTE: THIS WILL CHANGE THE PATH FOR ALL I1850Clm50BgcSpinup COMPSET CASES MADE AFTER THIS! + # file to the archival path of the case above in the form of: /glade/home/archive/$USER/$DATM_CPLHIST_CASE/cpl/hist + # NOTE: THIS WILL CHANGE THE PATH FOR ALL I1850Clm60BgcCropSpinup COMPSET CASES MADE AFTER THIS! > $EDITOR ../../models/atm/datm/bld/namelist_files/namelist_defaults_datm.xml > ./case.setup # Now build and run as normal > ./case.build > ./case.submit -.. note:: We did this by editing the "namelist_defaults_datm.xml" which will change the settings for ALL future ``I1850Clm50BgcSpinup`` cases you run. You could also do this by editing the path in the resulting streams text files in the CaseDocs directory, and then create a "user\_" streams file with the correct path. This would change the streams file JUST for this case. The steps do it this way are: +.. note:: We did this by editing the "namelist_defaults_datm.xml" which will change the settings for ALL future ``I1850Clm60BgcCropSpinup`` cases you run. You could also do this by editing the path in the resulting streams text files in the CaseDocs directory, and then create a "user\_" streams file with the correct path. This would change the streams file JUST for this case. The steps do it this way are: :: diff --git a/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst b/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst index ef3c53b7f0..b052a6ea3d 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/choosing-a-compset.rst @@ -25,7 +25,7 @@ To get a list of the compsets use the ``query_config`` command as follows: Compsets with different choices for the River "Runoff OutFlow" (ROF) Model -------------------------------------------------------------------------- -CTSM can be run with four different options for the ROF model: stub, MOSART, RTM, or the newly available component mizuRoute. The default for compsets is MOSART and as such it isn't mentioned in the compset aliases. Compsets with the stub ROF model usually have a "Rs" in the name to designate that a stub ROF is being used (for example the single point tower site compset I1PtClm60SpRs). +CTSM can be run with four different options for the ROF model: stub, MOSART, RTM, or the newly available component mizuRoute. The default for compsets is MOSART and as such it isn't mentioned in the compset aliases. Compsets with the stub ROF model usually have a "Rs" in the name to designate that a stub ROF is being used (for example the single point tower site compset I1PtClm60SpRsGs). Compset aliases for MOSART as it's the default don't have it in the name. Compsets with clm4_5 physics are with RTM as RTM was the default ROF model when CLM4.5 was created. Also since Paleo climate work uses RTM, the "NoAnthro" compset aliases use RTM. Compset aliases with "Miz" in the name use mizuRoute. Both MOSART and RTM run on a default half degree grid, that is selected as part of the standard grid aliases. mizuRoute also can use the standard grid aliases and will be run on it's half degree grid if so. See the next section for on the other options for mizuRoute grids. @@ -33,7 +33,7 @@ Both MOSART and RTM run on a default half degree grid, that is selected as part Compsets and grids with the mizuRoute ROF model ----------------------------------------------- -Compset aliases with "Miz" in the name use mizuRoute as the ROF model. For example, the compset alias I2000Clm60SpMizGs which is for present day with clm6_0 physics using Satellite Phenology with a stub glacier model. +Compset aliases with "Miz" in the name use mizuRoute as the ROF model. For example, the compset alias I2000Clm60SpMiz which is for present day with clm6_0 physics using Satellite Phenology. As mizuRoute is a ROF model grid alias for special grids for it include a "_r*" in the middle of the compset name (between the atmosphere/land grid and the ocean grid/mask). To get a list of the grid alises use the ``query_config`` command as follows: diff --git a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst index 112e8f5a84..14dc084815 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-configuration.rst @@ -284,7 +284,7 @@ The ``$CTSMROOT/cime_config/buildnml`` script already sets the resolution and ma #. ``-verbose`` -``-bgc_spinup`` is an option only available for |version| for any configuration when CN is turned on (so either CLMCN or CLMBGC). It can be set to "on" or "off". If "on" the model will go into Accelerated Decomposition mode, while for "off" (the default) it will have standard decomposition rates. If you are starting up from initial condition files the model will check what mode the initial condition file is in and do the appropriate action on the first time-step to change the Carbon pools to the appropriate spinup setting. See :ref:`spinning-up-clm-bgc` for an example using this option. +``-bgc_spinup`` is an option only available for |version| for any configuration when BGC is turned on (CLMBGC). It can be set to "on" or "off". If "on" the model will go into Accelerated Decomposition mode, while for "off" (the default) it will have standard decomposition rates. If you are starting up from initial condition files the model will check what mode the initial condition file is in and do the appropriate action on the first time-step to change the Carbon pools to the appropriate spinup setting. See :ref:`spinning-up-clm-bgc` for an example using this option. .. todo:: Update the above. @@ -449,7 +449,7 @@ Thus a setting in ``CLM_BLDNML_OPTS`` will override a setting for the same thing Setting Your Initial Conditions File ------------------------------------ -Especially with CLMBGC and CLMCN starting from initial conditions is very important. Even with CLMSP it takes many simulation years to get the model fully spunup. There are a couple different ways to provide an initial condition file. +Especially with CLMBGC starting from initial conditions is very important. Even with CLMSP it takes many simulation years to get the model fully spunup. There are a couple different ways to provide an initial condition file. - :ref:`doing-a-hybrid-sim-for-init-conds` - :ref:`doing-a-branch-sim-for-init-conds` diff --git a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst index 3cd6c3a8db..74f320508c 100644 --- a/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst +++ b/doc/source/users_guide/setting-up-and-running-a-case/customizing-the-clm-namelist.rst @@ -36,56 +36,356 @@ Below we will give examples of user namelists that activate different commonly u The default namelist -------------------- -Here we give the default namelist as it would be created for an "I1850Clm50BgcCropCru" compset at 0.9x1.25 resolution with a gx1v7 land-mask on derecho. To edit the namelist you would edit the ``user_nl_clm`` user namelist with just the items you want to change. For simplicity we will just show the CLM namelist and NOT the entire file. In the sections below, for simplicity we will just show the user namelist (``user_nl_clm``) that will add (or modify existing) namelist items to the namelist. +Here we give the default namelist as it would be created for an "I1850Clm60BgcCrop" compset at 0.9x1.25 resolution with a t232 land-mask on derecho. To edit the namelist you would edit the ``user_nl_clm`` user namelist with just the items you want to change. For simplicity we remove the namelist groups that are empty or not relevant to this compset. In the sections below, for simplicity we will just show the user namelist (``user_nl_clm``) that will add (or modify existing) namelist items to the namelist. Example 1-2. Default CLM Namelist --------------------------------- +.. I copied the following file from the baseline for ctsm5.4.047 for the SMS_D_Ld5_PS.f09_f09_mt232.I1850Clm60BgcCrop.derecho_gnu.clm-f09_ObscureStreamOpts test. +.. As said above I removed the empty namelist groups and namelist groups that aren't relevant for this case. And then added leading spaces. + :: &clm_inparm - albice = 0.60,0.40 + albice = 0.50,0.30 co2_ppmv = 284.7 co2_type = 'constant' - create_crop_landunit = .false. - dtime = 1800 - fatmlndfrc = '/glade/p/cesm/cseg/inputdata/share/domains/domain.lnd.fv0.9x1.25_gx1v6.090309.nc' - finidat = '$DIN_LOC_ROOT/lnd/clm2/initdata_map/clmi.I1850Clm50BgcCropCru.0241-01-01.0.9x1.25_g1v6_simyr1850_c130531.nc' - fpftcon = '/glade/p/cesm/cseg/inputdata/lnd/clm2/pftdata/pft-physiology.c130503.nc' - fsnowaging = '/glade/p/cesm/cseg/inputdata/lnd/clm2/snicardata/snicar_drdt_bst_fit_60_c070416.nc' - fsnowoptics = '/glade/p/cesm/cseg/inputdata/lnd/clm2/snicardata/snicar_optics_5bnd_c090915.nc' - fsurdat = '/glade/p/cesm/cseg/inputdata/lnd/clm2/surfdata_map/surfdata_0.9x1.25_simyr1850_c130415.nc' - maxpatch_glc = 0 - more_vertlayers = .false. - nsegspc = 20 - spinup_state = 0 - urban_hac = 'ON' - urban_traffic = .false. - / - &ndepdyn_nml - ndepmapalgo = 'bilinear' - stream_fldfilename_ndep = '/glade/p/cesm/cseg/inputdata/lnd/clm2/ndepdata/fndep_clm_hist_simyr1849-2006_1.9x2.5_c100428.nc' - stream_year_first_ndep = 1850 - stream_year_last_ndep = 1850 - / - &popd_streams - popdensmapalgo = 'bilinear' - stream_fldfilename_popdens = '$DIN_LOC_ROOT/lnd/clm2/firedata/clmforc.Li_2012_hdm_0.5x0.5_AVHRR_simyr1850-2010_c130401.nc' - stream_year_first_popdens = 1850 - stream_year_last_popdens = 1850 - / - &light_streams - lightngmapalgo = 'bilinear' - stream_fldfilename_lightng = '/glade/p/cesm/cseg/inputdata/atm/datm7/NASA_LIS/clmforc.Li_2012_climo1995-2011.T62.lnfm_c130327.nc' - stream_year_first_lightng = 0001 - stream_year_last_lightng = 0001 - / - &clm_hydrology1_inparm - / - &clm_soilhydrology_inparm - / - &ch4par_in - fin_use_fsat = .true. - / + collapse_urban = .false. + compname = 'clm2' + convert_ocean_to_land = .true. + create_crop_landunit = .true. + crop_residue_removal_frac = 0.5d00 + do_sno_oc = .false. + downscale_hillslope_meteorology = .true. + finidat = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/initdata_esmf/ctsm5.4/clmi.f09_interp_from.ctsm5.4.CMIP7_ciso_ctsm5.3.075_f09_124_pSASU.clm2.r.0161_c251118.nc' + flush_gdd20 = .false. + for_testing_no_crop_seed_replenishment = .false. + for_testing_run_ncdiopio_tests = .false. + for_testing_use_repr_structure_pool = .false. + for_testing_use_second_grain_pool = .false. + fsnowaging = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/snicardata/snicar_drdt_bst_fit_60_c070416.nc' + fsnowoptics = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/snicardata/snicar_optics_5bnd_c013122.nc' + fsurdat = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/surfdata_esmf/ctsm5.4.0/surfdata_0.9x1.25_hist_1850_78pfts_c251022.nc' + glc_do_dynglacier = .false. + glc_snow_persistence_max_days = 0 + h2osno_max = 10000.0 + hillslope_fsat_equals_zero = .false. + hist_dov2xy = .true.,.false. + hist_fields_list_file = .false. + hist_fincl1 = 'RC13_CANAIR','RC14_CANAIR','HDM','LNFM','TBUILD_MAX','P_AC','EXCESS_ICE','LND_MBL' + hist_fincl2 = 'TG', 'TBOT', 'FIRE', 'FIRA', 'FLDS', 'FSDS', 'FSR', 'FSA', 'FGEV', 'FSH', 'FGR', + 'TSOI', 'ERRSOI', 'SABV', 'SABG', 'FSDSVD', 'FSDSND', 'FSDSVI', 'FSDSNI', 'FSRVD', 'FSRND', 'FSRVI', + 'FSRNI', 'TSA', 'FCTR', 'FCEV', 'QBOT', 'RH2M', 'H2OSOI', 'H2OSNO', 'SOILLIQ', 'SOILICE', 'TSA_U', + 'TSA_R', 'TREFMNAV_U', 'TREFMNAV_R', 'TREFMXAV_U', 'TREFMXAV_R', 'TG_U', 'TG_R', 'RH2M_U', 'RH2M_R', 'QRUNOFF_U', 'QRUNOFF_R', + 'SoilAlpha_U', 'SWup', 'LWup', 'URBAN_AC', 'URBAN_HEAT' + hist_mfilt = 1,1 + hist_ndens = 1,1,1,1,1,1 + hist_nhtfrq = -24,-8 + hist_wrt_matrixcn_diag = .false. + irrigate = .false. + maxpatch_glc = 10 + n_dom_landunits = 0 + n_dom_pfts = 0 + nlevsno = 12 + nsegspc = 35 + o3_veg_stress_method = 'unset' + paramfile = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/ctsm60_params.c260518.nc' + run_zero_weight_urban = .false. + snicar_dust_optics = 'sahara' + snicar_numrad_snw = 5 + snicar_snobc_intmix = .true. + snicar_snodst_intmix = .false. + snicar_snw_shape = 'hexagonal_plate' + snicar_solarspec = 'mid_latitude_winter' + snicar_use_aerosol = .true. + snow_cover_fraction_method = 'SwensonLawrence2012' + snow_thermal_cond_glc_method = 'Sturm1997' + snow_thermal_cond_lake_method = 'Sturm1997' + snow_thermal_cond_method = 'Sturm1997' + soil_layerstruct_predefined = '20SL_8.5m' + spinup_state = 0 + suplnitro = 'NONE' + toosmall_crop = 0.d00 + toosmall_glacier = 0.d00 + toosmall_lake = 0.d00 + toosmall_soil = 0.d00 + toosmall_urban = 0.d00 + toosmall_wetland = 0.d00 + use_bedrock = .true. + use_c13 = .true. + use_c13_timeseries = .true. + use_c14 = .true. + use_c14_bombspike = .true. + use_cn = .true. + use_crop = .true. + use_excess_ice = .true. + use_fates = .false. + use_fertilizer = .true. + use_flexiblecn = .true. + use_fun = .true. + use_grainproduct = .true. + use_hillslope = .false. + use_hillslope_routing = .false. + use_hydrstress = .true. + use_lai_streams = .false. + use_lch4 = .true. + use_luna = .true. + use_matrixcn = .false. + use_nguardrail = .true. + use_nitrif_denitrif = .true. + use_nvmovement = .false. + use_snicar_frc = .false. + use_soil_matrixcn = .false. + use_soil_moisture_streams = .false. + use_ssre = .true. + use_subgrid_fluxes = .true. + use_z0m_snowmelt = .true. + z0param_method = 'Meier2022' + / + &ndepdyn_nml + ndep_taxmode = 'cycle' + ndep_tintalgo = 'lower' + ndep_varlist = 'NDEP_month' + ndepmapalgo = 'redist' + stream_fldfilename_ndep = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/ndepdata/fndep_clm_WACCM6_CMIP6piControl001_y21-50avg_1850monthly_0.95x1.25_c180802.nc' + stream_meshfile_ndep = '/glade/campaign/cesm/cesmdata/inputdata/share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc' + stream_year_first_ndep = 1850 + stream_year_last_ndep = 1850 + / + &popd_streams + popdens_tintalgo = 'linear' + popdensmapalgo = 'consd' + stream_fldfilename_popdens = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/firedata/clmforc.Li_2025_CMIP7_hdm_0.5x0.5_simyr1850-2025_c251013.nc' + stream_meshfile_popdens = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/firedata/clmforc.Li_2017_HYDEv3.2_CMIP6_hdm_0.5x0_ESMFmesh_cdf5_100621.nc' + stream_year_first_popdens = 1850 + stream_year_last_popdens = 1850 + / + &urbantv_streams + stream_fldfilename_urbantv = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc' + stream_meshfile_urbantv = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1_ESMFmesh_cdf5_100621.nc' + stream_year_first_urbantv = 1850 + stream_year_last_urbantv = 1850 + urbantv_tintalgo = 'upper' + urbantvmapalgo = 'redist' + / + &light_streams + lightng_tintalgo = 'nearest' + lightngmapalgo = 'consf' + stream_fldfilename_lightng = '/glade/campaign/cesm/cesmdata/inputdata/atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_c160825.nc' + stream_meshfile_lightng = '/glade/campaign/cesm/cesmdata/inputdata/atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720_ESMFmesh_cdf5_150621.nc' + stream_year_first_lightng = 0001 + stream_year_last_lightng = 0001 + / + &atm2lnd_inparm + glcmec_downscale_longwave = .false. + lapse_rate = 0.006 + repartition_rain_snow = .true. + / + &lnd2atm_inparm + melt_non_icesheet_ice_runoff = .true. + / + &clm_canopyhydrology_inparm + use_clm5_fpi = .true. + / + &cnphenology + generate_crop_gdds = .false. + initial_seed_at_planting = 3.d00 + min_critical_dayl_method = 'DependsOnLat' + onset_thresh_depends_on_veg = .true. + use_mxmat = .true. + / + &cropcal_streams + cropcals_rx = .false. + cropcals_rx_adapt = .true. + model_year_align_cropcal_cultivar_gdds = 2000 + model_year_align_cropcal_swindows = 2000 + stream_fldfilename_cultivar_gdds = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/gdds_20230829_161011.tweaked_latlons.no_nan_fill.nc' + stream_fldfilename_gdd20_baseline = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/20230714_cropcals_pr2_1deg.actually2deg.1980-2009.from_GDDB20.interpd_halfdeg.tweaked_latlons.no_nan_fill.nc' + stream_fldfilename_swindow_end = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/swindow_ends_ggcmi_crop_calendar_phase3_v1.01.2000-2000.20231005_145103.tweaked_latlons.no_nan_fill.nc' + stream_fldfilename_swindow_start = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/swindow_starts_ggcmi_crop_calendar_phase3_v1.01.2000-2000.20231005_145103.tweaked_latlons.no_nan_fill.nc' + stream_gdd20_seasons = .false. + stream_meshfile_cropcal = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/360x720_120830_ESMFmesh_c20210507_cdf5.tweaked_latlons.no_nan_fill.nc' + stream_year_first_cropcal_cultivar_gdds = 2000 + stream_year_first_cropcal_swindows = 2000 + stream_year_last_cropcal_cultivar_gdds = 2000 + stream_year_last_cropcal_swindows = 2000 + / + &cnvegcarbonstate + initial_vegc = 100.d00 + / + &friction_velocity + zetamaxstable = 2.0d00 + / + &mineral_nitrogen_dynamics + freelivfix_intercept = 0.0117d00 + freelivfix_slope_wet = 0.0006d00 + / + &soilwater_movement_inparm + dtmin = 60. + expensive = 42 + flux_calculation = 1 + inexpensive = 1 + lower_boundary_condition = 2 + soilwater_movement_method = 1 + upper_boundary_condition = 1 + verysmall = 1.e-8 + xtolerlower = 1.e-2 + xtolerupper = 1.e-1 + / + &rooting_profile_inparm + rooting_profile_method_carbon = 1 + rooting_profile_method_water = 1 + / + &soil_resis_inparm + soil_resis_method = 1 + / + &bgc_shared + constrain_stress_deciduous_onset = .true. + / + &canopyfluxes_inparm + itmax_canopy_fluxes = 40 + use_biomass_heat_storage = .true. + use_undercanopy_stability = .false. + / + &clmu_inparm + building_temp_method = 1 + urban_explicit_ac = .true. + urban_hac = 'ON_WASTEHEAT' + urban_traffic = .false. + / + &clm_soilstate_inparm + organic_frac_squared = .false. + / + &clm_nitrogen + carbon_resp_opt = 0 + cn_evergreen_phenology_opt = 1 + cnratio_floating = .true. + lnc_opt = .true. + mm_nuptake_opt = .true. + reduce_dayl_factor = .false. + vcmax_opt = 3 + / + &clm_snowhydrology_inparm + lotmp_snowdensity_method = 'Slater2017' + reset_snow = .false. + reset_snow_glc = .false. + reset_snow_glc_ela = 1.e9 + snow_dzmax_l_1 = 0.03d00 + snow_dzmax_l_2 = 0.07d00 + snow_dzmax_u_1 = 0.02d00 + snow_dzmax_u_2 = 0.05d00 + snow_dzmin_1 = 0.010d00 + snow_dzmin_2 = 0.015d00 + snow_overburden_compaction_method = 'Vionnet2012' + wind_dependent_snow_density = .true. + / + &cnprecision_inparm + cnegcrit = -6.d+1 + ncrit = 1.d-9 + nnegcrit = -6.d+0 + / + &clm_glacier_behavior + glacier_region_behavior = 'single_at_atm_topo','UNSET','virtual','multiple' + glacier_region_ice_runoff_behavior = 'melted','UNSET','remains_ice','remains_ice' + glacier_region_melt_behavior = 'remains_in_place','UNSET','replaced_by_ice','replaced_by_ice' + / + &crop_inparm + baset_latvary_intercept = 12.0d00 + baset_latvary_slope = 0.4d00 + baset_mapping = 'varytropicsbylat' + / + &surfacealbedo_inparm + snowveg_affects_radiation = .true. + / + &tillage_inparm + tillage_mode = 'low' + / + &ch4par_in + finundation_method = 'TWS_inversion' + use_aereoxid_prog = .true. + / + &clm_humanindex_inparm + calc_human_stress_indices = 'FAST' + / + &cnmresp_inparm + br_root = 0.83d-06 + / + &cnfun_inparm + nfix_method = 'Bytnerowicz' + / + &photosyns_inparm + leafresp_method = 2 + light_inhibit = .true. + modifyphoto_and_lmr_forcrop = .true. + rootstem_acc = .false. + stomatalcond_method = 'Medlyn2011' + / + &cnfire_inparm + fire_method = 'li2024crujra' + / + &cn_general + dribble_crophrv_xsmrpool_2atm = .true. + / + &lifire_inparm + boreal_peatfire_c = 0.58d-4 + borpeat_fire_soilmoist_denom = 0.3d00 + bt_max = 0.98d00 + bt_min = 0.85d00 + cli_scale = 0.03d00 + cmb_cmplt_fact_cwd = 0.28d00 + cmb_cmplt_fact_litter = 0.5d00 + cropfire_a1 = 0.34d00 + defo_fire_precip_thresh_bdt = 0.6d00 + defo_fire_precip_thresh_bet = 3.0d00 + lfuel = 75.d00 + max_rh30_affecting_fuel = 95. + non_boreal_peatfire_c = 0.75d-4 + nonborpeat_fire_precip_denom = 6.5d00 + occur_hi_gdp_tree = 0.33d00 + pot_hmn_ign_counts_alpha = 0.010d00 + rh_hgh = 85.0d00 + rh_low = 30.0d00 + ufuel = 825.d00 + / + &ch4finundated + ch4finundatedmapalgo = 'redist' + stream_fldfilename_ch4finundated = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/finundated_inversiondata_0.9x1.25_c170706.nc' + stream_meshfile_ch4finundated = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/finundated_inversiondata_0.9x1_ESMFmesh_cdf5_130621.nc' + / + &exice_streams + stream_fldfilename_exice = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/exice_init_0.125x0.125_c20220516.nc' + stream_mapalgo_exice = 'nn' + stream_meshfile_exice = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/exice_init_0.125x0.125_ESMFmesh_cdf5_c20220802.nc' + use_excess_ice_streams = .true. + / + &clm_temperature_inparm + excess_ice_coldstart_depth = 0.5 + excess_ice_coldstart_temp = -3.15 + / + &soilbgc_decomp + soil_decomp_method = 'CENTURYKoven2013' + / + &clm_canopy_inparm + leaf_mr_vcm = 0.015d00 + / + &prigentroughness + prigentroughnessmapalgo = 'consf' + stream_fldfilename_prigentroughness = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/dustemisdata/Prigent_2005_roughness_0.25x0.25_cdf5_c260218.nc' + stream_meshfile_prigentroughness = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/dustemisdata/dust_0.25x0.25_ESMFmesh_cdf5_c240222.nc' + use_prigent_roughness = .true. + / + &carbon_isotope_streams + stream_fldfilename_atm_c13 = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/isotopes/ctsmforc.Graven.atm_delta_C13_CMIP7_global_1700-2023_yearly_v3.0_c251013.nc' + stream_fldfilename_atm_c14 = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/isotopes/ctsmforc.Graven.atm_delta_C14_CMIP7_360x720_1700-2023_yearly_v3.0_tweaked_latlons_c260108.no_nan_fill.nc' + stream_meshfile_atm_c14 = '/glade/campaign/cesm/cesmdata/inputdata/share/meshes/360x720_120830_ESMFmesh_tweaked_latlons_c20260108.nc' + stream_year_first_atm_c13 = 1850 + stream_year_first_atm_c14 = 1850 + stream_year_last_atm_c13 = 1850 + stream_year_last_atm_c14 = 1850 + / + &scf_swenson_lawrence_2012_inparm + int_snow_max = 2000. + n_melt_glcmec = 1.0d00 + / Adding/removing fields on your primary history file --------------------------------------------------- diff --git a/python/ctsm/lilac_build_ctsm.py b/python/ctsm/lilac_build_ctsm.py index 6137c636ce..93c403e507 100644 --- a/python/ctsm/lilac_build_ctsm.py +++ b/python/ctsm/lilac_build_ctsm.py @@ -26,7 +26,7 @@ # these are arbitrary, since we only use the case for its build, not any of the runtime # settings; they just need to be valid -_COMPSET = "I2000Ctsm50NwpSpAsRs" +_COMPSET = "I2000Ctsm50NwpSpAsRsGs" _RES = "f10_f10_mg37" _PATH_TO_TEMPLATES = os.path.join(path_to_ctsm_root(), "lilac", "bld_templates") diff --git a/python/ctsm/site_and_regional/run_tower.py b/python/ctsm/site_and_regional/run_tower.py index f6ac6c57a1..8028818e73 100755 --- a/python/ctsm/site_and_regional/run_tower.py +++ b/python/ctsm/site_and_regional/run_tower.py @@ -264,9 +264,9 @@ def main(description): res = "CLM_USRDAT" if run_type == "transient": - compset = "IHist1PtClm60Bgc" + compset = "IHist1PtClm60BgcRsGs" else: - compset = "I1PtClm60Bgc" + compset = "I1PtClm60BgcRsGs" # -- Looping over neon sites if neon_site_list: diff --git a/python/ctsm/test/test_unit_run_sys_tests.py b/python/ctsm/test/test_unit_run_sys_tests.py index ebe7af5fb9..0f454e5666 100755 --- a/python/ctsm/test/test_unit_run_sys_tests.py +++ b/python/ctsm/test/test_unit_run_sys_tests.py @@ -302,8 +302,8 @@ def test_getTestmodList_suite_unique(self): def test_getTestmodList_testname(self): """Ensure that _get_testmod_list() works correctly with full test name(s) specified""" testmod_list_input = [ - "ERS_D_Ld15.f45_f45_mg37.I2000Clm50FatesRs.izumi_nag.clm-crop", - "ERS_D_Ld15.f45_f45_mg37.I2000Clm50FatesRs.izumi_nag.clm-default", + "ERS_D_Ld15.f45_f45_mg37.I2000Clm60FatesRsGs.izumi_nag.clm-crop", + "ERS_D_Ld15.f45_f45_mg37.I2000Clm60FatesRsGs.izumi_nag.clm-default", ] target = ["clm-crop", "clm-default"] output = _get_testmod_list(testmod_list_input)