source: BOL/Multi_atlas/Utils/atlas0.sh @ 4330

Last change on this file since 4330 was 4330, checked in by musat, 20 months ago

Ajout environnement et corrections

  • champ eva(poration) moyennes zonales
  • pour les appels a des fonctions climaf via mcdo (timavg, sqrt)

IonelaMusat?

  • Property svn:executable set to *
File size: 8.6 KB
Line 
1###########################################################################
2# Environnement
3local=`pwd -P`
4
5source ../env.sh
6
7module list
8python=`which python`
9echo PYTHON IS $python
10
11ulimit -s unlimited
12ATLAS_DIR=${DODSDIR}/${login}/lmdz/atlas/Atlas$$ ; mkdir -p $ATLAS_DIR
13STORAGE=${DODSDIR}/${login}/lmdz/STORE
14dirpng=${DODSDIR}/${login}/lmdz/VLR
15
16if [ 1 == 0 ]; then
17export PYTHONPATH=$PYTHONPATH:/home/fabric/users/denvil/climaf
18export PATH=$PATH:/home/fabric/users/denvil/climaf/bin
19fi
20
21#myCC=$DODSDIR/$login/IMclimafCache
22#if [ 1 == 0 ]; then
23myCC=/scratchu/${login}/climafCache041122run
24#\rm -rf ${myCC}
25mkdir -p ${myCC}
26export CLIMAF_CACHE=${myCC}
27echo CLIMAF_CACHE ${CLIMAF_CACHE}
28mkdir -p ${CLIMAF_CACHE}/remote_data
29export CLIMAF_REMOTE_CACHE=${CLIMAF_CACHE}/remote_data
30#fi
31#exit
32#\rm -rf $DODSDIR/$login/climafCache$$
33#mkdir -p $DODSDIR/$login/climafCache$$
34#export CLIMAF_CACHE=$DODSDIR/$login/climafCache$$
35#echo CLIMAF_CACHE $DODSDIR/$login/climafCache$$
36###########################################################################
37vars=""
38vars="sst"
39#runstxt=/home/fabric/LMDZ/multi/runs.txt
40
41if [ $# = 1 ] ; then
42   opts="`echo $1 | sed -e 's/,/ /g'`"
43   for opt in $opts ; do
44       echo $opt
45       key=`echo $opt | cut -d= -f1`
46       val=`echo $opt | cut -d= -f2`
47       echo $key $val
48       if [ "$key" = "RUN" ] ; then sim=$val ; fi
49       if [ "$key" = "REF" ] ; then ref=$val ; fi
50       if [ "$key" = "SEASON" ] ; then seas=$val ; fi
51       if [ "$key" = "PROJ" ] ; then proj=$val ; fi
52       if [ "$key" = "OUTDIR" ] ; then OUT_D=$val ; fi
53       if [ "$key" = "RUNSTXT" ] ; then runstxt=$val ; fi
54       if [ "$key" = "VARS" ] ; then vars="`echo $val | sed -e 's/+/ /g'`" ; fi
55       if [ "$key" = "lonmin" ] ; then lonmin=$val ; fi
56       if [ "$key" = "lonmax" ] ; then lonmax=$val ; fi
57       if [ "$key" = "latmin" ] ; then latmin=$val ; fi
58       if [ "$key" = "latmax" ] ; then latmax=$val ; fi
59       if [ "$key" = "pmin" ] ; then pmin=$val ; fi
60   done
61elif [ $# = 0 ] ; then
62   sim=$RUN
63   ref=$REF
64   seas=$SEASON
65   proj=$PROJ
66   OUT_D=$OUTDIR
67   runstxt=$RUNSTXT
68   vars=`echo $VARS | sed -e 's/+/ /g'`
69   lonmin=$lonmin
70   lonmax=$lonmax
71   latmin=$latmin
72   latmax=$latmax
73   pmin=$pmin
74   echo lonmin=$lonmin lonmax=$lonmax
75   echo latmin=$latmin latmax=$latmax
76   echo pmin=$pmin
77else
78  echo USE
79  echo Job mode :
80  echo qsub -v RUN=NPv5.3_1982_1989,SEASON=YEAR,PROJ=GLOB,OUTDIR=$MULTIDIR/V5/ATLAS,VARS=pr+tas atlas.sh
81  echo interactif :
82  echo ./atlas.sh RUN=NPv5.3_1982_1989,SEASON=YEAR,PROJ=GLOB,OUTDIR=$MULTIDIR/V5/ATLAS,VARS=pr+tas
83  exit
84fi
85
86if [ "$vars" = "" ] ; then
87   vars="pr tas hurs hfls hfss albt albtcs albs rldscs rlds rlus rsdscs rsds rsuscs rsus rsutcs rsut rlut rlutcs psl prw sst pme tasmax tasmin"
88fi
89
90if [ "$sim" != "OBS" ]; then
91echo sim $sim
92srun=`echo $sim | sed -e 's/_[0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9]//'`
93echo srun $srun
94simdir=`grep -w "^$srun " $runstxt | awk ' { print $2 } '`
95run=`basename $simdir `
96years=`echo $sim | sed -e 's/'$srun'//' | sed -e 's/_//'`
97sim=${run}_${years}
98
99echo $run $years $sim $ref
100echo ENTREES : $run, $years, $seas, $vars, $ref
101echo simdir $simdir
102
103echo run $run 
104echo sim $sim
105echo simdir $simdir
106fi
107
108keys_strgv=$sim$seas$proj$vars$ref
109keys_strg=$sim$seas$proj$ref
110
111mkdir -p $OUT_D
112if [ -f $OUT_D/$keys_strg.ENCOURS ] ; then 
113   echo $OUT_D/$keys_strg.ENCOURS
114   exit # Si le même atlas est deja en cours de realisation on sort
115else
116   touch $OUT_D/$keys_strg.ENCOURS
117fi
118
119if [ "$OUT_D" = "" ] ; then
120   $OUT_D=$STORAGE/NPV5LRL79/$run/ATLAS/SE_$years/ATM
121fi
122
123cd $ATLAS_DIR
124echo sim $sim seas $seas > atlas.sh.log
125
126case "$proj" in
127   "SH"|"NH") pyatlas="atlas_SH.py --projection $proj" ;;
128   "GLOB") Var3D=,ua,va,ta,hus,hur ; pyatlas=atlas_none.py ;;
129   *) Var3D=,ua,va,ta,hus,hur ; pyatlas=atlas_none.py ;;
130esac
131
132   html=index_example_"$seas"_"$sim".html
133   htmlopt=index_"${proj}"_"$seas"_"$sim".html
134   echo rm -f $htmlopt
135#
136   for var in $vars; do
137   datevar=`date`
138   echo Creation repertoires *MAP* et check variables 3D
139   mkdir -p ${dirpng}/${seas}/${sim}/MAP
140   mkdir -p ${dirpng}/${seas}/${sim}/MAP/${proj}
141#
142   mkdir -p ${dirpng}/${seas}/${ref}/MAP
143   mkdir -p ${dirpng}/${seas}/${ref}/MAP/${proj}
144#
145   mkdir -p ${dirpng}/${seas}/${sim}/DMAP_${ref}
146   mkdir -p ${dirpng}/${seas}/${sim}/DMAP_${ref}/${proj}
147
148   refok=${dirpng}/${seas}/${ref}/MAP/${proj}/${var}.pdf
149   mapok=${dirpng}/${seas}/${sim}/MAP/${proj}/${var}.pdf
150   dmapok=${dirpng}/${seas}/${sim}/DMAP_${ref}/${proj}/${var}.pdf
151#
152    datevar=`date`
153#
154# for var3D check if pres exist
155#   echo ~/LMDZ/check/make_check_var3D_SE.sh $dirpng $seas $sim $ref $var
156#   ~/LMDZ/check/make_check_var3D_SE.sh $dirpng $seas $sim $ref $var > out_check_var3D_SE.log
157
158if [ ! -f ${refok} ] || [ ! -f ${mapok} ] || [ ! -f ${dmapok} ]; then
159
160 echo Fabrication des cartes $var pour $ref $sim $sim-$ref
161
162 if [ "$var" == "ua" ] || [ "$var" == "va" ] || [ "$var" == "ta" ] || [ "$var" == "hur" ] || [ "$var" == "hus" ]; then
163    echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
164    $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
165    if [ ! -f ${mapok} ]; then
166     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
167     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
168     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
169     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
170    elif [ ! -f ${refok} ]; then
171     echo $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
172     $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
173     echo $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
174     $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
175    elif [ ! -f ${dmapok} ]; then
176     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
177     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
178     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
179     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
180    fi
181 else
182    echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} --lonmin ${lonmin} --lonmax ${lonmax} --latmin ${latmin} --latmax ${latmax}
183    $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} --lonmin ${lonmin} --lonmax ${lonmax} --latmin ${latmin} --latmax ${latmax}
184    if [ ! -f ${mapok} ]; then
185     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
186     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
187     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
188     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
189    elif [ ! -f ${refok} ]; then
190     echo $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
191     $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
192     echo $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
193     $python ${local}/$pyatlas -v $var -s OBS -t $ref -p $seas -r $proj --dirpng ${dirpng} 
194    elif [ ! -f ${dmapok} ]; then
195     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
196     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
197     echo $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
198     $python ${local}/$pyatlas -v $var -s $sim -t $ref -p $seas -r $proj --dirpng ${dirpng} 
199    fi
200 fi
201#
202else
203 echo Les images $refok
204 echo            $mapok et
205 echo            $dmapok 
206 echo existent deja
207fi
208#
209   echo Creation graphes png
210   ${local}/make_pdf2png.sh $dirpng $seas $proj $sim $ref $var > out_pdf2png.log
211#
212   done
213
214   if [ ! -f "$htmlopt"  -o "`wc -l $htmlopt | awk ' { print $1 } '`" = "0" ] ; then
215      echo ECHEC ATLAS : $htmlopt inexistant ou vide | tee >>  atlas.sh.log
216      echo ECHEC ATLAS : $htmlopt inexistant ou vide
217   else
218      pwd
219      \cp -f $htmlopt $OUT_D/
220      sed -i -e "s:thredds\/IPSLFS:thredds\/fileServer\/ipsl_thredds:g" $OUT_D/$htmlopt
221
222      echo NOUVEL ATLAS DISPONIBLE SUR $PathHtml | tee >>  atlas.sh.log
223      echo NOUVEL ATLAS DISPONIBLE SUR $PathHtml
224   fi
225
226\rm -f $OUT_D/$keys_strg.ENCOURS
227
228#IM041122 \rm -rf $DODSDIR/$login/climafCache$$
Note: See TracBrowser for help on using the repository browser.