source: tags/libIGCM_v1_8/AA_rebuild_fromWorkdir @ 319

Last change on this file since 319 was 316, checked in by mafoipsl, 14 years ago

Use cesium for SX9 post processing. Add hostname to know where we run.

File size: 9.7 KB
Line 
1#-Q- cesium #!/bin/ksh
2#-Q- cesium ######################
3#-Q- cesium ## CESIUM   CEA ##
4#-Q- cesium ######################
5#-Q- cesium #MSUB -r REBUILDWRK     # Nom du job               
6#-Q- cesium #MSUB -N 1              # Reservation du noeud
7#-Q- cesium #MSUB -n 1              # Reservation du processus
8#-Q- cesium #MSUB -T 86400          # Limite de temps elapsed du job
9#-Q- cesium #MSUB -E "-j o"
10#-Q- cesium #MSUB -E "-S /bin/ksh"
11#-Q- platine #!/usr/bin/ksh
12#-Q- platine ###################
13#-Q- platine ## PLATINE   CEA ##
14#-Q- platine ###################
15#-Q- platine #BSUB -J REBUILDWRK             # Nom du job
16#-Q- platine #BSUB -N                        # message a la fin du job
17#-Q- platine #BSUB -n 1                      # reservation des processeurs pour le job
18#-Q- platine #BSUB -W 4:00                   # Limite temps
19#-Q- platine #BSUB -q post                   # Passage en queue post
20#-Q- sx8brodie #!/bin/ksh
21#-Q- sx8brodie #######################
22#-Q- sx8brodie ## SX8BRODIE   IDRIS ##
23#-Q- sx8brodie #######################
24#-Q- sx8brodie # Temps Elapsed max. d'une requete hh:mm:ss
25#-Q- sx8brodie # @ wall_clock_limit = 20:00:00
26#-Q- sx8brodie # Nom du travail LoadLeveler
27#-Q- sx8brodie # @ job_name   = REBUILDWRK
28#-Q- sx8brodie # Fichier de sortie standard du travail       
29#-Q- sx8brodie # @ output     = $(job_name).$(jobid)
30#-Q- sx8brodie # Fichier de sortie d'erreur du travail
31#-Q- sx8brodie # @ error      =  $(job_name).$(jobid)
32#-Q- sx8brodie # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
33#-Q- sx8brodie # @ notification = error
34#-Q- sx8brodie # @ environment  = $DEBUG_debug ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $REBUILD_DIR ; $RebuildFromArchive ; $POST_DIR ; $DateBegin ; $PeriodDateBegin ; $PeriodDateEnd ; $NbRebuildDir ; $StandAlone ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_MBG ; $RESOL_SRF ; $RESOL_SBG ; $MASTER ; $RebuildFromArchive ; $config_UserChoices_JobName ; $R_SAVE
35#-Q- sx8brodie # @ queue
36#-Q- aix6 #!/bin/ksh
37#-Q- aix6 #######################
38#-Q- aix6 ##   VARGAS   IDRIS  ##
39#-Q- aix6 #######################
40#-Q- aix6 # @ class = archive
41#-Q- aix6 # Temps Elapsed max. d'une requete hh:mm:ss
42#-Q- aix6 # @ wall_clock_limit = 20:00:00
43#-Q- aix6 # Nom du travail LoadLeveler
44#-Q- aix6 # @ job_name   = REBUILDWRK
45#-Q- aix6 # Fichier de sortie standard du travail
46#-Q- aix6 # @ output     = $(job_name).$(jobid)
47#-Q- aix6 # Fichier de sortie d'erreur du travail
48#-Q- aix6 # @ error      =  $(job_name).$(jobid)
49#-Q- aix6 # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
50#-Q- aix6 # @ notification = error
51#-Q- aix6 # @ environment  = $DEBUG_debug ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $REBUILD_DIR ; $RebuildFromArchive ; $POST_DIR ; $DateBegin ; $PeriodDateBegin ; $PeriodDateEnd ; $NbRebuildDir ; $StandAlone ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_MBG ; $RESOL_SRF ; $RESOL_SBG ; $MASTER ; $RebuildFromArchive ; $config_UserChoices_JobName ; $R_SAVE
52#-Q- aix6 # @ queue
53#-Q- sx8mercure #!/bin/ksh
54#-Q- sx8mercure ######################
55#-Q- sx8mercure ## SX8MERCURE   CEA ##
56#-Q- sx8mercure ######################
57#-Q- sx8mercure #PBS -N REBUILDWRK           # Nom du job
58#-Q- sx8mercure #PBS -j o                    # regroupement des stdout et stderr
59#-Q- sx8mercure #PBS -S /usr/bin/ksh         # shell de soumission
60#-Q- sx8mercure #PBS -l memsz_job=1gb        # Limite memoire a 1 Go
61#-Q- sx8mercure #PBS -l cputim_job=24:00:00  # Limite temps a 1 heures
62#-Q- sx8mercure #PBS -q scalaire
63#-Q- sx9mercure #!/bin/ksh
64#-Q- sx9mercure ######################
65#-Q- sx9mercure ## CESIUM   CEA ##
66#-Q- sx9mercure ######################
67#-Q- sx9mercure #MSUB -r REBUILDWRK     # Nom du job               
68#-Q- sx9mercure #MSUB -N 1              # Reservation du noeud
69#-Q- sx9mercure #MSUB -n 1              # Reservation du processus
70#-Q- sx9mercure #MSUB -T 86400          # Limite de temps elapsed du job
71#-Q- sx9mercure #MSUB -E "-j o"
72#-Q- sx9mercure #MSUB -E "-S /bin/ksh"
73#-Q- titane #!/bin/ksh
74#-Q- titane ######################
75#-Q- titane ## TITANE   CEA ##
76#-Q- titane ######################
77#-Q- titane #MSUB -r REBUILDWRK     # Nom du job               
78#-Q- titane #MSUB -N 1              # Reservation du noeud
79#-Q- titane #MSUB -n 1              # Reservation du processus
80#-Q- titane #MSUB -T 86400          # Limite de temps elapsed du job
81#-Q- titane #MSUB -E "-j o"
82#-Q- titane #MSUB -E "-S /bin/ksh"
83#-Q- titane ##MSUB -e nco.out        # Sortie standard
84#-Q- titane ##MSUB -o nco.out        # Sortie standard
85#-Q- lxiv8 ######################
86#-Q- lxiv8 ## OBELIX      LSCE ##
87#-Q- lxiv8 ######################
88#-Q- lxiv8 #PBS -N REBUILDWRK
89#-Q- lxiv8 #PBS -m a
90#-Q- lxiv8 #PBS -j oe
91#-Q- lxiv8 #PBS -q medium
92#-Q- lxiv8 #PBS -o REBUILDWRK.$$
93#-Q- lxiv8 #PBS -S /bin/ksh
94#-Q- default #!/bin/ksh
95#-Q- default ##################
96#-Q- default ## DEFAULT HOST ##
97#-Q- default ##################
98
99# $Date: $
100# $Author: $
101# $Revision: $
102# IPSL (2006)
103#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
104
105#set -eu
106#set -vx
107
108date
109
110#-Q- sx8brodie export OMP_NUM_THREADS=1
111#-Q- aix6 export OMP_NUM_THREADS=1
112
113########################################################################
114
115#D- Flag to determine if this job in a standalone mode
116#D- Default : value from AA_job if any
117StandAlone=${StandAlone:=true}
118
119#D- Low level debug : to bypass lib test checks and stack construction
120#D- Default : value from AA_job if any
121libIGCM=${libIGCM:=::modipsl::/libIGCM}
122# WARNING for StandAlone used : To run this script on some machine,
123# you must check MirrorlibIGCM variable in sys library.
124# If this variable is true, you must use libIGCM_POST path instead
125# of your running libIGCM directory.
126
127#D- Do we rebuild parallel output from archive or from ${BIGDIR}
128#D- Default : value from AA_job if any
129RebuildFromArchive=${RebuildFromArchive:=false}
130
131#D- Directory where files we need to rebuild are store
132#D- Default : value from AA_job if any
133#D- if RebuildFromArchive=true REBUILD_DIR=${DMFDIR}/IGCM_OUT/.../JobName/TMP
134#D- example : /dmnfs09/cont003/p86denv/IGCM_OUT/IPSLCM5/CM5PIRC7/TMP
135#D- if RebuildFromArchive=false REBUILD_DIR=${BIGDIR}/REBUILD/TagName/JobName/
136#D- example : /scratch/cont003/p86denv/REBUILD/IPSLCM5/SCAL-NEW
137REBUILD_DIR=${REBUILD_DIR:=/path/to/your/TMP/REBUILD/FILES}
138
139#D- How many directory to rebuild we have to consider
140#D- Default : value from AA_job if any
141NbRebuildDir=${NbRebuildDir:=1000}
142
143#D- Suffix date we will use to determine which directory to rebuild
144#D- We will rebuild NbRebuildDir before and including PeriodDateBegin
145#D- Default : value from AA_job if any
146LastPeriodForRebuild=${PeriodDateBegin:=18901201}
147
148#D- Name of the job to work in a standalone mode (needed for mask patch)
149#D- Default : value from config.card if any
150config_UserChoices_JobName=${config_UserChoices_JobName:=name_of_the_job}
151
152#D- Directory where output data are stored (needed in standalone mode for mask patch)
153#D- Default : value from AA_job if any
154R_SAVE=${R_SAVE:=/path/to/your/ARCHIVE/FILES}
155
156#D- Flag to determine atlas job's output directory
157#D- Default : value from libIGCM_post.ksh if any
158POST_DIR=${POST_DIR:=${PBS_O_WORKDIR}}
159
160#D- Increased verbosity (1, 2, 3)
161#D- Default : value from AA_job if any
162Verbosity=${Verbosity:=3}
163
164#D- Low level debug : to bypass lib test checks and stack construction
165#D- Default : value from AA_job if any
166DEBUG_debug=${DEBUG_debug:=false}
167
168#D- TEMPORARY Flag to determine atmospheric resolution
169#D- Default : value from atmospheric driver if any
170RESOL_ATM=${RESOL_ATM:=ALL}
171
172#D- TEMPORARY Flag to determine ocean resolution
173#D- Default : value from ocean driver if any
174RESOL_OCE=${RESOL_OCE:=ORCA2}
175
176#D- TEMPORARY Flag to determine ice resolution
177#D- Default : value from ice driver if any
178RESOL_ICE=${RESOL_ICE:=ORCA2}
179
180#D- TEMPORARY Flag to determine biogeochemistry resolution
181#D- Default : value from ice driver if any
182RESOL_MBG=${RESOL_MBG:=ORCA2}
183
184#D- Flag to determine surface resolution
185#D- Default : value from surface driver if any
186RESOL_SRF=ALL
187
188#D- Flag to determine surface resolution
189#D- Default : value from surface driver if any
190RESOL_SBG=ALL
191
192########################################################################
193
194. ${libIGCM}/libIGCM_debug/libIGCM_debug.ksh
195      ( ${DEBUG_debug} ) && IGCM_debug_Check
196. ${libIGCM}/libIGCM_card/libIGCM_card.ksh
197     ( ${DEBUG_debug} ) && IGCM_card_Check
198. ${libIGCM}/libIGCM_date/libIGCM_date.ksh
199     ( ${DEBUG_debug} ) && IGCM_date_Check
200#-------
201. ${libIGCM}/libIGCM_sys/libIGCM_sys.ksh
202. ${libIGCM}/libIGCM_post/libIGCM_post.ksh
203
204########################################################################
205
206#set -vx
207
208RUN_DIR=${RUN_DIR_PATH}
209IGCM_sys_MkdirWork ${RUN_DIR}
210IGCM_sys_Cd ${RUN_DIR}
211#
212if [ ${RebuildFromArchive} = true ] ; then
213    ListAllRebuildDir=$( IGCM_sys_RshArchive ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
214else
215    ListAllRebuildDir=$( IGCM_sys_RshMaster ls -d ${REBUILD_DIR}/REBUILD_* | grep -B $(( ${NbRebuildDir} -1 )) ${LastPeriodForRebuild} )
216fi
217#
218
219for directory in ${ListAllRebuildDir} ; do
220    #
221    if [ ${RebuildFromArchive} = true ] ; then
222        IGCM_sys_Get_Dir ${directory} ${RUN_DIR}
223    else
224        IGCM_sys_Get_Master ${directory} ${RUN_DIR}
225    fi
226    #
227    IGCM_sys_Cd ${RUN_DIR}/$( basename ${directory} )
228
229    # --------------------------------------------------------------------
230    # Source function include in the REBUILD ksh and rebuild
231    # --------------------------------------------------------------------
232    . ${RUN_DIR}/$( basename ${directory} )/rebuild.ksh
233    IGCM_FlushRebuild
234    #
235    IGCM_sys_Cd ${RUN_DIR}
236    # Clean Up
237    if [ ${RebuildFromArchive} = true ] ; then
238        IGCM_sys_RshArchive rm -rf ${directory}
239    else
240        IGCM_sys_Rm -rf ${directory}
241    fi
242done
243
244# Clean RUN_DIR_PATH (necessary for cesium only)
245IGCM_sys_RmRunDir -Rf ${RUN_DIR_PATH}
Note: See TracBrowser for help on using the repository browser.