# # Acquire a series of mss files to the disk. # Optionally perform an ncks command on the disk file $dskfile, # saving a new disk file $ncksfile. Original $dskfile can # then be removed. # # Set base names for mss and disk files: # set mss_basename = "/ROBLE/timegcm1.2/sy5j" set dsk_basename = "ROBLE.timegcm1.2.sy5j" set ncks_basename = "sy5j" # # Set first and last file numbers to acquire: # File names will be $basename with the file number (3 digits) # and the string ".nc" appended. # # For days 1-30: @ i0 = 1 @ i1 = 192 # @ nfiles = ($i1 - $i0) + 1 echo "Will acquire $nfiles files (${i0} to ${i1}):" @ ifile = $i0 @ n = 1 while ($ifile <= $i1) if ($ifile <= 9) then set num = "00${ifile}" else if ($ifile <= 99) then set num = "0${ifile}" else set num = "${ifile}" endif set mssfile = "${mss_basename}${num}.nc" # mss file set dskfile = "${dsk_basename}${num}.nc" # disk file set msrcp = "msrcp mss:${mssfile} $dskfile" # # Execute msrcp command (comment out for trial run): # if (! -e $dskfile) then echo "n=$n of ${nfiles}: msrcp command = $msrcp" $msrcp || echo ">>> Error executing $msrcp" && exit 1 else echo "Disk file $dskfile exists: did *not* do msrcp" endif # # Set up ncks command: # set ncksfile = "${ncks_basename}${num}.nc" set ncks = "ncks -O -a -v mtime,time,ut,TN,UN,VN,O1,O2,O3,OH,H,HO2,NO,Z $dskfile $ncksfile" echo " ncks command = $ncks" # # Execute ncks command: # $ncks || echo ">>> Error executing $ncks" && exit 2 # # Remove disk file acquired from mss (ncksfile is saved) # rm $dskfile # @ ifile++ @ n++ end # while $ifile <= $ifile