source: BOL/Multi_atlas/atlas/atlas.sh @ 3743

Last change on this file since 3743 was 3743, checked in by idelkadi, 4 years ago

Repository under svn of a first version of Multiatlas diagnostics for LMDZ. This version is adapted to be able to run a LMDZ multiatlas on an individual account on the ciclad machine of the IPSL. In this version, the parts to be modified are identified so as to subsequently adapt it to other machines.
(cleaning)

  • Property svn:executable set to *
File size: 5.5 KB
Line 
1#PBS -N atlas
2#PBS -m a
3#PBS -j oe
4#PBS -q h12
5#PBS -o atlasNOMSIMULATION.out
6#PBS -S /bin/bash
7#PBS -l nodes=1:ppn=1
8#PBS -l mem=30gb
9#PBS -l vmem=30gb
10#
11# Commande pour soumettre en bash
12submit=qsub
13
14login=aidelkad
15DODSDIR=/modfs/ipslfs/dods
16#PBS -N atlas
17#PBS -m a
18#PBS -j oe
19#PBS -q h12
20#PBS -o atlasNOMSIMULATION.out
21#PBS -S /bin/bash
22#PBS -l nodes=1:ppn=1
23#PBS -l mem=30gb
24#PBS -l vmem=30gb
25#
26# Commande pour soumettre en bash
27submit=qsub
28
29login=aidelkad
30DODSDIR=/modfs/ipslfs/dods
31# Definitions en fonction de la machine
32# CICLAD
33hostname=`hostname`
34if [ ${hostname:0:5} = cicla ] ; then
35########################################################################################################
36# Environnement
37module purge
38module load netcdf4/4.3.3.1-ifort cdo/1.6.8 nco/4.5.2  ncl/6.3.0
39ulimit -s unlimited
40export PYTHONPATH=:/opt/canopy-1.3.0/Canopy_64bit/User/bin/python:/home/igcmg/prodiguer-client:/home/fabric/users/denvil/climaf:/home/fabric/users/denvil/climaf
41export PATH=$PATH:/home/fabric/users/denvil/climaf/bin
42STORAGE=$DODSDIR/$login/lmdz/STORE
43if [ ! -d $DODSDIR/$login/climafCache ] ; then mkdir -p $DODSDIR/$login/climafCache ; fi
44export CLIMAF_CACHE=$DODSDIR/$login/climafCache
45echo CLIMAF_CACHE $DODSDIR/$login/climafCache
46MULTIDIR=$DODSDIR/$login/lmdz/MultiSimu
47DIRATLAS=$DODSDIR/$login/lmdz/atlas
48########################################################################################################
49ATLAS_DIR=$DODSDIR/$login/lmdz/atlas/Atlas$$
50if [ ! -d $DODSDIR/$login/lmdz/atlas/Atlas$$ ] ; then mkdir -p $DODSDIR/$login/lmdz/atlas/Atlas$$ ; fi
51fi
52local=`pwd -P`
53
54date
55
56vars=""
57vars="sst"
58#runstxt=$local/../runs.txt
59
60if [ $# = 1 ] ; then
61   opts="`echo $1 | sed -e 's/,/ /g'`"
62   for opt in $opts ; do
63       echo $opt
64       key=`echo $opt | cut -d= -f1`
65       val=`echo $opt | cut -d= -f2`
66       echo $key $val
67       if [ "$key" = "RUN" ] ; then sim=$val ; fi
68       if [ "$key" = "REF" ] ; then ref=$val ; fi
69       if [ "$key" = "SEASON" ] ; then seas=$val ; fi
70       if [ "$key" = "PROJ" ] ; then proj=$val ; fi
71       if [ "$key" = "OUTDIR" ] ; then OUT_D=$val ; fi
72       if [ "$key" = "RUNSTXT" ] ; then runstxt=$val ; fi
73       if [ "$key" = "VARS" ] ; then vars="`echo $val | sed -e 's/+/,/g'`" ; fi
74   done
75elif [ $# = 0 ] ; then
76   sim=$RUN
77   ref=OBS
78   seas=$SEASON
79   proj=$PROJ
80   OUT_D=$OUTDIR
81   runstxt=$RUNSTXT
82   vars=`echo $VARS | sed -e 's/+/,/g'`
83else
84  echo USE
85  echo Job mode :
86  echo $submit -v RUN=NPv5.3_1982_1989,SEASON=YEAR,PROJ=GLOB,OUTDIR=$MULTIDIR/V5/ATLAS,VARS=pr+tas atlas.sh
87  echo interactif :
88  echo ./atlas.sh RUN=NPv5.3_1982_1989,SEASON=YEAR,PROJ=GLOB,OUTDIR=$MULTIDIR/V5/ATLAS,VARS=pr+tas
89  exit
90fi
91
92if [ "$vars" = "" ] ; then
93   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
94fi
95
96#,ua850,va850,ta850,ua500,va500,ta500,ua200,va200,ta200
97echo sim $sim
98srun=`echo $sim | sed -e 's/_[0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9]//'`
99echo srun $srun
100simdir=`grep -w "^$srun" $runstxt | awk ' { print $2 } '`
101run=`basename $simdir `
102years=`echo $sim | sed -e 's/'$srun'//' | sed -e 's/_//'`
103sim=${run}_${years}
104echo $run $years $sim $ref
105echo ENTREES : $run, $years, $seas, $vars, $ref
106echo simdir $simdir
107
108echo run $run 
109echo sim $sim
110echo simdir $simdir
111
112keys_strgv=$sim$seas$proj$vars$ref
113keys_strg=$sim$seas$proj$ref
114
115mkdir -p $OUT_D
116if [ -f $OUT_D/$keys_strg.ENCOURS ] ; then 
117   echo $OUT_D/$keys_strg.ENCOURS
118   exit # Si le même atlas est deja en cours de realisation on sort
119else
120   touch $OUT_D/$keys_strg.ENCOURS
121fi
122
123if [ "$OUT_D" = "" ] ; then
124   $OUT_D=$STORAGE/NPV5LRL79/$run/ATLAS/SE_$years/ATM
125fi
126
127cd $ATLAS_DIR
128echo sim $sim seas $seas > atlas.sh.log
129
130###########################################################################
131# Boucle pour construire l'atlas en plusieurs passages
132echo IL FAUT FAIRE L ATLAS EN PLUSIEURS PASSAGE SINON CA PLANTE ...
133###########################################################################
134
135case "$proj" in
136   "SH"|"NH") pyatlas="atlas_SH.py --projection $proj" ;;
137   "GLOB") Var3D=,ua,va,ta,hus,hur ; pyatlas=atlas_none.py ;;
138esac
139
140
141npass=5
142ipass=1
143
144while [ $ipass -le $npass ] ; do
145
146   echo Nettoyage des fichiers corrompus du cache
147   $local/clean_cache.sh $DIRATLAS
148   echo passage $ipass >> atlas.sh.log
149   html=index_example_"$seas"_"$sim".html
150   htmlopt=index_${proj}_"$seas"_"$sim".html
151   rm -f $html
152   echo python $local/$pyatlas -v $vars -s `basename $simdir`_$years -t $ref -p $seas --root $simdir/ATM/Analyse/SE
153   python $local/$pyatlas -v $vars -s `basename $simdir`_$years -t $ref -p $seas --root $simdir/ATM/Analyse/SE
154
155   if [ ! -f "$html"  -o "`wc -l $html | awk ' { print $1 } '`" = "0" ] ; then
156      echo ECHEC ATLAS : $html inexistant ou vide | tee >>  atlas.sh.log
157      echo ECHEC ATLAS : $html inexistant ou vide
158   else
159      echo cp -f $html tmp$$.$passage
160      cp -f $html tmp$$.$passage
161      pwd
162      echo tmp$$.$passage
163      echo LS  LS
164      ls -lrt | tail
165# A ADAPTER en fonction de la machine
166      sed -e "s:/modfs/ipslfs/dods/:/thredds/fileServer/IPSLFS/:g" tmp$$.$passage >| $htmlopt
167      \cp -f $htmlopt $OUT_D/
168      PathHtml=`echo $OUT_D/$htmlopt | sed -e 's:/modfs/ipslfs/dods/:http\://vesg.ipsl.upmc.fr/thredds/fileServer/IPSLFS/:'`
169      echo NOUVEL ATLAS DISPONIBLE SUR $PathHtml | tee >>  atlas.sh.log
170      echo NOUVEL ATLAS DISPONIBLE SUR $PathHtml
171      echo $keys_strgv >> $OUT_D/atlas_OK
172      echo ${sim}+${seas}+${proj}+$vars >> $OUT_D/atlas_OK
173   fi
174   (( ipass = $ipass + 1 ))
175
176done
177
178\rm -f $OUT_D/$keys_strg.ENCOURS
Note: See TracBrowser for help on using the repository browser.