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

add timestamp to rpointer files #2757

Open
wants to merge 136 commits into
base: b4b-dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
f63cc61
Merge tag 'ctsm5.2.001' into new_rawpftlai
slevis-lmwg Apr 25, 2024
24e9e19
Temporary updates of raw pft data in gen_mksurfdata_namelist.xml
slevis-lmwg Apr 30, 2024
5b40c48
removed unnecessary zeroing calls for fates history, they are called …
rgknox May 29, 2024
fbe292d
removing c13 from allvars until it is fixed
rgknox Jun 10, 2024
be904a7
using flush_allvars
rgknox Jun 10, 2024
34d7be9
removing unused use statements
rgknox Jun 10, 2024
1a0dc60
Merge tag 'ctsm5.2.015' into new_rawpftlai
slevis-lmwg Jul 23, 2024
a000f9c
Merge tag 'ctsm5.2.015' into fates-hist-flush
glemieux Jul 24, 2024
838ea5f
move fates and update land use history outputs
glemieux Jul 24, 2024
4728918
update fates satellite phenology test coverage
glemieux Jul 24, 2024
7303c61
CTSM5.3 updates to the mksurfdata_esmf namelist
slevis-lmwg Jul 24, 2024
6e05337
Remove obsolete comment
slevis-lmwg Jul 24, 2024
dc9996f
Minor yet important update to comments
slevis-lmwg Jul 25, 2024
d393cbf
update fates tag
glemieux Jul 26, 2024
cc96bed
fix fates history output type in LUH2 tests
glemieux Jul 27, 2024
3a47c5d
CTSM5.3 updates part 2 (incomplete because SSPs pending)
slevis-lmwg Aug 1, 2024
d5e1eef
CTSM5.3 updates part 2b (should have been in the prev. commit)
slevis-lmwg Aug 1, 2024
61d9983
CTSM5.3 updates part 3 (SSPs)
slevis-lmwg Aug 2, 2024
25a0c7a
New GlacierRegion dataset
billsacks Aug 15, 2024
e8b91fe
Update glacier_region namelist items for new GLACIER_REGIONS
billsacks Aug 16, 2024
0b5888d
Update abm and peatf rawdata file names in gen_mksurfdata_namelist.xml
slevis-lmwg Aug 22, 2024
9bcfcff
Keep GLACIER_REGION=1 unused
billsacks Aug 22, 2024
4d808bc
Update documentation for new glacier regions
billsacks Aug 22, 2024
23c32ec
Add a note in documentation.
billsacks Aug 22, 2024
980bc16
Improve documentation of glacier region namelist options
billsacks Aug 22, 2024
a14758b
Change logic to account for new allowed / disallowed behavior combos
billsacks Aug 22, 2024
1e803f2
Fix regridding of glacier region
billsacks Aug 24, 2024
8239120
Merge pull request #6 from billsacks/new_rawpftlai_fix_glacier_region
slevis-lmwg Aug 26, 2024
c37fcd6
Merge tag 'ctsm5.2.026' into new_rawpftlai
slevis-lmwg Aug 26, 2024
40aacf6
Merge remote-tracking branch 'slevis-lmwg/PPE_b4b-dev' into new_rawpf…
slevis-lmwg Aug 26, 2024
37d0e8f
Update clm6 param file to new one from Sam R.
slevis-lmwg Aug 26, 2024
aa26cc5
Merge tag 'ctsm5.2.027' into fates-hist-flush
glemieux Aug 29, 2024
9afb921
update fates tag to latest
glemieux Aug 29, 2024
44a7e34
Update new ctsm60_params file and ./rimport
slevis-lmwg Aug 29, 2024
61fa717
Update default fire_emis_factors_file.
samsrabin Aug 29, 2024
6be8c55
Add global attribute write of dataset compatability as a floating poi…
ekluzek Aug 29, 2024
92510bb
Update new raw dataset paths to /inputdata
slevis-lmwg Aug 29, 2024
cc86114
Update user_nl_clm to ctsm60_params_cn30.c240822.nc in ...CN30 testmod
slevis-lmwg Aug 29, 2024
743c0be
Merge tag 'ctsm5.2.027' into new_rawpftlai
slevis-lmwg Aug 29, 2024
e908083
Remove --vic option from mksurfdata_esmf and from testlist_clm
slevis-lmwg Aug 30, 2024
1d87ee5
Rm the --hires_pft option while the corresponding raw data need updating
slevis-lmwg Aug 30, 2024
b6a9862
Updates and cleanup for make all to work
slevis-lmwg Aug 30, 2024
df36ab3
Small corrections for all python tests to pass
slevis-lmwg Aug 30, 2024
615dff4
Updates to the datasets generated by make all
slevis-lmwg Aug 30, 2024
7118d70
Add a check for compatibility based on the version in the surface dat…
ekluzek Aug 31, 2024
744830e
Update from ctsm52 to ctsm53 NOANTHRO raw dataset
slevis-lmwg Sep 3, 2024
852462c
Remove obsolete comment from namelist_defaults_ctsm
slevis-lmwg Sep 3, 2024
90a5cf0
Remove error about surface datasets
ekluzek Sep 4, 2024
703c291
Add comments about dataset verison
ekluzek Sep 4, 2024
a0a2dfa
Makefile updates in preparation for running make all for ctsm5.3
slevis-lmwg Sep 4, 2024
46b891a
Update to new finidats from latest ctsm5.3 spin-up
slevis-lmwg Sep 5, 2024
d59dd24
Add placeholder for making fsurdat files for tower sites
slevis-lmwg Sep 5, 2024
04d45c7
add changelog
glemieux Sep 5, 2024
9a6cd44
correct changelog and sum author
glemieux Sep 5, 2024
0fd3d41
Change name of the subroutine for the surface dataset compatibility c…
ekluzek Sep 5, 2024
064886f
Merge pull request #8 from ekluzek/add_version_to_srf_datasets
ekluzek Sep 5, 2024
9b26582
Merge pull request #7 from samsrabin/emission-factors-20240829
slevis-lmwg Sep 5, 2024
249f850
Update date in change files
ekluzek Sep 5, 2024
b4199d8
Merge pull request #2594 from rgknox/fates-hist-flush
ekluzek Sep 5, 2024
ab90f43
Merge tag 'ctsm5.2.028' into new_rawpftlai
ekluzek Sep 5, 2024
17be631
Merge branch 'new_rawpftlai' of github.com:slevis-lmwg/CTSM into new_…
ekluzek Sep 5, 2024
6baba6f
Start getting the template for the ctsm5.3.0 ChangeLog
ekluzek Sep 6, 2024
d6b2d8f
Update datasets to ctsm5.3.0 directory and change _c240216 to _c240905
ekluzek Sep 6, 2024
fa3fb4d
Update _c240221 to _c240905
ekluzek Sep 6, 2024
ffdd332
Fix uninitialized mask values
billsacks Sep 6, 2024
10319de
Get mapunit_value_max across all processors
billsacks Sep 6, 2024
ec13406
Change _c240425 and _c240613 to _c240905
ekluzek Sep 6, 2024
0c68f2e
Add a comment
billsacks Sep 7, 2024
b85e0f7
Merge pull request #9 from billsacks/investigate_soiltex
slevis-lmwg Sep 9, 2024
724c7c3
Update fsurdat in Hillslope testmod.
samsrabin Sep 9, 2024
df3b6a5
Update fsurdat in Hillslope testmod w/ Dataset_Version.
samsrabin Sep 9, 2024
7dc1cd9
Update fsurdat in Hillslope testmod w/ real fsurdat.
samsrabin Sep 9, 2024
61e9820
Update surface datasets to latest date, verify that the build-namelis…
ekluzek Sep 10, 2024
c06e816
Update path to synthetic hillslope fsurdat.
samsrabin Sep 10, 2024
e5d96a0
Merge pull request #12 from samsrabin/update-hillslope-fsurdat-5.3
slevis-lmwg Sep 10, 2024
65dc3ce
Update NEON datasets, remove double setting of NEON sites in namelist…
ekluzek Sep 11, 2024
42ec043
Add tests for the PLUMBER2 sites
ekluzek Sep 11, 2024
5e693f8
Merge remote-tracking branch 'slevis-lmwg/new_rawpftlai' into new_sur…
ekluzek Sep 11, 2024
9c4e66a
Update the PLUMBER2 datasets to ctsm5.3.0
ekluzek Sep 11, 2024
10ffe8a
Also run FATES for the NEON sites
ekluzek Sep 11, 2024
01476b6
Merge pull request #10 from ekluzek/new_surf_in_namelist_defaults
ekluzek Sep 11, 2024
aa469b1
More updates, add in another double tag ctsm5.2.029 to document just …
ekluzek Sep 11, 2024
a4d105d
Update README.md about generating NEON and PLUMBER2 fsurdat files
slevis-lmwg Sep 12, 2024
2f5bd73
Finish the ctsm5.2.029 section
ekluzek Sep 12, 2024
3c0bda1
Merge remote-tracking branch 'slevis-lmwg/new_rawpftlai' into changel…
ekluzek Sep 12, 2024
dc3317d
Replace default fire_method li2021gswpfrc with li2024crujra.
samsrabin Sep 12, 2024
92b76e7
Remove FireLi2024CruJra test from aux_clm, since it's now default.
samsrabin Sep 12, 2024
efd35d7
Merge pull request #13 from samsrabin/enable-li2024
slevis-lmwg Sep 12, 2024
317dc11
Updates from troubleshooting failing tests
slevis-lmwg Sep 13, 2024
90a5ae9
All IC files need to have use_init_interp set to TRUE
ekluzek Sep 14, 2024
2b0e886
Remove or update surface datasets that were for ctsm5.2.0, and for te…
ekluzek Sep 14, 2024
010b10d
Add --nofireemis to tests with Sp compsets, and remove the mpas15-3 r…
ekluzek Sep 14, 2024
47d9ee0
Merge branch 'new_rawpftlai' of github.com:slevis-lmwg/CTSM into new_…
ekluzek Sep 14, 2024
d3c6926
Correct date for file
ekluzek Sep 14, 2024
47178e7
Add handling of excess_ice to the picking of initial condition files
ekluzek Sep 15, 2024
7710514
update description
ekluzek Sep 16, 2024
32897dc
Changes suggested by @samrabin to get 16pft surface datasets to work …
ekluzek Sep 17, 2024
5f91d5c
Fix syntax error in testlist and corect nofireemis testmod
ekluzek Sep 17, 2024
aa3bda9
Update bassed on ctsm5.3.0
ekluzek Sep 18, 2024
eb8816e
Remove mkprocdata, rename README.filecopies to just under mksurfdata_…
ekluzek Sep 18, 2024
1f97cb1
Remove mention of mkprocdata_map from README files
ekluzek Sep 18, 2024
f045358
Remove mention of mkprocdata and the FORTRAN tool build from the user…
ekluzek Sep 18, 2024
4247294
Get working for 78 or 16 pft surface datasets, as well as 16 or 78 pf…
ekluzek Sep 19, 2024
23192c6
Apply last suggestion from @samrabin removing the npfts module variab…
ekluzek Sep 19, 2024
d1a4552
Update finidat files picked up by LII* tests from namelist_defaults_ctsm
slevis-lmwg Sep 21, 2024
92078e3
Fixes to finidat settings
ekluzek Sep 23, 2024
550442a
Merge branch 'new_rawpftlai' of github.com:slevis-lmwg/CTSM into new_…
ekluzek Sep 23, 2024
6bdaef9
Adjust the failing test to include nofireemis
ekluzek Sep 24, 2024
21de9a2
Adjust init_interp_attributes for 1979 for f09 and f19 for clm6_0_cam…
ekluzek Sep 24, 2024
9166192
Merge pull request #14 from ekluzek/rmmkproc
ekluzek Sep 24, 2024
e761cd9
Merge branch 'new_rawpftlai' of github.com:slevis-lmwg/CTSM into new_…
ekluzek Sep 24, 2024
5826608
Merge branch 'new_rawpftlai' into changelog_readme_update
ekluzek Sep 24, 2024
482d786
Fix typo in test in ExpectedTestFails.xml
slevis-lmwg Sep 25, 2024
a25bf74
Update doc/ChangeLog
ekluzek Sep 25, 2024
1e75db0
A few updates
ekluzek Sep 25, 2024
1379ddd
Merge branch 'changelog_readme_update' of github.com:ekluzek/CTSM int…
ekluzek Sep 25, 2024
f120fcd
Update contributors and more in the change files
ekluzek Sep 25, 2024
e86c33a
Finish descriptions on updates in the Change files
ekluzek Sep 25, 2024
508a966
Add the WhatsNew markdown file
ekluzek Sep 25, 2024
4f7f8a0
Merge pull request #11 from ekluzek/changelog_readme_update
ekluzek Sep 25, 2024
cc34cc4
Update changelog date
ekluzek Sep 25, 2024
a3459c5
Merge pull request #2500 from slevis-lmwg/new_rawpftlai
ekluzek Sep 25, 2024
31a5cc7
Merge tag 'ctsm5.3.0' into merge-b4bdev-20240926
slevis-lmwg Sep 26, 2024
615224a
Updated number of tests
slevis-lmwg Sep 26, 2024
9f07cf9
add timestamps to rpointer files
jedwards4b Sep 26, 2024
ed5d17b
First draft ChangeLog/ChangeSum
slevis-lmwg Sep 26, 2024
830e675
Updated EXPECTED FAILUREs (I should have done this in ctsm5.3.0)
slevis-lmwg Sep 26, 2024
887ceb8
Merge tag 'ctsm5.3.0' into add_timestamp_to_rpointers
jedwards4b Sep 27, 2024
792abd1
Adding one more EXPECTED FAILURE
slevis-lmwg Sep 27, 2024
e6d58ec
Merge pull request #2792 from slevis-lmwg/merge-b4bdev-20240926
slevis-lmwg Sep 27, 2024
eed2d73
Merge tag 'ctsm5.3.001' into merge-master-20240927
slevis-lmwg Sep 27, 2024
cb19c43
Merge pull request #2795 from slevis-lmwg/merge-master-20240927
slevis-lmwg Sep 27, 2024
adecc67
Revert "Merge tag 'ctsm5.3.001' into b4b-dev"
slevis-lmwg Sep 27, 2024
16cf4ac
Merge pull request #2796 from ESCOMP/revert-2795-merge-master-20240927
slevis-lmwg Sep 27, 2024
cddf7e7
Merge tag 'ctsm5.3.002' into add_timestamp_to_rpointers
jedwards4b Sep 30, 2024
718bd41
reverse initialization of alarm_stop and alarm_restart
jedwards4b Oct 17, 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
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,6 @@ ctsm.input_data_list.previous
# mksurfdata unit tests
unit_test_build

# Tools executables
/tools/mkprocdata_map/mkprocdata_map

# run_neon output directories
/tools/site_and_regional/listing.csv
/tools/site_and_regional/????/
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
[submodule "fates"]
path = src/fates
url = https://github.com/NGEET/fates
fxtag = sci.1.77.2_api.36.0.0
fxtag = sci.1.78.2_api.36.0.0
fxrequired = AlwaysRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/NCAR/fates-release
Expand Down
24 changes: 12 additions & 12 deletions README
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
$CTSMROOT/README 04/19/2023
$CTSMROOT/README 09/05/2024

Community Terrestrial Systems Model (CTSM) science version 5.2 series -- source code, tools,
Community Terrestrial Systems Model (CTSM) science version 5.3 series -- source code, tools,
offline-build and test scripts. This gives you everything you need
to run CTSM with CESM with the CMEPS driver and CDEPS data models to provide CRU NCEP or GSWP3 forcing data in
place of a modeled atmosphere.
Expand Down Expand Up @@ -51,7 +51,7 @@ tools ------------- CTSM Offline tools to prepare input datasets and process out
cime_config ------- Configuration files of cime for compsets and CTSM settings
bin/git-fleximod -- Script to manage the needed sub-component source directories (handled with git submodule)
py_env_create ----- Script to setup the python environment for CTSM python tools using conda
python ------------ Python modules used in tools and testing and automated checking of ALL CTSM python scirpts
python ------------ Python modules used in tools and testing and automated checking of ALL CTSM python scripts

Directory structure only for a CTSM checkout:

Expand All @@ -66,6 +66,8 @@ components/cmeps -------------------- CESM top level driver (for NUOPC driver [w
components/cdeps -------------------- CESM top level data model shared code (for NUOPC driver).
components/cism --------------------- CESM Community land Ice Sheet Model.
components/mosart ------------------- Model for Scale Adaptive River Transport
components/mizuRoute ---------------- Reached based river transport model for water routing
(allows both gridded river and Hydrologic Responce Unit river grids)
components/rtm ---------------------- CESM River Transport Model.

Top level documentation ($CTSMROOT):
Expand All @@ -74,6 +76,7 @@ README ------------------- This file
README.md ---------------- File that displays on github under https::/github.com/ESCOMP/CTSM.git
README.rst --------------- File that displays under the project in github
README_GITFLEXIMOD.rst --- Information on how to work with git-fleximod for CTSM
WhatsNewInCTSM5.3.md ----- Overview document of the changes between ctsm5.2.0 and ctsm5.3.0
CODE_OF_CONDUCT.md ------- Code of Conduct for how to work with each other on the CTSM project
Copyright ---------------- CESM Copyright file
doc/UpdateChangeLog.pl --- Script to add documentation on a tag to the
Expand Down Expand Up @@ -104,17 +107,16 @@ run_sys_tests --------------- Python script to send the standard CTSM testing of
parse_cime.cs.status -------- Script to parse test status files cs.status.* created by create_test
(can be used along with run_sys_tests)
doc/Quickstart.GUIDE -------- Quick guide to using NUOPC scripts.
doc/IMPORTANT_NOTES --------- Some important notes about this version of
CTSM, configuration modes and namelist items
that are not validated or functional.
doc/IMPORTANT_NOTES.md ------ Some important notes about this version of
CTSM, configuration modes and namelist items
that are not validated or functional.
doc/ChangeLog --------------- Detailed list of changes for each model version.
doc/ChangeSum --------------- Summary one-line list of changes for each
model version.
doc/UsersGuide -------------- CTSM Users Guide
doc/IMPORTANT_NOTES --------- Some important notes on caveats for some configurations/namelist items

bld/README ------------------ Description of how to use the build-namelist scripts.
bld/build-namelist ---------- Script to build CTSM namelists.
bld/build-namelist ---------- Lower level script to build CTSM namelists.

cime_config/buildnml ------------- Build the CTSM namelist for CIME
cime_config/buildlib ------------- Build the CTSM library
Expand All @@ -130,8 +132,6 @@ cime_config/usermods_dirs -------- Directories of sets of user-modification subd

tools/mksurfdata_esmf --------- Directory to build program to create surface dataset
at any resolution.
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 (deprecated)
tools/crop_calendars ---------- Tools to process and process and create crop calendar datasets for CTSM
tools/modify_input_files ------ Script to modify existing CTSM input datasets in standard ways
Expand All @@ -155,9 +155,9 @@ src/dyn_subgrid --- Dynamic land unit change
src/init_interp --- Online interpolation
scr/fates --------- FATES model and sub-directories
Functionally Assembled Terrestrial Ecosystem Simulator (FATES)
Experimental Ecosystem Demography model
Ecosystem Demography model
src/utils --------- Utility codes
src/self_tests ---- Internal testing (unit tests run as a part of a CTSM simulation)
src/self_tests ---- Internal testing (unit tests run as a part of a CTSM system test)
src/unit_test_shr - Unit test shared modules for unit testing
src/unit_test_stubs Unit test stubs that replicate CTSM code simpler

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

The Community Terrestrial Systems Model.

This includes the Community Land Model (CLM5.0 and CLM4.5) of the Community Earth System Model.
This includes the Community Land Model of the Community Earth System Model.

For documentation, quick start, diagnostics, model output and
references, see
Expand Down Expand Up @@ -43,7 +43,7 @@ CTSM code management is provided primarily by:
Software engineering team:
- [Erik Kluzek](https://github.com/ekluzek)
- [Bill Sacks](https://github.com/billsacks)
- [Sam Levis](https://github.com/slevisconsulting)
- [Sam Levis](https://github.com/slevis-lmwg)
- [Adrianna Foster](https://github.com/adrifoster)
- [Sam Rabin](https://github.com/samsrabin)
- [Greg Lemieux](https://github.com/glemieux)
Expand Down
4 changes: 2 additions & 2 deletions README_GITFLEXIMOD.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ Switching to a different CTSM branch or tag

If you have already checked out a branch or tag and **HAVE NOT MADE ANY
MODIFICATIONS** it is simple to change your sandbox. Say that you
checked out ctsm1.0.0 but really wanted to have ctsm1.1.0;
checked out ctsm5.2.0 but really wanted to have ctsm5.3.0;
you would simply do the following::

git checkout ctsm1.1.0
git checkout ctsm5.3.0
./bin/git-fleximod update

You should **not** use this method if you have made any source code
Expand Down
53 changes: 53 additions & 0 deletions WhatsNewInCTSM5.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Purpose and description of changes since ctsm5.2.005
----------------------------------------------------

Bring in updates needed for the CESM3.0 science capability/functionality "chill". Most importantly bringing
in: CN Matrix to speed up spinup for the BGC model, updated surface datasets, updated Leung 2023 dust emissions,
explicit Air Conditioning for the Urban model, updates to crop calendars. For clm6_0 physics these options are now
default turned on in addition to Sturm snow, and excess ice.

Changes to CTSM Infrastructure:
===============================

- manage_externals removed and replaced by git-fleximod
- Ability to handle CAM7 in LND_TUNING_MODE

Changes to CTSM Answers:
========================

Changes to defaults for clm6_0 physics:
- Urban explicit A/C turned on
- Snow thermal conductivity is now Sturm_1997
- New IC file for f09 1850
- New crop calendars
- Dust emissions is now Leung_2023
- Excess ice is turned on
- Updates to MEGAN for BVOC's
- Updates to BGC fire method

Changes for all physics versions:

- Parameter files updated
- FATES parameter file updated
- Glacier region 1 is now undefined
- Update in FATES transient Land use
- Pass active glacier (CISM) runoff directly to river model (MOSART)
- Add the option for using matrix for Carbon/Nitrogen BGC spinup

New surface datasets:
=====================

- With new surface datasets the following GLC fields have region "1" set to UNSET:
glacier_region_behavior, glacier_region_melt_behavior, glacier_region_ice_runoff_behavior
- 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 mksurfdata_esmf now giving identical answers with a change in number of processors, as it should.
- Add in creation of ne0np4.POLARCAP.ne30x4 surface datasets.
- Add version to the surface datasets.
- Remove the --hires_pft option from mksurfdata_esmf as we don't have the datasets for it.
- Remove VIC fields from surface datasets.

New input datasets to mksurfdata_esmf:
======================================

- Updates in PFT/LAI/soil-color raw datasets (now from the TRENDY2024 timeseries that ends in 2023), as well as two fire datasets (AG fire, peatland), and the glacier behavior dataset.

46 changes: 40 additions & 6 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1665,6 +1665,7 @@ sub process_namelist_inline_logic {
setup_logic_demand($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_surface_dataset($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref);
setup_logic_dynamic_subgrid($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_exice($opts, $nl_flags, $definition, $defaults, $nl, $physv);
if ( remove_leading_and_trailing_quotes($nl_flags->{'clm_start_type'}) ne "branch" ) {
setup_logic_initial_conditions($opts, $nl_flags, $definition, $defaults, $nl, $physv);
}
Expand Down Expand Up @@ -1894,7 +1895,7 @@ sub process_namelist_inline_logic {
#################################
# namelist group: exice_streams #
#################################
setup_logic_exice($opts, $nl_flags, $definition, $defaults, $nl, $physv);
setup_logic_exice_streams($opts, $nl_flags, $definition, $defaults, $nl, $physv);

##########################################
# namelist group: clm_temperature_inparm #
Expand Down Expand Up @@ -2506,8 +2507,9 @@ sub setup_logic_surface_dataset {
# consistent with it
# MUST BE AFTER: setup_logic_demand which is where flanduse_timeseries is set
#
my ($opts, $nl_flags, $definition, $defaults, $nl, $xmlvar_ref) = @_;
my ($opts_in, $nl_flags, $definition, $defaults, $nl, $xmlvar_ref) = @_;

my $opts = $opts_in;
$nl_flags->{'flanduse_timeseries'} = "null";
my $flanduse_timeseries = $nl->get_value('flanduse_timeseries');
if (defined($flanduse_timeseries)) {
Expand All @@ -2523,6 +2525,11 @@ sub setup_logic_surface_dataset {
if ($flanduse_timeseries ne "null" && &value_is_true($nl_flags->{'use_cndv'}) ) {
$log->fatal_error( "dynamic PFT's (setting flanduse_timeseries) are incompatible with dynamic vegetation (use_cndv=.true)." );
}
# Turn test option off for NEON until after XML is interpreted
my $test_files = $opts->{'test'};
if ( &value_is_true($nl_flags->{'neon'})) {
$opts->{'test'} = 0;
}
#
# Always get the crop version of the datasets now and let the code turn it into the form desired
# Provided this isn't with FATES on
Expand All @@ -2548,7 +2555,7 @@ sub setup_logic_surface_dataset {
'use_crop'=>$nl_flags->{'use_crop'} );
}
#
# Expand the XML variables for NEON cases so that NEONSITE will be used
# Expand the XML variables for NEON cases so that NEONSITE will be used and test for existence
#
if ( &value_is_true($nl_flags->{'neon'}) ) {
my $fsurdat = $nl->get_value($var);
Expand All @@ -2557,6 +2564,9 @@ sub setup_logic_surface_dataset {
my $group = $definition->get_group_name($var);
$nl->set_variable_value($group, $var, $newval);
$log->verbose_message( "This is a NEON site and the fsurdat file selected is: $newval" );
if ( $test_files and ($newval !~ /null|none/) and (! -f remove_leading_and_trailing_quotes($newval) ) ) {
$log->fatal_error("file not found: $var = $newval");
}
}
}
}
Expand All @@ -2571,10 +2581,12 @@ sub setup_logic_initial_conditions {
#
# MUST BE AFTER: setup_logic_demand which is where flanduse_timeseries is set
# AFTER: setup_logic_irrigate which is where irrigate is set
# AFTER: setup_logic_exice which is where use_excess_ice is set
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;

my $var = "finidat";
my $finidat = $nl->get_value($var);
$nl_flags->{'excess_ice_on_finidat'} = "unknown";
if ( $nl_flags->{'clm_start_type'} =~ /cold/ ) {
if (defined $finidat ) {
$log->warning("setting $var (either explicitly in your user_nl_clm or by doing a hybrid or branch RUN_TYPE)\n is incomptable with using a cold start" .
Expand Down Expand Up @@ -2623,7 +2635,7 @@ sub setup_logic_initial_conditions {
$settings{'sim_year'} = $st_year;
}
foreach my $item ( "mask", "maxpft", "irrigate", "glc_nec", "use_crop", "use_cn", "use_cndv",
"use_fates",
"use_fates", "use_excess_ice",
"lnd_tuning_mode",
) {
$settings{$item} = $nl_flags->{$item};
Expand All @@ -2644,6 +2656,7 @@ sub setup_logic_initial_conditions {
my $done = 2;
do {
$try++;
$nl_flags->{'excess_ice_on_finidat'} = $settings{'use_excess_ice'};
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, %settings );
# If couldn't find a matching finidat file, check if can turn on interpolation and try to find one again
$finidat = $nl->get_value($var);
Expand Down Expand Up @@ -4964,18 +4977,39 @@ sub setup_logic_cnmatrix {
#-------------------------------------------------------------------------------
sub setup_logic_exice {
#
# excess ice streams
# excess ice streams, must be set before initial conditions
#
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_excess_ice', 'phys'=>$physv->as_string());
my $use_exice = $nl->get_value( 'use_excess_ice' );
# Put use_exice into nl_flags so can be referenced later
if ( value_is_true($use_exice) ) {
$nl_flags->{'use_excess_ice'} = ".true.";
} else {
$nl_flags->{'use_excess_ice'} = ".false.";
}
}

#-------------------------------------------------------------------------------
sub setup_logic_exice_streams {
#
# excess ice streams
# Run after initial conditions found as well as after setup_logic_exice
#
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
my $use_exice = $nl_flags->{'use_excess_ice'};
my $excess_ice_on_finidat = $nl_flags->{'excess_ice_on_finidat'};
my $use_exice_streams = $nl->get_value( 'use_excess_ice_streams' );
my $finidat = $nl->get_value('finidat');
# If coldstart and use_excess_ice is on:
if ( ( (not defined($use_exice_streams)) && value_is_true($use_exice) ) && string_is_undef_or_empty($finidat) ) {
$nl->set_variable_value('exice_streams', 'use_excess_ice_streams' , '.true.');
$use_exice_streams = '.true.';
# if excess ice is turned off
# If an finidat file was selected and use_excess_ice is on:
} elsif ( (not defined($use_exice_streams)) && value_is_true($use_exice) && (not value_is_true($excess_ice_on_finidat)) ) {
$nl->set_variable_value('exice_streams', 'use_excess_ice_streams' , '.true.');
$use_exice_streams = '.true.';
# if excess ice is turned off
} elsif ( (not defined($use_exice_streams)) && (not value_is_true($use_exice)) ) {
$use_exice_streams = '.false.';
# Checking for cold clm_start_type and not finidat here since finidat can be not set set in branch/hybrid runs and
Expand Down
16 changes: 8 additions & 8 deletions bld/README
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ CLM build and configure directory and scripts. Scripts to help
you prepare to build CLM as a component within CESM, and setup
a namelist for it.

This is a lower level script called from with CESM/CIME.

Important files/directories:

--------- Configure and build scripts
--------- (These scripts are also used by the cesm/cime scripts)
--------- Namelist build scripts

config_files/clm_phys_vers.pm ------------- Perl module to handle different CLM versions
config_files/config_definition_ctsm.xml --- XML file defining all CTSM configuration items
config_files/config_definition_ctsm.xml --- XML file defining CTSM configuration items (mainly physics version)

--------- Scripts to build the namelists
--------- (These scripts are also used by the cesm/cime scripts)
build-namelist --- Build the namelists needed


Expand All @@ -26,17 +26,17 @@ unit_testers --- Directory of scripts to test scipts in this directory
---------- XML Files describing namelists in namelist_files
namelist_files/namelist_defaults_ctsm.xml --------- List of default values for the ctsm namelist
namelist_files/namelist_defaults_overall.xml ------ List of default values for overall settings
namelist_files/namelist_defaults_usr_files.xml ---- List of default values for the user-files
namelist_files/namelist_definition_ctsm.xml -------- Definition of all namelist items for ctsm
namelist_files/namelist_defaults_usr_files.xml ---- List of default values for the user-files (deprecated)
namelist_files/namelist_definition_ctsm.xml ------- Definition of all namelist items for ctsm
namelist_files/namelist_definition.xsl ------------ Describes how to view the xml file as html
namelist_files/namelist_defaults_drydep.xml ------- List of default values for the dry deposition module.
namelist_files/use_cases -------------------------- Specific configurations that build-namelist uses
namelist_files/use_cases/README ------------------- File explaining the naming convention for use_cases

---------- Driver namelist files, duplicated information from cime/driver/cime_config
namelist_files/namelist_defaults_drv.xml ---------- List of default values for driver namelist defaults
namelist_files/namelist_defaults_drydep.xml ------- List of default values for dry deposition fields
namelist_files/namelist_defaults_drydep.xml ------- List of default values for dry deposition and MEGAN fields
namelist_files/namelist_defaults_fire_emis.xml ---- List of default values for fire emission fields
namelist_files/namelist_defaults_dust_emis.xml ---- List of default values for the dust emissions module.
namelist_files/namelist_definition_drv.xml -------- Definition of all driver namelist items
namelist_files/namelist_definition_drv_flds.xml --- Definition of add driver fieldsnamelist items

Expand Down
Loading
Loading