#!/bin/bash #set -x source ~/env_Multi_atlas.sh ########################################################################### ########################################################################### # Traitement d'une serie d'experiences se trouvant sur le repertoire # $ROOTSTORAGE/$EXPNAME # L'organisation des fichiers suit celle de libIGCM # Une simulation sera par exemple stokÃee sur # $ROOTSTORAGE/$EXPNAME/${run}/ATM/Analyse/${run}_SE_1980_1986_1M_hitsmth.nc # /ATLAS/Analyse/SE/${run}_base # le script cree eventuellement les atlas si ils n'existent pas # calcule les valeurs inglobales (flux au sommet, prÃecip ...) # publie l'ensemble sur DODS # et cree un fichier html pointant vers cette arborescence dods. ########################################################################### ########################################################################### logname=aidel comp=COMP EXPNAME=NPV5LRL79 put=cp helptext=" --help Ce manuel --run Nom de la simulation --id Nom du repertoire contenant la simuation a partir de $STORAGE --wd Nom du repetoire temporaire --origwww Au cas ou les simulations viennent d ailleurs " while test -n "${1}"; do case "${1}" in --help) echo "$helptext"; exit 0;; --comp) comp="${2}" shift;; --runstxt) runstxt="${2}" shift ;; --id) CONFIGNAME="${2}" shift;; --wd) ROOTWORK="${2}" shift;; --origwww) ROOTWEBORIG="${2}" shift;; *) echo "make_se.sh: argument non reconnu ${1}"; exit 1;; esac shift done HTML=http://${dthredds}/$login/lmdz/MultiSimu/$comp MULTIDIR=${DODSDIR}/${login}/lmdz/MultiSimu COMP_D=$MULTIDIR/$comp DEF_FILE=$COMP_D/def.txt HTML_D=$COMP_D CICLAD=/thredds/ipsl/${login}/lmdz ROOTWORK=$CICLAD #################################################################### glob=1 # Version Abderrahmane/centres de caclcul listevar="bils fnet tops topl topl0 crfsw crflw crfnet eva pr prw " # Version ciclad multi-atlas listevar="bils rt rst rlut rlutcs crest crelt cret eva pr prw " listevalvar="7.097 0.7823 240.4 239.6 269.4 -47.05 29.84 -17.21 3.415 2.61 27.46 " ########################################################################### # CREATION DE L'ENTETE DU FICHIER html ########################################################################### # Horrible astuce pour controler a peu pres la longueur des chaines # de caractere pour la description des simus longn=`wc -lc $DEF_FILE | awk ' { print int ( $2 / $1 / 2 ) } '` longc="" ; i=0 ; while [ $i != $longn ] ; do (( i = $i + 1 )) ; longc="$longc"_ ; done htmlfile=$CICLAD/HTML/tmp.html ; rm -f $htmlfile ; touch $htmlfile errfile=$CICLAD/HTML/tmphtml$$.err ; rm -f $errfile ; touch $errfile D_work=$ROOTWORK/tmp_makehtml$$ ; rm -rf $D_work ; mkdir -p $D_work emptyelt=' - ' cat <| $htmlfile eod if [ $glob = 1 ] ; then for var in $listevar ; do echo '' >> $htmlfile done fi ################CLIMATOS################################################## echo '' >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile if [ $glob = 1 ] ; then for var in $listevalvar ; do echo '' >> $htmlfile done fi echo '' >> $htmlfile lc=`wc -l $DEF_FILE | awk ' { print $1 } '` ll=1 ########################################################################### # DEBUT DE LA BOUCLE SUR LES SIMULATIONS while [ $ll -le $lc ] ; do #for sim in `awk ' {print $1} ' $DEF_FILE` ; do line=`sed -n -e ${ll}p $DEF_FILE` sim=`echo $line | awk ' { print $1 } '` simdir=`grep -w "^$sim " $runstxt | awk ' { print $2 } '` echo simdir $simdir run=`basename $simdir ` years=`echo $line | awk ' { print $2 } '` # years=`grep '^'$run' ' $DEF_FILE | awk ' { print $2 }'` yearsb=`echo $years | sed -e 's/_/-/'` echo run $run echo '' >> $htmlfile ########################################################################### NCFILE=${run}_SE_${years}_1M_histmth.nc # AI partie rapat #$home/Diagnos_v6/dods_publi.sh $EXPNAME/$run/DEBUG #Mettre les sorties sur dods #$home/Diagnos_v6/dods_publi.sh $EXPNAME/$run/ATM/Output #Mettre les sorties sur dods les restart #$home/Diagnos_v6/dods_publi.sh $EXPNAME/$run/RESTART #-------------------------------------------------------------------------- # Liens vers les fichiers, monitoring et atlas #-------------------------------------------------------------------------- # echo "" >> $htmlfile echo "" >> $htmlfile D_SE=$run/ATM/Analyse/SE echo OK0 # if [ -f "$ROOTSTORAGE/$D_SE/$NCFILE" ] ; then if [ 1 = 1 ] ; then for SEAS in YEAR DJF JJA MAM SON ; do echo '' >> $htmlfile done #-------------------------------------------------------------------------- else # Cas ou le fichier histmth.nc n est pas present #-------------------------------------------------------------------------- echo Le fichier $ROOTSTORAGE/"$run"/$D_SE/$NCFILE n\'existe pas >> $errfile for i in 1 2 3 ; do echo "$emptyelt" >> $htmlfile done fi # Parametres testes par rapport a la simulation de Ref grep "^$sim " $DEF_FILE | grep $years | sed -e 's/'$years'//' -e 's/'$sim'/' >> $htmlfile echo "" >> $htmlfile #-------------------------------------------------------------------------- # Parametres globaux #-------------------------------------------------------------------------- echo OK0 if [ $glob = 1 ] ; then echo OK GGGGGGGGGGGGG $glob listeval="" echo LISTEVAR $listevar # echo NCFILE $NCFILE for var in $listevar ; do echo $ROOTWORK/VLR/YEAR/${sim}_$years/METRICS/glob # if [ -f "$ROOTSTORAGE/$run/ATM/Analyse/Bilans/$years/${run}_bilans.data" ] ; then # if [ -f "$ROOTWORK/VLR/YEAR/${run}_$years/METRICS/glob" ] ; then if [ -f "$ROOTWORK/VLR/YEAR/${sim}_$years/METRICS/glob" ] ; then val=`grep "^$var " $ROOTWORK/VLR/YEAR/${sim}_$years/METRICS/glob | awk ' { print $2 }' ` echo $val else val=. fi listeval="$listeval " done echo $listeval echo $listeval >> $htmlfile fi # glob echo LISTEVAL $listeval ########################################################################### # FIN DE LA BOUCLE SUR LES SIMULATIONS ########################################################################### echo '' >> $htmlfile (( ll = $ll + 1 )) done echo $htmlfile ############################################################################# # Traitement eventuel des comparaisons ############################################################################# echo '' >> $htmlfile if [ -f cmp.liste ] ; then for cmp in `awk ' { print $1 } ' cmp.liste` ; do descr=`grep "$cmp " cmp.liste | awk ' { print $2 } '` # Rajout des courbes de comparaison entre simulations echo '' >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo "" >> $htmlfile echo '' >> $htmlfile done fi echo '
RUN (link to outputs) Atlas YEAR Atlas --DJF-- Atlas --JJA-- Atlas --MAM-- Atlas --SON-- Description of the simulation $longc Period Name (link to parameters) '$var'
CLIMATOS '$var'
"$run" "$sim" ' >> $htmlfile for PROJ in GLOB NH SH ; do atlas=index_${PROJ}_${SEAS}_${run}_$years.html echo Chemin atlas echo $COMP_D/ATLAS/$atlas if [ -f $COMP_D/ATLAS/$atlas ] ; then atlasf=$COMP_D/ATLAS/$atlas else # Ancienne version des scripts d'atlas : atlasf=$ROOTSTORAGE/$run/ATLAS/SE_$years/ATM/$atlas fi ###atlas_html=`echo $atlasf | sed -e 's:/thredds/ipsl/:http\://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/:'` atlas_html=`echo $atlasf | sed -e 's:/thredds/ipsl/:http\://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/:'` echo atlas_html $atlas_html echo atlasf $atlasf if [ -f $atlasf ] ; then echo " ${PROJ:0:1} " echo " ${PROJ:0:1} " >> $htmlfile else echo "-" >> $htmlfile echo Le fichier $atlas_html n\'existe pas fi done echo '/' -e 's/$/<\/td>/' >> $htmlfile echo ' '$years' "$sim" $val
$cmp X X X "X" "X" X X X X X $descr
' >> $htmlfile ########################################################################### mkdir -p $HTML_D $put $htmlfile $HTML_D/Table_simulations_$comp.html echo $put $htmlfile $HTML_D/Table_simulations_$comp.html #$home/Diagnos_v6/dods_publi.sh $EXPNAME/HTML