Modifying setup scripts for NUOPC
Note
It isn’t actually necessary to use a setup script to create a multi-instance
CESM case to test NUOPC functionality. CIME’s ./create_newcase
script
can be invoked with the --ninst
option instead.
Overview
The setup scripts for coupled CESM runs in the DART 9.X.X
releases are
already Manhattan compliant, however they invoke CESM utilities that are no
longer present in CESM2.0.
Upgrading these setup scripts to test NUOPC functionality involves removing references to CESM1 utilities and replacing them the analagous utilities from CIME that CESM2 makes use of.
Example
For example, setting up CESM1 made heavy use of environmental variables that
were accessed using the Tools/ccsm_getenv
utility.
The analagous functionality in CESM2 uses CIME’s xmlquery
utility, since
many of these variables are now stored in xml configuration files rather than
environmental variables.
Tractable path
To learn which aspects of the setup scripts need to be modified, you can diff
the existing cam-fv
and pop
scripts, since both CESM1 and CESM2
versions of these scripts are contained within the DART repository.
You should begin by modifying the CESM perfect model obs setup script in
DART/models/CESM/shell_scripts/CESM1_1_1_setup_pmo
.
POP example
cd DART/models/pop/shell_scripts
diff cesm1_x/CESM1_1_1_setup_pmo cesm2_1/setup_CESM_perfect_model.csh
CAM example
cd DART/models/cam-fv/shell_scripts
diff cesm1_5/setup_hybrid cesm2_1/setup_hybrid