Skip to content

Commit

Permalink
Merge pull request #5 from glemieux/fates-landuse-v2-deconflict_006
Browse files Browse the repository at this point in the history
Merge up to ctsm5.2.006 and deconflict
  • Loading branch information
samsrabin authored May 31, 2024
2 parents 10728d9 + 1dc3d3c commit 071d076
Show file tree
Hide file tree
Showing 79 changed files with 126 additions and 6,697 deletions.
3 changes: 0 additions & 3 deletions .config_files.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@
<values>
<value component="clm" >$SRCROOT</value>
<value component="slim" >$SRCROOT/components/slim/</value>
<value component="dlnd" comp_interface="mct" >$SRCROOT/components/cpl7/components/data_comps_$COMP_INTERFACE/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_$COMP_INTERFACE/slnd</value>
<value component="slnd" comp_interface="nuopc" >$CIMEROOT/CIME/non_py/src/components/stub_comps_$COMP_INTERFACE/slnd</value>
<value component="xlnd" comp_interface="mct" >$SRCROOT/components/cpl7/components/xcpl_comps_$COMP_INTERFACE/xlnd</value>
<value component="xlnd" comp_interface="nuopc" >$CIMEROOT/CIME/non_py/src/components/xcpl_comps_$COMP_INTERFACE/xlnd</value>
</values>
<group>case_comps</group>
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ buildnmlc
td.*.status
td.*.log
td.*.status.xFail
test_driver_*.sh

# mksurfdata output
surfdata_*.log
Expand Down
25 changes: 9 additions & 16 deletions Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ required = True
local_path = components/cism
protocol = git
repo_url = https://github.com/ESCOMP/CISM-wrapper
tag = cismwrap_2_1_99
tag = cismwrap_2_1_100
externals = Externals_CISM.cfg
required = True

Expand All @@ -27,14 +27,14 @@ tag = mosart1_0_49
required = True

[mizuRoute]
local_path = components/mizuRoute
tag = cesm-coupling.n02_v2.1.2
protocol = git
repo_url = https://github.com/nmizukami/mizuRoute
hash = 34723c2
local_path = components/mizuroute
repo_url = https://github.com/ESCOMP/mizuRoute
required = True

[ccs_config]
tag = ccs_config_cesm0.0.92
tag = ccs_config_cesm0.0.106
protocol = git
repo_url = https://github.com/ESMCI/ccs_config_cesm.git
local_path = ccs_config
Expand All @@ -44,33 +44,26 @@ required = True
local_path = cime
protocol = git
repo_url = https://github.com/ESMCI/cime
tag = cime6.0.217_httpsbranch03
tag = cime6.0.238_httpsbranch01
required = True

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

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

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

[share]
tag = share1.0.18
tag = share1.0.19
protocol = git
repo_url = https://github.com/ESCOMP/CESM_share
local_path = share
Expand Down
6 changes: 2 additions & 4 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ doc --------------- Documentation of CTSM.
bld --------------- build-namelist scripts for CTSM.
src --------------- CTSM Source code.
lilac ------------- Lightweight Infrastructure for Land-Atmosphere Coupling (for coupling to a host atmosphere model)
test -------------- CTSM Testing scripts for CTSM offline tools (deprecated)
tools ------------- CTSM Offline tools to prepare input datasets and process output.
cime_config ------- Configuration files of cime for compsets and CTSM settings
manage_externals -- Script to manage the external source directories (deprecated)
Expand All @@ -57,7 +56,7 @@ python ------------ Python modules used in tools and testing and automated check
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 (deprecated)
libraries --------- CESM libraries: PIO (deprecated)
share ------------- CESM shared code
ccs_config -------- CIME configure files (for grids, compsets, and machines) for CESM

Expand All @@ -68,7 +67,6 @@ components/cdeps -------------------- CESM top level data model shared code (for
components/cism --------------------- CESM Community land Ice Sheet Model.
components/mosart ------------------- Model for Scale Adaptive River Transport
components/rtm ---------------------- CESM River Transport Model.
components/cpl7 --------------------- CESM top level driver for MCT driver (deprecated will be removed)

Top level documentation ($CTSMROOT):

Expand Down Expand Up @@ -154,7 +152,7 @@ Source code directory structure:

src/biogeochem ---- Biogeochemisty
src/main ---------- Main control and high level code
src/cpl ----------- Land model high level caps for NUOPC driver (and MCT and LILAC)
src/cpl ----------- Land model high level caps for NUOPC driver (and LILAC)
src/biogeophys ---- Biogeophysics (Hydrology)
src/dyn_subgrid --- Dynamic land unit change
src/init_interp --- Online interpolation
Expand Down
9 changes: 0 additions & 9 deletions README.NUOPC_driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,3 @@ ESMF_PROFILING_LEVEL --- Verbosity level for ESMF profiling
nuopc.runseq is a text file that determines how the driver operates. You can change the operation
by having an updated copy in your case directory.


## What if I want to use the MCT driver?

The MCT driver is now deprecated, and will be removed. So at this point we don't
suggest using it anymore.

For more notes see:

https://docs.google.com/presentation/d/1yjiKSEV53JDAJbYxhpY2T9GTxlWFzQAn
18 changes: 5 additions & 13 deletions bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ REQUIRED OPTIONS
(if read they allow user_nl_clm and CLM_BLDNML_OPTS to expand
variables [for example to use \$DIN_LOC_ROOT])
(default current directory)
-lnd_frac "domainfile" Land fraction file (the input domain file) (needed for MCT driver and LILAC)
-lnd_frac "domainfile" Land fraction file (the input domain file) (needed for LILAC)
-res "resolution" Specify horizontal grid. Use nlatxnlon for spectral grids;
dlatxdlon for fv grids (dlat and dlon are the grid cell size
in degrees for latitude and longitude respectively)
Expand All @@ -83,7 +83,7 @@ REQUIRED OPTIONS
(default 2000)
-structure "structure" The overall structure being used [ standard | fast ]
OPTIONS
-driver "value" CESM driver type you will run with [ mct | nuopc ]
-driver "value" CESM driver type you will run with [ nuopc ]
-bgc "value" Build CLM with BGC package [ sp | bgc | fates ]
(default is sp).
CLM Biogeochemistry mode
Expand Down Expand Up @@ -1894,10 +1894,10 @@ sub setup_logic_lnd_frac {
my ($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref) = @_;

#
# fatmlndfrc is required for the MCT driver (or LILAC), but uneeded for NUOPC
# fatmlndfrc is required for LILAC but uneeded for NUOPC
#
my $var = "lnd_frac";
if ( ($opts->{'driver'} eq "mct") || $opts->{'lilac'} ) {
if ( $opts->{'lilac'} ) {
if ( defined($opts->{$var}) ) {
if ( defined($nl->get_value('fatmlndfrc')) ) {
$log->fatal_error("Can NOT set both -lnd_frac option (set via LND_DOMAIN_PATH/LND_DOMAIN_FILE " .
Expand Down Expand Up @@ -3839,9 +3839,7 @@ sub setup_logic_popd_streams {
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_popdens', 'phys'=>$nl_flags->{'phys'},
'cnfireson'=>$nl_flags->{'cnfireson'}, 'hgrid'=>"0.5x0.5", 'ssp_rcp'=>$nl_flags->{'ssp_rcp'} );
#
# TODO (mvertens, 2021-06-22) the following is needed for MCT since a use case enforces this - so for now stream_meshfile_popdens will be added to the mct
# stream namelist but simply not used

if ($opts->{'driver'} eq "nuopc" ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_popdens', 'hgrid'=>"0.5x0.5");
my $inputdata_rootdir = $nl_flags->{'inputdata_rootdir'};
Expand All @@ -3855,12 +3853,6 @@ sub setup_logic_popd_streams {
$val = &quote_string( $val );
$nl->set_variable_value($group, $var, $val);
}
} else {
my $var = 'stream_meshfile_popdens';
my $group = $definition->get_group_name($var);
my $val = "none";
$val = &quote_string( $val );
$nl->set_variable_value($group, $var, $val);
}
} else {
# If bgc is NOT CN/CNDV or fire_method==nofire then make sure none of the popdens settings are set
Expand Down
6 changes: 3 additions & 3 deletions bld/config_files/config_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ Root directory of CLM source distribution (directory above CLM configure).
</entry>

<entry id="comp_intf"
valid_values="ESMF,MCT,cpl_\$COMP"
value="MCT"
valid_values="ESMF,cpl_\$COMP"
value="ESMF"
category="directories">
Component framework interface to use
(Model Coupling Toolkit, or Earth System Modeling Framework)
(Earth System Modeling Framework)
</entry>

<entry id="usr_src"
Expand Down
34 changes: 4 additions & 30 deletions bld/unit_testers/build-namelist_test.pl
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ sub cat_and_create_namelistinfile {
#
# Figure out number of tests that will run
#
# CHANGELOG: SRABIN ADDED 8 NTESTS 1999->2007, MASTER WAS AT 3313, 3313+8 = 3321
my $ntests = 3321;
# CHANGELOG: SRABIN ADDED 8 NTESTS 1999->2007, CTSM5.2.006 WAS AT 3254
my $ntests = 3262;

if ( defined($opts{'compare'}) ) {
$ntests += 2008;
Expand Down Expand Up @@ -315,7 +315,7 @@ sub cat_and_create_namelistinfile {
print "=================================================================================\n";

my $startfile = "clmrun.clm2.r.1964-05-27-00000.nc";
foreach my $driver ( "mct", "nuopc" ) {
foreach my $driver ( "nuopc" ) {
print " For $driver driver\n\n";
# configuration, structure, irrigate, verbose, clm_demand, ssp_rcp, test, sim_year, use_case
foreach my $options ( "-res 0.9x1.25 -configuration nwp",
Expand All @@ -336,13 +336,7 @@ sub cat_and_create_namelistinfile {
my $file = $startfile;
&make_env_run();
my $base_options = "-envxml_dir . -driver $driver";
if ( $driver eq "mct" ) {
$base_options = "$base_options -lnd_frac $DOMFILE";
# Skip the MCT test for excess ice streams
if ( $options =~ /use_excess_ice_streams=.true./ ) {
next;
}
} else {
if ( $driver eq "nuopc" ) {
$base_options = "$base_options -namelist '&a force_send_to_atm = .false./'";
}
eval{ system( "$bldnml $base_options $options > $tempfile 2>&1 " ); };
Expand Down Expand Up @@ -549,11 +543,6 @@ sub cat_and_create_namelistinfile {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
"exice stream on, but mct" =>{ options=>"--res 0.9x1.25 --envxml_dir . --driver mct --lnd_frac $DOMFILE ",
namelst=>"use_excess_ice=.true., use_excess_ice_streams=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
"clm50CNDVwtransient" =>{ options=>" -envxml_dir . -use_case 20thC_transient -dynamic_vegetation -res 10x15 -ignore_warnings",
namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
Expand Down Expand Up @@ -899,16 +888,6 @@ sub cat_and_create_namelistinfile {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
"both lnd_frac and on nml" =>{ options=>"-driver mct -lnd_frac $DOMFILE -envxml_dir .",
namelst=>"fatmlndfrc='frac.nc'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
"lnd_frac set to UNSET" =>{ options=>"-driver mct -lnd_frac UNSET -envxml_dir .",
namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"lnd_frac set but nuopc" =>{ options=>"-driver nuopc -lnd_frac $DOMFILE -envxml_dir .",
namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
Expand All @@ -924,11 +903,6 @@ sub cat_and_create_namelistinfile {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"force_send but not nuopc" =>{ options=>"-driver mct -lnd_frac $DOMFILE -envxml_dir .",
namelst=>"force_send_to_atm = .false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm6_0",
},
"branch but NO nrevsn" =>{ options=>"-clm_start_type branch -envxml_dir .",
namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
Expand Down
14 changes: 0 additions & 14 deletions bld/unit_testers/xFail/expectedClmTestFails.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,6 @@
</goldbach>
</namelistTest>

<tools_test_driver>
<yellowstone>
<INTEL>
</INTEL>
</yellowstone>
<goldbach>
<INTEL>
<entry testId="sm684" failType="FAIL">goldbach not recognized</entry>
<entry testId="smf84" failType="FAIL">goldbach not recognized</entry>
<entry testId="smfc4" failType="FAIL">goldbach not recognized</entry>
</INTEL>
</goldbach>
</tools_test_driver>

<unit_tests>
<yellowstone>
<INTEL>
Expand Down
Loading

0 comments on commit 071d076

Please sign in to comment.