[Dart-dev] DART/branches Revision: 11165
dart at ucar.edu
dart at ucar.edu
Tue Feb 28 08:00:35 MST 2017
raeder at ucar.edu
2017-02-28 08:00:34 -0700 (Tue, 28 Feb 2017)
140
Several updates from scripts_cesm2_0: {in,out}put_state_file_list improvements.
Return of accidential specific data to BOGUS placeholders.
Modified: DART/branches/rma_trunk/models/cam-fv/scripts_cesm1_5/assimilate.csh
===================================================================
--- DART/branches/rma_trunk/models/cam-fv/scripts_cesm1_5/assimilate.csh 2017-02-28 14:35:51 UTC (rev 11164)
+++ DART/branches/rma_trunk/models/cam-fv/scripts_cesm1_5/assimilate.csh 2017-02-28 15:00:34 UTC (rev 11165)
@@ -41,7 +41,7 @@
set TASKS_PER_NODE = `echo $LSB_SUB_RES_REQ | sed -ne '/ptile/s#.*\[ptile=\([0-9][0-9]*\)]#\1#p'`
setenv MP_DEBUG_NOTIMEOUT yes
- set BASEOBSDIR = /glade/p/image/Observations/NCEP+ACARS+GPS
+ set BASEOBSDIR = BOGUSBASEOBSDIR
set LAUNCHCMD = mpirun.lsf
breaksw
@@ -52,7 +52,7 @@
set LINK = '/usr/local/bin/ln -fvs'
set REMOVE = '/usr/local/bin/rm -fr'
- set BASEOBSDIR = /glade/p/image/Observations/NCEP+ACARS+GPS
+ set BASEOBSDIR = BOGUSBASEOBSDIR
set LAUNCHCMD = mpirun.lsf
breaksw
@@ -63,7 +63,7 @@
set LINK = 'ln -fvs'
set REMOVE = 'rm -fr'
- set BASEOBSDIR = /glade/p/image/Observations/NCEP+ACARS+GPS
+ set BASEOBSDIR = BOGUSBASEOBSDIR
set LAUNCHCMD = "aprun -n $NTASKS"
breaksw
@@ -142,7 +142,7 @@
echo '$rm_log['$rm_slot']='$rm_log[$rm_slot]
if ( $sec_o_day !~ '00000' || \
- ($sec_o_day =~ '00000' && $day_o_month % 4 != 0) ) then
+ ($sec_o_day =~ '00000' && $day_o_month % BOGUS_save_every_Mth != 0) ) then
echo "Removing unneeded restart file set from RUNDIR: "
echo " $rm_date[1]"'*.{r,rs,rh0,h0,i}.*'${day_o_month}-${sec_o_day}
# Remove member restarts (but not DART output)
@@ -149,6 +149,7 @@
# Note that *cpl.ha.* is retained, and any h#, #>0.
# $CASE DD -SSSSS
$REMOVE $rm_date[1]*.{r,rs,rh0,h0,i}.*${day_o_month}-${sec_o_day}* &
+ $REMOVE $rm_date[1].*[0-9].{input,preassim,postassim}*${day_o_month}-${sec_o_day}* &
# Remove log files: *YYMMDD-HHMMSS.
$REMOVE *$rm_log[$rm_slot]* &
@@ -439,6 +440,8 @@
else
# Look for the output from the previous assimilation
# RMA; file 'type' output_priorinf is hardwired according to DART2.0 naming convention.
+ # Yes, we want the 'output' or 'postassim' version of the prior inflation,
+ # because the 'preassim' version has not been updated by this cycle's assimilation.
if ($STAGE_output == TRUE) then
set stage = 'output'
else if ($STAGE_postassim == TRUE) then
@@ -446,7 +449,7 @@
endif
# If inflation files exists, use them as input for this assimilation
- (ls -rt1 $CASE.cam.${stage}* | tail -n 2 >! latestfile) > & /dev/null
+ (ls -rt1 $CASE.cam.${stage}_priorinf* | tail -n 2 >! latestfile) > & /dev/null
set nfiles = `cat latestfile | wc -l`
if ( $nfiles > 0 ) then
set latest_mean = `head -n1 latestfile`
@@ -526,7 +529,7 @@
# &filter_nml: direct_netcdf_read = .true.
# &filter_nml: direct_netcdf_write = .true.
# &filter_nml: overwrite_state_input = .true.
-# &filter_nml: input_restart_file_list = 'restart_files.txt'
+# &filter_nml: input_state_file_list = 'restart_files.txt'
# &filter_nml: obs_sequence_in_name = 'obs_seq.out'
# &filter_nml: obs_sequence_out_name = 'obs_seq.final'
# &filter_nml: init_time_days = -1,
@@ -549,23 +552,30 @@
${LINK} $ATM_HISTORY_FILENAME cam_phis.nc
# RMA
-# Put the names of the CAM initial files, from which filter will get the model states,
-# into a text file, whose name is provided to filter in filter_nml:input_restart_file_list.
-set line = `grep input_restart_file_list input.nml | sed -e "s#[=,'\.]# #g"`
+# Put the names of the CAM initial files, from which filter will get the model state(s),
+# into a text file, whose name is provided to filter in filter_nml:input_state_file_list.
+# If filter will create an ensemble from a single state, it's fine (and convenient)
+# to put the whole list of files in input_state_file_list. Filter will just use the first.
+# NOTE: if the files in input_state_file_list are CESM format (all vars and all meta data),
+# then they may end up with a different structure than the preassim and postassim stage
+# output written by filter. This can be prevented (at the cost of more disk space)
+# by copying the CESM format input files into the names filter will use, e.g.
+# $case.cam_0001.i.$date.nc --> preassim_member_0001.nc.
+# Filter will replace the state variables with updated versions, but leave the other
+# variables and all metadata unchanged.
+set line = `grep input_state_file_list input.nml | sed -e "s#[=,'\.]# #g"`
echo "$line"
set input_file_list = $line[2]
-ls -1 ${CASE}.cam_*.i.${ATM_DATE_EXT}.nc >! $input_file_list
+ls -1 ${CASE}.cam_[0-9][0-9][0-9][0-9].i.${ATM_DATE_EXT}.nc >! $input_file_list
-# If the file names in $output_restart_file_list = names in $input_restart_file_list,
More information about the Dart-dev
mailing list