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

Starting point of SLIM in the cesm2_3 development version of CESM #49

Merged
merged 314 commits into from
Jun 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
314 commits
Select commit Hold shift + click to select a range
df09c61
nvegwcs, n*decomp, constrain_stress_deciduous_onset, reseed_dead_plants
slevis-lmwg Nov 3, 2022
d613ed3
Rm ndep; izumi nag test PASS
slevis-lmwg Nov 6, 2022
9b4d2eb
Rm fire; izumi nag test PASS
slevis-lmwg Nov 6, 2022
c5c3e00
Rm spinup; izumi nag test PASS
slevis-lmwg Nov 6, 2022
80a9410
Rm ch4; izumi nag test PASS; other izumi tests in progress
slevis-lmwg Nov 6, 2022
8a5cea1
Rm voc; izumi nag test PASS
slevis-lmwg Nov 7, 2022
7a7cde9
Rm drydep; izumi nag test PASS
slevis-lmwg Nov 7, 2022
c14674b
Rm urban (part 1); izumi nag test PASS
slevis-lmwg Nov 8, 2022
2625ad3
Rm most urban; cheyenne test-suite OK
slevis-lmwg Nov 14, 2022
a5e3aad
Merge branch 'cesm2_1_slim_slevis_rmdrydep' into cesm2_1_slim_slevis
slevis-lmwg Nov 14, 2022
1203ff8
Rm more urban; cheyenne test PASS
slevis-lmwg Nov 14, 2022
7dff3eb
Rm glc_mec; cheyenne test PASS
slevis-lmwg Nov 15, 2022
c74dd29
Rm glc_snow_persistence_max_days; cheyenne test PASS
slevis-lmwg Nov 15, 2022
ad8e593
Rm n_melt_glcmec; cheyenne test PASS
slevis-lmwg Nov 15, 2022
7925733
Rm glcmec_downscale_longwave & reset_snow_glc; cheyenne test PASS
slevis-lmwg Nov 15, 2022
0735b5d
Rm glacier_smb; cheyenne test PASS
slevis-lmwg Nov 15, 2022
7ad7759
Rm bareland_normalization; cheyenne test PASS
slevis-lmwg Nov 15, 2022
5648e81
Rm glc_do_dynglacier & glc_present; cheyenne test PASS
slevis-lmwg Nov 15, 2022
b9036bd
Rm canopyhydrol, snowpack, lnd2atm options & create_crop_landunit
slevis-lmwg Nov 15, 2022
157a9b0
Rm bgc_mode, soilwater_movem, rooting_prof, soil_resis, hydro switches
slevis-lmwg Nov 15, 2022
ce6fa5d
Rm dust; same cheyenne test PASS
slevis-lmwg Nov 15, 2022
e73afcb
Rm various params; cheyenne gnu test-suite OK
slevis-lmwg Nov 18, 2022
aba1e4b
Update CONTRIBUTING.md
marysa Nov 21, 2022
635671f
Update CONTRIBUTING.md
marysa Nov 21, 2022
0683bcb
Rm lnd2glc; also many history fields; cheyenne gnu test-suite OK
slevis-lmwg Nov 22, 2022
320bce1
Rm glc2lnd; cheyenne gnu test PASS
slevis-lmwg Nov 22, 2022
947cbe9
Rm handle_ice_runoff, maxpatch_pft; cheyenne gnu ERS test OK
slevis-lmwg Nov 23, 2022
07d121a
Rm glacier_region_ice_runoff_behavior; cheyenne gnu ERS test OK
slevis-lmwg Nov 28, 2022
d75f629
Rm soil_layerstruct; cheyenne gnu ERS test OK
slevis-lmwg Nov 28, 2022
e3ecc65
Rm melt_behavior; cheyenne gnu ERS test OK
slevis-lmwg Nov 28, 2022
d7e4699
Rm melt_replaced_by_ice, has_virtual_columns; cheyenne gnu ERS test OK
slevis-lmwg Nov 28, 2022
d9035f2
Rm most of ActiveLayerMod; cheyenne gnu ERS test OK
slevis-lmwg Nov 29, 2022
bcf9403
Rm all ActiveLayerMod; cheyenne gnu ERS test OK
slevis-lmwg Nov 29, 2022
46dd17d
Rm CanopyStateType; cheyenne gnu ERS test OK
slevis-lmwg Nov 29, 2022
4d07568
Rm some of WaterfluxType; cheyenne gnu ERS test OK
slevis-lmwg Nov 29, 2022
a300719
Rm most of WaterfluxType; cheyenne gnu ERS test OK
slevis-lmwg Nov 29, 2022
5a16feb
Rm some of WaterStateType; cheyenne gnu ERS test OK
slevis-lmwg Nov 30, 2022
3a0f9e3
Rm nbedrock; cheyenne gnu ERS test OK
slevis-lmwg Dec 1, 2022
8eba3af
Rm more bedrock stuff; cheyenne gnu ERS test OK
slevis-lmwg Dec 1, 2022
037b77d
Rm SoilHydrology stuff; cheyenne gnu ERS test OK
slevis-lmwg Dec 1, 2022
7a52b72
Rm SoilHydrology* & parts of SoilState*; cheyenne gnu ERS test OK
slevis-lmwg Dec 1, 2022
a61e2a9
Rm some of SoilState*; cheyenne gnu ERS test OK
slevis-lmwg Dec 2, 2022
8cd7ca1
Rm more SoilState*; cheyenne gnu ERS test OK
slevis-lmwg Dec 2, 2022
360bc8e
Rm most SoilState*; cheyenne gnu ERS test OK
slevis-lmwg Dec 2, 2022
b96e5ee
Begin to rm h2osoi_vol_col; cheyenne gnu ERS test OK
slevis-lmwg Dec 2, 2022
27d7361
Rm SoilState* + some WaterStateType; cheyenne gnu ERS test OK
slevis-lmwg Dec 3, 2022
ebc001a
Rm most InitAcc* & UpdateAcc* subroutines; cheyenne gnu ERS OK
slevis-lmwg Dec 5, 2022
8f32bc1
Rm much of SurfaceAlbedoType; cheyenne gnu ERS test OK
slevis-lmwg Dec 5, 2022
edf86dd
Rm most of TemperatureType; cheyenne gnu ERS test OK
slevis-lmwg Dec 5, 2022
3588ff1
Rm most EnergyFluxType + SolarAbsorbedType; cheyenne gnu ERS test OK
slevis-lmwg Dec 6, 2022
9eb38c8
Rm FrictionVelocityMod & subroutines rhoSat + lnd2atm; same ERS test OK
slevis-lmwg Dec 6, 2022
32264d8
Rm atm2lndMod, also a few more variables; cheyenne gnu ERS test OK
slevis-lmwg Dec 6, 2022
8e9a84f
Rm SolarAbsorbed, Waterflux, parts of TopoMod; cheyenne gnu ERS test OK
slevis-lmwg Dec 6, 2022
f425f29
Rm atm2lnd_params_* and related code; cheyenne gnu ERS test OK
slevis-lmwg Dec 6, 2022
d1e5c0b
Rm part of atm2lndType; cheyenne gnu ERS test OK
slevis-lmwg Dec 7, 2022
f7d12dd
Rm more of atm2lndType; cheyenne gnu ERS test OK
slevis-lmwg Dec 7, 2022
05971e4
Rm fert_cft and miscellaneous clean-up; cheyenne gnu ERS test OK
slevis-lmwg Dec 7, 2022
828d42b
Miscellaneous clean-up; cheyenne test-suite one test fails per compiler
slevis-lmwg Dec 8, 2022
3b8e9f0
Changed 2000_CMIP6_AMIP_1deg_ensemble testmods to coldstart
slevis-lmwg Dec 8, 2022
0f5a42e
Merge pull request #46 from slevisconsulting/cesm2_1_slim_slevis
slevis-lmwg Dec 9, 2022
1c3b28e
Merge remote-tracking branch 'escomp/cesm2_1_slim' into slim_in_dev_cime
ekluzek Dec 14, 2022
1d18fdb
Merge remote-tracking branch 'escomp/cesm2_1_slim' into slim_in_cime
ekluzek Dec 14, 2022
76a5ca3
Run through black
ekluzek Dec 14, 2022
d3410c0
When getting variables from the namelist make the variable name is an…
ekluzek Dec 14, 2022
69131d5
Run black and fix pylint
ekluzek Dec 14, 2022
d878726
Change compsets to follow the new CAM naming convention as well as po…
ekluzek Dec 15, 2022
f259401
Remove some variables so that it will compile
ekluzek Dec 15, 2022
4a1fd90
Remove nsegspc from the clm_inparm namelist, should just be in the sl…
ekluzek Dec 15, 2022
5b7b9d8
Remove paramfile and use_cn as @slevisconsulting was able to remove t…
ekluzek Dec 15, 2022
4b72a30
Hardwire glacier behavior to the default value
ekluzek Dec 15, 2022
b73f565
Remove shell_commands as the CLM_CO2 setting is not needed any more
ekluzek Dec 15, 2022
92ebc85
Change CLM_FORCE_COLDSTART=on to SLIM_START_TYPE cold
ekluzek Dec 15, 2022
d5ef29e
Fix compset and testmod names in testlist
ekluzek Dec 15, 2022
a620432
Fix some more tests
ekluzek Dec 15, 2022
fb04ba4
Fix some more tests
ekluzek Dec 15, 2022
3ab5aa7
gnu compiler required character strings to be of the same length
ekluzek Dec 15, 2022
219f013
Correct compset names for expected fails
ekluzek Dec 15, 2022
8553b99
Add shr_assert to check dimension bounds
ekluzek Dec 15, 2022
dc2e4c6
The current nsegspc default is 35 rather than 20
ekluzek Dec 15, 2022
36c6e52
Add message if use_noio is set
ekluzek Dec 16, 2022
c59aa61
Add back the writing and error checking on the startup type, and die …
ekluzek Dec 16, 2022
f8b2b41
Add back co2_type to the namelist as still needed for HIST_CAM compsets
ekluzek Dec 16, 2022
53b4853
Add co2_ppmv set to a constant 999.99 value, this is needed for one b…
ekluzek Dec 16, 2022
17c5bc9
Change the testing grids from the old form of f19_g16 to the new form…
ekluzek Dec 16, 2022
532dbd2
Rm ctsm's copy of t_rad_grc
slevis-lmwg Dec 17, 2022
8773ebd
Add some write to show why the SHR_ASSERT might be failing
ekluzek Dec 17, 2022
29d2014
Rm ctsm's copy of eflx_lwrad_out
slevis-lmwg Dec 17, 2022
efd78c7
Rm ctsm's copies of alb*
slevis-lmwg Dec 17, 2022
ab435db
Correct so the writes only happen if DEBUG==TRUE
ekluzek Dec 17, 2022
baa4ef5
Correct some of the expected fail testnames
ekluzek Dec 17, 2022
47e91b6
Rm ctsm's copy of h2osno (WaterStateType, lnd2atmMod)
slevis-lmwg Dec 20, 2022
9fe3031
Rm forc_flood, forc_po2, forc_pco2
slevis-lmwg Dec 20, 2022
f4d93d6
Rm volr* variables; same test as before didn't change answers
slevis-lmwg Dec 20, 2022
a8c2791
Rm TemperatureType; same test didn't change answers
slevis-lmwg Dec 21, 2022
a68ce1e
Rm zlak, dzlak and related vars; same test didn't change answers
slevis-lmwg Dec 21, 2022
263f8e4
Rm canyon_hwr & thick_* urban parameters; same test no difference
slevis-lmwg Dec 21, 2022
90a4894
Rm remaining co2 vars & forc_* vars not used; same test no diffs
slevis-lmwg Dec 21, 2022
931994d
Rm needs_downscaling and related code; same test no diffs
slevis-lmwg Dec 21, 2022
9a43328
Rm TopoMod and some of glc_behavior; same test no diffs
slevis-lmwg Dec 21, 2022
b88c88d
Rm more of glcBehaviorMod; same test no diffs
slevis-lmwg Dec 22, 2022
b34690b
Rm more glcBehaviorMod; same test no diffs
slevis-lmwg Dec 22, 2022
7fe359a
Merge pull request #62 from slevisconsulting/n12_baseline
slevis-lmwg Dec 23, 2022
2804b35
Rm subgrid-related code; same ERS test no diffs
slevis-lmwg Jan 4, 2023
0bbf13f
Rm initVertical; same ERS test no diffs except bogus levgrnd
slevis-lmwg Jan 4, 2023
96d56bc
Rm levgrnd from history; also rm surfrd_get_data & surfrdUtilsMod
slevis-lmwg Jan 4, 2023
473e9eb
Rm levsno, levlak, levtot, levsoi codes; same ERS test no diffs
slevis-lmwg Jan 4, 2023
2d349c7
Mv mml_main from main to biogeophys
slevis-lmwg Jan 6, 2023
12d3a37
Rm fsurdat; testing in progress
slevis-lmwg Jan 9, 2023
315fa98
Clean-up of code that triggered nag bld fail while passing other tests
slevis-lmwg Jan 9, 2023
2a903f5
Merge pull request #63 from slevisconsulting/cesm2_1_slim_slevis
slevis-lmwg Jan 10, 2023
fcc9d4e
Remove mml or MML prefix from SLIM history fields
slevis-lmwg Jan 10, 2023
77f2661
Merge pull request #66 from slevisconsulting/hist_names_rm_mml
slevis-lmwg Jan 11, 2023
d55dbd7
Add new do g = begg, endg loops in mml_main to get past error
slevis-lmwg Jan 13, 2023
7249d63
Combine the 3 new "do g" loops and extend them, plus add another
slevis-lmwg Jan 13, 2023
05fcdc7
Add another do g loop; outside of do g loops make array ranges explicit
slevis-lmwg Jan 14, 2023
3624bbc
Explicit begg:endg array ranges when possible & add assert statements
slevis-lmwg Jan 23, 2023
df5d75b
Repl. bounds_clump with bounds_proc in call mml_main; rm FHist testmods
slevis-lmwg Jan 24, 2023
a4f3717
Rm pgi tests and some references to them since pgi is obsolete
slevis-lmwg Jan 25, 2023
d79349b
Merge pull request #67 from slevisconsulting/mml_main_cleanup
slevis-lmwg Jan 25, 2023
1383b36
Change if statement for short term restarts to work
slevis-lmwg Feb 14, 2023
a4eb718
Add short term ERS test to cheyenne test-suite
slevis-lmwg Feb 15, 2023
ed8d271
Update if statement so that old tests are bfb and the new test passes
slevis-lmwg Feb 17, 2023
bd1063f
With previous commit, variables from surdat file need not be on restart
slevis-lmwg Feb 17, 2023
8f52cfb
I am starting SLIM's surdat_modifier from CTSM's fsurdat_modifier
slevis-lmwg Feb 17, 2023
0de90c6
surdat_modifier runs: it reads a surdat file and outputs the same file
slevis-lmwg Feb 18, 2023
16666df
Replace 1800 with dt and update comment
slevis-lmwg Feb 22, 2023
9c62ca0
Introducing 3-day f45 and f10-grid ERS test-suite tests
slevis-lmwg Feb 23, 2023
783dadd
Updates that permit idealized = True to work
slevis-lmwg Feb 23, 2023
fe4e101
Allow users to overwrite surdat variables with their own values
slevis-lmwg Feb 24, 2023
708eb7d
Pick surdat by hgrid automatically, without needing testmod directories
slevis-lmwg Feb 25, 2023
4fd821c
Add f09 surdat & tests; rm 1deg from testmod names; use if sec == 0
slevis-lmwg Feb 25, 2023
85ca353
Rename f09 tests to ERS_Ld3_P144x1 to override CAM's task/thread setting
slevis-lmwg Feb 27, 2023
3ec536a
Merge pull request #68 from slevisconsulting/failing_restarts_issue14
slevis-lmwg Feb 27, 2023
a4b3290
Merge remote-tracking branch 'escomp/cesm2_1_slim' into surdat_modifier
slevis-lmwg Feb 27, 2023
80ca0d8
Chg idealized defaults from zeros to values from global_uniform surdat
slevis-lmwg Feb 28, 2023
6111e84
Adding README to /tools using template from CTSM's /tools
slevis-lmwg Feb 28, 2023
7307e4b
Update comments in template.cfg file to make consistent with code
slevis-lmwg Feb 28, 2023
552e5a7
Add python/slim/__init__.py and replace some "ctsm" strings to "slim"
slevis-lmwg Mar 1, 2023
b0b3ab8
Add test_sys & test_unit + corresp. infrastructure for surdat_modifier
slevis-lmwg Mar 1, 2023
3f75cb1
Run pylint & black and make recommended changes
slevis-lmwg Mar 1, 2023
8ff33b0
Add allowed_values=[0, 1] to glc_mask
slevis-lmwg Mar 1, 2023
ffde244
Updating TODO comments
slevis-lmwg Mar 7, 2023
fb102ce
Drafts of new tools/mksurdat/README.mksurdat & of updated tools/README
slevis-lmwg Mar 7, 2023
157de64
New executable mksurdat; corresponding .py code doesn't exist, yet
slevis-lmwg Mar 7, 2023
adde05a
First draft of mksurdat_template.cfg
slevis-lmwg Mar 7, 2023
e0fa3ff
New /python/slim/mksurdat/__init__.py
slevis-lmwg Mar 7, 2023
1fc1eb3
Small updates to README.mksurdat and mksurdat_template.cfg
slevis-lmwg Mar 7, 2023
ddb163a
Remove unused function write_output because already exists in utils.py
slevis-lmwg Mar 7, 2023
10044f6
First drafts of mksurdat.py and history_average.py
slevis-lmwg Mar 8, 2023
a660274
Remove unnecessary imports due to previous most recent commit
slevis-lmwg Mar 8, 2023
d20554e
Merge branch 'surdat_modifier' into mksurdat_iss36
slevis-lmwg Mar 8, 2023
21fb82a
Add remaining surdat vars to output file, still with dummy history data
slevis-lmwg Mar 8, 2023
64a4ca8
Add TODO comment to history_average.py
slevis-lmwg Mar 9, 2023
2af189a
Rm unnecessary import and correct an error msg in modify_surdat.py
slevis-lmwg Mar 14, 2023
70aceed
Generate surdat files on the fly inst. of reading from /testinputs
slevis-lmwg Mar 14, 2023
8124af9
Define file modifications in one place for easier maintenance
slevis-lmwg Mar 15, 2023
0232d66
Change "idealized" option to "defaults"
slevis-lmwg Mar 15, 2023
bafcc32
Rm "if val is not None:" before calling set_monthly_values
slevis-lmwg Mar 15, 2023
abcb51f
Update tools/README and docstring in modify_surdat.py
slevis-lmwg Mar 15, 2023
59d1a05
Move sequential get_config_value calls into a loop to shorten code
slevis-lmwg Mar 16, 2023
23f8f04
Obtain allowed values for .cfg file from surdat_in vars directly
slevis-lmwg Mar 17, 2023
2e1ebc6
Reformatting by black
slevis-lmwg Mar 17, 2023
3ab5932
Merge remote-tracking branch 'escomp/cesm2_1_slim' into slim_in_cime
ekluzek Mar 17, 2023
0d0fb80
Remove the namelist variables that have been removed by @slevisconsul…
ekluzek Mar 17, 2023
01dbc65
Remove fsurdat that is no longer there, unit test now works
ekluzek Mar 17, 2023
2762750
Set COMPSET and remove clm_* namelist groups no longer needed, systes…
ekluzek Mar 17, 2023
d22b551
Read defaults from a .cfg file rather than hardwiring in the code
slevis-lmwg Mar 18, 2023
4c643d3
Reformatting by black
slevis-lmwg Mar 20, 2023
befd9e8
Merge branch 'surdat_modifier' into mksurdat_iss36
slevis-lmwg Mar 20, 2023
6cc4367
Replacing my python draft with a jupyter notebook approach
slevis-lmwg Mar 21, 2023
d186409
Updated README.mksurdat & mksurdat.ipynb; removed unnecessary files
slevis-lmwg Mar 22, 2023
27bf624
Update tools/README
slevis-lmwg Mar 22, 2023
f794b40
Move the testmod directory to slim as on the slim_in_cime branch
ekluzek Mar 22, 2023
4342630
Changes to compsets, testlist, and expected-fails from the slim_in_ci…
ekluzek Mar 22, 2023
e583085
Remove rtm from the externals
ekluzek Mar 22, 2023
c6416d2
Add metadata to surdat vars and clean up the notebook
slevis-lmwg Mar 22, 2023
45ccec9
Update cime version to one that allows slim to be in the testmod dire…
ekluzek Mar 23, 2023
2ef2578
Eliminate nans from evap_rs variable written to surdat file
slevis-lmwg Mar 23, 2023
be0d5d0
Correct subdirectory name to use slim now
ekluzek Mar 24, 2023
dd95502
Correct compset name
ekluzek Mar 24, 2023
48b10f0
These two tests seem to be working now
ekluzek Mar 24, 2023
4a0e3b9
Remove the exact restart tests from expected fails
ekluzek Mar 24, 2023
edd30ad
Minimum length for exact restart tests is 5 rather than 3
ekluzek Mar 24, 2023
e5f5958
Updated a few comments in the jupyter notebook
slevis-lmwg Mar 24, 2023
4da0375
Ensure int(mon) to prevent error message when mon used as array index
slevis-lmwg Mar 24, 2023
9a29416
Get allowed values directly from the netcdf variable attributes
slevis-lmwg Mar 24, 2023
2dd3793
Reformatting by black
slevis-lmwg Mar 24, 2023
13520e2
Merge branch 'surdat_modifier' into mksurdat_iss36
slevis-lmwg Mar 24, 2023
b305597
Set the PE layout for f10 to a single node, which is good for izumi/h…
ekluzek Mar 25, 2023
eb938c0
SOM tests must run ocean on the ocean grid
ekluzek Mar 25, 2023
f727b67
Fix compset was SOM should have been DOM
ekluzek Apr 9, 2023
afeff65
Remove options that aren't there anymore
ekluzek Apr 9, 2023
cc29f69
Add some comments for PE layouts, add a S layout for izumi, remove th…
ekluzek Apr 10, 2023
52a259d
ADd _PS to tests with izumi so that they will just use one node
ekluzek Apr 10, 2023
596e91b
Merge branch 'updatecompsetsandtestnames' of github.com:ekluzek/Simpl…
ekluzek Apr 10, 2023
3977100
Fix the tests
ekluzek Apr 10, 2023
46e09f1
Use PRES for CICE for F compsets
ekluzek Apr 11, 2023
1ec01ec
Shorten the DEBUG ER tests as we don't need longer restart tests anymore
ekluzek Apr 11, 2023
378e1c3
Fix test length
ekluzek Apr 12, 2023
845d83e
Update expected fails
ekluzek Apr 12, 2023
65724d5
Merge pull request #72 from ekluzek/updatecompsetsandtestnames
ekluzek Apr 12, 2023
99a0183
Merge remote-tracking branch 'escomp/cesm2_1_slim' into slim_in_cime
ekluzek Apr 13, 2023
1b6e1d0
Make sure all user_nl_clm files are renameed to user_nl_slim
ekluzek Apr 13, 2023
63d414b
Fix the conflicts that got commited
ekluzek Apr 13, 2023
864bfdd
Run build scripts through black
ekluzek Apr 13, 2023
86cb09d
Remove nlevsno and override_nsrest namelist items as now gone
ekluzek Apr 13, 2023
aaea467
Remove old CLM XML variables
ekluzek Apr 13, 2023
1a8d13f
Just have check_finidat_year_consistency in the finidat check namelist
ekluzek Apr 14, 2023
0b77533
Switch out instances of clm2 for slim which is important for archivin…
ekluzek Apr 14, 2023
5fe6c10
Update mml_surdat dataset for f09
ekluzek Apr 14, 2023
84a56f6
Remove the user-mod directories and put it all in the namelist_defini…
ekluzek Apr 14, 2023
159ecad
Add two fail tests to expected fail, that will fix in the next tag
ekluzek Apr 14, 2023
6e96b94
Merge pull request #31 from ekluzek/slim_in_cime
ekluzek Apr 14, 2023
c8d9d22
Update README files based on new operation
ekluzek Apr 15, 2023
b71491b
Update the testlist with testmods changed as compset now sets the SLI…
ekluzek Apr 15, 2023
fffbe0a
Move the standalone tests to their section, add in prealpha, prebeta,…
ekluzek Apr 15, 2023
2b67460
Don't need to restrict the fields anymore
ekluzek Apr 15, 2023
2ca8a6e
Remove the SLIM externals file, since there isn't anything specific f…
ekluzek Apr 15, 2023
77cbc94
FLTHIST compset needs to explicity set SLIM_SCENARIO to 2000 since HI…
ekluzek Apr 15, 2023
06f1a91
Change short test off of Monthly to default
ekluzek Apr 15, 2023
75813d6
Remove tests that were failing because it needed a test mod change
ekluzek Apr 15, 2023
7428da3
Make sure inherits from default so that history files will be double …
ekluzek Apr 15, 2023
d3cecf8
Add more notes about new test lists being added in
ekluzek Apr 15, 2023
0442448
Merge pull request #74 from ekluzek/modifytestdefs
ekluzek Apr 15, 2023
62c8099
Merge remote-tracking branch 'escomp/cesm2_1_slim' into slim_in_dev_cime
ekluzek Apr 15, 2023
c888337
Delete files that have been removed
ekluzek Apr 15, 2023
47d2e66
Make sure all tests have _Vmct in them and add one nuopc test that is…
ekluzek Apr 15, 2023
acbbeb4
Merge tag 'slim0.2.002_release-cesm2.1.4' into mksurdat_iss36
slevis-lmwg May 10, 2023
a13affd
Add missing import os
slevis-lmwg May 10, 2023
3ccea41
Merge pull request #71 from slevis-lmwg/mksurdat_iss36
slevis-lmwg May 24, 2023
91dc8ae
Merge remote-tracking branch 'escomp/cesm2_1_slim' into slim_in_dev_cime
ekluzek Jun 9, 2023
1783070
CICE5 needs to be explicitly pointed to
ekluzek Jun 9, 2023
342f939
Correct more CICE to CICE5
ekluzek Jun 9, 2023
1770381
Add the GENERATE test fails because of #79
ekluzek Jun 10, 2023
746813a
Correct expected fails and add nuopc test as expected fail
ekluzek Jun 10, 2023
7064b24
Point to cime branch hash that fixes the name of the SLIM testlist
ekluzek Jun 10, 2023
e17c898
Add missing_value and fill_value in more things in the history variab…
ekluzek Jun 10, 2023
eb2d7f8
Add some CAM6 CICE6 compsets
ekluzek Jun 12, 2023
7c5e949
Duplicate the CAM6-CICE5 tests with CAM6-CICE6 tests, do not know if …
ekluzek Jun 12, 2023
0fd9994
Make sure missing_value/fill_value is set correctly if defined
ekluzek Jun 12, 2023
488b818
Comment out writing of landmask because of #82
ekluzek Jun 12, 2023
cfde07c
Merge branch 'slim_in_dev_cime' of github.com:ekluzek/SimpleLand into…
ekluzek Jun 12, 2023
1129064
Turn off all of the CICE6 tests until we have a NUOPC cap as CICE6 re…
ekluzek Jun 12, 2023
e097bed
Bring over a change that went into CTSM from release-clm5.0.35 to cts…
ekluzek Jun 13, 2023
f967fee
Comment out definition of landmask as that caused problems with some …
ekluzek Jun 14, 2023
04ac267
Add some production ERI tests
ekluzek Jun 14, 2023
cd73ce8
Make sure all debug tests that can be on for izumi include nag
ekluzek Jun 14, 2023
094e39e
Add cheyenne ERI tests to expected fails
ekluzek Jun 14, 2023
10839b9
Remove Long ERS tests since fails because of CICE5
ekluzek Jun 14, 2023
44ad0ce
Add izumi ERI tests to expected fails, and remove f09 tests from izum…
ekluzek Jun 14, 2023
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
11 changes: 7 additions & 4 deletions .config_files.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@
<type>char</type>
<default_value>unset</default_value>
<values>
<value component="slim" >$SRCROOT</value>
<value component="dlnd" >$CIMEROOT/src/components/data_comps/dlnd</value>
<value component="slnd" >$CIMEROOT/src/components/stub_comps/slnd</value>
<value component="xlnd" >$CIMEROOT/src/components/xcpl_comps/xlnd</value>
<value component="slim" >$SRCROOT</value>
<value component="dlnd" comp_interface="mct" >$SRCROOT/components/cpl7/components/data_comps_mct/dlnd</value>
<value component="dlnd" comp_interface="nuopc">$SRCROOT/components/cdeps/dlnd</value>
<value component="slnd" comp_interface="mct" >$SRCROOT/components/cpl7/components/stub_comps_mct/slnd</value>
<value component="xlnd" comp_interface="mct" >$SRCROOT/components/cpl7/components/xcpl_comps_mct/xlnd</value>
<value component="slnd" comp_interface="nuopc">$CIMEROOT/src/components/stub_comps_nuopc/slnd</value>
<value component="xlnd" comp_interface="nuopc">$CIMEROOT/src/components/xcpl_comps_nuopc/xlnd</value>
</values>
<group>case_comps</group>
<file>env_case.xml</file>
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
manage_externals.log
cime/
components/
ccs_config/
libraries/
share/

# ignore svn directories
**/.svn/**
Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ We recommend that you first open an issue (https://github.com/escomp/ctsm/issues
discuss the changes or additions that you propose. You should also contact some of the responsible
individuals for SLIM and run by the changes with them.

Erik Kluzek -- Software Engineering ([email protected])
Marysa Legue -- Originator ([email protected])
Isla Simpson -- Principal Investigator ([email protected])
Erik Kluzek -- Software Engineering ([email protected])
Marysa Lague -- Originator ([email protected])
Isla Simpson -- Principal Investigator ([email protected])

Use the help from the wiki below to setup a fork and personal branch in GitHub to put your developments
on and keep up to date with the master branch of SLIM. Once the changes are sufficiently advanced you
can form a Pull Request on GitHub. Either from your fork on GitHub, or from the main ESCOMP GitHub page
for SLIM (be sure to hit the "compare across forks" link at the top of the page when you first create
the pull request).

https://github.com/ESCOMP/SLIM/pulls
https://github.com/ESCOMP/SimpleLand/pulls

This allows you to show your proposed changes and start getting feedback on them (even if they aren't finished).
This also allows your changes to be planned for and slated for a time to come into SLIM master. In most
Expand All @@ -23,7 +23,7 @@ additional testing and bring the changes to SLIM master.

#### SLIM Wiki:

https://github.com/ESCOMP/SLIM/wiki
https://github.com/ESCOMP/SimpleLand/wiki

#### Code of Conduct:

Expand Down
75 changes: 66 additions & 9 deletions Externals.cfg
Original file line number Diff line number Diff line change
@@ -1,32 +1,89 @@
[slm]
local_path = .
protocol = externals_only
externals = Externals_SLIM.cfg
required = True

[cam]
tag = cam_cesm2_1_rel_53
tag = cam6_3_071
protocol = git
repo_url = https://github.com/ESCOMP/CAM
local_path = components/cam
externals = Externals_CAM.cfg
required = True

[cice]
tag = cice5_cesm2_1_1_20190321
[cice6]
tag = cesm_cice6_2_0_22
protocol = git
repo_url = https://github.com/ESCOMP/CESM_CICE5
repo_url = https://github.com/ESCOMP/CESM_CICE
local_path = components/cice
externals = Externals.cfg
required = True

[cice5]
tag = cice5_20220204
protocol = git
repo_url = https://github.com/ESCOMP/CESM_CICE5
local_path = components/cice5
required = True

[ccs_config]
tag = ccs_config_cesm0.0.38
protocol = git
repo_url = https://github.com/ESMCI/ccs_config_cesm.git
local_path = ccs_config
required = True

[cdeps]
tag = cdeps0.12.65
protocol = git
repo_url = https://github.com/ESCOMP/CDEPS
local_path = components/cdeps
externals = Externals_CDEPS.cfg
required = True

[cmeps]
tag = cmeps0.13.71
protocol = git
repo_url = https://github.com/ESCOMP/CMEPS
local_path = components/cmeps
required = True

[cpl7]
tag = cpl7.0.14
protocol = git
repo_url = https://github.com/ESCOMP/CESM_CPL7andDataComps
local_path = components/cpl7
required = True

[share]
tag = share1.0.13
protocol = git
repo_url = https://github.com/ESCOMP/CESM_share
local_path = share
required = True

[mct]
tag = MCT_2.11.0
protocol = git
repo_url = https://github.com/MCSclimate/MCT
local_path = libraries/mct
required = True

[parallelio]
tag = pio2_5_7
protocol = git
repo_url = https://github.com/NCAR/ParallelIO
local_path = libraries/parallelio
required = True

[cime]
local_path = cime
protocol = git
#repo_url = https://github.com/ESMCI/cime
repo_url = https://github.com/ekluzek/cime
hash = 25ba7866ec4835b148aac9f83242d0bc6257da5e
#branch = add_slim_comp
#tag = cime6.0.71
hash = 9bbadb3b173c57f00ff8666790a474951e28391d
required = True

[externals_description]
schema_version = 1.0.0

schema_version = 1.0.01
3 changes: 0 additions & 3 deletions Externals_SLIM.cfg

This file was deleted.

36 changes: 33 additions & 3 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,45 @@ Important files in main directories:
=============================================================================================

Externals.cfg --------------- File for management of the main high level externals
Externals_SLIM.cfg ---------- File for management of the SLIM specific externals (if any)

=============================================================================================
QUICKSTART: using the CPL7 scripts:
Important main subdirectories
=============================================================================================

src --------------- SLIM Source code.
tools ------------- SLIM Offline tools to prepare input datasets and process output.
cime_config ------- Configuration files of cime for compsets and SLIM settings
manage_externals -- Script to manage the external source directories
py_env_create ----- Script to setup the python environment for SLIM python tools using conda
python ------------ Some python modules
components -------- Other active sub-components needed for SLIM to run (CAM and CICE)
libraries --------- CESM libraries: MCT (Model Coupling Toolkit) and PIO
share ------------- CESM shared code

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

=============================================================================================
SLIM XML variables:
=============================================================================================

SLIM_SCENARIO: Scenario to use, usually set by the compset
SLIM_START_TYPE: The start type to use, usually set by the RUN_TYPE

=============================================================================================
SLIM important namelist items:
=============================================================================================

mml_surdat -- Dataset of surface characteristics to use (usually set by the compset/grid)
finidat ----- Initial conditions to startup with
hist_nhtfrq - History file frequency of output

=============================================================================================
QUICKSTART: using the CPL7 scripts:
=============================================================================================

cd cime/scripts
./create_newcase # get help on how to run create_newcase
./create_newcase --case testI --res f19_g17 --compset I2000SlimRsGs --mach cheyenne
./create_newcase --case testI --res f19_f19_mg17 --compset I2000SlimRsGs
# create new "I" case for cheyenne_intel at 1.9x2.5_gx1v7 res
# "I2000SlimRsGs" case is SLIM active, datm8, and inactive ice/ocn/glc/rof
cd testI
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
Simple Land Model for CESM


For instructions on how to run SLIM on it's own or coupled to CESM on Cheyenne, see the Wiki.
For instructions on how to run SLIM on it's own or coupled to CESM on Cheyenne, see the Wiki, and the README file at the top of the
SLIM checkout.

To cite, please use:

Expand Down
2 changes: 2 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
================
SimpleLandModel
================

SLIM the Simple Land Interface Model coupled to CESM2
4 changes: 2 additions & 2 deletions README.testing
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
#
# The test list "aux_slim" is run as a test suite with the "create_test" script under cime/scripts
# as follows.
# NOTE: There are also tests for prealpha, prebeta for use with CESM testing
# And slim_sci to run a few standard tests for SLIM science
#
# Tests on cheyenne

Expand All @@ -24,6 +26,4 @@ nohup ./create_test --compare <baseline_comp> --generate <baseline_generate> mac
nohup ./create_test --compare <baseline_comp> --generate <baseline_generate> machine izumi -r cases \
--xml-category aux_slim --xml-machine izumi --xml-compiler gnu &
nohup ./create_test --compare <baseline_comp> --generate <baseline_generate> machine izumi -r cases \
--xml-category aux_slim --xml-machine izumi --xml-compiler pgi &
nohup ./create_test --compare <baseline_comp> --generate <baseline_generate> machine izumi -r cases \
--xml-category aux_slim --xml-machine izumi --xml-compiler intel &
51 changes: 31 additions & 20 deletions cime_config/buildlib
Original file line number Diff line number Diff line change
Expand Up @@ -3,77 +3,88 @@
"""
build slim ibrary
"""
import sys, os, time, filecmp, shutil, imp
import sys, os, time, filecmp

_CIMEROOT = os.environ.get("CIMEROOT")
if _CIMEROOT is None:
raise SystemExit("ERROR: must set CIMEROOT environment variable")

_LIBDIR = os.path.join(_CIMEROOT, "scripts", "Tools")
_LIBDIR = os.path.join(_CIMEROOT, "CIME", "Tools")
sys.path.append(_LIBDIR)

from standard_script_setup import *
from CIME.buildlib import parse_input
from CIME.build import get_standard_makefile_args
from CIME.case import Case
from CIME.utils import run_cmd, expect

logger = logging.getLogger(__name__)

###############################################################################
def _main_func():
###############################################################################
###############################################################################

caseroot, libroot, bldroot = parse_input(sys.argv)

with Case(caseroot) as case:

casetools = case.get_value("CASETOOLS")
makefile = os.path.join(casetools, "Makefile")
lnd_root = case.get_value("COMP_ROOT_DIR_LND")
gmake_j = case.get_value("GMAKE_J")
gmake = case.get_value("GMAKE")
mach = case.get_value("MACH")
gmake_opts = get_standard_makefile_args(case)
driver = case.get_value("COMP_INTERFACE").lower()
nthrds = case.get_value("LND_NTHRDS")

if ( nthrds > 1 ):
expect(False, "LND_NTHRDS must be 1 as threading isn't implemented (see issue #14)" )
if nthrds > 1:
expect(
False,
"LND_NTHRDS must be 1 as threading isn't implemented (see issue #14)",
)

#-------------------------------------------------------
# -------------------------------------------------------
# create Filepath file
#-------------------------------------------------------
compname = case.get_value("COMP_LND")
filepath_file = os.path.join(bldroot,"Filepath")
if not os.path.isfile(filepath_file):
caseroot = case.get_value("CASEROOT")
paths = [os.path.join(caseroot,"SourceMods","src.slim"),
expect( (compname == "slim"), "Unexpected COMP_LND name: %s" % (compname))
paths = [os.path.join(caseroot,"SourceMods","src."+compname),
os.path.join(lnd_root,"src","cpl",driver),
os.path.join(lnd_root,"src","main"),
os.path.join(lnd_root,"src","init_interp"),
os.path.join(lnd_root,"src","utils"),
os.path.join(lnd_root,"src","cpl")]

# Paths needed to build the current system, but won't be long term
paths.append( os.path.join(lnd_root,"src","biogeophys") )
paths.append( os.path.join(lnd_root,"src","biogeochem") )
paths.append( os.path.join(lnd_root,"src","soilbiogeochem") )
paths.append(os.path.join(lnd_root, "src", "biogeophys"))
paths.append(os.path.join(lnd_root, "src", "biogeochem"))
paths.append(os.path.join(lnd_root, "src", "soilbiogeochem"))

with open(filepath_file, "w") as filepath:
filepath.write("\n".join(paths))
filepath.write("\n")
#-------------------------------------------------------

# -------------------------------------------------------
# create the library in libroot
#-------------------------------------------------------
# -------------------------------------------------------

complib = os.path.join(libroot,"liblnd.a")
complib = os.path.join(libroot, "liblnd.a")
makefile = os.path.join(casetools, "Makefile")
macfile = os.path.join(caseroot, "Macros.%s" % mach)

cmd = "%s complib -j %d MODEL=slim COMPLIB=%s -f %s MACFILE=%s " \
% (gmake, gmake_j, complib, makefile, macfile )
cmd = "{} complib -j {} COMP_NAME={} COMPLIB={} -f {} {}" \
.format(gmake, gmake_j, compname, complib, makefile, gmake_opts )

rc, out, err = run_cmd(cmd)
logger.info("%s: \n\n output:\n %s \n\n err:\n\n%s\n"%(cmd,out,err))
logger.info("%s: \n\n output:\n %s \n\n err:\n\n%s\n" % (cmd, out, err))
expect(rc == 0, "Command %s failed with rc=%s" % (cmd, rc))


###############################################################################

if __name__ == "__main__":
logger.warning( "WARNING: buildlib is being called as a program rather than a subroutine as " +
"it is expected to be in the CESM context" )
_main_func()

11 changes: 8 additions & 3 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ SLIM namelist creator executable
"""
import sys, os

_SLIM_PYTHON = os.path.normpath( os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, 'python') )
_SLIM_PYTHON = os.path.normpath(
os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, "python")
)
sys.path.insert(1, _SLIM_PYTHON)

from slim import add_cime_to_path
Expand All @@ -22,9 +24,12 @@ def _main_func():

caseroot = parse_input(sys.argv)
level = logging.WARNING
setup_logging( level )
setup_logging(level)
with Case(caseroot) as case:
buildnml(case, caseroot, "slim")
compname = case.get_value("COMP_LND")
logger.warning( "WARNING: buildnml is being called as program rather than a subroutine " +
"as it is expected to be in the CESM context" )
buildnml(case, caseroot, compname)


if __name__ == "__main__":
Expand Down
6 changes: 5 additions & 1 deletion cime_config/config_component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<entry id="SLIM_SCENARIO">
<type>char</type>
<default_value>global_uniform</default_value>
<valid_values>global_uniform,realistic_from_1850,realistic_from_2000</valid_values>
<valid_values>global_uniform,realistic_from_1850,realistic_from_2000,user_defined</valid_values>
<values>
<value compset="2000.*" >realistic_from_2000</value>
<value compset="1850.*_" >realistic_from_1850</value>
Expand All @@ -40,6 +40,10 @@
<desc>SLIM namelist use_case scenario.
Determines the use-case scenario that will be used in the SLIM buildnml utility.
This is normally set by the component set.
'global_uniform' is for surface conditions are globally constant
'realistic_from_1850' are surface conditions taken from a 1850 control simulation with CTSM
'realistic_from_2000' are surface conditions taken from a 2000 control simulation with CTSM
'user_defined' means the user will provide their own surface condition file (mml_surdat)
</desc>
</entry>

Expand Down
Loading