source: trunk/libIGCM/AA_create_multi_se @ 1201

Last change on this file since 1201 was 1201, checked in by sdipsl, 9 years ago
  • add jobWarningDelay in seconds to supervision messages see #253 (threshold for heartbeat)
  • add accountingProject to supervision messages see #255 (may ease gencmip6 data production tracking)
  • Property licence set to
    The following licence information concerns ONLY the libIGCM tools
    ==================================================================

    Copyright © Centre National de la Recherche Scientifique CNRS
    Commissariat à l'Énergie Atomique CEA

    libIGCM : Library for Portable Models Computation of IGCM Group.

    IGCM Group is the french IPSL Global Climate Model Group.

    This library is a set of shell scripts and functions whose purpose is
    the management of the initialization, the launch, the transfer of
    output files, the post-processing and the monitoring of datas produce
    by any numerical program on any plateforme.

    This software is governed by the CeCILL license under French law and
    abiding by the rules of distribution of free software. You can use,
    modify and/ or redistribute the software under the terms of the CeCILL
    license as circulated by CEA, CNRS and INRIA at the following URL
    "http://www.cecill.info".

    As a counterpart to the access to the source code and rights to copy,
    modify and redistribute granted by the license, users are provided only
    with a limited warranty and the software's author, the holder of the
    economic rights, and the successive licensors have only limited
    liability.

    In this respect, the user's attention is drawn to the risks associated
    with loading, using, modifying and/or developing or reproducing the
    software by the user in light of its specific status of free software,
    that may mean that it is complicated to manipulate, and that also
    therefore means that it is reserved for developers and experienced
    professionals having in-depth computer knowledge. Users are therefore
    encouraged to load and test the software's suitability as regards their
    requirements in conditions enabling the security of their systems and/or
    data to be ensured and, more generally, to use and operate it in the
    same conditions as regards security.

    The fact that you are presently reading this means that you have had
    knowledge of the CeCILL license and that you accept its terms.
  • Property svn:keywords set to Revision Author Date
File size: 19.3 KB
Line 
1#-Q- curie ######################
2#-Q- curie ## CURIE   TGCC/CEA ##
3#-Q- curie ######################
4#-Q- curie #MSUB -r MULTISE        # Nom du job
5#-Q- curie #MSUB -eo
6#-Q- curie #MSUB -n 1              # Reservation du processus
7#-Q- curie #MSUB -T 36000          # Limite de temps elapsed du job
8#-Q- curie #MSUB -q ::default_node::
9#-Q- curie #MSUB -Q normal
10#-Q- curie #MSUB -A ::default_project::
11#-Q- curie set +x
12#-Q- ada #!/bin/ksh
13#-Q- ada #######################
14#-Q- ada ## ADA         IDRIS ##
15#-Q- ada #######################
16#-Q- ada # @ job_type = serial
17#-Q- ada # @ requirements = (Feature == "prepost")
18#-Q- ada # Temps Elapsed max. d'une requete hh:mm:ss
19#-Q- ada # @ wall_clock_limit = 1:00:00
20#-Q- ada # Nom du travail LoadLeveler
21#-Q- ada # @ job_name   = MULTISE
22#-Q- ada # Fichier de sortie standard du travail
23#-Q- ada # @ output     = $(job_name).$(jobid)
24#-Q- ada # Fichier de sortie d'erreur du travail
25#-Q- ada # @ error      =  $(job_name).$(jobid)
26#-Q- ada # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
27#-Q- ada # @ notification = error
28#-Q- ada # @ environment  = $DEBUG_debug ; $BigBrother ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $POST_DIR ; $Script_Post_Output ; $MASTER ; $DateBegin ; $PeriodDateEnd ; $StandAlone ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_MBG ; $RESOL_SRF ; $RESOL_SBG ; wall_clock_limit=$(wall_clock_limit)
29#-Q- ada # @ queue
30#-Q- lxiv8 ######################
31#-Q- lxiv8 ## OBELIX      LSCE ##
32#-Q- lxiv8 ######################
33#-Q- lxiv8 #PBS -N MULTISE
34#-Q- lxiv8 #PBS -m a
35#-Q- lxiv8 #PBS -j oe
36#-Q- lxiv8 #PBS -q medium
37#-Q- lxiv8 #PBS -o MULTISE.$$
38#-Q- lxiv8 #PBS -S /bin/ksh
39#-Q- ifort_CICLAD ######################
40#-Q- ifort_CICLAD ##   CICLAD    IPSL ##
41#-Q- ifort_CICLAD ######################
42#-Q- ifort_CICLAD #PBS -N MULTISE
43#-Q- ifort_CICLAD #PBS -m a
44#-Q- ifort_CICLAD #PBS -j oe
45#-Q- ifort_CICLAD #PBS -q h12
46#-Q- ifort_CICLAD #PBS -S /bin/ksh
47#-Q- default #!/bin/ksh
48#-Q- default ##################
49#-Q- default ## DEFAULT HOST ##
50#-Q- default ##################
51
52#**************************************************************
53# Author: Marie-Alice Foujols
54# Contact: Marie-Alice.Foujols__at__ipsl.jussieu.fr
55# $Revision::                                          $ Revision of last commit
56# $Author::                                            $ Author of last commit
57# $Date::                                              $ Date of last commit
58# IPSL (2006)
59#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
60#
61#**************************************************************
62
63#set -eu
64#set -vx
65
66date
67
68#-Q- ada export OMP_NUM_THREADS=1
69
70#D- Task type (computing or post-processing)
71TaskType=post-processing
72
73########################################################################
74
75#D- Flag to determine if this job in a standalone mode
76#D- Default : value from AA_job if any
77StandAlone=${StandAlone:=true}
78
79#D- Path to libIGCM
80#D- Default : value from AA_job if any
81libIGCM=${libIGCM:=::modipsl::/libIGCM}
82
83#D- Flag to determine atlas job's output directory
84#D- Default : value from libIGCM_post.ksh if any
85POST_DIR=${POST_DIR:=${PBS_O_WORKDIR:=$(pwd)}}
86
87#D- Increased verbosity (1, 2, 3)
88#D- Default : value from AA_job if any
89Verbosity=${Verbosity:=3}
90
91#D- Low level debug : to bypass lib test checks and stack construction
92#D- Default : value from AA_job if any
93DEBUG_debug=${DEBUG_debug:=false}
94
95#D- TEMPORARY Flag to determine atmospheric resolution
96#D- Default : value from atmospheric driver if any
97RESOL_ATM=${RESOL_ATM:=ALL}
98
99#D- Flag to determine surface resolution
100#D- Default : value from surface driver if any
101RESOL_SRF=ALL
102
103#D- Flag to determine surface resolution
104#D- Default : value from surface driver if any
105RESOL_SBG=ALL
106
107#D- TEMPORARY Flag to determine ocean resolution
108#D- Default : value from ocean driver if any
109RESOL_OCE=${RESOL_OCE:=ORCA2}
110
111#D- TEMPORARY Flag to determine ice resolution
112#D- Default : value from ice driver if any
113RESOL_ICE=${RESOL_ICE:=ORCA2}
114
115#D- TEMPORARY Flag to determine marine biogeochemistry resolution
116#D- Default : value from ice driver if any
117RESOL_MBG=${RESOL_MBG:=ORCA2}
118
119########################################################################
120
121. ${libIGCM}/libIGCM_debug/libIGCM_debug.ksh
122. ${libIGCM}/libIGCM_card/libIGCM_card.ksh
123. ${libIGCM}/libIGCM_date/libIGCM_date.ksh
124#-------
125. ${libIGCM}/libIGCM_sys/libIGCM_sys.ksh
126. ${libIGCM}/libIGCM_config/libIGCM_config.ksh
127#-------
128IGCM_sys_MkdirWork ${RUN_DIR_PATH}
129IGCM_sys_Cd ${RUN_DIR_PATH}
130#-------
131( ${DEBUG_debug} ) && IGCM_debug_Check
132( ${DEBUG_debug} ) && IGCM_card_Check
133( ${DEBUG_debug} ) && IGCM_date_Check
134
135########################################################################
136
137#set -vx
138
139# ------------------------------------------------------------------
140# Test if all was right before proceeding further
141# ------------------------------------------------------------------
142IGCM_debug_Verif_Exit_Post
143
144if [ ${StandAlone} = true ] ; then
145  CARD_DIR=${SUBMIT_DIR}
146else
147  CARD_DIR=${RUN_DIR_PATH}
148  IGCM_sys_Get_Master ${SUBMIT_DIR}/config.card ${RUN_DIR_PATH}
149  IGCM_sys_Get_Master ${SUBMIT_DIR}/run.card    ${RUN_DIR_PATH}
150  IGCM_sys_Get_Master ${SUBMIT_DIR}/COMP        ${RUN_DIR_PATH}
151  IGCM_sys_Get_Master ${SUBMIT_DIR}/POST        ${RUN_DIR_PATH}
152fi
153
154#==================================
155# First of all
156#
157# Read libIGCM compatibility version in config.card
158# Read UserChoices section
159# Read Ensemble section
160# Read Post section
161# Define all netcdf output directories
162#==================================
163IGCM_config_CommonConfiguration ${CARD_DIR}/config.card
164
165# ------------------------------------------------------------------
166# Activate BigBrother so as to supervise this job
167# ------------------------------------------------------------------
168IGCM_debug_BigBro_Initialize
169
170#==================================
171# Read ListOfComponents section:
172IGCM_card_DefineArrayFromSection   ${CARD_DIR}/config.card ListOfComponents
173
174#==================================
175# Read SeasonalFrequency:
176IGCM_card_DefineArrayFromSection   ${CARD_DIR}/config.card Post
177
178#
179# If option MultiSeasonalFrequency is not found (optionnal) put MultiSeasonalFrequency=50Y
180#
181FoundMultiSeasonal=false
182for option in ${config_Post[*]} ; do
183  if [ ${option} = MultiSeasonalFrequency ] ; then
184    FoundMultiSeasonal=true
185    IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post MultiSeasonalFrequency
186  fi
187done
188if [ ! X${FoundMultiSeasonal} = Xtrue ] ; then
189  config_Post_MultiSeasonalFrequency=50Y
190fi
191#
192IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post SeasonalFrequency
193#
194# Determine period for seasonnal average. Default : value from AA_job if any
195#
196DateBegin=${DateBegin:=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} )}
197#
198PeriodDateEnd=${PeriodDateEnd:=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )}
199#
200IGCM_debug_Print 1 "DefineVariableFromOption : Post "
201IGCM_debug_PrintVariables 3 config_Post_SeasonalFrequency
202IGCM_debug_PrintVariables 3 config_Post_MultiSeasonalFrequency
203echo
204
205#
206freq=$( echo ${config_Post_SeasonalFrequency} |  sed -e "s/[yY]//" )
207#
208multifreq=$( echo ${config_Post_MultiSeasonalFrequency} |  sed -e "s/[yY]//" )
209#
210DIR_OUT=SE_${multifreq}Y
211#
212an_multi_fin=$(( $( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} ) / 1000 ))
213an_multi_deb=$( IGCM_date_YearDigit $(( an_multi_fin - multifreq + 1 )) )
214an_multi_fin=$( IGCM_date_YearDigit ${an_multi_fin} )
215#
216# For each component selected determine which files need post-processing
217#
218for comp in ${config_ListOfComponents[*]} ; do
219  #
220  IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
221  eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
222  #
223  card=${CARD_DIR}/COMP/${compname}.card
224  IGCM_card_DefineArrayFromOption ${card} OutputFiles List
225  #
226  ListFilesName=${compname}_OutputFiles_List
227  eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
228  #
229  if [ X${FileName0} != X${NULL_STR} ] ; then
230    #
231    # INITIALISATION
232    #
233    eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
234    typeset i=2
235    #
236    until [ $i -gt $NbFiles ]; do
237      #
238      eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
239      #
240      if [ X${flag_post} != XNONE ] ; then
241        #
242        # Check if seasonal is required for this file
243        #
244        IGCM_card_DefineArrayFromSection ${card} ${flag_post}
245        #
246        # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default
247        #
248        # variable option allready typeset above
249        for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do
250          if [ ${option} = Seasonal ] ; then
251            FoundSeasonal=true
252            IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal
253          fi
254        done
255        #
256        if [ ! X${FoundSeasonal} = Xtrue ] ; then
257          eval ${compname}_${flag_post}_Seasonal=ON
258        fi
259        #
260        if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then
261          (( i=i+3 ))
262          continue
263        fi
264        #
265        # CREATE LIST
266        #
267        FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
268        #
269        DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
270        #
271        MULTI_DIRECTORY=${R_SAVE}/${comp}/Analyse/${DIR_OUT}
272        #
273        TestedFile=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${FILE}.nc
274        #
275        IGCM_sys_TestFileArchive ${MULTI_DIRECTORY}/${TestedFile}
276        if [ ! $? = 0 ] ; then
277          eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE}
278        fi
279      fi
280      (( i=i+3 ))
281    done # until [ $i -eq $NbFiles ]
282  fi
283done         # for comp
284
285for comp in ${config_ListOfComponents[*]} ; do
286  #
287  eval R_OUT_${comp}=${R_SAVE}/${comp}
288  #
289  i=0
290  for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
291    #
292    RESULT_MULTI_SE=${config_UserChoices_JobName}_SE_${an_multi_deb}_${an_multi_fin}_${file}.nc
293    # Do not redo an existing SE
294    IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE}
295    if [ $? = 0 ] ; then
296      continue
297    fi
298    #
299    eval file_path=\${R_OUT_${comp}}/Analyse/SE/
300    #
301    (( an = an_multi_deb ))
302    # Initialize array
303    unset liste_file_se
304    unset liste_file_se_tmp
305    while [ ${an} -le ${an_multi_fin} ] ; do
306      #
307      an_deb=$(printf "%04i\n" ${an} )
308      #
309      (( an_fin = an_deb + freq - 1 ))
310      date=${an_deb}_${an_fin}
311      #
312      liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_SE_${date}_${file}.nc
313      liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_SE_${date}_${file}.nc
314      (( an = an + freq ))
315    done
316    #
317    IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
318    IGCM_debug_Verif_Exit_Post
319    # Search of common list of variables to be treated
320    nbfile=0
321    for file_common_var in ${liste_file_se_tmp[*]} ; do
322      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncra
323      (( nbfile = nbfile + 1 ))
324    done
325    list_var_final_ncra=`cat tmpfile_ncra | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
326    IGCM_sys_Rm tmpfile_ncra
327
328    # detect time counter : time or time_counter ie unlimited variable
329    var_unlim=$(ncdump -h ${liste_file_se_tmp[1]}|grep UNLIMITED|awk '{print $1}')
330
331    for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
332      #
333      (( nb = ${mois} - 1 ))
334      #
335      OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
336      IGCM_sys_ncra -O -v ${list_var_final_ncra} -d ${var_unlim},${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
337    done
338    IGCM_sys_Rm ${liste_file_se_tmp[*]}
339    #
340
341    # Search of common list of variables to be treated
342    nbfile=0
343    for file_common_var in ${OUT_SE[*]} ; do
344      ncdump -h ${file_common_var} | grep -E 'float|double' | cut -f 1 -d '(' | cut -f 2 -d ' ' >> tmpfile_ncrcat
345      (( nbfile = nbfile + 1 ))
346    done
347    list_var_final_ncrcat=`cat tmpfile_ncrcat | sort | uniq -c | awk -v nbfile=$nbfile '{if ($1 == nbfile) {print $2}}' | paste -s -d ','`
348    IGCM_sys_Rm tmpfile_ncrcat
349
350    IGCM_sys_ncrcat -O -v ${list_var_final_ncrcat} ${OUT_SE[*]} ${RESULT_MULTI_SE}
351    #
352    IGCM_sys_Rm ${OUT_SE[*]}
353
354    # Put correct climatological axis following calendar
355    case ${config_UserChoices_CalendarType} in
356      360d|360_day)
357      # 360 days
358        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15, 45, 75, 105, 135, 165, 195, 225, 255, 285, 315, 345.} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 30, 30, 60, 60, 90, 90, 120, 120, 150, 150, 180, 180, 210, 210, 240, 240, 270, 270, 300, 300, 330, 330, 360.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"360_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
359        ;;
360      noleap|365_day)
361      # 365 days
362        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45, 74.5, 105, 135.5, 166, 196.5, 227.5, 258, 288.5, 319, 349.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59, 59, 90, 90, 120, 120, 151, 151, 181, 181, 212, 212, 243, 243, 273, 273, 304, 304, 334, 334, 365.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"365_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
363        ;;
364      all_leap|366_day)
365      # 366 days
366        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.5, 75.5, 106, 136.5, 167, 197.5, 228.5, 259, 289.5, 320, 350.5} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 60, 60, 91, 91, 121, 121, 152, 152, 182, 182, 213, 213, 244, 244, 274, 274, 305, 305, 335, 335, 366.} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"366_day\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
367        ;;
368      leap|gregorian|standard)
369      # 365.2425 days
370        ncap2cmd="'defdim(\"tbnds\",2) ; ${var_unlim}[${var_unlim}]={15.5, 45.12125, 74.7425, 105.2425, 135.7425, 166.2425, 196.7425, 227.7425, 258.2425, 288.7425, 319.2425, 349.7425} ; ${var_unlim}_bnds[${var_unlim},tbnds]={0, 31, 31, 59.2425, 59.2425, 90.2425, 90.2425, 120.2425, 120.2425, 151.2425, 151.2425, 181.2425, 181.2425, 212.2425, 212.2425, 243.2425, 243.2425, 273.2425, 273.2425, 304.2425, 304.2425, 334.2425, 334.2425, 365.2425} ; ${var_unlim}@units=\"days since 0000-01-01 00:00:00\" ; ${var_unlim}@time_origin=\"01-JAN-0000 00:00:00\" ; ${var_unlim}@calendar=\"gregorian\" ; ${var_unlim}@bounds=\"${var_unlim}_bnds\"'"
371        ;;
372    esac
373    eval IGCM_sys_ncap2 -Oh -s $ncap2cmd ${RESULT_MULTI_SE} tmp.nc
374    IGCM_sys_Rm ${RESULT_MULTI_SE}
375    IGCM_sys_Mv tmp.nc ${RESULT_MULTI_SE}
376    #
377    eval IGCM_sys_Put_Out ${RESULT_MULTI_SE} \${R_OUT_${comp}}/Analyse/${DIR_OUT}/${RESULT_MULTI_SE}
378    IGCM_sys_Rm ${RESULT_MULTI_SE}
379    #
380  done
381done
382
383# DODS copy
384if [ X${config_Post_DodsCopy} = XTRUE ]  ; then
385  for comp in ${config_ListOfComponents[*]} ; do
386    IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/${DIR_OUT}
387    [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/${DIR_OUT}
388  done
389fi
390
391# Temporal coverage id for atlas
392YEARS=${an_multi_deb}_${an_multi_fin}
393
394export DEBUG_debug; export BigBrother ; export libIGCM; export SUBMIT_DIR; export POST_DIR; export Script_Output ;
395export StandAlone ; export RESOL_ATM; export RESOL_OCE ; export RESOL_ICE ; export RESOL_MBG ; export RESOL_SRF ;
396export RESOL_SBG ; export YEARS; export DIR_OUT
397listVarEnv="DEBUG_debug,BigBrother,libIGCM,SUBMIT_DIR,POST_DIR,Script_Post_Output,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_SBG,YEARS,DIR_OUT"
398export listVarEnv;
399
400#D-
401# --------------------------------------------------------------------
402#D- Test if all was right before ATLAS
403# --------------------------------------------------------------------
404IGCM_debug_Verif_Exit_Post
405
406if [ ${config_UserChoices_TagName} = "IPSLCM4_v1_OASIS3" ] || \
407   [ ${config_UserChoices_TagName} = "IPSLCM4_v2" ]        || \
408   [ ${config_UserChoices_TagName} = "IPSL_ESM_V1" ] ; then
409  #
410  export Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
411  IGCM_sys_QsubPost atlas_ORCHIDEE                          ;
412  export Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
413  IGCM_sys_QsubPost atlas_LMDZ                              ;
414  export Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
415  IGCM_sys_QsubPost atlas_ORCA_LIM                          ;
416  export Script_Post_Output=additionnal.${PeriodDateEnd}    ;
417  IGCM_sys_QsubPost additionnal                             ;
418  #
419elif [ ${config_UserChoices_TagName} = "IPSLCM5" ]         || \
420     [ ${config_UserChoices_TagName} = "IPSLCM5A" ]        || \
421     [ ${config_UserChoices_TagName} = "IPSLCM5B" ]        || \
422     [ ${config_UserChoices_TagName} = "IPSLCM5A-MR" ]     || \
423     [ ${config_UserChoices_TagName} = "IPSLCM6" ] ; then
424  export Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
425  IGCM_sys_QsubPost atlas_ORCHIDEE                          ;
426  export Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
427  IGCM_sys_QsubPost atlas_LMDZ                              ;
428  export Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
429  IGCM_sys_QsubPost atlas_ORCA_LIM                          ;
430  export Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
431  IGCM_sys_QsubPost atlas_PISCES                            ;
432  #
433elif [ ${config_UserChoices_TagName} = "LMDZ4OR" ]         || \
434     [ ${config_UserChoices_TagName} = "LMDZOR" ]          || \
435     [ ${config_UserChoices_TagName} = "LMDZ4OR_v2" ] ; then
436  #
437  export Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
438  IGCM_sys_QsubPost atlas_LMDZ                              ;
439  export Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
440  IGCM_sys_QsubPost atlas_ORCHIDEE                          ;
441  #
442elif [ ${config_UserChoices_TagName} = "LMDZ" ] ; then
443  #
444  export Script_Post_Output=atlas_LDMZ.${PeriodDateEnd}     ;
445  IGCM_sys_QsubPost atlas_LMDZ                              ;
446  #
447elif [ ${config_UserChoices_TagName} = "OL" ]              || \
448     [ ${config_UserChoices_TagName} = "OL2" ] ; then
449  #
450  export Script_Post_Output=atlas_ORCHIDEE.${PeriodDateEnd} ;
451  IGCM_sys_QsubPost atlas_ORCHIDEE                          ;
452  #
453elif [ ${config_UserChoices_TagName} = "ORCA2_LIM" ]       || \
454     [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ]      || \
455     [ ${config_UserChoices_TagName} = "ORCA2_LIM3" ] ; then
456  #
457  export Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
458  IGCM_sys_QsubPost atlas_ORCA_LIM                          ;
459  #
460elif [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ] || \
461     [ ${config_UserChoices_TagName} = "ORCA2_LIM3_PISCES" ] ; then
462  #
463  export Script_Post_Output=atlas_ORCA_LIM.${PeriodDateEnd} ;
464  IGCM_sys_QsubPost atlas_ORCA_LIM                          ;
465  export Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
466  IGCM_sys_QsubPost atlas_PISCES                            ;
467  #
468elif [ ${config_UserChoices_TagName} = "ORCA2_OFF_PISCES" ] ; then
469  #
470  export Script_Post_Output=atlas_PISCES.${PeriodDateEnd}   ;
471  IGCM_sys_QsubPost atlas_PISCES                            ;
472  #
473fi
474
475# Clean RUN_DIR_PATH (necessary for cesium and titane only)
476IGCM_sys_RmRunDir -Rf ${RUN_DIR_PATH}
477
478# ------------------------------------------------------------------
479# Finalize BigBrother to inform that the jobs end
480# ------------------------------------------------------------------
481IGCM_debug_BigBro_Finalize
Note: See TracBrowser for help on using the repository browser.