source: trunk/libIGCM/AA_create_multi_se @ 1510

Last change on this file since 1510 was 1468, checked in by mafoipsl, 6 years ago

On curie : set output files for all jobs.

On irene :

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