2011年6月15日水曜日

NHM JRA25 データを取ってくる シェルスクリプト

NHMで計算する際に、
JRA25 データを取ってくる シェルスクリプト
get_jra_month2.sh

yoshi@p570a ~/Nhm/NHM1.1/Nhm/Tools/grib2nus/get_jra_month2.sh
 #! /bin/tcsh -f

#type yyyymmddhhhh start and end time
: ${start:=199112240000}
: ${end:=199112310000}
year=`echo ${start} | cut -c 1-4`
month=`echo ${start} | cut -c 5-6`
day=`echo ${start} | cut -c 7-8`
hour=`echo ${start} |cut -c 9-10`
h=00

echo start time ${year} ${month} ${day} ${hour} ${h}
echo end   time ${end}

: ${time:=${start}}


i=0
while [ ${time} -le ${end} ]
do
#echo $hour
time=${year}${month}${day}${hour}${h}
#echo yoshiyoshi
echo time $time


echo "$year $month $day $hour $h" > TIMECARD
sh get_jra.sh
sh jra2nus.sh

sleep 2
i=`expr $i + 1`

timestep=6
hour=`expr $hour + $timestep`
hour=`echo ${hour} | awk '{printf("%02d",$1)}'`


if [ $hour -eq 24 ]; then
    hour=00
#    day=`expr $day + 1`
        day=`echo ${day} | awk '{printf("%02d",$1+1)}'`
  
    if [ $day -ge 32 ];then
        day=01
#        month=`expr $month + 1`
        month=`echo ${month} | awk '{printf("%02d",$1+1)}'`
  
        if [ $month -ge 13 ];then
            month=01
            year=`expr $year + 1`

        fi  
    fi  
fi
time=${year}${month}${day}${hour}${h}

timestep=12
hour=`expr $hour + $timestep`
hour=`echo ${hour} | awk '{printf("%02d",$1)}'`


if [ $hour -eq 24 ]; then
    hour=00
#    day=`expr $day + 1`
        day=`echo ${day} | awk '{printf("%02d",$1+1)}'`
  
    if [ $day -ge 32 ];then
        day=01
#        month=`expr $month + 1`
        month=`echo ${month} | awk '{printf("%02d",$1+1)}'`
  
        if [ $month -ge 13 ];then
            month=01
            year=`expr $year + 1`

        fi  
    fi  
fi
time=${year}${month}${day}${hour}${h}
timestep=12
hour=`expr $hour + $timestep`
hour=`echo ${hour} | awk '{printf("%02d",$1)}'`


if [ $hour -eq 24 ]; then
    hour=00
#    day=`expr $day + 1`
        day=`echo ${day} | awk '{printf("%02d",$1+1)}'`
  
    if [ $day -ge 32 ];then
        day=01
#        month=`expr $month + 1`
        month=`echo ${month} | awk '{printf("%02d",$1+1)}'`
  
        if [ $month -ge 13 ];then
            month=01
            year=`expr $year + 1`

        fi  
    fi  
fi
time=${year}${month}${day}${hour}${h}
echo ${time}

done

0 件のコメント:

コメントを投稿