source: BOL/Multi_atlas/Utils/multi.sh @ 4075

Last change on this file since 4075 was 3917, checked in by musat, 3 years ago

Ajout script pour evaluer le temps necessaire pour la realisation
des cartes
IM

  • Property svn:executable set to *
File size: 13.7 KB
Line 
1#set -vx
2
3local=`pwd -P`
4cd $local
5echo REPERTOIRE LOCAL :  $local
6
7echo '############################################################'
8echo  0/ gestion des options
9echo '############################################################'
10pcmdi_metrics=0
11tuning_metrics=1
12und=0
13zon=1
14html=1
15atlas=1
16newatlas=1
17atlas_cesmep=0
18get=0
19cmor=1
20regdyn=0
21lma=0
22trmm=0
23axe2=0
24axe4=0
25esmval2=0
26refld_histo=0
27vertcld_calipso=0
28stations_day=0
29stations_mth=0
30qsub=0
31mjo=0
32river=0
33dataref=1
34
35ref=OBS
36echo $ref
37# ./job_multi.sh -1D 0 -get 0 -atlas 0 -pcmdi 0 -tuning 0 -lma 0 -trmm 0
38runstxt=$local/runs.txt
39
40while test -n "${1}"; do
41   case $1 in
42      -1D) und=$2 ; shift ;;
43      -get) get=$2 ; shift ;;
44      -cmor) cmor=$2 ; shift ;;
45      -zon) zon=$2 ; shift ;;
46      -atlas) atlas=$2 ; shift ;;
47      -atlas_cesmep) atlas_cesmep=$2 ; shift ;;
48      -pcmdi) pcmdi_metrics=$2 ; shift ;;
49      -tuning) tuning_metrics=$2 ; shift ;;
50      -runstxt) runstxt=$2 ; shift ;;
51      -lma) lma=$2 ; shift ;;
52      -trmm) trmm=$2 ; shift ;;
53      -axe4) axe4=$2 ; shift ;;
54      -axe2) axe2=$2 ; shift ;;
55      -regdyn) regdyn=$2 ; shift ;;
56      -esmval2) esmval2=$2 ; shift ;; 
57      -stations_day) stations_day=$2 ; shift ;; 
58      -stations_mth) stations_mth=$2 ; shift ;; 
59      -refld_histo) refld_histo=$2 ; shift ;;
60      -vertcld_calipso) vertcld_calipso=$2 ; shift ;;
61      -mjo) mjo=$2 ; shift ;; 
62      -river) river=$2 ; shift ;;
63      -dataref) dataref=$2 ; shift ;;
64      *) comp=$1 ;;
65   esac
66   shift
67done
68
69rm -f out.com$$
70runstxt=$local/runs.txt
71echo runstxt= $runstxt
72
73echo DODSDIR : $DODSDIR
74MAIN_SE=$DODSDIR/$login/lmdz/SE
75TS_DA=$DODSDIR/$login/lmdz/TS_DA
76TS_MO=$DODSDIR/$login/lmdz/TS_MO
77MULTIDIR=$DODSDIR/$login/lmdz/MultiSimu
78
79if [ ! -d $MULTIDIR ] ; then mkdir -p $MULTIDIR ; fi
80if [ ! -d $MAIN_SE ] ; then mkdir -p $MAIN_SE ; fi
81if [ ! -d $MAIN_MO ] ; then mkdir -p $MAIN_MO ; fi
82if [ ! -d $MAIN_DA ] ; then mkdir -p $MAIN_DA ; fi
83
84COMP_D=$MULTIDIR/$comp
85DEF_FILE=$COMP_D/def.txt ; if [ ! -f $DEF_FILE ] ; then echo renseigner $DEF_FILE ; exit ; fi
86
87listsims=""  ; for s  in `awk ' {print $1} ' $DEF_FILE | uniq`          ; do listsims="$listsims $s"    ; done
88echo listsims $listsims
89
90echo ### On supprime dans def.txt les lignes vides ########
91sed -i "/^[ \t]*$/d" $DEF_FILE
92
93echo ### On teste d abord la coherence des noms des simulations dans def.txt et $runstxt ################
94echo MULTI-ATLAS "$comp"
95for s in $listsims ; do
96srun=`grep -w "^$s "  $runstxt | awk ' { print $1 } '`
97echo 's='"$s" '    srun='  "$srun"
98if [ "$s" = "$srun" ] ; then
99   echo Meme nom de la simulation dans def.txt et $runstxt 's=' "$s" '    srun='  "$srun"
100else
101   echo ATTENTION : la simulation "$s" de votre def.txt n est pas repertoriee dans $runstxt 
102   echo             ou le meme nom est attribue a plusieures simulations
103   echo Il faut la rajouter dans $runstxt 
104   echo avec le chemin vers les SE et TS dans ciclad : /modfs/$login/IGCM_OUT
105   echo             ou renomer votre simulation
106exit
107fi
108done
109#exit
110listruns=""
111listrunss=""
112listrunse=""
113if [ ! -d $MAIN_SE/ORIG ] ; then mkdir -p $MAIN_SE/ORIG ; fi
114for s in $listsims ; do 
115simdir=`grep -w "^$s "  $runstxt | awk ' { print $2 } '`
116echo $simdir
117( cd $MAIN_SE/ORIG ; ln -sf $simdir/ATM/Analyse/SE/*mth*nc . ) > /dev/null 2>&1
118echo $simdir
119ss=`basename $simdir `
120listruns="$listruns $ss"
121for year in `grep -w "^$s" $DEF_FILE | awk ' { print $2 } '` ; do
122listrunss="$listrunss ${ss}_$year"
123listrune="$listrune ${ss}_SE_$year"
124done
125done
126echo listruns = $listruns
127echo listrunss= $listrunss
128echo listrune= $listrune 
129echo ================================================================
130echo la commande suivante
131echo ls -lrt $MAIN_SE/ORIG
132echo peut prendre beaucoup de temps lorsque
133echo l acces aux espaces du CCRT et/ou de l IDRIS thredds est lent ou si
134echo les espaces /thredds/tgcc et/ou /thredds/idris ne sont pas montes sur ciclad.
135echo On ne l utilise plus !!!
136echo ================================================================
137###ls -lrt $MAIN_SE/ORIG
138
139ns=0
140listsimss="" ; 
141for ss in `awk ' {print $1"_"$2 } ' $DEF_FILE`    ; do 
142if [ $dataref = 0 ] ; then
143   if [ ${ns} = 0 ] ; then
144      ref=$ss
145      echo ref=$ref
146   fi 
147fi
148let "ns = ${ns} + 1"
149listsimss="$listsimss $ss" ; 
150done
151echo ref=$ref
152
153listsimse="" ; for se in `awk ' {print $1"_SE_"$2 } ' $DEF_FILE` ; do listsimse="$listsimse $se" ; done
154echo listsims $listsims
155echo listsimss $listsimss
156echo listsimse $listsimse
157
158echo SIMULATIONS: $listsims
159
160RUNS=""
161RUNS=`awk ' {print $1"_"$2 } ' $DEF_FILE`
162echo listrunss=$RUNS
163
164echo '########################################################################'
165echo  1/ Rapatriement des simulations manquantes
166echo '########################################################################'
167#### AI avril 2020 ################ Avant l acces directe aux simulations sur le dods du CCRT
168# Adresses web ne sont plus a jours
169# A commenter les adresses web CCRT
170# A mettre a jours les adress web IDRIS
171# Rajouter d'autres machines avec rsynk, wget ou ssh ...
172
173if [ $get = 1 ] ; then
174 cd $MAIN_SE
175 for sim in $listsimss ; do echo ./getun.sh ${sim} >> $local/out.com$$ ; ./getun.sh ${sim} ; done
176 cd $TS_DA ; pwd
177 for sim in $listsimss ; do echo ./getun.sh ${sim} >> $local/out.com$$ ; ./getun.sh ${sim} ; done
178 cd $TS_MO ; pwd
179 for sim in $listsimss ; do echo ./getun.sh ${sim} >> $local/out.com$$ ; ./getun.sh ${sim} ; done
180fi
181
182if [ $cmor = 1 ] ; then
183 cp cmor.sh $MAIN_SE/.
184 cp season.sh $MAIN_SE/.
185 cd $MAIN_SE
186 chmod +x cmor.sh
187 chmod +x season.sh
188#########################################################################
189# 1.2 "Cmorisation des fichiers mensuels : traduction au format CMIP
190#########################################################################
191# Deux lignes suivantes modif FH 2016/11/09
192# Files are taken from /modfs/ipslfs/dods/fabric/lmdz/SE/ORIG and
193# results are in /modfs/ipslfs/dods/fabric/lmdz/SE/CMOR
194#########################################################################
195 ./cmor.sh -runsfile $runstxt $comp
196if [ $? != 0 ] ; then exit ; fi # Probleme de histmth non present. On arrete tout
197
198#########################################################################
199# 1.3 Interpolate fields on a common horizontal grid (VLR) and
200#########################################################################
201#     average in time "YEAR", "JJA" ...
202#     Results are put on
203#     /modfs/ipslfs/dods/fabric/lmdz/VLR/YEAR/[SIMU_NAME]_[period]/NC
204#     If wanting to rerun season.sh for observations :
205#     ./season.sh -s OBS
206#########################################################################
207 ./season.sh -comp $comp
208 cd $local
209fi
210
211echo '########################################################################'
212echo  2/ Lancement des atlas manquant
213echo '########################################################################'
214natlas=`wc -l $COMP_D/atlas-def | awk ' { print $1 } '`
215count_atlas=0
216
217if [ $atlas = 1 ] ; then
218if [ $newatlas = 1 ]; then
219sed -e 's/COMPAR/'${comp}'/' ${local}/atlas/make_atlas.sh > ${local}/atlas/make_atlas_${comp}.sh
220$submit -v COMP=${comp},DATAREF=${dataref} ${local}/atlas/make_atlas_${comp}.sh
221
222./make_timecount.sh ${comp}
223
224else
225
226for sim in $listsimss ; do
227   il=1
228   if [ ! -f $COMP_D/atlas-def ] ; then
229      echo Definir les atlas a construire dans $COMP_D/atlas-def
230      echo Example :
231      cat $COMP_D/../CMIP5to6/atlas-def
232   fi
233   while [ $il -le $natlas ] ; do
234      line=`sed -n -e ${il}p $COMP_D/atlas-def`
235      seas=`echo $line | awk ' { print $1 } '`
236      proj=`echo $line | awk ' { print $2 } '`
237      vars=`echo $line | awk ' { print $3 } '`
238      atlas=${sim}+${seas}+${proj}+$vars
239      echo AAAAAAAAAAAAAAAAAAAAAAAA $atlas
240      #grep $atlas $COMP_D/ATLAS/atlas_OK
241      echo BBBBBB
242      #if [ "`grep $atlas $COMP_D/ATLAS/atlas_OK`" = "" ] ; then
243         cd $local/atlas ; pwd ; ls -l atlas.sh
244         varg=`echo $vars | sed -e 's/,/+/g'`
245         echo Atlas $atlas a creer
246         if [ $qsub = 0 ] ; then
247            ./atlas.sh RUN=$sim,SEASON=$seas,PROJ=$proj,OUTDIR=$COMP_D/ATLAS,REF=$ref,VARS="$varg",RUNSTXT=$runstxt
248         else
249            $submit -v RUN=$sim,SEASON=$seas,PROJ=$proj,OUTDIR=$COMP_D/ATLAS,REF=$ref,VARS="$varg",RUNSTXT=$runstxt atlas.sh
250         fi
251         echo $submit -v RUN=$sim,SEASON=$seas,PROJ=$proj,OUTDIR=$COMP_D/ATLAS,REF=$ref,VARS="$varg" atlas.sh >> out.com$$
252         echo $submit -v RUN=$sim,SEASON=$seas,PROJ=$proj,OUTDIR=$COMP_D/ATLAS,REF=$ref,VARS="$varg" atlas.sh
253         (( count_atlas = $count_atlas + 1 ))
254      (( il = $il + 1 ))
255   done
256done
257if [ $count_atlas != 0 ] ; then
258    echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
259    echo Les atlas manquant ont ete lances. Attendre leur
260    echo creation pour relancer job_multi.sh
261    echo '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
262#   exit
263fi
264
265fi #newatlas
266fi #atlas
267
268# atlas_cesmep : cles pour activer les nouveau atlas (C-ESM-EP)
269if [ $atlas_cesmep = 1 ] ; then
270   cd ~/LMDZ/C-ESM-EP
271   ./AtlasLMDZ.sh -runsfile $runstxt $comp 
272fi # atlas_cesmep
273
274echo '########################################################################'
275echo  3/ Calcul des moyennes zonales nco
276echo '########################################################################'
277
278
279#trace moy.zonale OBS + multi-simulations
280if [ $zon = 1 ] ; then
281   cd $local
282   mkdir -p $COMP_D/ZON
283   for sim in $listsimse OBS ; do
284      years=`echo $sim | sed -e 's/_SE_/ /' | awk ' { print $2 } '`
285      run=`echo $sim | sed -e 's/_SE_/ /' | awk ' { print $1 } '`
286      ./make_MOY.sh "$years" YEAR "$run" GLOB
287      ./make_MOY.sh "$years" YEAR "$run" ZON
288      ./make_MOY.sh "$years" JJA "$run"  ZON
289      ./make_MOY.sh "$years" DJF "$run"  ZON
290      ./make_MOY.sh "$years" JJAS "$run" AMMACROSS
291   done
292   cd $local
293### ajout nuages LMDZ dans la compa et doit faire des liens symbol. sur
294#### les OBS calipso toujurs pour le moment
295   ./mk_clouds_NOcalipso.sh YEAR ZON
296   ./mk_clouds_NOcalipso.sh DJF ZON
297   ./mk_clouds_NOcalipso.sh JJA ZON
298   ./mk_clouds_NOcalipso.sh JJAS AMMACROSS
299#
300   pwd
301   ./multi_ZONE.sh YEAR $comp ZON -runsfile $runstxt
302   ./multi_ZONE.sh JJA $comp ZON -runsfile $runstxt
303   ./multi_ZONE.sh DJF $comp ZON -runsfile $runstxt
304   ./multi_ZONE.sh JJAS $comp AMMACROSS -runsfile $runstxt
305
306fi
307
308echo '########################################################################'
309echo 4/ Lancement du 1D si necessaire
310echo '########################################################################'
311if [ ! -f $COMP_D/1D/1D.html -a $und = 1  ] ; then
312    cd $COMP_D
313    ~/LMDZ/1D/serie1d.sh $comp
314    cd $local
315fi
316
317echo '########################################################################'
318echo 5/ Métriques
319echo '########################################################################'
320if [ $tuning_metrics = 1 -a ! -d $COMP_D/METRICS ] ; then
321   echo metrics.sh
322   cd $local/METRICS
323   ./metrics.sh $comp
324fi
325
326if [ $regdyn = 1 ]; then
327   cd ~/users/musat/regdyn/clean_regdyn
328   ./mk_all_regdyn.sh $comp 0
329   cd $local
330fi
331
332if [ $esmval2 = 1 ]; then
333   cd $local
334   ./cvdp4atlas.sh $comp
335   ./perfm4atlas.sh $comp
336fi   
337
338if [ $mjo = 1 ]; then
339   cd ~/users/idelkadi/MJO
340   ./make_diagnosMJO.sh $comp
341fi
342
343if [ $river = 1 ]; then 
344   cd ~/users/idelkadi/AXE1/River
345   ./make_diagnoRiver.sh $comp
346fi 
347
348if [ $lma = 1 ]; then
349   cd $local
350   ./make_lma.sh $comp
351fi
352if [ $axe2 = 1 ]; then
353   cd $local
354   ./make_axe2.sh -runstxt $runstxt $comp
355fi
356if [ $trmm = 1 ]; then
357   cd ~/users/mbonaz/
358   ./Axe2_Marine.sh $comp
359   cd $local
360fi
361cd $local
362if [ $pcmdi_metrics = 1 ] ; then
363   ./make_pcmdi.sh $comp
364fi
365if [ $axe4 = 1 ]; then
366  cd $local
367   ./make_axe4.sh $comp
368fi
369
370if [ "$reflcld_histo" = "1" ] ; then
371   cd ~/users/idelkadi/AXE3/
372   ./make_scatReflCld.sh $comp
373   cd $local
374fi
375
376if [ $vertcld_calipso = 1 ] ; then
377   cd ~/users/idelkadi/AXE3/Calipso/CoupeVerticale/DJF
378   ./make_VerticalMzCldCalipso.sh $comp
379   cd ~/users/idelkadi/AXE3/Calipso/CoupeVerticale/JJA
380   ./make_VerticalMzCldCalipso.sh $comp
381   cd ~/users/idelkadi/AXE3/Calipso/Stratos
382   ./make_StratosCalipso.sh $comp
383fi
384
385
386echo '########################################################################'
387echo 6/ Stations
388echo '########################################################################'
389
390if [ $stations_day = 1 ] ; then
391   ~/users/Binta/bibi.sh $comp
392   ~/users/cheruy/bibi.sh $comp
393fi
394
395if [ $stations_mth = 1 ] ; then
396   ~/users/traore/SE_buoy.sh $comp
397fi
398
399echo '########################################################################'
400echo 7/ generation des pages html
401echo '########################################################################'
402
403if [ $html = 1 ] ; then
404   echo ./make_html_libigcm_ai.sh --comp $comp
405   ./make_html_libigcm.sh --comp $comp
406   cd $local
407   ./html_entete.sh ${comp} ${dataref}
408   ./make_index_html.sh ${comp} ${dataref}
409   ./html_tuning.sh  $comp
410   ./html_tuning_min.sh  $comp
411   ./html_accueil.sh  $comp
412   ./html_1D.sh  $comp
413   ./html_lma.sh $comp
414   ./html_pcmdi.sh $comp
415   ./html_all.sh >| $MULTIDIR/all.html
416
417   # html pour les métriques
418#   cat $COMP_D/entete.html doc_pcmdi.html >| $COMP_D/PCMDI.html
419#   ref=`echo $listsimss | awk ' { print $1 } '`
420#   echo "<h1> Metrics with respect to $ref </h1>" >>  $COMP_D/PCMDI.html
421#   cat $COMP_D/pcmdi_metrics.html >> $COMP_D/PCMDI.html
422#   echo "<h1> Metrics with respect to AR4.00 </h1>" >>  $COMP_D/PCMDI.html
423#   cat $COMP_D/metrics-AR4-as-ref.html >> $COMP_D/PCMDI.html
424#   echo "<h1> Metrics with respect to CMIP5/AMIP multi model </h1>" >>  $COMP_D/PCMDI.html
425#   cat $COMP_D/metrics-CMIP5-AMIP-as-ref.html >> $COMP_D/PCMDI.html
426   for i in 1 2 3 4 5 6 7 ; do
427        ./html_axe$i.sh  $comp
428   done
429   for proj in GLOB SH NH ; do
430   for bias in BIAS MAPS ; do
431       for season in YEAR DJF JJA ; do
432        echo ./multi_atlas.sh $comp $bias $season $proj $RUNS 
433        ./multi_atlas.sh $comp $bias $season $proj $RUNS  >> out.com$$
434       done
435   done
436   done
437#exit
438#   cd $COMP_D
439#   ln -sf BIASYEAR.html  $comp.html
440#   ln -sf ACCUEIL.html  $comp.html
441cd $local
442./webpage_multi.sh $comp
443
444fi
Note: See TracBrowser for help on using the repository browser.