source: BOL/Multi_atlas/make_html_libigcm.sh @ 4340

Last change on this file since 4340 was 4330, checked in by musat, 2 years 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: 12.1 KB
Line 
1#!/bin/bash
2
3#set -x
4
5source ./env.sh
6
7###########################################################################
8###########################################################################
9# Traitement d'une serie d'experiences se trouvant sur le repertoire
10# $ROOTSTORAGE/$EXPNAME
11# L'organisation des fichiers suit celle de libIGCM
12# Une simulation sera par exemple stokÃee sur
13# $ROOTSTORAGE/$EXPNAME/${run}/ATM/Analyse/${run}_SE_1980_1986_1M_hitsmth.nc
14#                             /ATLAS/Analyse/SE/${run}_base
15# le script cree eventuellement les atlas si ils n'existent pas
16# calcule les valeurs inglobales (flux au sommet, prÃecip ...)
17# publie l'ensemble sur DODS
18# et cree un fichier html pointant vers cette arborescence dods.
19###########################################################################
20###########################################################################
21
22logname=aidel
23comp=COMP
24EXPNAME=NPV5LRL79
25put=cp
26
27helptext="
28        --help Ce manuel
29        --run Nom de la simulation
30        --id  Nom du repertoire contenant la simuation a partir de $STORAGE
31        --wd  Nom du repetoire temporaire
32        --origwww Au cas ou les simulations viennent d ailleurs
33"
34
35while test -n "${1}"; do
36  case "${1}" in
37        --help) echo "$helptext";
38            exit 0;;
39        --comp) comp="${2}"
40                 shift;;
41        --runstxt) runstxt="${2}" 
42                 shift ;;
43        --id) CONFIGNAME="${2}"
44                 shift;;
45        --wd) ROOTWORK="${2}"
46                 shift;;
47        --origwww) ROOTWEBORIG="${2}"
48                 shift;;
49        *) echo "make_se.sh: argument non reconnu ${1}"; exit 1;;
50  esac
51  shift
52done
53
54COMP_D=$MULTIDIR/$comp
55DEF_FILE=$COMP_D/def.txt
56HTML_D=$COMP_D
57
58####################################################################
59if [ 1 == 0 ]; then
60if [ ${hostname:0:5} = cicla ] || [ ${hostname:0:5} = spiri ]; then
61
62###tmpdir=/thredds/ipsl/fabric/lmdz
63tmpdir=/thredds/ipsl/${login}/lmdz
64EXPNAME=B96x95x39/V20090611.dev/
65ROOTWORK=$tmpdir
66ROOTWEBORIG=""
67EXPNAME=IGCM_OUT/$CONFIGNAME/DEVT/clim
68
69STORAGE=$ARCHIVE
70put=mfput
71ROOTWEBatlas=http://dods.idris.fr/$LOGNAME/$EXPNAME
72HTML_D=$ROOTSTORAGE/HTML
73
74DODSDIR=/thredds/ipsl
75dthredds=thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds
76HTML=http://${dthredds}/$login/lmdz/MultiSimu/$comp
77DODSDIR=/thredds/ipsl
78dthredds=thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds
79HTML=http://${dthredds}/$login/lmdz/MultiSimu/$comp
80####################################################################
81EXPNAME=NPV5LRL79
82put=cp
83CICLAD=/thredds/ipsl/${login}/lmdz
84ARCHIVE=$CICLAD/STORE
85workdir=$CICLAD/WORK
86STORAGE=$CICLAD
87ROOTWEBatlas=http://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/${logname}/lmdz/STORE/$EXPNAME
88MULTIDIR=/thredds/ipsl/${login}/lmdz/MultiSimu
89COMP_D=$MULTIDIR/$comp
90DEF_FILE=$COMP_D/def.txt
91HTML_D=$COMP_D
92
93ROOTSTORAGE=$ARCHIVE/$EXPNAME
94ROOTDODS=DODS/pub/$LOGNAME/$CONFIGNAME
95ROOTWEB="http://dodsp.idris.fr/$LOGNAME/$EXPNAME"
96# http://dods.extra.cea.fr/work/aidel/IGCM_OUT/LMDZOR/DEVT/clim/AR5.0lr/ATM/Analyse/COSP/Calipso/1982-1989
97#ROOTWEB_PROD=http://dods.extra.cea.fr/work/aidel/IGCM_OUT/LMDZOR/DEVT/clim
98ROOTWEB_PROD=http://esgf.extra.cea.fr/thredds/catalog/work/aidel/IGCM_OUT/LMDZOR/DEVT/clim
99ROOTWEB_PROD=https://thredds-su.ipsl.fr/thredds/catalog/work/aidel/IGCM_OUT/LMDZOR/DEVT/clim
100ROOTWEB_PROD=https://thredds-su.ipsl.fr/thredds/catalog/store_thredds/aidel/IGCM_OUT/LMDZOR/DEVT/clim
101ROOTWEB_PRODout=https://thredds-su.ipsl.fr/thredds/catalog/store_thredds/aidel/LMDZOR/DEVT/clim
102#STOREWEB_PROD=http://dods.extra.cea.fr/store/aidel/IGCM_OUT/LMDZOR/DEVT/clim
103#STOREWEB_PROD=http://esgf.extra.cea.fr/thredds/catalog/store/aidel/IGCM_OUT/LMDZOR/DEVT/clim
104STOREWEB_PROD=http://esgf.extra.cea.fr/thredds/catalog/store_thredds/aidel/IGCM_OUT/LMDZOR/DEVT/clim
105STOREWEB_PRODold=http://esgf.extra.cea.fr/thredds/catalog/store/aidel/IGCM_OUT/LMDZOR/DEVT/clim
106#ROOTWEBatlas=http://dods.idris.fr/$LOGNAME/$CONFIGNAME/DEVT/clim
107if [ "$ROOTWEBORIG" = "" ] ; then
108ROOTWEBORIG=ROOTWEBlibigcm
109fi
110
111echo ROOTSTORAGE $ROOTSTORAGE ROOTWEB $ROOTWEB
112
113fi
114fi
115 
116glob=1
117
118# Version Abderrahmane/centres de caclcul
119listevar="bils fnet tops topl topl0 crfsw crflw crfnet eva pr prw "
120# Version ciclad multi-atlas
121listevar="bils rt   rst  rlut rlutcs  crest crelt cret eva pr prw "
122listevalvar="7.097 0.7823 240.4 239.6 269.4 -47.05 29.84 -17.21 3.415 2.61 27.46 "
123
124
125###########################################################################
126# CREATION DE L'ENTETE DU FICHIER html
127###########################################################################
128
129# Horrible astuce pour controler a peu pres la longueur des chaines
130# de caractere pour la description des simus
131longn=`wc -lc $DEF_FILE | awk ' { print int ( $2 / $1 / 2 ) } '`
132longc="" ; i=0 ; while [ $i != $longn ] ; do (( i = $i + 1 )) ; longc="$longc"_ ; done
133
134htmlfile=$CICLAD/HTML/tmp.html   ; rm -f $htmlfile ; touch $htmlfile
135errfile=$CICLAD/HTML/tmphtml$$.err ; rm -f $errfile  ; touch $errfile
136D_work=$ROOTWORK/tmp_makehtml$$ ; rm -rf $D_work ; mkdir -p $D_work
137emptyelt='<td> - </td>'
138
139cat <<eod>| $htmlfile
140<table cellpadding="2" cellspacing="2" border="1"
141 style="text-align: left; width: 100px; margin-left: auto;
142margin-right: auto;">
143<tr>
144<td><a href="https://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/${login}/lmdz/MultiSimu/$comp/def.txt"> RUN (link to outputs)  </a></td>
145<td> Atlas YEAR</td>
146<td> Atlas --DJF-- </td>
147<td> Atlas --JJA-- </td>
148<td> Atlas --MAM-- </td>
149<td> Atlas --SON-- </td>
150<td> Description of the simulation $longc </td>
151<td> Period </td>
152<td> Name (link to parameters) </td>
153eod
154
155if [ $glob = 1 ] ; then
156   for var in $listevar ; do
157      echo '<td> '$var' </td>' >> $htmlfile
158   done
159fi
160
161################CLIMATOS##################################################
162echo '<tr>' >> $htmlfile
163echo "<td> CLIMATOS </td>" >> $htmlfile
164echo "<td>        </td>" >> $htmlfile
165echo "<td>        </td>" >> $htmlfile
166echo "<td>        </td>" >> $htmlfile
167echo "<td>        </td>" >> $htmlfile
168echo "<td>        </td>" >> $htmlfile
169echo "<td>        </td>" >> $htmlfile
170echo "<td>        </td>" >> $htmlfile
171echo "<td>        </td>" >> $htmlfile
172if [ $glob = 1 ] ; then
173   for var in $listevalvar ; do
174      echo '<td> '$var' </td>' >> $htmlfile
175   done
176fi
177echo '<tr>' >> $htmlfile
178
179lc=`wc -l $DEF_FILE | awk ' { print $1 } '`
180ll=1
181###########################################################################
182# DEBUT DE LA BOUCLE SUR LES SIMULATIONS
183while [ $ll -le $lc ] ; do
184#for sim in `awk ' {print $1} ' $DEF_FILE` ; do
185    line=`sed -n -e ${ll}p $DEF_FILE`
186    sim=`echo $line | awk ' { print $1 } '`
187    simdir=`grep -w "^$sim "  $runstxt | awk ' { print $2 } '`
188    echo simdir $simdir
189    run=`basename $simdir `
190    years=`echo $line | awk ' { print $2 } '`
191#    years=`grep '^'$run' ' $DEF_FILE | awk ' { print $2 }'`
192    yearsb=`echo $years | sed -e 's/_/-/'`
193    echo run $run
194    echo '<tr>' >> $htmlfile
195###########################################################################
196
197
198
199NCFILE=${run}_SE_${years}_1M_histmth.nc
200
201# AI partie rapat
202#$home/Diagnos_v6/dods_publi.sh $EXPNAME/$run/DEBUG
203#Mettre les sorties sur dods
204#$home/Diagnos_v6/dods_publi.sh $EXPNAME/$run/ATM/Output
205#Mettre les sorties sur dods les restart
206#$home/Diagnos_v6/dods_publi.sh $EXPNAME/$run/RESTART
207
208
209#--------------------------------------------------------------------------
210# Liens vers les fichiers, monitoring et atlas
211#--------------------------------------------------------------------------
212#    echo "<td><a href=\"$ROOTWEBatlas/"$run"\"> "$run" </a></td>" >> $htmlfile
213    echo "<td><a href=\"$ROOTWEB_PRODout/"$run"/catalog.html\"> "$sim" </a></td>" >> $htmlfile
214
215D_SE=$run/ATM/Analyse/SE
216
217echo OK0
218#    if [ -f "$ROOTSTORAGE/$D_SE/$NCFILE" ] ; then
219     if [ 1 = 1 ] ; then
220
221            for SEAS in YEAR DJF JJA MAM SON ; do
222               echo '<td>' >> $htmlfile
223               for PROJ in GLOB NH SH ; do
224                 atlas=index_${PROJ}_${SEAS}_${run}_$years.html
225                 echo Chemin atlas
226                 echo $COMP_D/ATLAS/$atlas
227                 if [ -f $COMP_D/ATLAS/$atlas ] ; then
228                     atlasf=$COMP_D/ATLAS/$atlas
229                 else # Ancienne version des scripts d'atlas :
230                     atlasf=$ROOTSTORAGE/$run/ATLAS/SE_$years/ATM/$atlas
231                 fi
232                 ###atlas_html=`echo $atlasf | sed -e 's:/thredds/ipsl/:http\://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/:'`
233                 atlas_html=`echo $atlasf | sed -e 's:/thredds/ipsl/:http\://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/:'`
234                 echo atlas_html $atlas_html
235                 echo atlasf $atlasf
236                 if [ -f $atlasf ] ; then
237                    echo "<a href=\"$atlas_html\"> ${PROJ:0:1} </a>"
238                    echo "<a href=\"$atlas_html\"> ${PROJ:0:1} </a>" >> $htmlfile
239                 else
240                    echo "-" >> $htmlfile
241                    echo Le fichier $atlas_html n\'existe pas
242                 fi
243               done
244               echo '</td>' >> $htmlfile
245            done
246
247
248#--------------------------------------------------------------------------
249    else # Cas ou le fichier histmth.nc n est pas present
250#--------------------------------------------------------------------------
251        echo Le fichier $ROOTSTORAGE/"$run"/$D_SE/$NCFILE n\'existe pas >> $errfile
252        for i in 1 2 3 ; do
253            echo "$emptyelt" >> $htmlfile
254        done
255    fi
256
257# Parametres testes par rapport a la simulation de Ref
258    grep "^$sim "  $DEF_FILE | grep $years | sed -e 's/'$years'//' -e 's/'$sim'/<td>/' -e 's/$/<\/td>/' >> $htmlfile
259    echo '<td> '$years' </td>' >> $htmlfile
260
261    echo "<td><a href=\"$ROOTWEB_PROD/"$run"/catalog.html\"> "$sim" </a></td>" >> $htmlfile
262#--------------------------------------------------------------------------
263# Parametres globaux
264#--------------------------------------------------------------------------
265echo OK0
266   if [ $glob = 1 ] ; then
267      echo OK GGGGGGGGGGGGG $glob
268      listeval=""
269      echo LISTEVAR $listevar
270#      echo NCFILE $NCFILE
271      for var in $listevar ; do
272      echo $ROOTWORK/VLR/YEAR/${sim}_$years/METRICS/glob
273#          if [ -f "$ROOTSTORAGE/$run/ATM/Analyse/Bilans/$years/${run}_bilans.data" ] ; then
274#           if [ -f "$ROOTWORK/VLR/YEAR/${run}_$years/METRICS/glob" ] ; then
275           if [ -f "$ROOTWORK/VLR/YEAR/${sim}_$years/METRICS/glob" ] ; then 
276              val=`grep "^$var " $ROOTWORK/VLR/YEAR/${sim}_$years/METRICS/glob | awk ' { print $2 }' `
277            echo $val
278          else
279              val=.
280          fi
281          listeval="$listeval <td> $val </td>"
282     done
283     echo $listeval
284     echo $listeval >> $htmlfile
285   fi # glob
286echo LISTEVAL $listeval
287
288
289###########################################################################
290# FIN DE LA BOUCLE SUR LES SIMULATIONS
291###########################################################################
292    echo '</tr>' >> $htmlfile
293    (( ll = $ll + 1 ))
294done
295echo $htmlfile
296
297#############################################################################
298# Traitement eventuel des comparaisons
299#############################################################################
300
301echo '<tr>' >> $htmlfile
302
303if [ -f cmp.liste ] ; then
304
305 for cmp in `awk ' { print $1 } ' cmp.liste` ; do
306
307  descr=`grep "$cmp " cmp.liste | awk ' { print $2 } '`
308
309# Rajout des courbes de comparaison entre simulations
310 echo '<tr>' >> $htmlfile
311    echo "<td> $cmp </td>" >> $htmlfile
312    echo "<td><a href=\"$ROOTWEB/$cmp/ATLAS\"> X </a></td>" >> $htmlfile
313    echo "<td> X </td>" >> $htmlfile
314    echo "<td> X </td>" >> $htmlfile
315    echo "<td><a href=\"$ROOTWEB/$cmp/MoyZon/$years/catalog.html\"> "X" </a></td>" >> $htmlfile
316    echo "<td><a href=\"$ROOTWEB/$cmp/CRF/$years/catalog.html\"> "X" </a></td>" >> $htmlfile
317    echo "<td> X  </td>" >> $htmlfile
318    echo "<td> X  </td>" >> $htmlfile
319    echo "<td> X  </td>" >> $htmlfile
320    echo "<td> X  </td>" >> $htmlfile
321    echo "<td> X  </td>" >> $htmlfile
322    echo "<td> $descr </td>" >> $htmlfile
323  echo '</tr>' >> $htmlfile
324
325done
326fi
327
328echo '</table>' >> $htmlfile
329###########################################################################
330
331mkdir -p $HTML_D
332$put $htmlfile $HTML_D/Table_simulations_$comp.html
333echo $put $htmlfile $HTML_D/Table_simulations_$comp.html
334
335#$home/Diagnos_v6/dods_publi.sh $EXPNAME/HTML
Note: See TracBrowser for help on using the repository browser.