# # Example of program for retrieval of daily atmospheric forecasts. # More effective retrievals can be done by requesting # all the dates at the same time. # # F. J. Doblas-Reyes, September 2003 # F. J. Doblas-Reyes, April 2004 # # # Experiments to retrieve set -A explist scwc cnrm ukmo lody scnr smpi crfc # Variables to treat set -A varlist 165 166 179 # Month of the starting data of the forecast set -A monlist 02 05 08 11 # METHOD=1 ENDSTEP=4320 for var in ${varlist[*]} ; do if [ $var = 165 ] ; then VARIABLE=U10 set -A levlist 000 fi if [ $var = 166 ] ; then VARIABLE=V10 set -A levlist 000 fi if [ $var = 179 ] ; then VARIABLE=OLR set -A levlist 000 fi if [ $var = 129 ] ; then VARIABLE=Z set -A levlist 850 500 200 fi if [ $var = 131 ] ; then VARIABLE=U set -A levlist 850 200 fi # for l in ${levlist[*]} ; do if [[ $var -eq 165 || $var -eq 166 || $var -eq 179 ]] ; then LEVEL=sfc lev="" fi if [[ $var -eq 129 || $var -eq 131 ]] ; then LEVEL=pl lev=${l} fi # for exp in ${explist[*]} ; do # # Some modifications for the different experiments can be found below # if [ $exp = 'scwc' ] ; then CLASS=dm EXPVER=scwf start=1958 end=2001 fi if [ $exp = 'ukmo' ] ; then CLASS=dm EXPVER='ukmo' start=1959 end=2001 fi if [ $exp = 'cnrm' ] ; then CLASS=dm EXPVER='cnrm' start=1958 end=2001 fi if [ $exp = 'crfc' ] ; then CLASS=dm EXPVER='crfc' start=1980 end=2001 fi if [ $exp = 'lody' ] ; then CLASS=dm EXPVER='lody' start=1974 end=2001 fi if [ $exp = 'scnr' ] ; then CLASS=dm EXPVER='scnr' start=1973 end=2001 fi if [ $exp = 'smpi' ] ; then CLASS=dm EXPVER='smpi' start=1969 end=2001 fi if [ $exp = 'crfc' ] ; then CLASS=dm EXPVER='crfc' start=1987 end=2001 fi # for month in ${monlist[*]} ; do yy=$start while [ $yy -le $end ] ; do if [ $month -ge 9 ] ; then yy1=$((yy+1)) else yy1=$((yy)) fi FILE=${VARIABLE}${lev}_${exp}_${yy}${month} datelist="${yy}${month}01" echo $datelist # cat > req_mars << EOF retrieve, use=infrequent, stream=seas, method=${METHOD}, number=0/to/8, time=00, expver=${EXPVER}, param=${var}, class=${CLASS}, date=$datelist, type=fc, step=24/to/${ENDSTEP}/by/24, grid=2.5/2.5, area=10.0/0.0/-10.0/357.5, target=${FILE}, EOF # if [ $LEVEL = 'sfc' ] ; then cat >> req_mars << EOF levtype=sfc EOF fi # if [ $LEVEL = 'pl' ] ; then cat >> req_mars << EOF levtype=pl, levelist=${lev} EOF fi echo req_mars mars req_mars yy=$((yy+1)) done # year loop done # month loop done # level loop done # experiment loop done # variable loop