source: tags/libIGCM_v3.0_beta1/AA_create_multi_se

Last change on this file was 1399, checked in by sdipsl, 7 years ago

CMIP6 workflow. Merging trunk into branch 'branch' r:1375:1398

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