[Dart-dev] DART/branches Revision: 11878
dart at ucar.edu
dart at ucar.edu
Fri Aug 4 11:36:21 MDT 2017
raeder at ucar.edu
2017-08-04 11:36:18 -0600 (Fri, 04 Aug 2017)
1587
The main changes are to mesh Manhattan's hard wired file names
with CESM's file name convention.
setup_hybrid and setup_advanced:
Replaced user_nl_cam section with comments about updating to CESM2 forcing
files and namelist mechanism for activating them.
Removed modifications of case.lt_archive, since it appears to not be use in CESM2.
Updated modification of env_archive.xml for 6 stages, no cpl.r, da.log changes.
Added check_finidat_year_consistency = .false. to user_nl_clm_####.
New WACCM env variable section, to pass to DART_config.
assimilate.csh;
Adapted it to handle all 6 stages of filter output.
Write all data files to CESM naming convention:
$CASE.$component.$type.[$string.]$date[$ending]
type = e (for compenent 'esp'), or i for initial file mean, sd.
string = filter output filename = ${stage}{_inf}_{mean,sd,member_####,...},obs_seq.final.
This is described more fully in JIRA ticket 361 and Google doc
https://docs.google.com/document/d/1WpAA6vdNMikDd5qr7eBqZ2J8r1ug0zAvHJjDfjiz_i0/edit?ts=5797c671#
Revision: ----------------------
Moved the population of the Hide directory to the end of assimilate.csh to:
prevent st_archive from archiving 2 restart sets at last job cycle,
clean up the beginning of the script.
Replaced complicated shell variable use with simple, clearer variables.
DART_config
New WACCM 'preferred DART namelist values' section
Added SourceMods/src.drv/seq_io_mod.F90 to fix the NetCDF file size
limit on the cpl.r file (Git issue #1705).
Modified: DART/branches/rma_trunk/models/cam-fv/shell_scripts/DART_config
===================================================================
--- DART/branches/rma_trunk/models/cam-fv/shell_scripts/DART_config 2017-08-03 22:03:32 UTC (rev 11877)
+++ DART/branches/rma_trunk/models/cam-fv/shell_scripts/DART_config 2017-08-04 17:36:18 UTC (rev 11878)
@@ -44,6 +44,10 @@
# Each model component has their own number of instances.
# ==============================================================================
+echo "==================="
+echo "Starting DART_config"
+echo "==================="
+
if ( ! -e ./xmlquery ) then
echo "ERROR: $0 must be run from a CASEROOT directory".
exit -1
@@ -223,6 +227,7 @@
# multi_cplr: Can't use NINST_ATM because it has been set to the number of
# instances per coupler, 1 for now.
+
cat << EndOfText >! update_dart_namelists
#!/bin/sh
@@ -241,18 +246,23 @@
wq
ex_end
-# If we are using WACCM (i.e. WCCM or WACCM) we have preferred values
-echo "${COMPSET}" | grep CCM
-if [[ \$? == 0 ]]; then
- sed -e "/ vert_normalization_scale_height /c\ vert_normalization_scale_height = 2.5" \
- -e "/ highest_obs_pressure_Pa /c\ highest_obs_pressure_Pa = 0.0001" \
- -e "/ highest_state_pressure_Pa /c\ highest_state_pressure_Pa = 0.01" \
- -e "/ vert_coord /c\ vert_coord = 'log_invP'" \
- input.nml > input.nml.waccm || exit 1
- mv input.nml.waccm input.nml || exit 1
+# If we are using WACCM{-X} (i.e. WCxx or WXxx) we have preferred values
+# $waccm comes from setup*
+if [[ "\$waccm" = "true" ]]; then
+ list=\`grep '^[ ]*vert_coord' input.nml | sed -e "s#[=,]##g"\`
+ if [[ "\$list[3]" = "log_invP" ]]; then
+ list=`grep '^[ ]*vert_normalization_scale_height' input.nml | sed -e "s#[=,]##g"`
+ if [[ "\$list[2]" != "1.5" ]]; then
+ echo "WARNING! input.nml is not using 1.5 for vert_normalization_scale_height."
+ echo " Use a different value only if you definitely want to. "
+ fi
+ else
+ echo "WARNING! input.nml is not using log_invP for vert_coord."
+ echo " log_invP is highly recommended for WACCM{-X}"
+ fi
else
echo "Apparently not configured for WACCM"
- echo "COMPSET is $COMPSET"
+ echo "COMPSET is \$COMPSET"
fi
exit 0
Modified: DART/branches/rma_trunk/models/cam-fv/shell_scripts/cesm2_0_beta05/assimilate.csh
===================================================================
--- DART/branches/rma_trunk/models/cam-fv/shell_scripts/cesm2_0_beta05/assimilate.csh 2017-08-03 22:03:32 UTC (rev 11877)
+++ DART/branches/rma_trunk/models/cam-fv/shell_scripts/cesm2_0_beta05/assimilate.csh 2017-08-04 17:36:18 UTC (rev 11878)
@@ -45,7 +45,7 @@
setenv save_all_inf TRUE
# A switch to signal how often to save the stages' ensemble members: NONE, RESTART_TIMES, ALL
-setenv save_stages TRUE
+setenv save_stages RESTART_TIMES
set BASEOBSDIR = BOGUSBASEOBSDIR
@@ -96,8 +96,80 @@
endsw
#=========================================================================
-# Block 1: Preliminary clean up, which can run in the background.
+# Block 1: Populate a run-time directory with the input needed to run DART.
#=========================================================================
+
+echo "`date` -- BEGIN COPY BLOCK"
+
+if ( -e ${CASEROOT}/input.nml ) then
+ # ${COPY} ${CASEROOT}/input.nml .
+ # Put a pared down copy (no comments) of input.nml in this assimilate_cam directory.
+ sed -e "/#/d;/^\!/d;/^[ ]*\!/d" ${CASEROOT}/input.nml >! input.nml || exit 39
+else
+ echo "ERROR ... DART required file ${CASEROOT}/input.nml not found ... ERROR"
+ echo "ERROR ... DART required file ${CASEROOT}/input.nml not found ... ERROR"
+ exit -2
+endif
+
+echo "`date` -- END COPY BLOCK"
+
+# If possible, use the round-robin approach to deal out the tasks.
+
+if ($?TASKS_PER_NODE) then
+ if ($#TASKS_PER_NODE > 0) then
+ ${MOVE} input.nml input.nml.$$
+ sed -e "s#layout.*#layout = 2#" \
+ -e "s#tasks_per_node.*#tasks_per_node = $TASKS_PER_NODE#" \
+ input.nml.$$ >! input.nml || exit 40
More information about the Dart-dev
mailing list