source: branches/ORCHIDEE_EXT/ORCHIDEE_OL/EXP00/AA_job @ 260

Last change on this file since 260 was 260, checked in by didier.solyga, 13 years ago

Forget to update EXP00 job

File size: 30.8 KB
Line 
1#-Q- sxnec ##################
2#-Q- sxnec ## SXNEC IDRIS  ##
3#-Q- sxnec ##################
4#-Q- sxnec #@$-r :XXX:XXX:XXX:             # job name
5#-Q- sxnec #@$-me                          # send a mail when execution ends
6#-Q- sxnec #@$-eo                          # glue standard error and output
7#-Q- sxnec #@$-lT 1:00:00                  # total time limit
8#-Q- sxnec #@$-lt 1:00:00                  # processor time limit
9#-Q- sxnec #@$-lM 3Gb                      # memory limit
10#-Q- sxnec #@$-o sortie_XXXXXXX.1          # output file name
11#-Q- sxnec #@$-jo                          # sum up performances
12#-Q- sx6nec ##################
13#-Q- sx6nec ## SX6NEC   CEA ##
14#-Q- sx6nec ##################
15#-Q- sx6nec #PBS -N :XXX:XXX:XXX:          # job name
16#-Q- sx6nec #PBS -j o                      # glue standard error and output
17#-Q- sx6nec #PBS -o sortie_XXXXXXX.1       # output file name
18#-Q- sx6nec #PBS -S /usr/bin/ksh           # shell type
19#-Q- sx6nec #PBS -l memsz_job=3gb          # memory limit
20#-Q- sx6nec #PBS -l cputim_job=1:00:00     # time limit
21#-Q- fjvpp ####################
22#-Q- fjvpp ## FJVPP 5000 CEA ##
23#-Q- fjvpp ####################
24#-Q- fjvpp #@$-r :XXX:XXX:XXX:             # job name
25#-Q- fjvpp #@$-me                          # send a mail when execution ends
26#-Q- fjvpp #@$-eo                          # glue standard error and output
27#-Q- fjvpp #@$-lT 1:00:00                  # total time limit
28#-Q- fjvpp #@$-lt 1:00:00                  # processor time limit
29#-Q- fjvpp #@$-lM 3Gb                      # memory limit
30#-Q- fjvpp #@$-o RRRRRRR/sortie_XXXXXXX.1  # output file name
31#-Q- fjvpp #@$-ko                          # output listing on the disk
32#-Q- fjvpp #@$-s /bin/ksh                  # shell type
33#
34#
35########################################################################
36##
37##      Execution script for ORCHIDEE OFFLINE
38## $HeadURL: http://forge.ipsl.jussieu.fr/orchidee/svn/trunk/ORCHIDEE_OL/EXP00/AA_job $
39## $Date: 2011-01-01 22:25:15 +0100 (Sat, 01 Jan 2011) $
40## $Author: mmaipsl $
41## $Revision: 52 $
42##
43##      Rachid BENSHILA & Patricia CADULE
44##      Original ressources :
45##                         Lancement Coupleur : Oasis team
46##                         Lancement ORCA : Olivier Marti
47##                         Lancement LMDZ : Laurent Fairhead
48##                         Systeme de relances :  Olivier Marti
49##                         Atlas : Sebastien Denvil
50##                         And inspiration from Gerhard Krinner
51#########################################################################
52##-- print the commands before and after their interpretation by
53##-- the shell
54date
55set -vx
56##
57
58                #=============================================#
59                #       BEGINNING OF USER MODIFICATIONS        #
60                #=============================================#
61
62#########################################################################
63##
64##    1. Current Modifications
65##
66#########################################################################
67##
68###-- Experience name
69#
70CEXPER=XXXXXXX
71#
72###-- Forcing File (omitting .nc)
73#
74F_FILE=WG_cru
75#
76###-- Run.def (omitting .def)
77#
78F_RUN=orchidee
79#
80###-- Simulation length
81#
82units=Y               # time unit
83
84duree_nostomate=0     # orchidee
85duree_offlineini=0    # teststomate
86duree_inistomate=0    # orchidee with stomate
87
88n_iter=0              # iteration
89duree_sechiba=0       # orchidee
90duree_stomate=0       # teststomate
91
92duree_carbonsol=0     # forcesoil
93duree_final=1         # orchidee
94#
95###-- Postprocessing
96#
97OK_DIAG=n
98#
99###-- Vegetation flags
100#
101ok_co2=y
102ok_stomate=n
103ok_dgvm=n
104#
105###-- Restart if necessary (absolute pathname)
106#
107no_restart=y
108RESTART_SECH=
109RESTART_STOM=
110RESTART_DRI=
111#
112###-- Some current flags
113#
114OK_WEATHER=y
115resolution_LON=1
116resolution_LAT=1
117limit_west=-180
118limit_east=180
119limit_north=90
120limit_south=-90
121
122sechistlev=5
123sechistdt=2592000
124stohistlev_sto=2
125stohistlev_sec=10
126stohistdt_sto=60
127stohistdt_sec=15
128
129sechiba_hist=sechiba_history.nc
130stomate_hist=stomate_history.nc
131
132moteur_dem=driver_start.nc
133moteur_redem=driver_restart.nc
134sechiba_dem=sechiba_start.nc
135sechiba_redem=sechiba_restart.nc
136stomate_dem=stomate_start.nc
137stomate_redem=stomate_restart.nc
138#
139#########################################################################
140##
141##    2. Advanced modifications
142##
143#########################################################################
144##
145###-- Forcing and other files are stored together in this repository, you can specify yours
146#
147#-Q- sxnec R_STOCKAGE="gaya:/u/rech/ces/rces803/FORCAGE_OL"
148#-Q- sx6nec R_STOCKAGE="/dmnfs/p86bensh/FORCAGE_OL"
149#-Q- fjvpp R_STOCKAGE="/G/nymphea0/dmnfs/p86bensh/FORCAGE_OL"
150#-- Original files : //dods.idris.fr/rpsl003
151#
152###-- Flags you should not touch
153#
154OK_SITE=n
155#
156###-- Execution repository
157#
158MODIPSL=MMMMMMM
159R_EXE=${MODIPSL}/bin
160R_UTILITAIRES=${MODIPSL}/modeles/ORCHIDEE_OL/Utilitaire
161JOB=${CEXPER}
162#
163###-- A flag to add a level in your output repository
164###-- for example for different experiences with the same Job
165#
166#FLAG=
167#
168###-- Flag you should not touch (automatically set)
169#
170OK_SITE=n
171#
172
173                #=============================================#
174                #          END OF USER MODIFICATIONS          #
175                #=============================================#
176
177
178#########################################################################
179##
180##    3. Repositories definition
181##
182#########################################################################
183###--  Data repository for input/output
184#
185R_DONNEES=/tmp/DATA/${CEXPER}
186#-Q- sxnec R_DONNEES=${WORKDIR}/DATA/${CEXPER}
187#-Q- sx6nec R_DONNEES=${SCRATCHDIR}/DATA/${CEXPER}
188#-Q- fjvpp R_DONNEES=${SCRATCHDIR}/DATA/${CEXPER}
189R_FICHIERS=SORTIES_CPL_IPSL/${CEXPER}
190#
191R_ENTREE_ORCHIDEE_OL=${R_DONNEES}/Entree/ORCHIDEE_OL
192R_SORTIE_ORCHIDEE_OL=${R_DONNEES}/Sortie/ORCHIDEE_OL
193R_FIC_ORCHIDEE_OL=${R_FICHIERS}/ORCHIDEE_OL
194#
195R_FIC_MORE=${R_FICHIERS}/More
196R_FIC_OUT=${R_FICHIERS}/Out
197R_FIC_EXE=${R_FICHIERS}/Exe
198R_FIC_MORE_U=${R_FIC_MORE}/Util
199
200#
201if [ ! -d ${R_DONNEES} ]; then
202  mkdir -p ${R_ENTREE_ORCHIDEE_OL}
203  mkdir -p ${R_SORTIE_ORCHIDEE_OL}
204fi
205#
206#-Q- sxnec mkdir -p ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}
207#-Q- sx6nec mkdir -p ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}
208
209###--  Some shell functions
210#- function to change the run.def
211remplace()
212{
213sed "/$1/D" run.def > r2
214cat <<END >>r2
215$1=$2
216END
217mv r2 run.def
218}
219
220#- commands for files transfers
221PUT="echo PUT"
222GET="echo GET"
223#-Q- sxnec PUT=mfput
224#-Q- sx6nec PUT=putfer
225#-Q- fjvpp PUT=putcosmos
226#-Q- sxnec GET=mfget
227#-Q- sx6nec GET=getfer
228#-Q- fjvpp GET=getcosmos
229#-Q- sxnec RSH='rsh rhodes exec /bin/ksh'
230#-Q- sx6nec RSH='rsh mercure exec /bin/ksh'
231#-Q- fjvpp RSH='remsh ixia exec /bin/ksh'
232#
233demigr="echo demigr"
234#-Q- fjvpp  demigr="/usr/local/bin/dmget"
235#-Q- sxnec  demigr="/usr/local/bin/mfget"
236#-Q- sx6nec demigr="dmget"
237
238MKDIR="mkdir"
239#-Q- fjvpp MKDIR="/usr/X11R6/bin/mkdirhier"
240#- creation de repertoire sur le serveur fichier sur Fujitsu seulement
241#-Q- fjvpp RMKDIR="mkdir -p ${DMFDIR}/"
242#-Q- fjvpp ${RMKDIR}/${R_FIC_ORCHIDEE_OL}
243#-Q- fjvpp DPUT () { ( [ -d "AAAAAAA/$2" ] || ${RMKDIR}/$2 ) & ( ${PUT} $1 $2/$3 ) }
244#-Q- sxnec DPUT () { ( ${PUT} $1 $2/$3 ) }
245#-Q- sx6nec RMKDIR="mkdir -p AAAAAAA"
246#-Q- sx6nec DPUT () { ( [ -d "AAAAAAA/$2" ] || ${RMKDIR}/$2 ) && ( ${PUT} $1 AAAAAAA/$2/$3 ) }
247#-Q- fjvpp DGET () { ( ${GET} $2/$1 $3/$1 ) }
248#-Q- sxnec DGET () { ( ${GET} $2/$1 $3/$1 ) }
249#-Q- sx6nec DGET () { ( ${GET} $2/$1 $3/$1 ) }
250
251#-Q- fjvpp ${RMKDIR}/${R_FIC_ORCHIDEE_OL}
252#-Q- fjvpp ${RMKDIR}/${R_FIC_EXE}
253#-Q- fjvpp ${RMKDIR}/${R_FIC_MORE}
254#-Q- fjvpp ${RMKDIR}/${R_FIC_MORE}"/"${FLAG}
255#-Q- fjvpp ${RMKDIR}/${R_FIC_OUT}
256#-Q- fjvpp ${RMKDIR}/${R_FIC_OUT"/"${FLAG}}
257#-Q- fjvpp ${RMKDIR}/${R_FIC_MORE_U}
258#
259
260###--  Work space (temporary)
261TMP=/tmp/${CEXPER}
262#-Q- sxnec TMP=${TMPDIR}/${CEXPER}
263#-Q- sx6nec ${MKDIR} ${SCRATCHDIR}/${CEXPER}
264#-Q- sx6nec TMP=${SCRATCHDIR}/${CEXPER}/${FLAG}
265#-Q- fjvpp ${MKDIR} ${SCRATCHDIR}/${CEXPER}
266#-Q- fjvpp TMP=${SCRATCHDIR}/${CEXPER}/${FLAG}
267#
268#-- Ceation if needed
269[ -d ${TMP} ] || ${MKDIR} ${TMP}
270#
271#########################################################################
272##
273##    4. Get initial files
274##
275#########################################################################
276##
277#-- Check if they are present
278#--
279#-Q- sxnec Rapatrie () { [ -f $1/$2 ] || ( rcp ${R_STOCKAGE}/$2 $1 ;) }
280#-Q- sx6nec Rapatrie () { [ -f $1/$2 ] || ( getfer  ${R_STOCKAGE}/$2 $1 ;) }
281#-Q- fjvpp Rapatrie () { [ -f $1/$2 ] || ( cp  ${R_STOCKAGE}/$2 $1 ;) }
282#
283Rapatrie ${R_ENTREE_ORCHIDEE_OL} carteveg5km.nc || exit 1
284Rapatrie ${R_ENTREE_ORCHIDEE_OL} irrigated.nc
285Rapatrie ${R_ENTREE_ORCHIDEE_OL} routing.nc || exit 1
286Rapatrie ${R_ENTREE_ORCHIDEE_OL} soils_param.nc || exit 1
287Rapatrie ${R_ENTREE_ORCHIDEE_OL} reftemp.nc || exit 1
288Rapatrie ${R_ENTREE_ORCHIDEE_OL} lai2D.nc || exit 1
289#
290##
291#-- We get the restart files if needed
292if [ "${no_restart}" = "n" ]
293then
294#-Q- sxnec rcp $RESTART_SECH ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem
295#-Q- sxnec rcp $RESTART_STOM ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem
296#-Q- sxnec rcp RESTART_DRI ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem
297#-Q- sx6nec getfer $RESTART_SECH ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem
298#-Q- sx6nec getfer $RESTART_STOM ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem
299#-Q- sx6nec getfer $RESTART_DRI ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem
300#-Q- fjvpp cp $RESTART_SECH ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem
301#-Q- fjvpp cp $RESTART_STOM ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem
302#-Q- fjvpp cp $RESTART_DRI ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem
303fi
304
305#########################################################################
306##
307##    5. Initialisations from the forcing file
308##
309#########################################################################
310##
311
312Rapatrie ${R_ENTREE_ORCHIDEE_OL} ${F_FILE}.nc || exit 1
313
314#-- If it is not a weather generator, we ask for the dates
315if [ -z "${JOUR_DEBUT_EXP}" ] && [ -z "${MOIS_DEBUT_EXP}" ] && [ -z "${AN_DEBUT_EXP}" ] && [ -z "${JOURS}" ] && [ -z "${MOIS}" } ] && [ -z "${ANS}" ] && [ -z "${JOUR_FINAL_EXP}" ] && [ -z "${MOIS_FINAL_EXP}" ] && [ -z "${AN_FINAL_EXP}" ] && [ "${OK_WEATHER}" = "n" ]
316
317then
318 [ -f ${R_UTILITAIRES}/recup_date.py ] && cp ${R_UTILITAIRES}/recup_date.py .
319#-Q- sxnec rcp rhodes:${R_UTILITAIRES}/recup_date.py .
320chmod +rx recup_date.py
321[ -f ${R_UTILITAIRES}/calend365.py ] && cp ${R_UTILITAIRES}/calend365.py .
322#-Q- sxnec rcp rhodes:${R_UTILITAIRES}/calend365.py .
323chmod +rx calend365.py
324[ -f ${R_UTILITAIRES}/sortie_date.py ] && cp ${R_UTILITAIRES}/sortie_date.py .
325#-Q- sxnec rcp rhodes:${R_UTILITAIRES}/sortie_date.py .
326chmod +rx sortie_date.py
327 
328DPUT recup_date.py ${R_FIC_MORE_U} recup_date.py
329DPUT calend365.py ${R_FIC_MORE_U} calend365.py
330DPUT sortie_date.py ${R_FIC_MORE_U} sortie_date.py
331
332${RSH}<<EOL
333export R_FIC_MORE_U=${R_FIC_MORE_U}
334export F_FILE=${F_FILE}
335export R_STOCKAGE=${R_STOCKAGE}
336cd AAAAAAA/${R_FIC_MORE_U}
337#-Q- fjvpp . /home/p86cadul/CDAT/cdat.login_ksh
338#-Q- fjvpp /home/p86jype/CDAT/versions/CDAT_3.3_15_alpha/bin/python sortie_date.py ${R_STOCKAGE}/${F_FILE}.nc > fic.date
339#-Q- sxnec . /home/rech/ces/rces803/cdat.login_ksh
340#-Q- sxnec /home_b/rech/ces/rces599/PYTHON/CDAT/bin/python sortie_date.py ${R_STOCKAGE}/${F_FILE}.nc > fic.date
341#-Q- sx6nec export PATH=/workdir/p25jype/CDAT/versions/CDAT_4.0b1_16_ia64/bin:$PATH
342#-Q- sx6nec/workdir/p25jype/CDAT/versions/CDAT_4.0b1_16_ia64/bin/python sortie_date.py$ {R_STOCKAGE}/${F_FILE}.nc > fic.date
343EOL
344 
345R_EXPER=${QSUB_WORKDIR:-${PWD}}
346DGET fic.date ${R_FIC_MORE_U} ${R_EXPER}
347AN_DEBUT_EXP=`awk '{print $1}' ${R_EXPER}/fic.date`
348MOIS_DEBUT_EXP=`awk '{print $2}' ${R_EXPER}/fic.date`   
349JOUR_DEBUT_EXP=`awk '{print $3}' ${R_EXPER}/fic.date`
350STEP_SEC=`awk '{print $4}' ${R_EXPER}/fic.date`
351TSTEP=`awk '{print $5}' ${R_EXPER}/fic.date`
352D_JOB_JOUR=`awk '{print $6}' ${R_EXPER}/fic.date`
353AN_FINAL_EXP=`awk '{print $7}' ${R_EXPER}/fic.date`
354MOIS_FINAL_EXP=`awk '{print $8}' ${R_EXPER}/fic.date`
355JOUR_FINAL_EXP=`awk '{print $9}' ${R_EXPER}/fic.date`
356fi
357DATE_DEBUT_EXP=$( printf "%04s%02s%02s\n" ${AN_DEBUT_EXP} ${MOIS_DEBUT_EXP} ${JOUR_DEBUT_EXP} )
358DATE_FINAL_EXP=$( printf "%04s%02s%02s\n" ${AN_FINAL_EXP} ${MOIS_FINAL_EXP} ${JOUR_FINAL_EXP} )
359
360# DATES is empty but could be used for future run
361DATES=
362if [ "${OK_SITE}" = "y" ]
363then DATES=${DATE_DEBUT_EXP}_${DATE_FINAL_EXP}_
364fi
365#########################################################################
366##
367##    6. Pre-Processing
368##
369#########################################################################
370
371# ==============================================================================
372# Copy the atlas files if necessary
373# ==============================================================================
374if [ "${OK_DIAG}" = "y" ]
375then
376#-Q- sxnec rcp rhodes:${R_UTILITAIRES}/AA_atlas .
377#-Q- sx6nec cp ${R_UTILITAIRES}/AA_atlas .
378#-Q- fjvpp cp  ${R_UTILITAIRES}/AA_atlas .
379#-Q- sxnec sed -e "s,^#-Q- sxnec *,," AA_atlas | grep -v '^#-Q- ' > Job_atlas
380#-Q- sx6nec sed -e "s,^#-Q- sx6nec *,," AA_atlas | grep -v '^#-Q- ' > Job_atlas
381#-Q- fjvpp sed -e "s,^#-Q- fjvpp *,," AA_atlas | grep -v '^#-Q- ' > Job_atlas
382rm -f AA_atlas
383DPUT Job_atlas ${R_FIC_MORE_U} Job_atlas
384fi
385
386if [ "${OK_SITE}" = "y" ]
387then
388#-Q- sxnec rcp rhodes:${R_UTILITAIRES}/Job_atlas .
389#-Q- sx6nec cp ${R_UTILITAIRES}/Job_atlas .
390#-Q- fjvpp cp  ${R_UTILITAIRES}/Job_atlas .
391DPUT Job_atlas ${R_FIC_MORE_U} Job_atlas
392#-Q- sxnec rcp rhodes:${R_UTILITAIRES}/Cabauw.cfg .
393#-Q- sx6nec cp ${R_UTILITAIRES}/Cabauw.cfg .
394#-Q- fjvpp cp  ${R_UTILITAIRES}/Cabauw.cfg .
395DPUT Cabauw.cfg ${R_FIC_MORE_U} Cabauw.cfg
396fi
397
398# =============================================================================
399# Time loop : this part should be useful to built a job following IPSL_CM4_v1
400# =============================================================================
401##-- repertoire de controle des enchainements
402#-Q- sxnec R_EXPER=${QSUB_WORKDIR:-${PWD}}
403#-Q- sx6nec R_EXPER=${MODIPSL}/modeles/ORCHIDEE_OL/EXP00
404#cd ${R_EXPER}
405##
406##- creation de ${JOB}.suivi qui contient la date du run en cours ou du run
407##- en attente et de ${JOB}.log qui contient la trace des exeutions
408##
409#DATE_DEBUT_EXP=$( printf "%04s%02s%02s\n" ${AN_DEBUT_EXP} ${MOIS_DEBUT_EXP} ${JOUR_DEBUT_EXP} )
410#DATE_FIN_EXP=$( printf "%04s%02s%02s\n" ${AN_FINAL_EXP} ${MOIS_FINAL_EXP} ${JOUR_FINAL_EXP} )
411#
412#if [ ! -f "${JOB}.suivi" ]
413#then
414#    JOUR_DEB_JOB=${JOUR_DEBUT_EXP} ; MOIS_DEB_JOB=${MOIS_DEBUT_EXP} ; AN_DEB_JOB=${AN_DEBUT_EXP}
415#    NUMERO=1
416#cat <<EOF >${JOB}.suivi
417#${AN_DEB_JOB} ${MOIS_DEB_JOB} ${JOUR_DEB_JOB} ${NUMERO}
418#EOF
419#echo `date` " Begining of Experience : " ${JOB} " in directory :" ${R_EXPER} > ${JOB}.log
420#fi
421#
422#cat ${JOB}.suivi | read AN_DEB_JOB MOIS_DEB_JOB JOUR_DEB_JOB NUMERO
423#echo ${AN_DEB_JOB} ${MOIS_DEB_JOB} ${JOUR_DEB_JOB}
424#echo "`date` $AN_DEB_JOB $MOIS_DEB_JOB $JOUR_DEB_JOB begin" >> ${JOB}.log
425##--
426
427# ==============================================================================
428# Copy thz binary files
429# ==============================================================================
430if [ -z ${TMP} ]; then
431  echo " the variable TMP is empty !!!"
432  exit
433fi
434cd ${TMP} || exit
435#- Clean the work space
436rm -f *
437# ----------------- ORCHIDEE_OL ---------------------
438[ -f ${R_EXE}/orchidee_ol ] && cp ${R_EXE}/orchidee_ol orchidee.e
439[ -f ${R_EXE}/teststomate ] && cp ${R_EXE}/teststomate teststomate.e
440[ -f ${R_EXE}/forcesoil ] && cp ${R_EXE}/forcesoil forcesoil.e
441#-Q- sxnec rcp rhodes:${R_EXE}/orchidee_ol orchidee.e && chmod +x orchidee.e
442#-Q- sxnec rcp rhodes:${R_EXE}/teststomate teststomate.e && chmod +x teststomate.e
443#-Q- sxnec rcp rhodes:${R_EXE}/forcesoil forcesoil.e && chmod +x forcesoil.e
444  DPUT orchidee.e ${R_FIC_EXE}/${FLAG} ${CEXPER}_"${DATES}"orchidee.e
445  DPUT teststomate.e ${R_FIC_EXE}/${FLAG} ${CEXPER}_"${DATES}"teststomate.e
446  DPUT forcesoil.e ${R_FIC_EXE}/${FLAG} ${CEXPER}_"${DATES}"forcesoil.e
447# ==============================================================================
448# Copy the map
449# ==============================================================================
450cp ${R_ENTREE_ORCHIDEE_OL}/lai2D.nc .
451cp ${R_ENTREE_ORCHIDEE_OL}/carteveg5km.nc .
452cp ${R_ENTREE_ORCHIDEE_OL}/irrigated.nc .
453cp ${R_ENTREE_ORCHIDEE_OL}/routing.nc .
454cp ${R_ENTREE_ORCHIDEE_OL}/soils_param.nc .
455cp ${R_ENTREE_ORCHIDEE_OL}/reftemp.nc .
456cp ${R_ENTREE_ORCHIDEE_OL}/${F_FILE}.nc .
457if [ "${no_restart}" = "n" ]
458then
459cp ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem .
460cp ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem .
461cp ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem .
462fi
463
464# Copy the run.def
465# ==============================================================================
466cp ${R_EXPER}/${F_RUN}.def run.def
467
468remplace OUTPUT_FILE $sechiba_hist
469remplace STOMATE_OUTPUT_FILE $stomate_hist
470
471# change the flags in the run.def
472remplace RESTART_FILEIN $moteur_dem
473remplace RESTART_FILEOUT $moteur_redem
474remplace SECHIBA_restart_in $sechiba_dem
475remplace SECHIBA_rest_out $sechiba_redem
476remplace STOMATE_RESTART_FILEIN $stomate_dem
477remplace STOMATE_RESTART_FILEOUT $stomate_redem
478
479if  [ "${OK_SITE}" = "n" ]
480then
481remplace FORCING_FILE ${F_FILE}.nc
482remplace SECHIBA_HISTLEVEL $sechistlev
483remplace WRITE_STEP $sechistdt
484remplace ALLOW_WEATHERGEN $OK_WEATHER
485remplace MERID_RES $resolution_LON
486remplace ZONAL_RES $resolution_LAT
487remplace LIMIT_WEST $limit_west
488remplace LIMIT_EAST $limit_east
489remplace LIMIT_NORTH $limit_north
490remplace LIMIT_SOUTH $limit_south
491
492fi
493
494ls -alF
495
496# loop counter
497let annee=0
498
499#########################################################################
500##
501##    7. Here comes the run
502##
503#########################################################################
504#
505#-Q- sxnec # nb d erreurs admises sur le NEC
506#-Q- sxnec export F_ERRCNT=999999
507#-Q- sx6nec # nb d erreurs admises sur le NEC
508#-Q- sx6nec export F_ERRCNT=999999
509#-Q- sx6nec export MPIPROGINF=all
510#-Q- sx6nec # nb max de caracteres par ligne dans le fichier d'output
511#-Q- sx6nec export F_SYSLEN=5000
512#-Q- sxnec unset F_PROGINF
513#-Q- sx6nec unset MPIPROGINF
514ls -alF
515ls -lrt
516
517# when we do not have any restart file
518#
519if [ $no_restart = 'y' ] ; then
520
521let annee=0
522
523let iter=0
524 
525remplace RESTART_FILEIN NONE
526remplace SECHIBA_restart_in NONE
527remplace STOMATE_RESTART_FILEIN NONE
528
529if [ $duree_nostomate -ne 0 ] ; then
530
531let annee=$annee+$duree_nostomate
532
533echo "we do "$duree_nostomate "year(s) without stomate to create a restart file"
534 
535remplace STOMATE_OK_CO2 $ok_co2
536remplace STOMATE_OK_STOMATE n
537remplace STOMATE_OK_DGVM n
538remplace STOMATE_WATCHOUT y
539 
540remplace TIME_LENGTH $duree_nostomate$units
541 
542time ./orchidee.e > out_orchidee"${annee}"
543
544# save the job output file
545DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} .
546# save the run.def
547cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
548DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
549cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
550DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
551# save history files
552DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
553mv  $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
554[ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc
555[ -f $stomate_hist ] && mv  $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc
556# rename restart files
557mv $moteur_redem $moteur_dem
558mv $sechiba_redem $sechiba_dem
559[ -f $stomate_redem ] && mv $stomate_redem $stomate_dem
560# save restart files
561DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem}
562DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem}
563[ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
564
565if [ "${OK_WEATHER}" = "y" ] ; then
566remplace RESTART_FILEIN $moteur_dem
567fi
568remplace SECHIBA_restart_in $sechiba_dem
569remplace STOMATE_RESTART_FILEIN $stomate_dem
570
571fi      # duree_nostomate
572
573remplace STOMATE_WATCHOUT n
574
575if [ $duree_offlineini -ne 0 ] ; then
576 
577let annee=$annee+$duree_offlineini
578 
579remplace STOMATE_OK_STOMATE y
580remplace STOMATE_OK_DGVM n
581remplace STOMATE_HISTLEVEL $stohistlev_sto
582remplace STOMATE_HIST_DT $stohistdt_sto
583
584echo "We do "$duree_offlineini "year(s) with teststomate, without DGVM, for spinup."
585
586remplace TIME_LENGTH $duree_offlineini$units
587
588time ./teststomate.e > out_testomate"${annee}"
589
590# save job output file
591DPUT out_testomate"${annee}" ${R_FIC_OUT}"/"${FLAG} .
592# save the run.def
593cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
594DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
595cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
596DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
597# save history files
598DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc
599mv  $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc
600# rename restart files
601mv $moteur_redem $moteur_dem
602mv $sechiba_redem $sechiba_dem
603mv $stomate_redem $stomate_dem
604# save restart files
605DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem}
606DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem}
607DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
608
609if [ "${OK_WEATHER}" = "y" ] ; then
610remplace RESTART_FILEIN $moteur_dem
611fi
612remplace SECHIBA_restart_in $sechiba_dem
613remplace STOMATE_RESTART_FILEIN $stomate_dem
614
615fi      # duree_offlineini
616
617if [ $duree_inistomate -ne 0 ] ; then
618
619let annee=$annee+$duree_inistomate
620
621remplace STOMATE_OK_STOMATE y
622remplace STOMATE_OK_DGVM n
623remplace STOMATE_HISTLEVEL $stohistlev_sec
624remplace STOMATE_HIST_DT $stohistdt_sec
625
626echo "We do "$duree_inistomate "year(s) with stomate, without DGVM, for spinup."
627 
628remplace TIME_LENGTH $duree_inistomate$units
629 
630time ./orchidee.e > out_orchidee"${annee}"
631
632# save job output file   
633DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} .
634# save the run.def
635cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
636DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
637cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
638DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
639# save history files
640DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
641mv  $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
642[ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc
643[ -f $stomate_hist ] && mv  $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc
644# rename restart files
645mv $moteur_redem $moteur_dem
646mv $sechiba_redem $sechiba_dem
647[ -f $stomate_redem ] && mv $stomate_redem $stomate_dem
648# save restart files
649DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem}
650DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem}
651[ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
652
653if [ "${OK_WEATHER}" = "y" ] ; then
654remplace RESTART_FILEIN $moteur_dem
655fi
656remplace SECHIBA_restart_in $sechiba_dem
657remplace STOMATE_RESTART_FILEIN $stomate_dem
658
659fi      # duree_inistomate
660
661fi      # no_restart
662
663# after the restart part
664#
665if  [ "${OK_SITE}" = "n" ]
666then
667remplace STOMATE_OK_STOMATE $ok_stomate
668remplace STOMATE_OK_DGVM $ok_dgvm
669fi
670
671# iteration counter
672let i=0
673
674while [ $i -lt $n_iter ] ; do
675
676let i=i+1
677
678echo
679echo =====================
680echo ITERATION : $i
681echo =====================
682
683if [ $duree_sechiba -ne 0 ] ; then
684
685# start with orchidee_ol
686 
687echo
688echo orchidee_ol
689echo
690
691let annee=$annee+$duree_sechiba
692 
693if  [ "${OK_SITE}" = "n" ]
694then
695    remplace TIME_LENGTH $duree_sechiba$units
696else
697remplace TIME_LENGTH 1Y
698remplace WRITE_STEP 86400
699fi
700remplace STOMATE_HISTLEVEL $stohistlev_sec
701remplace STOMATE_HIST_DT $stohistdt_sec
702 
703time ./orchidee.e > out_orchidee"${annee}"
704
705# save job output file
706DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} .
707# save the run.def
708cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
709DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
710cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
711DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
712# on sauvegarde les fichiers d'histoire
713DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
714mv  $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
715[ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc
716[ -f $stomate_hist ] && mv  $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc
717# rename restart files
718mv $moteur_redem $moteur_dem
719mv $sechiba_redem $sechiba_dem
720[ -f $stomate_redem ] && mv $stomate_redem $stomate_dem
721# save restart files
722DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem}
723DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem}
724[ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
725
726fi      #duree_sechiba
727
728# at least now
729remplace STOMATE_RESTART_FILEIN $stomate_dem
730remplace SECHIBA_restart_in $sechiba_dem
731
732if [ $duree_stomate -ne 0 ] ; then
733
734# follow with teststomate
735
736echo
737echo teststomate
738echo
739
740let annee=$annee+$duree_stomate
741
742remplace TIME_LENGTH $duree_stomate$units
743
744remplace STOMATE_HISTLEVEL $stohistlev_sto
745remplace STOMATE_HIST_DT $stohistdt_sto
746
747time ./teststomate.e > out_teststomate"${annee}"
748
749# save job output file
750DPUT out_teststomate"${annee}" ${R_FIC_OUT}"/"${FLAG} .
751# save the run.def
752cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
753DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
754cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
755DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
756# save history files
757DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc
758mv  $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc
759# rename restart files
760mv $moteur_redem $moteur_dem
761mv $sechiba_redem $sechiba_dem
762mv $stomate_redem $stomate_dem
763# save restart files
764DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem}
765DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem}
766DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
767
768fi      # duree_stomate
769done    #n_iter
770
771if [ $duree_carbonsol -ne 0 ] ; then
772
773# end with forcesoil
774
775echo
776echo forcesoil
777echo
778
779let annee=$annee+$duree_carbonsol
780
781remplace TIME_LENGTH $duree_carbonsol$units
782
783time ./forcesoil.e > out_forcesoil"${annee}"
784
785# save job output file
786DPUT out_forcesoil"${annee}" ${R_FIC_OUT}"/"${FLAG} .
787# save the run.def
788cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
789DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
790cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
791DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
792# rename restart file for stomate
793mv $stomate_redem $stomate_dem
794# save restart file for stomate
795DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
796
797fi      # duree_carbonsol
798 
799
800if [ $duree_final -ne 0 ] ; then
801
802# on finit avec orchidee_ol
803
804echo
805echo "We do "$duree_final "year(s) to have a happy end"
806echo
807
808let annee=$annee+$duree_final
809 
810echo
811echo orchidee_ol
812echo
813 
814if  [ "${OK_SITE}" = "n" ]
815then
816remplace TIME_LENGTH $duree_final$units
817else
818remplace TIME_LENGTH default
819remplace WRITE_STEP 1800
820fi
821remplace STOMATE_HISTLEVEL $stohistlev_sec
822remplace STOMATE_HIST_DT $stohistdt_sec
823
824time ./orchidee.e > out_orchidee"${annee}"
825
826# save job output file
827DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} .
828# save the run.def
829cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def
830DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def
831cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def
832DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def
833# save history files
834DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
835mv  $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc
836[ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_${DATES}${annee}_stomate_history.nc
837[ -f $stomate_hist ] && mv  $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc
838# rename restart files
839mv $moteur_redem $moteur_dem
840mv $sechiba_redem $sechiba_dem
841[ -f $stomate_redem ] && mv $stomate_redem $stomate_dem
842# on sauvegarde les fichiers de redemarrage
843DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem}
844DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem}
845[ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem}
846 
847fi      #duree_final
848
849#########################################################################
850##
851##    9. Output
852##
853#########################################################################
854
855#-Q- sxnec qcat -o ${QSUB_REQID} > ${CEXPER}"${DATES}"_${FLAG}_job_output
856#-Q- fjvpp qcat -o ${QSUB_REQID} > ${CEXPER}"${DATES}"${FLAG}_job_output
857#-Q- sx6nec VAR=$(echo ${PBS_JOBID} | sed -e "s@.*:\(.*\)\..*@\1@")
858#-Q- sx6nec rsh mercure -n "export TMP=${TMP} ; cd ${TMP} ; /usr/local/TX7/bin/qcat ${VAR} > ${CEXPER}"${DATES}"${FLAG}_job_output"
859DPUT ${CEXPER}"${DATES}"${FLAG}_job_output ${R_FIC_OUT} ${CEXPER}"${DATES}"${FLAG}_job_output
860
861#########################################################################
862##
863##    10. Post Processing
864##
865#########################################################################
866#
867
868if  [ "${OK_SITE}" = "y" ] || [ "${OK_DIAG}" = "y" ]
869then
870${RSH}<<EOL
871export R_FIC_ORCHIDEE_OL=${R_FIC_ORCHIDEE_OL}
872export R_FIC_MORE_U=${R_FIC_MORE_U}
873export FLAG=${FLAG}
874export CEXPER=${CEXPER}
875export F_FILE=${F_FILE}
876export DATES=${DATES}
877export AN_DEBUT_EXP=${AN_DEBUT_EXP}
878export AN_FINAL_EXP=${AN_FINAL_EXP}
879export CEXPER=${CEXPER}
880export NITER_MAX=${annee}
881export OK_SITE=${OK_SITE}
882cd AAAAAAA/${R_FIC_MORE_U}
883#-Q- sxnec  /usr/local/bin/qsub -x Job_atlas
884#-Q- sx6nec /usr/bin/nqsII/qsub  -q scalaire -V Job_atlas
885#-Q- fjvpp /usr/local/bin/qsub -x Job_atlas
886EOL
887fi
Note: See TracBrowser for help on using the repository browser.