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

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

Mise a jour des scripts par rapport a la version fabric
IM

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