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

Last change on this file since 3694 was 3694, 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.
Corrections.

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