1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #!/bin/ksh
- #
- #@ shell = /usr/bin/ksh
- #@ class = ns
- #@ job_type = serial
- #@ job_name = prepare_atm_ic
- #@ output = $(job_name).$(jobid).log
- #@ error = $(job_name).$(jobid).log
- #@ notification = error
- #@ resources = ConsumableCpus(1) ConsumableMemory(1200mb)
- #@ wall_clock_limit = 24:00:00
- #@ queue
- #
- set -xuve
- date
- tar="/opt/freeware/bin/tar"
- # b0ga
- #grid=T255L62
- #expid=b0ga
- #src=ec:/xes/public/longrange/$expid
- # b0io
- grid=T255L91
- expid=b0io
- src=ec:/xes/public/longrange/$expid
- dst=ec:/c3m/ic/atmos/$grid/$expid
- cup=$(pwd)
- list=$cup/$expid
- # Gather the list of original ic's
- if [[ ! -a ${list} ]]; then
- emkdir -p $dst
- # b0gc
- #els $src > $list
- # b0io
- for y in $(seq 1993 2009); do
- months="05 11"
- for m in $months; do
- files=$(els $src/${y}${m}0100)
- for f in $files; do
- echo "${y}${m}0100/$f" >> $list
- done
- done
- done
- #exit
- fi
- tmp=$TMPDIR/prepare_atm_ic_$expid
- rm -rf $tmp
- mkdir -p $tmp
- cd $tmp
- # Prepare and store the ic's after reformatting properly
- for l in $(cat $list); do
- # start
- ecp $src/$l .
- ic=$(ls -1 *.tar | cut -d '.' -f 1)
- $tar -xvf $ic.tar
- for f in $(ls -1 $ic); do
- case $f in
- ICMSH*T|shml*|pua*) mv $ic/$f ICMSHXXXXINIT ;;
- ICMGG*T|ggsfc*|psu*) mv $ic/$f ICMGGXXXXINIT ;;
- ICMGG*UA|ggml*) mv $ic/$f ICMGGXXXXINIUA ;;
- ICMCL*T) mv $ic/$f ICMCLXXXXINIT ;;
- esac
- done
- case $expid in
- b0ga)
- exp=$(echo $ic | cut -d '_' -f 1)
- mem=$(echo $ic | cut -d '_' -f 4)
- ymds=$(echo $ic | cut -d '_' -f 5)
- ;;
- b0io)
- exp=$(echo $ic | cut -d '_' -f 1)
- mem=$(echo $ic | cut -d '_' -f 3)
- ymds=$(echo $ic | cut -d '_' -f 4)
- ;;
- *)
- echo "!!!caution!!!"
- exit 1
- ;;
- esac
- nic=${exp}_${mem}_${ymds} # new name of initial condition
- $tar -cvzf $nic.tar.gz *XXXX*
- ecp $nic.tar.gz $dst
- # end
- rm -rf *${ic}* *${nic}* *XXXX*
- cat ${list} | sed -e '1d' > ${list}.tmp
- mv ${list}.tmp ${list}
- done
- rm ${list}
- cd; rm -rf $tmp
- date
|