Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CTSM5.3.0: New raw pft/lai/glc-behavior/soilcolor/fire datasets #2500

Draft
wants to merge 70 commits into
base: master
Choose a base branch
from

Conversation

slevis-lmwg
Copy link
Contributor

@slevis-lmwg slevis-lmwg commented Apr 30, 2024

Description of changes

Updating gen_mksurfdata_namelist.xml, initially with temporary paths to the new raw data.

New surface datasets because of updates in PFT/LAI/soil-color datasets, as well as two fire datasets (AG fire, pearland and the glacier behavior dataset. Also bring in an updated "PPE informed, hand-tuned" parameter file. And turn on Li2024 fire method. Also updates to allow creating transient landuse timeseries files going back to 1700. Fix an important bug on soil fields that was there since ctsm5.2.0. This results in mkaurfdata_esmf giving identical answers with a change in number of processors. Add in creation of ne0np4.POLARCAP.ne30x4 surface datasets.

Asides: Remove VIC fields from surface datasets and testing. Add version to the surface datasets. Update the fire emissions factor dataset for the fire emissions testing in CTSM. Remove the --hires_pft option from mksurfdata_esmf as we don't have the datasets for it.

TODOs:

Specific notes

Contributors other than yourself, if any:
@lawrencepj1 @ekluzek @wwieder @adrifoster @samsrabin @billsacks @lifang0209 @linniahawkins @olyson

CTSM Issues Fixed (include github issue #):
Fixes #2723
Partly addresses #2720
Partly addresses #2752
Fixes #2452
Fixes #2570
Fixes #2618
Fixes #423
Fixes #2734
Fixes #2744
Fixes #2502
Resolves #2748

Are answers expected to change (and if so in what way)?
Yes, in generated fsurdat/landuse files.

Any User Interface Changes (namelist or namelist defaults changes)?
gen_mksurfdata_namelist.xml points to new datasets.

Testing performed, if any: will do release testing
In the first iteration generated new fsurdat/landuse files and ran the model (NCAR/LMWG_dev#59).
Second iteration in progress.
Now have updated datasets and verified with the build-namelist tester

Merge b4b-dev

Some fixes for run_neon that came up in ctsm5.1.dev172.
Small bug fix for units of vector format hillslope hydrology.
Start adding PLUMBER2 users-mods (NOT functional)
@slevis-lmwg slevis-lmwg self-assigned this Apr 30, 2024
@slevis-lmwg slevis-lmwg added the support tools only Only modifies offline support tools (example in tools/contrib) so less testing required label Apr 30, 2024
@ekluzek

This comment was marked as outdated.

@slevis-lmwg
Copy link
Contributor Author

@lawrencepj1 I requested a review from you, but we could go over this together at our next "pft/landuse tools" meeting.

@wwieder wwieder changed the title New raw pft/lai/soilcolor datasets CTSM5.3: New raw pft/lai/soilcolor datasets May 23, 2024
@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Jun 6, 2024

UPDATE appears in #2570.

Also address #2617 with this PR.

@slevis-lmwg
Copy link
Contributor Author

Update submodule tags to pass runoff from cism to rof

- Update MOSART, CMEPS, and CISM so CISM runoff goes to ROF rather than CTSM
- Update RTM with fix needed for Paleo LGM work

Contributors:
@mvertens, @jedwards4b, @billsacks, @Katetc, @ekluzek, @slevis-lmwg

 Fixes ESCOMP#2590 Update CMEPS/MOSART/CISM/RTM tags
 Fixes ESCOMP/RTM#50 Likely wrong RTM river flux to MOM6 within cesm2_3_beta17

 Differences in namelist 'mosart_inparm':
  missing variable: 'do_rtmflood'
  missing variable: 'finidat_rtm'
  missing variable: 'frivinp_rtm'
  missing variable: 'rtmhist_fexcl1'
  missing variable: 'rtmhist_fexcl2'
  missing variable: 'rtmhist_fexcl3'
  missing variable: 'rtmhist_fincl1'
  missing variable: 'rtmhist_fincl2'
  missing variable: 'rtmhist_fincl3'
  missing variable: 'rtmhist_mfilt'
  missing variable: 'rtmhist_ndens'
  missing variable: 'rtmhist_nhtfrq'
  found extra variable: 'budget_frq'
  found extra variable: 'fexcl1'
  found extra variable: 'fexcl2'
  found extra variable: 'fexcl3'
  found extra variable: 'fincl1'
  found extra variable: 'fincl2'
  found extra variable: 'fincl3'
  found extra variable: 'finidat'
  found extra variable: 'frivinp'
  found extra variable: 'mfilt'
  found extra variable: 'mosart_euler_calc'
  found extra variable: 'mosart_tracers'
  found extra variable: 'ndens'
  found extra variable: 'nhtfrq'
  found extra variable: 'use_halo_option'

Changes answers
- what code configurations: mosart and rtm
- what platforms/compilers: all
- nature of change: mosart roundoff; rtm larger than roundoff due to bug fix; the latter also affects bgc variables

 We are ignoring strange diffs from baseline in two tests in variable
 FATES_TRANSITION_MATRIX_LULU as explained in issue ESCOMP#2656.
Copy link
Contributor Author

@slevis-lmwg slevis-lmwg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewing my own PR to include some reminders.

python/ctsm/toolchain/gen_mksurfdata_namelist.py Outdated Show resolved Hide resolved
tools/mksurfdata_esmf/gen_mksurfdata_namelist.xml Outdated Show resolved Hide resolved
@slevis-lmwg slevis-lmwg added the priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations label Jul 25, 2024
@lawrencepj1
Copy link

Hi @slevis-lmwg

Just to let you know that the raw PFT data for the SSPs rebased to TRENDY 2024 starting in year 2015 are available at:

/glade/campaign/cesm/development/lmwg/landuse_source_data/CTSM53RawData
globalctsm53TRSSP119Deg025_240728
globalctsm53TRSSP126Deg025_240728
globalctsm53TRSSP245Deg025_240728
globalctsm53TRSSP370Deg025_240728
globalctsm53TRSSP460Deg025_240728
globalctsm53TRSSP585Deg025_240728

I have checked them and everything looks good.
Peter

image

image

image

@slevis-lmwg
Copy link
Contributor Author

Thank you @lawrencepj1

@ekluzek ekluzek added this to the ctsm5.3.0 milestone Aug 15, 2024
@ekluzek ekluzek changed the title CTSM5.3: New raw pft/lai/soilcolor datasets CTSM5.3.0: New raw pft/lai/soilcolor datasets Aug 15, 2024
@ekluzek
Copy link
Collaborator

ekluzek commented Aug 15, 2024

Same as mksrf_GlacierRegion_10x10min_nomask_cd5_c220131.nc but with
GLACIER_REGION=1 (Points outside Greenland itself but which might become
ice-covered in an evolving Greenland simulation) merged into
GLACIER_REGION 0, then 2 changed to 1 and 3 changed to 2. We are
removing the old GLACIER_REGION=1 even though this means we cannot
generate SMB in areas outside the initial CISM Greenland ice mask,
because it created problematic non-physical behavior. See
ESCOMP#423 for details.
@ekluzek
Copy link
Collaborator

ekluzek commented Sep 10, 2024

It looks like the file size limit is just shy of about 24GB as these are our current biggest files:

-rw-r--r-- 1 slevis cseg  24G Sep  9 15:24 surfdata_mpasa15_hist_2000_16pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 15:03 landuse.timeseries_C96_SSP2-4.5_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:47 landuse.timeseries_0.9x1.25_SSP5-8.5_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:46 landuse.timeseries_0.9x1.25_SSP4-6.0_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:45 landuse.timeseries_0.9x1.25_SSP4-3.4_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:44 landuse.timeseries_0.9x1.25_SSP3-7.0_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:43 landuse.timeseries_0.9x1.25_SSP2-4.5_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:42 landuse.timeseries_0.9x1.25_SSP1-2.6_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  25G Sep  9 14:41 landuse.timeseries_0.9x1.25_SSP1-1.9_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  26G Sep  9 16:08 surfdata_ne120np4.pg3_hist_2000_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  26G Sep  9 16:06 surfdata_ne120np4.pg3_hist_1850_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg  32G Sep  9 14:40 landuse.timeseries_0.9x1.25_hist_1700-2023_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg 114G Sep  9 14:59 landuse.timeseries_360x720cru_SSP2-4.5_1850-2100_78pfts_c240908.nc
-rw-r--r-- 1 slevis cseg 377G Sep  9 15:57 surfdata_mpasa3p75_hist_2000_16pfts_c240908.nc

Note, that for ctsm5.2.0 we have datasets up to 114G in svn inputdata with this one for example:

https://svn-ccsm-inputdata.cgd.ucar.edu/trunk/inputdata//lnd/clm2/surfdata_esmf/ctsm5.2.0/landuse.timeseries_360x720cru_SSP2-4.5_1850-2100_78pfts_c240216.nc

(Note, it also looks like we didn't rimport the ctsm5.2.0 mpasa3p75 dataset)

@ekluzek
Copy link
Collaborator

ekluzek commented Sep 10, 2024

I tried an export of the 114GB file and that worked fine. So this is input rather than output.

I also replicated the problem in rimport (on the 32GB file) and also tried using "svn import" by hand and that also failed. So I've verified the problem.

From this discussion:

https://stackoverflow.com/questions/4976868/what-causes-svn-error-413-request-entity-too-large

It looks like it's a server side issue for Apache HTTP. Which means I think it's NRIT/CGD, so I'll send them a ticket.

@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability PR status: work in progress science Enhancement to or bug impacting science and removed support tools only Only modifies offline support tools (example in tools/contrib) so less testing required labels Sep 11, 2024
@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Sep 11, 2024

I reran these tests on derecho:
PASS make black and make lint
PASS ./run_ctsm_py_tests -u and ./run_ctsm_py_tests -s
PASS ./build-namelist_test.pl

I have submitted the following tests on derecho:

./run_sys_tests -s aux_clm -c ctsm5.2.028 -g ctsm5.2.029a
./run_sys_tests -s ctsm_sci -c ctsm_sci-ctsm5.2.014 -g ctsm_sci-ctsm5.2.029a
./run_sys_tests -s mosart -c mosart1.1.02_ctsm5.2.007 -g mosart1.1.02-ctsm5.2.029a
./run_sys_tests -s rtm -c rtm1_0_80_ctsm5.2.007 -g rtm1_0_80-ctsm5.2.029a
./run_sys_tests -s fates -c fates-sci.1.78.2_api.36.0.0-ctsm5.2.027 -g fates-sci.1.78.2_api.36.0.0-ctsm5.2.029a

@slevis-lmwg
Copy link
Contributor Author

RTM test-suite OK
MOSART test-suite OK
aux_clm, ctsm_sci, fates still in progress

@slevis-lmwg
Copy link
Contributor Author

Starting to go through test failures.

  1. I'm finding that fsurdat files generated by subset-data are wrong, likely because I need to update the corresponding cfg file, so I'm starting with that.

@ekluzek
Copy link
Collaborator

ekluzek commented Sep 12, 2024

@slevis-lmwg and @samsrabin it looks like the branch currently doesn't have the latest fire method turned on. And it looks like the spinup simulations didn't have it either.

Currently namelist_defaults has this:

<fire_method               >li2021gswpfrc</fire_method>
<fire_method phys="clm5_0" >li2016crufrc</fire_method>
<fire_method phys="clm4_5" >li2014qianfrc</fire_method>

I think it should be:

<fire_method               >li2024crujra</fire_method>
<fire_method phys="clm5_0" >li2016crufrc</fire_method>
<fire_method phys="clm4_5" >li2014qianfrc</fire_method>

@samsrabin
Copy link
Collaborator

Looks like that was listed in the first paragraph of this issue, but never actually put on the task list :-/

@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Sep 12, 2024

@slevis-lmwg and @samsrabin it looks like the branch currently doesn't have the latest fire method turned on. And it looks like the spinup simulations didn't have it either.

@wwieder (cc: @olyson)
Regarding spinups, would you like me to repeat NCAR/LMWG_dev#65?

@ekluzek
Copy link
Collaborator

ekluzek commented Sep 12, 2024

@slevis-lmwg to throw my opinion out there. I think we redo the simulations after we are done with ctsm5.3.0 as a tag and just use the current IC files that are finished. We need to redo the simulations, and have new IC files, but that can be a post ctsm5.3.0 tag. Since, we want to get ctsm5.3.0 done before Derecho goes down, we don't have time to redo the IC files now. My 2 cents...

I suppose you could start AD spinup now, to get partly done over the weekend though. But, probably OK to wait until the final tag to make sure there isn't anything else missing.

@wwieder
Copy link
Contributor

wwieder commented Sep 12, 2024

I agree with @ekluzek here. let's focus on making the 5.3 tag and then when Derecho is back up we'll remake initial conditions (maybe even with CRUJRA that includes Antarctica!)

@slevis-lmwg
Copy link
Contributor Author

With updates from troubleshooting tests (though not with the merge of slevis-lmwg#13):

I reran these tests on derecho:
PASS make black and make lint
PASS ./run_ctsm_py_tests -u and ./run_ctsm_py_tests -s
PASS ./build-namelist_test.pl

and I have submitted these tests again on derecho:

./run_sys_tests -s aux_clm -c ctsm5.2.028 -g ctsm5.2.029b
./run_sys_tests -s ctsm_sci -c ctsm_sci-ctsm5.2.014 -g ctsm_sci-ctsm5.2.029b
./run_sys_tests -s mosart -c mosart1.1.02_ctsm5.2.007 -g mosart1.1.02-ctsm5.2.029b
./run_sys_tests -s rtm -c rtm1_0_80_ctsm5.2.007 -g rtm1_0_80-ctsm5.2.029b
./run_sys_tests -s fates -c fates-sci.1.78.2_api.36.0.0-ctsm5.2.027 -g fates-sci.1.78.2_api.36.0.0-ctsm5.2.029b
  • I hope that I fixed the first round, which was due to updates needed in the subset_data .cfg files.
  • I still expect failures due to old finidat files needing to be replaced, and possibly other failures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment