CTSM icon indicating copy to clipboard operation
CTSM copied to clipboard

Changes to improve vegetation health at high latitudes

Open olyson opened this issue 1 year ago • 1 comments

Description of changes

Goal is to improve vegetation health/survivability at high latitudes (address LMWG_dev discussion #3)

Specific notes

These changes include:

Remove snicar_snobc_intmix from EXPERIMENTAL endrun (allow it to be true) Remove flg_snoage_scl in SNICAR such that xdrdt can have an effect (fixes #2298 ) New parameter file and namelist values for clm5_1:

  1. snow_thermal_cond_method = Sturm1997 (default for clm5_1)
  2. snicar_snobc_intmix = .true. (default for clm5_1)
  3. ctsm51_params.c240201.nc is the new CTSM parameter file (changes: froot_leaf(11:12)=1.2, FUN_fracfixers(11:12)=1, xdrdt=5, scvng_fct_mlt_sf=0.5, snw_rds_refrz=1500, fresh_snw_rds_max=400)
  4. New history fields for coupler history verification (default off)
  5. Add snow5d_thresh_for_onset to parameter file, set to 0.2 for clm51 and 0.1 (unchanged) for clm50 and clm45.

Contributors other than yourself, if any: @wwieder , @dlawrenncar , @slevis-lmwg , LMWG members

CTSM Issues Fixed (include github issue #): LMWG_dev discussion #3 and #2298

Are answers expected to change (and if so in what way)? Yes, new climate

Any User Interface Changes (namelist or namelist defaults changes)? Yes, new namelist defaults including new parameter files: ctsm51_params.c240208.nc clm50_params.c240208.nc clm45_params.c240208.nc ctsm51_ciso_cwd_hr_params.c240208.nc

Testing performed, if any: Replicate simulation in LMWG_dev issue #51 as bfb when snow5d_thresh_for_onset on ctsm51_ciso_cwd_hr_params.c240208.nc was set to original value of 0.1.

aux_clm on Derecho: No unexpected failures. NLCOMP failures as expected. clm51 compsets fail baseline comparison as expected. clm50 and clm45 pass baseline comparisons as expected. These EXPECTED FAILURE tests passed: PASS SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.derecho_gnu.clm-default--clm-NEON-NIWO RUN time=62 (UNEXPECTED: expected FAIL) PASS SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.derecho_gnu.clm-NEON-MOAB--clm-PRISM RUN time=79 (UNEXPECTED: expected FAIL) PASS SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Fates.derecho_gnu.clm-FatesFireLightningPopDens--clm-NEON-FATES-NIWO RUN time=52 (UNEXPECTED: expected FAIL) PASS SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51Fates.derecho_gnu.clm-FatesPRISM--clm-NEON-FATES-YELL RUN time=35 (UNEXPECTED: expected FAIL) PASS SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm51SpRs.derecho_gnu.clm-default--clm-NEON-TOOL RUN time=33 (UNEXPECTED: expected FAIL)

olyson avatar Feb 06 '24 16:02 olyson

Just FYI on the latest I heard about the cesm2_3_beta17 tag. The next alpha tag is close to being done. And there are two tags after it. The first one has several CAM changes that need to come in that are likely a few weeks away. It would be really great to get this into cesm2_3_beta17, so hopefully that will give time for this to be figured out before then.

So the beta tag is roughly a few weeks to a month away...

ekluzek avatar Feb 22 '24 05:02 ekluzek

@olyson the scientific tests you ran look good. Is it worth discussing this?
Are we ready to bring this PR into main?

wwieder avatar Mar 05 '24 22:03 wwieder

Maybe we can discuss at our meeting tomorrow. I think it is probably as good as we can get it for now. A question that came up in the LMWG meeting was whether to do some kind of elevation threshold for the Sturm approach, but that would require more research, etc. And maybe that would be more important for high-resolution simulations. We'll also have to think about what initial file we'll want to use in conjunction with these changes in the next coupled model set of simulations.

olyson avatar Mar 05 '24 22:03 olyson

I agree, the alpine vs. tundra distinction is something that needs more scientific evaluation as we as conversations about SE support. I suggest we table this option for now. Moreover, for regional or point runs users can still switch between schemes using the namelist options.

We should discuss the initial condition question, however. Is a longer spinup needed to provide better initial conditions? Maybe this would be a good idea anyway if the 5.2 PR is close to coming to main? We can discuss tomorrow.

wwieder avatar Mar 05 '24 22:03 wwieder

I need to ./rimport the new params files.

@ekluzek I have the go-ahead to merge this to main (from @wwieder ).

slevis-lmwg avatar Mar 06 '24 17:03 slevis-lmwg

@slevis-lmwg cool! I moved it up in upcoming tags. @rgknox has the next tag for FATES history dimension control. And this should then be next.

ekluzek avatar Mar 06 '24 17:03 ekluzek

I will hold off running the test-suites until I update to dev172.

slevis-lmwg avatar Mar 06 '24 23:03 slevis-lmwg

@olyson could you look over my ChangeLog entry and let me know what you think?

slevis-lmwg avatar Mar 07 '24 19:03 slevis-lmwg

@ekluzek helped me resolve the ./manage_externals error with the following (I will post this in the CTSM_SE chat, too):

cd /src/fates
git fetch --all
cd ../..
./manage_externals/checkout_externals

Now I have submitted the test-suites.

slevis-lmwg avatar Mar 14 '24 20:03 slevis-lmwg

I was just looking at the test results on derecho for this which I assume is:

/glade/derecho/scratch/slevis/tests_0314-145540de

I noticed that there are differences with baseline for some Clm50 tests (all fates tests). Based on my original testing, I wouldn't expect this. My results showed no differences for all Clm50 tests. Do we know why these baseline comparisons fail?

olyson avatar Mar 14 '24 23:03 olyson

Sorry for overlooking that. I do not know why...

slevis-lmwg avatar Mar 14 '24 23:03 slevis-lmwg

Given the discussion I saw regarding fates externals, I wonder if it has something to do with that?

olyson avatar Mar 14 '24 23:03 olyson

I was about to say the same.

slevis-lmwg avatar Mar 14 '24 23:03 slevis-lmwg

I am open to suggestions on how to proceed @ekluzek

slevis-lmwg avatar Mar 14 '24 23:03 slevis-lmwg

Just noting that there are a couple of Clm45Fates DIFF failures as well.

olyson avatar Mar 14 '24 23:03 olyson

Here's the list of changed tests that I'm seeing (for non Clm51):

ERP_Ld9.f45_f45_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesColdAllVars ERS_D_Ld3_PS.f09_g17.I2000Clm50FatesRs.derecho_intel.clm-FatesCold ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.derecho_intel.clm-FatesCold ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold ERS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold ERS_Ld30.f45_f45_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesColdFixedBiogeo ERS_Ld30.f45_f45_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesColdSizeAgeMort ERS_Ld9.f10_f10_mg37.I2000Clm50FatesCruRsGs.derecho_intel.clm-FatesColdCH4Off SMS_D_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold SMS_D_Ld5.f10_f10_mg37.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold SMS_D_Ld5.f10_f10_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesCold SMS_D_Lm6_P256x1.f45_f45_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesCold SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold SMS_Ld5.f10_f10_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesCold SMS_Ld5_PS.f19_g17.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold

ekluzek avatar Mar 15 '24 14:03 ekluzek

I'm looking through this more closely, but I think that the change to "dr" should propogate into FATES results as well, which should explain the diffs.

https://github.com/ESCOMP/CTSM/pull/2348/files#diff-a313a6093d335d65fdb56abaedbbc3416f8b8f5f095f828ddd703f907d57526bR1659

rgknox avatar Mar 15 '24 15:03 rgknox

I'm looking through this more closely, but I think that the change to "dr" should propogate into FATES results as well, which should explain the diffs.

https://github.com/ESCOMP/CTSM/pull/2348/files#diff-a313a6093d335d65fdb56abaedbbc3416f8b8f5f095f828ddd703f907d57526bR1659

@olyson didn't think so according to this conversation, but - just in case - I'm trying SMS_Ld5_PS.f19_g17.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold (the last test in Erik's list above) as follows:

git checkout ctsm5.1.dev173
git switch -c ctsm5.1.dev173
./manage_externals/checkout_externals
vi SnowSnicarMod.F90

I changed line 1659 to what's in dev174 (same as Ryan's link in the last post).

slevis-lmwg avatar Mar 15 '24 15:03 slevis-lmwg

The last test returned: PASS SMS_Ld5_PS.f19_g17.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev174: FAIL SMS_Ld5_PS.f19_g17.I2000Clm50FatesRs.derecho_gnu.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev173: DIFF

Going up the above list of tests: PASS SMS_Ld5.f10_f10_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev174: FAIL SMS_Ld5.f10_f10_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev173: DIFF

PASS SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev174: FAIL SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev173: DIFF

BUT... I restored the code to dev173 and reran the very last test and got exactly the same result: PASS SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev174: FAIL SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold BASELINE /glade/campaign/cgd/tss/ctsm_baselines/ctsm5.1.dev173: DIFF

Which tells me that the dev173 baseline is wrong? We will meet to discuss in 4 minutes.

slevis-lmwg avatar Mar 15 '24 16:03 slevis-lmwg

@rgknox will rerun the dev173 baselines. Then I will rerun a clm45 + clm50 test on each machine (izumi + derecho) to confirm that things work.

slevis-lmwg avatar Mar 15 '24 17:03 slevis-lmwg

I reran the following tests and confirmed that Clm45 and Clm50 are bit-for-bit against dev173 now:

PASS SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.derecho_intel.clm-FatesCold BASELINE ctsm5.1.dev173:
PASS SMS_Ld5.f10_f10_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesCold BASELINE ctsm5.1.dev173:
PASS SMS_D_Ld5.f10_f10_mg37.I2000Clm50FatesRs.izumi_nag.clm-FatesCold BASELINE ctsm5.1.dev173:
PASS SMS_Ld5.f10_f10_mg37.I2000Clm45Fates.izumi_intel.clm-FatesCold BASELINE ctsm5.1.dev173:

slevis-lmwg avatar Mar 18 '24 17:03 slevis-lmwg