[Dart-dev] [5985] DART/branches/development/models/cam/shell_scripts/st_archive.sh: Short term archiver based on cesm1_1_1 ...

nancy at ucar.edu nancy at ucar.edu
Tue Mar 5 15:35:49 MST 2013


Revision: 5985
Author:   thoar
Date:     2013-03-05 15:35:48 -0700 (Tue, 05 Mar 2013)
Log Message:
-----------
Short term archiver based on cesm1_1_1 ... trivial changes this time.
Instance number fix, full DART support.

Modified Paths:
--------------
    DART/branches/development/models/cam/shell_scripts/st_archive.sh

-------------- next part --------------
Modified: DART/branches/development/models/cam/shell_scripts/st_archive.sh
===================================================================
--- DART/branches/development/models/cam/shell_scripts/st_archive.sh	2013-03-05 17:50:17 UTC (rev 5984)
+++ DART/branches/development/models/cam/shell_scripts/st_archive.sh	2013-03-05 22:35:48 UTC (rev 5985)
@@ -3,15 +3,6 @@
 #short-term archive script - move model output out of run directory
 #to free disc space for next invocation of model run
 #must be executed from run directory
-#
-# DART $Id$
-#
-# This must exist as ${CASEROOT}/Tools/st_archive.sh 
-# ./xmlchange -file env_run.xml -id DOUT_S_SAVE_INT_REST_FILES -val 'TRUE'
-#
-# The original has been substantially modified to restage the CAM INITIAL files
-# for successive coldstarts - as opposed to restage restart files. As of
-# Nov 10, 2011 ... DART is using CAM initial files. This will change SOON.
 
 #function dispose:
 #moves output files to specified area of st archive and will
@@ -46,13 +37,13 @@
 #
 #result is returned in $inst_suffix
 get_inst_suffix() {
-#   echo "get_inst_suffixa $1 $2 ${inst_suffix}"
+    echo "get_inst_suffixa $1 $2 ${inst_suffix}"
     if [ $2 -eq 1 ]; then   # only one instance of this component
 	inst_suffix=""
     else                    # multiple instances of this component
         inst_suffix=`printf _%04d $1`
     fi
-#   echo "get_inst_suffixb $1 $2 ${inst_suffix}"
+    echo "get_inst_suffixb $1 $2 ${inst_suffix}"
 }
 
 echo ""
@@ -115,12 +106,9 @@
 fi
 
 #create directory for restart files
-#set ${CASE}.cpl.r.*
-#cplfile=`ls -rt $* 2> /dev/null | tail -1`
-#dname=`echo $cplfile | sed "s/\.nc//; s/^.*\.r\.//;"`
-set Posterior_Diag.*.nc
+set ${CASE}.cpl.r.*
 cplfile=`ls -rt $* 2> /dev/null | tail -1`
-dname=`echo "$cplfile" | cut -f2 -d'.'`
+dname=`echo $cplfile | sed "s/\.nc//; s/^.*\.r\.//;"`
 if [ -d ${sta}/rest/${dname} ]; then
     rm -rf ${sta}/rest/${dname}
 fi
@@ -140,16 +128,15 @@
     echo "st_archive.sh: exiting"
     exit 1
 fi
-# TJH mv $* ${sta}/rest/${dname}
+mv $* ${sta}/rest/${dname}
 
-set rpointer.*;                                                                                                       dispose ifiles_n ${sta}/cpl/logs $*
 set cpl.log.*;                                                                                                        dispose ifiles_n ${sta}/cpl/logs $*
 set ccsm*.log.*;                                                                                                      dispose ifiles_n ${sta}/cpl/logs $*
-set ${CASE}.cpl.r.*;                                                                                                  dispose ifiles_y ${sta}/cpl/rest $*
+set ${CASE}.cpl.r.*;         latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/cpl/rest $*
 set ${CASE}.cpl.h* ;                                                                                                  dispose ifiles_n ${sta}/cpl/hist $*
 
 
-#possible tweaking - remove assimilate_dir.* directories? anything else?
+# TJH FIXME possible tweaking - remove assimilate_dir/member_* directories? anything else?
 set dart_log.*;                                                                                                       dispose ifiles_n ${sta}/dart/logs $*
 set True_State.*.nc;                                                                                                  dispose ifiles_n ${sta}/dart/hist $*
 set Prior_Diag.*.nc;                                                                                                  dispose ifiles_n ${sta}/dart/hist $*
@@ -165,30 +152,45 @@
 do
     get_inst_suffix $IDX $NINST_ATM
     set atm${inst_suffix}.log.*;                                                                                                   dispose ifiles_n ${sta}/atm/logs $*
-    set ${CASE}.cam${inst_suffix}.r.*;                                                                                             dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rs.*;                                                                                            dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.ra.*;                                                                                            dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rh0.*;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rh1.*;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rh2.*;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rh3.*;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rh4.*;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.rh5.*;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.cam${inst_suffix}.h0.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.h1.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.h2.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.h3.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.h4.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.h5.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.hs.*;                                                                                            dispose ifiles_n ${sta}/atm/hist $*
-    set ${CASE}.cam${inst_suffix}.i.*;                                                                                             dispose ifiles_n ${sta}/atm/rest $*
-    set cam_initial_${IDX}.nc;            latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/rest $*
-    set ${CASE}.camice${inst_suffix}.r.*;                                                                                          dispose ifiles_y ${sta}/ice/rest $*
-    set ${CASE}.camdom${inst_suffix}.r.*;                                                                                          dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.camsom${inst_suffix}.r.*;                                                                                          dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.datm${inst_suffix}.r.* ;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
-    set ${CASE}.datm${inst_suffix}.rs* ;                                                                                           dispose ifiles_y ${sta}/atm/rest $*
+#   set cam_initial_${IDX}.nc;            latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.r.*;   latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rs.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.ra.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rh0.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rh1.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rh2.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rh3.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rh4.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.rh5.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.cam*${inst_suffix}.h0.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.h1.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.h2.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.h3.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.h4.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.h5.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.hs.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.cam*${inst_suffix}.i.*;   latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/init $*
+
+    set ${CASE}.datm${inst_suffix}.r.* ;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.datm${inst_suffix}.rs* ;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
     set ${CASE}.datm${inst_suffix}.h.* ;                                                                                           dispose ifiles_n ${sta}/atm/hist $*
+
+    set ${CASE}.wrf.r01.*;                latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.wrf.r02.*;                latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.wrf.r03.*;                latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/atm/rest $*
+    set ${CASE}.wrf.h01.*;                                                                                                         dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h02.*;                                                                                                         dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h03.*;                                                                                                         dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h1aux01.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h1aux02.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h1aux03.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h2aux01.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h2aux02.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h2aux03.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h3aux01.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h3aux02.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+    set ${CASE}.wrf.h3aux03.*;                                                                                                     dispose ifiles_n ${sta}/atm/hist $*
+ 
     IDX=`expr $IDX + 1`
 done
 
@@ -198,45 +200,64 @@
 do
     get_inst_suffix $IDX $NINST_LND
     set lnd${inst_suffix}.log.*;                                                                                                   dispose ifiles_n ${sta}/lnd/logs $*
-    set clm_restart_${IDX}.nc;            latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.r.*;                                                                                            dispose ifiles_n ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.rh0.*;                                                                                          dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.rh1.*;                                                                                          dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.rh2.*;                                                                                          dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.rh3.*;                                                                                          dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.rh4.*;                                                                                          dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.rh5.*;                                                                                          dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.clm?${inst_suffix}.h0.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
-    set ${CASE}.clm?${inst_suffix}.h1.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
-    set ${CASE}.clm?${inst_suffix}.h2.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
-    set ${CASE}.clm?${inst_suffix}.h3.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
-    set ${CASE}.clm?${inst_suffix}.h4.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
-    set ${CASE}.clm?${inst_suffix}.h5.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
-    set ${CASE}.clm?${inst_suffix}.hv.*;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
+#   set clm_restart_${IDX}.nc;            latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.r.*;   latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.rh0.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.rh1.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.rh2.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.rh3.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.rh4.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.rh5.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.clm?${inst_suffix}.h0.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
+    set ${CASE}.clm?${inst_suffix}.h1.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
+    set ${CASE}.clm?${inst_suffix}.h2.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
+    set ${CASE}.clm?${inst_suffix}.h3.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
+    set ${CASE}.clm?${inst_suffix}.h4.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
+    set ${CASE}.clm?${inst_suffix}.h5.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
+    set ${CASE}.clm?${inst_suffix}.hv.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/lnd/hist $*
     set ${CASE}.clm?${inst_suffix}.i.*;                                                                                            dispose ifiles_y ${sta}/lnd/init $*
-    set ${CASE}.dlnd${inst_suffix}.r.* ;                                                                                           dispose ifiles_y ${sta}/lnd/rest $*
-    set ${CASE}.dlnd${inst_suffix}.rs* ;                                                                                           dispose ifiles_y ${sta}/lnd/rest $*
+
+    set ${CASE}.dlnd${inst_suffix}.r.* ;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
+    set ${CASE}.dlnd${inst_suffix}.rs* ;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/lnd/rest $*
     set ${CASE}.dlnd${inst_suffix}.h.* ;                                                                                           dispose ifiles_n ${sta}/lnd/hist $*
     IDX=`expr $IDX + 1`
 done
 
 
 IDX=1
+while [ $IDX -le $NINST_ROF ]
+do
+    get_inst_suffix $IDX $NINST_ROF
+    set rof${inst_suffix}.log.*;                                                                                                  dispose ifiles_n ${sta}/rof/logs $*
+    set ${CASE}.rtm${inst_suffix}.r.*;   latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/rof/rest $*
+    set ${CASE}.rtm${inst_suffix}.rh0.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/rof/rest $*
+    set ${CASE}.rtm${inst_suffix}.rh1.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/rof/rest $*
+    set ${CASE}.rtm${inst_suffix}.rh2.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/rof/rest $*
+    set ${CASE}.rtm${inst_suffix}.rh3.*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/rof/rest $*
+    set ${CASE}.rtm${inst_suffix}.h0.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/rof/hist $*
+    set ${CASE}.rtm${inst_suffix}.h1.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/rof/hist $*
+    set ${CASE}.rtm${inst_suffix}.h2.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/rof/hist $*
+    set ${CASE}.rtm${inst_suffix}.h3.*;  latest=`ls -rt $* 2> /dev/null | tail -1`; cp $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/rof/hist $*
+    IDX=`expr $IDX + 1`
+done
+
+
+IDX=1
 while [ $IDX -le $NINST_ICE ]
 do
     get_inst_suffix $IDX $NINST_ICE
     set ice${inst_suffix}.log.*;                                                                                                      dispose ifiles_n ${sta}/ice/logs $*
-    set ice_restart_${IDX}.nc;               latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/ice/rest $*
-    set ${CASE}.cice${inst_suffix}.r.*;                                                                                               dispose ifiles_n ${sta}/ice/rest $*
-    set ${CASE}.cice${inst_suffix}.r.[0-9]*;                                                                                          dispose ifiles_y ${sta}/ice/rest $*
-    set ${CASE}.cice${inst_suffix}.r.volpn*;                                                                                          dispose ifiles_y ${sta}/ice/rest $*
-    set ${CASE}.cice${inst_suffix}.r.dEdd*;                                                                                           dispose ifiles_y ${sta}/ice/rest $*
-    set ${CASE}.cice${inst_suffix}.r.age*;                                                                                            dispose ifiles_y ${sta}/ice/rest $*
-    set ${CASE}.cice${inst_suffix}.r.aero*;                                                                                           dispose ifiles_y ${sta}/ice/rest $*
+#   set ice_restart_${IDX}.nc;               latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_n ${sta}/ice/rest $*
+    set ${CASE}.cice${inst_suffix}.r.[0-9]*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
+    set ${CASE}.cice${inst_suffix}.r.volpn*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
+    set ${CASE}.cice${inst_suffix}.r.dEdd*;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
+    set ${CASE}.cice${inst_suffix}.r.age*;   latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
+    set ${CASE}.cice${inst_suffix}.r.aero*;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
     set ${CASE}.cice${inst_suffix}.h*;                                                                                                dispose ifiles_n ${sta}/ice/hist $*
     set ${CASE}.cice${inst_suffix}.i.*;                                                                                               dispose ifiles_y ${sta}/ice/init $*
-    set ${CASE}.dice${inst_suffix}.r.* ;                                                                                              dispose ifiles_y ${sta}/ice/rest $*
-    set ${CASE}.dice${inst_suffix}.rs* ;                                                                                              dispose ifiles_y ${sta}/ice/rest $*
+
+    set ${CASE}.dice${inst_suffix}.r.* ;     latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
+    set ${CASE}.dice${inst_suffix}.rs* ;     latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ice/rest $*
     set ${CASE}.dice${inst_suffix}.h.* ;                                                                                              dispose ifiles_n ${sta}/ice/hist $*
     IDX=`expr $IDX + 1`
 done
@@ -247,20 +268,21 @@
 do
     get_inst_suffix $IDX $NINST_OCN
     set ocn${inst_suffix}.log.*;                                                                                                               dispose ifiles_n ${sta}/ocn/logs $*
-    set ${CASE}.pop${inst_suffix}.r.*.hdr;                                                                                                     dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.r.*0000;                                                                                                     dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.r.*0000.nc;                                                                                                  dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.rh.ecosys.*.hdr;                                                                                             dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.rh.ecosys.*0000;                                                                                             dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.rh.ecosys.*0000.nc;                                                                                          dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.rh.*.hdr;                                                                                                    dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.rh.*0000;                                                                                                    dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.rh.*0000.nc;                                                                                                 dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.pop${inst_suffix}.ro.*;                                                                                                        dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.r.*.hdr;            latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.r.*0000;            latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.r.*0000.nc;         latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.rh.ecosys.*.hdr;    latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.rh.ecosys.*0000;    latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.rh.ecosys.*0000.nc; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.rh.*.hdr;           latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.rh.*0000;           latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.rh.*0000.nc;        latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.pop${inst_suffix}.ro.*;               latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
     set ${CASE}.pop${inst_suffix}.d?*;                                                                                                         dispose ifiles_n ${sta}/ocn/hist $*
     set ${CASE}.pop${inst_suffix}.h*;                                                                                                          dispose ifiles_n ${sta}/ocn/hist $*
-    set ${CASE}.docn${inst_suffix}.r.* ;                                                                                                       dispose ifiles_y ${sta}/ocn/rest $*
-    set ${CASE}.docn${inst_suffix}.rs* ;                                                                                                       dispose ifiles_y ${sta}/ocn/rest $*
+
+    set ${CASE}.docn${inst_suffix}.r.* ;              latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
+    set ${CASE}.docn${inst_suffix}.rs* ;              latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/ocn/rest $*
     set ${CASE}.docn${inst_suffix}.h.* ;                                                                                                       dispose ifiles_n ${sta}/ocn/hist $*
     IDX=`expr $IDX + 1`
 done
@@ -271,17 +293,17 @@
 do
     get_inst_suffix $IDX $NINST_GLC
     set glc${inst_suffix}.log.*;                                                                                                      dispose ifiles_n ${sta}/glc/logs $*
-    set ${CASE}.cism${inst_suffix}.r.[0-9]*;                                                                                          dispose ifiles_y ${sta}/glc/rest $*
-    set ${CASE}.cism${inst_suffix}.r.volpn*;                                                                                          dispose ifiles_y ${sta}/glc/rest $*
-    set ${CASE}.cism${inst_suffix}.r.dEdd*;                                                                                           dispose ifiles_y ${sta}/glc/rest $*
-    set ${CASE}.cism${inst_suffix}.r.age*;                                                                                            dispose ifiles_y ${sta}/glc/rest $*
-    set ${CASE}.cism${inst_suffix}.r.aero*;                                                                                           dispose ifiles_y ${sta}/glc/rest $*
+    set ${CASE}.cism${inst_suffix}.r.[0-9]*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/glc/rest $*
+    set ${CASE}.cism${inst_suffix}.r.volpn*; latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/glc/rest $*
+    set ${CASE}.cism${inst_suffix}.r.dEdd*;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/glc/rest $*
+    set ${CASE}.cism${inst_suffix}.r.age*;   latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/glc/rest $*
+    set ${CASE}.cism${inst_suffix}.r.aero*;  latest=`ls -rt $* 2> /dev/null | tail -1`; mv $latest ${sta}/rest/${dname} 2> /dev/null; dispose ifiles_y ${sta}/glc/rest $*
     set ${CASE}.cism${inst_suffix}.h*;                                                                                                dispose ifiles_n ${sta}/glc/hist $*
     set ${CASE}.cism${inst_suffix}.i.*;                                                                                               dispose ifiles_y ${sta}/glc/init $*
     IDX=`expr $IDX + 1`
 done
 
-
+#copy back the required files for next restart
 cp ${sta}/rest/${dname}/* .
 
 mv ${sta}/* ${DOUT_S_ROOT}


More information about the Dart-dev mailing list