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.2.0 -- ctsm5.2.mksurfdata #2372

Merged
merged 683 commits into from
Apr 20, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
683 commits
Select commit Hold shift + click to select a range
7155d4e
Add tests for casper and izumi
ekluzek Oct 18, 2023
232297d
Add some tests on the node and task counts and restrict them to posit…
ekluzek Oct 18, 2023
c1e1e02
Remove subprocess so can call the namelist directly, test now works
ekluzek Oct 23, 2023
7cbe492
Add test for multi jobscript
ekluzek Oct 23, 2023
1609ff0
Add black commit to list
ekluzek Oct 23, 2023
9cb21e8
Get makefile working with updated script
ekluzek Oct 23, 2023
83bc76f
Introduce istocn = 3 and related code
slevis-lmwg Oct 23, 2023
d876d78
Get test to work with valid scenario, remove the uneeded all and stan…
ekluzek Oct 25, 2023
9f1a976
Default script names end with .sh
ekluzek Oct 25, 2023
bc3ed7c
A few more adjustments to get the list look like the supported grids …
ekluzek Oct 26, 2023
9935218
More adjustments to get the list right, don't do the ne120 SSP by def…
ekluzek Oct 26, 2023
a766c28
More adjustments to get the list right, don't do the ne120 SSP by def…
ekluzek Oct 26, 2023
2460482
More work at getting the existing build or not working
ekluzek Oct 26, 2023
6be1728
Fix fdyndat filename
ekluzek Oct 27, 2023
9ee7850
Merge suma lines that need not be separate
slevis-lmwg Oct 27, 2023
889c0cd
add 360x720cru to standard resolutions
ekluzek Oct 31, 2023
0d7264a
Remove comment that referred to past code history
slevis-lmwg Oct 31, 2023
0c2c886
Remove the grids that won't be used, add some of the new ones, make s…
ekluzek Nov 3, 2023
b7b52be
Merge branch 'ctsm5.2_makefile' of github.com:ekluzek/CTSM into ctsm5…
ekluzek Nov 3, 2023
352bd12
Merge branch 'ctsm5.2_makefile' of github.com:ekluzek/CTSM into ctsm5…
ekluzek Nov 3, 2023
dbfa9fa
Write out number of tasks as an attribute to the output file
ekluzek Nov 3, 2023
f9ef5a4
Add more to the git ignore for files in tools/mksurfdata_esmf
ekluzek Nov 3, 2023
61baf12
Reduce the number of nodes used for most cases, and make the SSP case…
ekluzek Nov 3, 2023
5179d62
Seperate out the SSP cases by single resolution, remove some of the s…
ekluzek Nov 3, 2023
c4420db
Updates for ./run_ctsm_py_tests --sys and --unit to pass
slevis-lmwg Nov 7, 2023
d42b32c
Add convert_ocean_to_land = .true. to MKSURFDATAESMF test for PASS
slevis-lmwg Nov 8, 2023
a0d014f
Black reformatging
slevis-lmwg Nov 8, 2023
42e6796
Update .git-blame-ignore-revs
slevis-lmwg Nov 8, 2023
00b6347
Merge remote-tracking branch 'escomp/ctsm5.2.mksurfdata' into ocn_v_w…
slevis-lmwg Nov 13, 2023
f532510
Correct accidental line-delete from resolving conflicts
slevis-lmwg Nov 13, 2023
960e951
New surfdata_1x1 and 5x5 files in /testinputs
slevis-lmwg Nov 13, 2023
9583b22
Merge pull request #2164 from slevis-lmwg/ocn_v_wetland_iss1886
slevis-lmwg Nov 13, 2023
e758538
Add valid units to fsurdat variables abm and gdp
slevis-lmwg Nov 15, 2023
f714c38
Merge remote-tracking branch 'escomp/ctsm5.2.mksurfdata' into ctsm5.2…
ekluzek Nov 16, 2023
cecf5d9
Remove scripts no longer needed with mksurfdata_esmf, and README docu…
ekluzek Nov 16, 2023
5220301
Remove res and hgrid from namelist definition, this is no longer need…
ekluzek Nov 16, 2023
d8ceaed
Fix unit test
ekluzek Jan 11, 2024
aa04d1f
black format
ekluzek Jan 11, 2024
14aebca
Add black reformat to ignore
ekluzek Jan 11, 2024
69c5866
Fix testinput path
ekluzek Jan 11, 2024
59d45d0
Be sure to save the original directory and change it it before deleti…
ekluzek Jan 11, 2024
4d77e89
Add PCT_OCEAN to config files so that the all-subset creation will al…
ekluzek Jan 11, 2024
d5e8f08
Merge pull request #2008 from ekluzek/ctsm5.2_makefile
ekluzek Jan 11, 2024
f9e0291
Add modify_smallville.sh for generating landuse.timeseries...smallville
slevis-lmwg Jan 12, 2024
79e6ab8
Update references to smallville fsurdat/landuse files; remove .ncl file
slevis-lmwg Jan 13, 2024
1b6ac0e
Update mksurfdata_esmf/Makefile to work with modify_smallville.sh
slevis-lmwg Jan 13, 2024
545cec5
Merge tag 'ctsm5.1.dev163' into ctsm5.1_dev163_derecho1
ekluzek Jan 16, 2024
0739abc
Rm fsurdat from two user_nl_clm files because default should suffice
slevis-lmwg Jan 16, 2024
ba75743
Bug-fix of a typo unrelated to this PR that just needs to get in
slevis-lmwg Jan 16, 2024
38e6645
Make error msg more helpful when PCT_OCEAN not present
slevis-lmwg Jan 16, 2024
cb78180
Modify ctsm_sci testlist so that it's handling the datasets according…
ekluzek Jan 18, 2024
3bcc337
Update tests, namelist defaults and tests for supported grids
ekluzek Jan 19, 2024
6c6f57e
Run through black
ekluzek Jan 19, 2024
cdc88ba
Add black format to git blame list
ekluzek Jan 19, 2024
4deab5b
Updates to the Makefile (not tested, yet)
slevis-lmwg Jan 19, 2024
730e976
Revisions from code review with Erik
slevis-lmwg Jan 19, 2024
1e0bca4
Merge pull request #2327 from ekluzek/ctsm5.1_dev163_derecho1
ekluzek Jan 23, 2024
2bfad30
Updates for "make all-subset" to complete successfully
slevis-lmwg Jan 23, 2024
6988570
Merge remote-tracking branch 'escomp/ctsm5.2.mksurfdata' into smallvi…
slevis-lmwg Jan 24, 2024
4be83a7
Add potveg to the list of files created
slevis-lmwg Jan 25, 2024
83fb3ba
Updates for generating all necessary fsurdat/landuse files
slevis-lmwg Jan 25, 2024
5638af2
Renamed an fsurdat according to a pending TODO
slevis-lmwg Jan 25, 2024
78a533c
One-line addition to ...jobscript_multi.py
slevis-lmwg Jan 25, 2024
9a14039
Updates for --vic option
slevis-lmwg Jan 26, 2024
342ca02
Mods suggested by @fang-bowen that fix the mksurdata_esmf build step
slevis-lmwg Jan 26, 2024
049ee01
Updates to the MKSURFDATAESMF test
slevis-lmwg Jan 26, 2024
159a977
Updates for mksurfdata_esmf to work as advertised
slevis-lmwg Jan 26, 2024
7bb22e1
Update number-of-nodes requested by the Makefile
slevis-lmwg Jan 26, 2024
085be20
Mods towards getting the Makefile to work (after first attempt)
slevis-lmwg Jan 26, 2024
db2820c
Mods towards getting the Makefile to work (after 2nd attempt)
slevis-lmwg Jan 26, 2024
fdff5d6
Mods towards getting the Makefile to work (2b)
slevis-lmwg Jan 26, 2024
f3cc3d5
Mods towards getting the Makefile to work (after 3rd attempt)
slevis-lmwg Jan 26, 2024
726531e
Mods towards getting the Makefile to work (after 4th attempt)
slevis-lmwg Jan 27, 2024
5a64daf
Mods towards getting the Makefile to work (after 5th attempt)
slevis-lmwg Jan 27, 2024
f56473b
Mods towards getting the Makefile to work (after 6th attempt)
slevis-lmwg Jan 27, 2024
abea471
Updates to help generate all fsurdat/landuse files without crashes
slevis-lmwg Jan 30, 2024
45e80c7
Updates to generate fsurdat/landuse files faster
slevis-lmwg Jan 30, 2024
e7e788f
Fix latest failure
slevis-lmwg Jan 31, 2024
60ab6d3
Updates to get missing files generated
slevis-lmwg Feb 1, 2024
2a7d6f9
Accounting for fsurdat/landuse filename changes throughout
slevis-lmwg Feb 2, 2024
137ac05
Correct the automated naming of landuse/fsurdat files
slevis-lmwg Feb 2, 2024
741900c
Updates from review with Erik
slevis-lmwg Feb 2, 2024
859f4e0
Updated namelist_defaults_ctsm.xml
slevis-lmwg Feb 2, 2024
c0b4782
Second pass at namelist_defaults_ctsm.xml
slevis-lmwg Feb 3, 2024
b7b433e
Update build-namelist_test.pl based on new available datasets
slevis-lmwg Feb 3, 2024
831c1aa
Update time stamp of several 1x1 files in namelist_defaults_ctsm.xml
slevis-lmwg Feb 4, 2024
365ac27
Make convert_ocean_to_land = .true. the default and improve error msg
slevis-lmwg Feb 4, 2024
6ea25a7
Update testlist with tests needed in ctsm_sci test-suite
slevis-lmwg Feb 5, 2024
e5617d0
Changes toward getting the MKSURFDATAESMF test to work
slevis-lmwg Feb 5, 2024
c5786a3
Remove ctsm_sci tests that run with clm45
slevis-lmwg Feb 5, 2024
4e1098b
Correction that I hope will fix this test failure
slevis-lmwg Feb 5, 2024
6e07229
Corrections based on ctsm_sci failures
slevis-lmwg Feb 5, 2024
73fd801
Corrections to testlist_clm.xml for izumi aux_clm suite
slevis-lmwg Feb 6, 2024
e196a1e
Correction to the previous commit's compsets
slevis-lmwg Feb 6, 2024
c40bacd
Updates to modify_singlept_site_neon.py to generate 5.2 fsurdat files
slevis-lmwg Feb 7, 2024
7d4a5d8
Updates to NEON fsurdat file names in namelist_defaults and elsewhere
slevis-lmwg Feb 7, 2024
d803f62
Path corrections for NEON aux_clm tests to pass on izumi
slevis-lmwg Feb 7, 2024
cb3a627
Update namelist_defaults for clm51cam6LndTuningMode tests to proceed
slevis-lmwg Feb 9, 2024
6fc655d
Remove USUMB test and testmods as obsolete
slevis-lmwg Feb 9, 2024
1692b65
Correct references to mpasa15-3 grid and fix RXCROPMATURITY test
slevis-lmwg Feb 9, 2024
22bebe7
Change two intel tests to gnu to get around issue 130...
slevis-lmwg Feb 9, 2024
34012d3
PE layout that worked for hcru & remove ssp4 test
slevis-lmwg Feb 10, 2024
b72fc24
Use P36x128 for the two mpasa15 grids
slevis-lmwg Feb 12, 2024
1f4611f
Adding SMS_Ld12_Mmpi-serial.1x1_urbanc_alpha... to the expected fails
slevis-lmwg Feb 13, 2024
494ad7c
Updating expected failures (+ adding an unrelated comment)
slevis-lmwg Feb 15, 2024
cdc9cca
Merge pull request #2318 from slevis-lmwg/smallville_iss1673
slevis-lmwg Feb 16, 2024
28151e2
Merge tag 'ctsm5.1.dev167' into ctsm5.2.mksurfdata
slevis-lmwg Feb 16, 2024
e463ccd
Merge tag 'ctsm5.1.dev168' into ctsm5.2.mksurfdata
slevis-lmwg Feb 17, 2024
dee1224
Correct a typo in .git-blame-ignore-revs
slevis-lmwg Feb 17, 2024
f1e6c99
File name corrections
slevis-lmwg Feb 17, 2024
25fa351
Update namelist_defaults_ctsm.xml and other files with ctsm5.2 datasets
slevis-lmwg Feb 21, 2024
8fb79c3
New update to fsurdat/lanuse paths for 1x1_ cases
slevis-lmwg Feb 21, 2024
bf9778e
Delete or comment out instances of mpasa15-3*
slevis-lmwg Feb 23, 2024
c70c969
Add check_dynpft_consistency = .false. to smallville hist tests
slevis-lmwg Feb 23, 2024
148f65e
Correct run status of an expected failure
slevis-lmwg Feb 23, 2024
bee02c5
New finidat files for tests to pass without use_init_interp = .true.
slevis-lmwg Feb 23, 2024
52f7858
New finidat for another test to pass without use_init_interp = .true.
slevis-lmwg Feb 24, 2024
1a504a6
Correct run status of another expected failure
slevis-lmwg Feb 24, 2024
7ff68c6
Use same PE layout for both hcru_hcru tests in ctsm_sci
slevis-lmwg Feb 24, 2024
c92cd77
Revisions from Keith Oleson's review
slevis-lmwg Mar 2, 2024
e22ac09
Merge tag 'ctsm5.1.dev171' into ctsm5.2.mksurfdata
slevis-lmwg Mar 4, 2024
fed2967
Initial pass at swapping clm5_1 physics for clm6_0, in some places li…
ekluzek Mar 9, 2024
1ed8f7a
More changes from clm51 to clm60
ekluzek Mar 9, 2024
25bc318
Move the clm51 testmods to clm60 versions, leaving only one clm51 nee…
ekluzek Mar 9, 2024
c3025e5
Use Clm60 compsets rather than Clm51
ekluzek Mar 9, 2024
76217f2
Fix problem where last line accidentally deleted, and run through black
ekluzek Mar 9, 2024
14a8c62
Add needed clm6_0 namelist options that allow the python sys tests to…
ekluzek Mar 9, 2024
8f3d90d
Fix two errors that @slevis-lmwg found
ekluzek Mar 13, 2024
dd864df
Correct the PtVg sections of gen_mksurfdata_namelist.xml
slevis-lmwg Mar 13, 2024
4e10b80
Remove namaelist defaults for tools
ekluzek Mar 13, 2024
4f40622
Remove namaelist defaults for tools
ekluzek Mar 13, 2024
c4bdf91
Clean up line-too-long pylint complaints.
samsrabin Mar 14, 2024
58e7f48
gen_mksurfdata_jobscript_multi.py: Remove unused n_p.
samsrabin Mar 14, 2024
51bfc44
gen_mksurfdata_jobscript_single.py: Remove unused import of sys.
samsrabin Mar 14, 2024
a47288a
test_sys_mesh_modifier.py: Fix fsurdat_in complaints.
samsrabin Mar 14, 2024
4fdcc81
gen_mksurfdata_namelist.py: Ignore warnings about missing netCDF4.Dat…
samsrabin Mar 14, 2024
31ed3a1
Resolve dangerous-default-value warnings.
samsrabin Mar 14, 2024
ab84f1f
Ignore wrong-import-order complaints.
samsrabin Mar 14, 2024
2751a1d
Refactor gen_mksurfdata_jobscript_single main() to under 50 statements.
samsrabin Mar 14, 2024
9455a33
Refactor gen_mksurfdata_jobscript_multi main() to under 50 statements.
samsrabin Mar 14, 2024
25c0007
Refactor gen_mksurfdata_namelist.py to get all functions under 100 st…
samsrabin Mar 14, 2024
e096358
Reformatting with black.
samsrabin Mar 14, 2024
31e5a39
Add previous commit to .git-blame-ignore-revs.
samsrabin Mar 14, 2024
a4235e1
Resolve import-related complaints in gen_mksurfdata_jobscript_single.py.
samsrabin Mar 14, 2024
cf25033
As we determined in #2372 the irrigation part is just vestiges of an …
ekluzek Mar 14, 2024
aa3ddba
Fix "gird" typo.
samsrabin Mar 15, 2024
d8b6a5d
gen_mksurfdata_namelist: Explain "pylint: disable=no-name-in-module,n…
samsrabin Mar 15, 2024
35b8de7
Update namelist based on @slevis-lmwg review, this is clearly easier …
ekluzek Mar 15, 2024
c2f9a98
Merge pull request #2424 from samsrabin/pylint-5.2
ekluzek Mar 15, 2024
4332a90
Merge tag 'ctsm5.1.dev174' into mergetodev174
ekluzek Mar 15, 2024
e4575ec
Point to NGEET repo for FATES
ekluzek Mar 16, 2024
6ad1cbb
Remove the now removed USUMC_nuopc test
ekluzek Mar 19, 2024
c8ec169
Fix the hostname matching to work on Derecho compute nodes
ekluzek Mar 19, 2024
2f8994b
Update to new synthetic Hillslope test file that @samrabin made based…
ekluzek Mar 21, 2024
a9f2ca1
Add a begining unit tester for the jobscript script
ekluzek Mar 26, 2024
ba7b49d
Add a check for the output batch on derecho that passes, and a check …
ekluzek Mar 26, 2024
4e7eaf8
Get unit test working and move checking into a subroutine
ekluzek Mar 26, 2024
96a3161
Fix pylint errors, run through black, make sure unit and sys tests pa…
ekluzek Mar 26, 2024
fd34f32
Move checking for executable and .env_mach_specific.sh file up to the…
ekluzek Mar 26, 2024
7dbe3d2
Refactor to move mpirun into it's own subroutine
ekluzek Mar 27, 2024
f7842be
Set derecho ncpus to 128, add failing tests for too many tasks
ekluzek Mar 27, 2024
64f5a0c
Get the unit test working
ekluzek Mar 27, 2024
9660667
Run black
ekluzek Mar 27, 2024
c6cf922
Add black to git-blame
ekluzek Mar 27, 2024
8315364
pylint/black update
ekluzek Mar 27, 2024
c1fe45a
pylint black changes
ekluzek Mar 27, 2024
ae455fa
Move walltime and a few other things only in the multi script and not…
ekluzek Mar 28, 2024
76f38c2
For the test to work with the latest externals, it needs to ask for a…
ekluzek Mar 28, 2024
51c4da1
Couple more features from multi over to single
ekluzek Mar 28, 2024
e662d8e
Fix parser for update
ekluzek Mar 28, 2024
d37213a
Have the multi script use a good portion of the single script to enab…
ekluzek Mar 28, 2024
91d880a
Make tasks-per-node not required as multi script was setup, and allow…
ekluzek Mar 28, 2024
5b30fda
Merge pull request #2427 from ekluzek/mergetodev174
ekluzek Mar 29, 2024
f0bc1a1
Merge tag 'ctsm5.1.dev175' into updatetodev175
ekluzek Mar 29, 2024
bd4977b
Get working, needed to remove the real_parameter things added in new …
ekluzek Mar 29, 2024
75382da
Merge tag 'alpha-ctsm5.2.mksrf.25_ctsm5.1.dev174' into addclm60
ekluzek Mar 29, 2024
3d36060
Fix test numbers and remove real files added as they were removed on …
ekluzek Mar 29, 2024
6622b68
Merge pull request #2447 from ekluzek/updatetodev175
ekluzek Mar 30, 2024
774d2f3
Merge tag 'alpha-ctsm5.2.mksrf.25_ctsm5.1.dev175' into addclm60
ekluzek Mar 30, 2024
fb54519
Fix test number
ekluzek Apr 1, 2024
5be997d
Simplify clm_start_type as done elsewhere
ekluzek Apr 1, 2024
b55ef25
Update documentation to refer to derecho rather than cheyenne
ekluzek Apr 1, 2024
d5dc4e8
Remove mention of mkmapdata files
ekluzek Apr 1, 2024
8a9132a
Remove more mentions of mkmapdata
ekluzek Apr 1, 2024
dffdb3e
Remove ctsm_case which isn't being used anymore. I checked and I bele…
ekluzek Apr 1, 2024
4dddeec
Remove scrip grid namelist items needed for mkmapdata
ekluzek Apr 1, 2024
2033097
Remove this file as the site_and_regional one is being used
ekluzek Apr 1, 2024
6902bfa
Update README file removing specific problems we ran into during deve…
ekluzek Apr 2, 2024
041cb8a
Update tools/mksurfdata_esmf/README
ekluzek Apr 2, 2024
b408d09
Change README file to markdown
ekluzek Apr 2, 2024
f60066a
Bring in Markdown formatting
ekluzek Apr 2, 2024
ae2eada
Work on markdown formatting
ekluzek Apr 2, 2024
024b680
More formatting
ekluzek Apr 2, 2024
3770072
Add some links to within document
ekluzek Apr 2, 2024
a350e49
Add some links, seperate lines for shell cmds
ekluzek Apr 3, 2024
468bf33
Remove cesm3_dev tests that are already part of aux_clm
ekluzek Apr 4, 2024
d35a535
Correct includes for clm60 testmods
ekluzek Apr 5, 2024
8c7c2e8
Add some expected fails, and increase wallclock limits on some tests
ekluzek Apr 5, 2024
73b0f90
Merge branch 'addclm60' of github.com:ekluzek/CTSM into addclm60
ekluzek Apr 5, 2024
ca7df34
Increase another wallclock time
ekluzek Apr 5, 2024
9d49e9e
Test list updates for clm60
ekluzek Apr 8, 2024
6c4e1a6
Pass in the build directory for mksurfdata_esmf from the case to the …
ekluzek Apr 8, 2024
665cf86
Black reformat
ekluzek Apr 8, 2024
bf06b87
Add black commit
ekluzek Apr 8, 2024
2fb8070
Move cesm3_dev testlist to aux_clm
ekluzek Apr 8, 2024
850f2bd
Remove izumi_nag for ne30 from prealpha list, make sure all prealpha …
ekluzek Apr 9, 2024
b904b5a
Update changelog files for ctsm5.2, also update UpdateChangeLog scrip…
ekluzek Apr 9, 2024
af3c7fb
Merge pull request #2417 from ekluzek/addclm60
ekluzek Apr 9, 2024
b32df77
Put new ctsm5.2 finidat files in initdata_esmf/ctsm5.2 directory
ekluzek Apr 10, 2024
ec9af2d
Just update mksurfdata_map to mksurfdata_esmf using VS code
ekluzek Apr 10, 2024
91a4906
remove some no longer needed mksurfdata_map settings
ekluzek Apr 10, 2024
c9f13bd
Remove comments about mksurfdata_map
ekluzek Apr 10, 2024
146d44a
Updates to ChangeLog from @slevis-lmwg review, and a few additions fr…
ekluzek Apr 10, 2024
5b1ee03
Add cam7.0 LND_TUNING options
ekluzek Apr 11, 2024
705d0c7
make default gen_mksurfdata generated scripts have a .sh extension
ekluzek Apr 11, 2024
9b5ef22
Remove the .sh exention from gen_mksurfdata_build.sh as one of the pa…
ekluzek Apr 11, 2024
6bfb9af
Remove mkmapdata and mksurfdata from the template file
ekluzek Apr 11, 2024
156fb3a
Merge tag 'ctsm5.1.dev176' into updatetodev176
ekluzek Apr 11, 2024
63bda08
Merge branch 'updatetodev176' of github.com:ekluzek/CTSM into updatet…
ekluzek Apr 11, 2024
7cd7f80
Update doc/ChangeLog
ekluzek Apr 12, 2024
babd281
Get namelist working
ekluzek Apr 12, 2024
ec7814c
Remove the unneeded PE layout changes
ekluzek Apr 12, 2024
91aadeb
Fix a mistake that got in
ekluzek Apr 16, 2024
98a0ea4
Add some needed cam4 and cam5 settings
ekluzek Apr 16, 2024
96ca8c1
Merge branch 'updatetodev176' of github.com:ekluzek/CTSM into updatet…
ekluzek Apr 16, 2024
e92db99
Add cam4/cam5 to LND_TUNING_MDOE
ekluzek Apr 16, 2024
8a255d0
Merge branch 'updatetodev176' of github.com:ekluzek/CTSM into updatet…
ekluzek Apr 16, 2024
0b239c2
Rename mksurfdata build script and add some error checking when the s…
ekluzek Apr 16, 2024
8e0334e
Add more existance tests of required scripts
ekluzek Apr 16, 2024
b5667fa
Add more error checking and get the test to work
ekluzek Apr 17, 2024
434edda
Add clm60 lndtuningmode for cam60 with ZDust
ekluzek Apr 17, 2024
f0f0743
Change test from clm51 to clm60
ekluzek Apr 17, 2024
fbe3285
Align compset wtih lnd_tuning_mode
ekluzek Apr 17, 2024
4f541fe
Merge branch 'updatetodev176' of github.com:ekluzek/CTSM into updatet…
ekluzek Apr 17, 2024
374f8b8
Remove debug test, and run through black
ekluzek Apr 17, 2024
b41171a
Add expected fail to a fates test that's documented for failing
ekluzek Apr 17, 2024
aca1530
Add one of the NEON tests in the fates testsuite to expected fail fo…
ekluzek Apr 17, 2024
172e746
Another FATES expected fail
ekluzek Apr 17, 2024
52bec1f
Another expected fails
ekluzek Apr 17, 2024
447d783
Merge branch 'updatetodev176' of github.com:ekluzek/CTSM into updatet…
ekluzek Apr 18, 2024
35404eb
Add expected fail for a MOSART test because it's using a Clm51 compse…
ekluzek Apr 19, 2024
6926f4b
Add more notes about the testlists
ekluzek Apr 19, 2024
ce6605c
Merge branch 'updatetodev176' of github.com:ekluzek/CTSM into updatet…
ekluzek Apr 19, 2024
78b2267
More expected fails because of long filenames
ekluzek Apr 19, 2024
7746e9f
Merge pull request #2464 from ekluzek/updatetodev176
ekluzek Apr 19, 2024
1c99a7b
Update the README files
ekluzek Apr 20, 2024
82b6a1c
More README and ChangeLog updates
ekluzek Apr 20, 2024
bf67eac
Also add this test to the RUN fail for #2373
ekluzek Apr 20, 2024
96ab1cb
Merge branch 'ctsm5.2.mksurfdata' of github.com:ESCOMP/CTSM into ctsm…
ekluzek Apr 20, 2024
da0dba0
Update change files
ekluzek Apr 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,11 @@ d866510188d26d51bcd6d37239283db690af7e82
8a168bb0895f4f2421608dd2589398e13a6663e6
183fc26a6691bbdf87f515dc47924a64be3ced9b
6fccf682eaf718615407d9bacdd3903b8786a03d
a0d014fae9550dd9ffbc934abd29ef16176f8208
c7b7ca1d94ac19abb9ecea9fb5b712ddbdd6645d
b565b55ce7a9f8d812a573d716a5fd3d78cfea81
fdf72cd011e2ba318987a1e100efc5a1847c9d04
de9a30bfbbec36f9dcacc4380005ab596da47af4
cda0cf1412212e6f4363e6e8eb39f74c944b454d
aa04d1f7d86cc2503b98b7e2b2d84dbfff6c316b
6c6f57e948bfa31e60b383536cc21663fedb8b70
21 changes: 14 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,25 +79,32 @@ test_driver_*.sh

# mksurfdata output
surfdata_*.log
surfdata_*.namelist
landuse.timeseries_*.namelist
*.namelist
mksurfdata.o*
landuse.timeseries_*.log
landuse_timeseries_*.txt
ctsm.input_data_list
ctsm.input_data_list.previous
*.stdout.txt.o*
/tools/mksurfdata_esmf/PET*
/tools/mksurfdata_esmf/job_name.o*
/tools/mksurfdata_esmf/mksurfdata_in
/tools/mksurfdata_esmf/surfdata_*.nc
/tools/mksurfdata_esmf/landuse.timeseries_*.nc
/tools/mksurfdata_esmf/mksurfdata_jobscript_multi
/tools/mksurfdata_esmf/mksurfdata_jobscript_single
/tools/mksurfdata_esmf/pio_iotype.txt
/tools/mksurfdata_esmf/*.sh
/tools/mksurfdata_esmf/mksrf_*.o*
/tools/mksurfdata_esmf/tool_bld
/tools/mksurfdata_esmf/pio_iotype.txt

# mksurfdata unit tests
unit_test_build

# Tools executables
/tools/mksurfdata_map/mksurfdata_map
/tools/mkprocdata_map/mkprocdata_map

# mksurfdata output files
/tools/mksurfdata_map/surfdata_*.nc
/tools/mksurfdata_map/landuse.timeseries_*.nc

# mkmapdata output files
/tools/mkmapdata/PET*.RegridWeightGen.Log
/tools/mkmapdata/regrid.*.out
Expand Down
6 changes: 3 additions & 3 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ Directory structure only for a CTSM checkout:
components -------- Other active sub-components needed for CTSM to run (river routing and land-ice models)
libraries --------- CESM libraries: MCT (Model Coupling Toolkit) and PIO
share ------------- CESM shared code
ccs_config -------- CIME configure files (for grids, compsets, and machines) for CESM

cime/scripts --------------- cesm/cime driver scripts

Expand Down Expand Up @@ -133,13 +134,12 @@ cime_config/usermods_dirs -------- Directories of sets of user-modification subd
test/tools/test_driver.sh -- Script for general software testing of
CTSM's offline tools.

tools/mksurfdata_map ---------- Directory to build program to create surface dataset
tools/mksurfdata_esmf --------- Directory to build program to create surface dataset
at any resolution.
tools/mkdatadomain ------------ Directory to build program to create datm7 or docn7
domain files from clm files.
tools/mkprocdata_map ---------- Process history data from unstructed grids to a gridded
format.
tools/mkmapgrids -------------- NCL script to create a SCRIP grid file for a regular lat/lon grid
tools/modify_fsurdat ---------- Script to modify existing surface datasets in standard ways
tools/ncl_scripts ------------ Directory of NCL and perl scripts to do various
tasks. Most notably to plot perturbation error growth
testing and to extract regional information from
Expand Down
84 changes: 53 additions & 31 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1961,9 +1961,12 @@ sub setup_logic_irrigate {
'use_crop'=>$nl_flags->{'use_crop'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
'sim_year'=>$nl_flags->{'sim_year'}, 'sim_year_range'=>$nl_flags->{'sim_year_range'}, );
if ( &value_is_true($nl->get_value('irrigate') ) ) {
$nl_flags->{'irrigate'} = ".true."
$nl_flags->{'irrigate'} = ".true.";
if ( $nl_flags->{'sim_year'} eq "PtVg" ) {
$log->fatal_error("irrigate=TRUE does NOT make sense with the Potential Vegetation dataset, leave irrigate=FALSE");
}
} else {
$nl_flags->{'irrigate'} = ".false."
$nl_flags->{'irrigate'} = ".false.";
}
}

Expand Down Expand Up @@ -2161,6 +2164,7 @@ sub setup_logic_subgrid {

my $var = 'run_zero_weight_urban';
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var);
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'convert_ocean_to_land');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'collapse_urban',
'structure'=>$nl_flags->{'structure'});
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'n_dom_landunits',
Expand Down Expand Up @@ -2383,17 +2387,15 @@ sub setup_logic_demand {
if ( $item eq "finidat" ) {
$log->fatal_error( "Do NOT put findat in the clm_demand list, set the clm_start_type=startup so initial conditions are required");
}
# For landuse.timeseries try with crop and irrigate on first, if found use it, otherwise try with exact settings
# For landuse.timeseries try with crop on first eise try with exact settings
# Logic for this is identical for fsurdat
if ( $item eq "flanduse_timeseries" ) {
$settings{'irrigate'} = ".true.";
$settings{'use_crop'} = ".true.";
$settings{'nofail'} = 1;
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
if ( $item eq "flanduse_timeseries" ) {
$settings{'nofail'} = 0;
$settings{'irrigate'} = $nl_flags->{'irrigate'};
$settings{'use_crop'} = $nl_flags->{'use_crop'};
if ( ! defined($nl->get_value( $item )) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
Expand Down Expand Up @@ -2436,8 +2438,8 @@ sub setup_logic_surface_dataset {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'},
'neon'=>$nl_flags->{'neon'}, 'neonsite'=>$nl_flags->{'neonsite'},
'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.", 'use_vichydro'=>$nl_flags->{'use_vichydro'},
'use_crop'=>".true.", 'glc_nec'=>$nl_flags->{'glc_nec'}, 'use_fates'=>$nl_flags->{'use_fates'}, 'nofail'=>1);
'sim_year'=>$nl_flags->{'sim_year'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
'use_crop'=>".true.", 'use_fates'=>$nl_flags->{'use_fates'}, 'nofail'=>1);
}
# If didn't find the crop version check for the exact match
my $fsurdat = $nl->get_value($var);
Expand All @@ -2447,17 +2449,9 @@ sub setup_logic_surface_dataset {
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'}, 'use_fates'=>$nl_flags->{'use_fates'},
'neon'=>$nl_flags->{'neon'}, 'neonsite'=>$nl_flags->{'neonsite'},
'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'}, 'nofail'=>1 );
if ( ! defined($fsurdat) ) {
$log->verbose_message( "Exact match of $var NOT found, searching for version with irrigate true" );
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.", 'use_fates'=>$nl_flags->{'use_fates'},
'sim_year'=>$nl_flags->{'sim_year'}, 'use_fates'=>$nl_flags->{'use_fates'},
'neon'=>$nl_flags->{'neon'}, 'neonsite'=>$nl_flags->{'neonsite'},
'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'} );
'use_crop'=>$nl_flags->{'use_crop'} );
}
#
# Expand the XML variables for NEON cases so that NEONSITE will be used
Expand Down Expand Up @@ -2507,11 +2501,17 @@ sub setup_logic_initial_conditions {
}
my $useinitvar = "use_init_interp";

my %settings;
my $use_init_interp_default = $nl->get_value($useinitvar);
$settings{$useinitvar} = $use_init_interp_default;
if ( string_is_undef_or_empty( $use_init_interp_default ) ) {
$use_init_interp_default = $defaults->get_value($useinitvar, \%settings);
$settings{$useinitvar} = ".false.";
}
if (not defined $finidat ) {
my $ic_date = $nl->get_value('start_ymd');
my $st_year = $nl_flags->{'st_year'};
my $nofail = 1;
my %settings;
$settings{'hgrid'} = $nl_flags->{'res'};
$settings{'phys'} = $physv->as_string();
$settings{'nofail'} = $nofail;
Expand Down Expand Up @@ -2548,12 +2548,6 @@ sub setup_logic_initial_conditions {
}
my $try = 0;
my $done = 2;
my $use_init_interp_default = $nl->get_value($useinitvar);
$settings{$useinitvar} = $use_init_interp_default;
if ( string_is_undef_or_empty( $use_init_interp_default ) ) {
$use_init_interp_default = $defaults->get_value($useinitvar, \%settings);
$settings{$useinitvar} = ".false.";
}
do {
$try++;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, %settings );
Expand Down Expand Up @@ -2600,14 +2594,24 @@ SIMYR: foreach my $sim_yr ( @sim_years ) {
}
} # SIMYR:
$settings{'sim_year'} = $closest_sim_year;
# Add options set here to the "$set" variable below...
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $useinitvar,
'use_cndv'=>$nl_flags->{'use_cndv'}, 'phys'=>$physv->as_string(), 'hgrid'=>$nl_flags->{'res'},
'sim_year'=>$settings{'sim_year'}, 'nofail'=>1, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
'use_fates'=>$nl_flags->{'use_fates'} );
$settings{$useinitvar} = $nl->get_value($useinitvar);
if ( ! &value_is_true($nl->get_value($useinitvar) ) ) {
if ( $nl_flags->{'clm_start_type'} =~ /startup/ ) {
$log->fatal_error("clm_start_type is startup so an initial conditions ($var) file is required, but can't find one without $useinitvar being set to true");
if ( $nl_flags->{'clm_start_type'} =~ /startup/ ) {
my $err_msg = "clm_start_type is startup so an initial conditions ($var) file is required,";
if ( defined($use_init_interp_default) ) {
$log->fatal_error($err_msg." but can't find one without $useinitvar being set to true, change it to true in your user_nl_clm file in your case");
} else {
my $set = "Relevent settings: use_cndv = ". $nl_flags->{'use_cndv'} . " phys = " .
$physv->as_string() . " hgrid = " . $nl_flags->{'res'} . " sim_year = " .
$settings{'sim_year'} . " lnd_tuning_mode = " . $nl_flags->{'lnd_tuning_mode'} .
"use_fates = " . $nl_flags->{'use_fates'};
$log->fatal_error($err_msg." but the default setting of $useinitvar is false, so set both $var to a startup file and $useinitvar==TRUE, or developers should modify the namelist_defaults file".$set);
}
}
} else {
my $stat = add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, "init_interp_attributes",
Expand All @@ -2616,15 +2620,15 @@ SIMYR: foreach my $sim_yr ( @sim_years ) {
'hgrid'=>$nl_flags->{'res'},
'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'}, 'nofail'=>1 );
if ( $stat ) {
$log->fatal_error("$useinitvar is NOT synchronized with init_interp_attributes");
$log->fatal_error("$useinitvar is NOT synchronized with init_interp_attributes in the namelist_defaults file, this should be corrected there");
}
my $attributes = $nl->get_value("init_interp_attributes");
my $attributes_string = remove_leading_and_trailing_quotes($attributes);
foreach my $pair ( split( /\s/, $attributes_string) ) {
if ( $pair =~ /^([a-z_]+)=([a-zA-Z._0-9]+)$/ ) {
$settings{$1} = $2;
} else {
$log->fatal_error("Problem interpreting init_interp_attributes: $pair");
$log->fatal_error("Problem interpreting init_interp_attributes from the namelist_defaults file: $pair");
}
}
}
Expand All @@ -2639,7 +2643,11 @@ SIMYR: foreach my $sim_yr ( @sim_years ) {
}
$finidat = $nl->get_value($var);
if ( &value_is_true($nl->get_value($useinitvar) ) && string_is_undef_or_empty($finidat) ) {
$log->fatal_error("$useinitvar is set BUT $var is NOT, need to set both" );
if ( ! defined($use_init_interp_default) ) {
$log->fatal_error("You set $useinitvar but a $var file could not be found for this case, try setting $var explicitly, and/or removing the setting for $useinitvar" );
} else {
$log->fatal_error("$useinitvar is being set for you but a $var was not found, so $useinitvar, init_interp_attributes, and finidat must not be set correctly for this configuration in the namelist_default file" );
}
}
} # end initial conditions

Expand Down Expand Up @@ -2843,6 +2851,13 @@ sub setup_logic_do_transient_lakes {

my $var = 'do_transient_lakes';

# Start by assuming a default value of '.true.'. Then check a number of
# conditions under which do_transient_lakes cannot be true. Under these
# conditions: (1) set default value to '.false.'; (2) make sure that the
# value is indeed false (e.g., that the user didn't try to set it to true).

my $default_val = ".true.";

# cannot_be_true will be set to a non-empty string in any case where
# do_transient_lakes should not be true; if it turns out that
# do_transient_lakes IS true in any of these cases, a fatal error will be
Expand All @@ -2866,7 +2881,7 @@ sub setup_logic_do_transient_lakes {
# Note that, if the variable cannot be true, we don't call add_default
# - so that we don't clutter up the namelist with variables that don't
# matter for this case
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var);
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, val=>$default_val);
}

# Make sure the value is false when it needs to be false - i.e., that the
Expand Down Expand Up @@ -2908,6 +2923,13 @@ sub setup_logic_do_transient_urban {

my $var = 'do_transient_urban';

# Start by assuming a default value of '.true.'. Then check a number of
# conditions under which do_transient_urban cannot be true. Under these
# conditions: (1) set default value to '.false.'; (2) make sure that the
# value is indeed false (e.g., that the user didn't try to set it to true).

my $default_val = ".true.";

# cannot_be_true will be set to a non-empty string in any case where
# do_transient_urban should not be true; if it turns out that
# do_transient_urban IS true in any of these cases, a fatal error will be
Expand All @@ -2931,7 +2953,7 @@ sub setup_logic_do_transient_urban {
# Note that, if the variable cannot be true, we don't call add_default
# - so that we don't clutter up the namelist with variables that don't
# matter for this case
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var);
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, val=>$default_val);
}

# Make sure the value is false when it needs to be false - i.e., that the
Expand Down
17 changes: 0 additions & 17 deletions bld/README
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,6 @@ build-namelist --- Build the namelists needed

env_run.xml --- Sample case runtime environment variables, so build-namelist can run outside of a case directory.

--------- Scripts to query namelist defaults
listDefaultNamelist.pl -- List the files needed, for a list of resolutions,
to run CLM that are currently NOT on your machine.
This file can then be used by
cime/CIME/Tools/check_input_data
to retreive them from the inputdata repository.
Setting up cases with create_newcase also does
this -- but only for the exact configuration
given. This tries to get all the files need
for several different resolutions and configurations
at once.
queryDefaultNamelist.pl - Query default namelist for settings of variables
queryDefaultXML.pm ------ Subroutines needed by queryDefaultNamelist.pl script


--------- Test scripts directory
unit_testers --- Directory of scripts to test scipts in this directory
(most notably build-namelist)
Expand All @@ -59,7 +44,5 @@ namelist_files/namelist_definition_drv_flds.xml --- Definition of add driver fie

---------- XML helper files
namelist_files/LogMessages.pm ---- Perl module to handle log output
namelist_files/checkmapfiles.ncl -- NCL script to check that all of the mapping files are valid
namelist_files/createMapEntry.pl -- Perl script to create a map entry for the
namelist_files/history_fields.xsl - Style sheet for history fields as created by script that lists all of the
history fields from the source files (../src/main/findHistFields.pl)
Loading
Loading