Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

Merged
merged 106 commits into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from 77 commits
Commits
Show all changes
106 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
1a0dc60
Merge tag 'ctsm5.2.015' into new_rawpftlai
slevis-lmwg Jul 23, 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
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
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
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
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
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
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
ekluzek marked this conversation as resolved.
Show resolved Hide resolved
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 @@ -4957,18 +4970,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
Loading