source: trunk/libIGCM/AA_create_se @ 152

Last change on this file since 152 was 150, checked in by sdipsl, 15 years ago
  • Do not patch files if asynchronous rebuild is on
  • 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 Date Author Revision
File size: 17.8 KB
Line 
1#-Q- platine #!/usr/bin/ksh
2#-Q- platine ###################
3#-Q- platine ## PLATINE   CEA ##
4#-Q- platine ###################
5#-Q- platine #BSUB -J SE                     # Nom du job
6#-Q- platine #BSUB -N                        # message a la fin du job
7#-Q- platine #BSUB -n 1                      # reservation des processeurs pour le job
8#-Q- platine #BSUB -W 1:00                   # Limite temps
9#-Q- platine #BSUB -q post              # Passage en queue post
10#-Q- sx8brodie #!/bin/ksh
11#-Q- sx8brodie #######################
12#-Q- sx8brodie ## SX8BRODIE   IDRIS ##
13#-Q- sx8brodie #######################
14#-Q- sx8brodie # Temps Elapsed max. d'une requete hh:mm:ss
15#-Q- sx8brodie # @ wall_clock_limit = 10:00:00
16#-Q- sx8brodie # Nom du travail LoadLeveler
17#-Q- sx8brodie # @ job_name   = SE
18#-Q- sx8brodie # Fichier de sortie standard du travail       
19#-Q- sx8brodie # @ output     = $(job_name).$(jobid)
20#-Q- sx8brodie # Fichier de sortie d'erreur du travail
21#-Q- sx8brodie # @ error      =  $(job_name).$(jobid)
22#-Q- sx8brodie # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
23#-Q- sx8brodie # @ notification = error
24#-Q- sx8brodie # @ environment  = $DEBUG_debug ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $REBUILD_DIR ; $RebuildFromArchive ; $POST_DIR ; $MASTER ; $DateBegin ; $PeriodDateBegin ; $PeriodDateEnd ; $NbRebuildDir ; $StandAlone ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_SRF ; $MASTER
25#-Q- sx8brodie # @ queue
26#-Q- aix6 #!/bin/ksh
27#-Q- aix6 #######################
28#-Q- aix6 ##   VARGAS   IDRIS  ##
29#-Q- aix6 #######################
30#-Q- aix6 # Temps Elapsed max. d'une requete hh:mm:ss
31#-Q- aix6 # @ wall_clock_limit = 10:00:00
32#-Q- aix6 # Nom du travail LoadLeveler
33#-Q- aix6 # @ job_name   = SE
34#-Q- aix6 # Fichier de sortie standard du travail       
35#-Q- aix6 # @ output     = $(job_name).$(jobid)
36#-Q- aix6 # Fichier de sortie d'erreur du travail
37#-Q- aix6 # @ error      =  $(job_name).$(jobid)
38#-Q- aix6 # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
39#-Q- aix6 # @ notification = error
40#-Q- aix6 # @ environment  = $DEBUG_debug ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $REBUILD_DIR ; $RebuildFromArchive ; $POST_DIR ; $MASTER ; $DateBegin ; $PeriodDateBegin ; $PeriodDateEnd ; $NbRebuildDir ; $StandAlone ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_SRF ; $MASTER
41#-Q- aix6 # @ queue
42#-Q- sx8mercure #!/bin/ksh
43#-Q- sx8mercure ######################
44#-Q- sx8mercure ## SX8MERCURE   CEA ##
45#-Q- sx8mercure ######################
46#-Q- sx8mercure #PBS -N SE                   # Nom du job
47#-Q- sx8mercure #PBS -j o                    # regroupement des stdout et stderr
48#-Q- sx8mercure #PBS -S /usr/bin/ksh         # shell de soumission
49#-Q- sx8mercure #PBS -l memsz_job=1gb        # Limite memoire a 1 Go
50#-Q- sx8mercure #PBS -l cputim_job=1:00:00   # Limite temps a 1 heures
51#-Q- sx8mercure #PBS -q scalaire
52#-Q- default #!/bin/ksh
53#-Q- default ##################
54#-Q- default ## DEFAULT HOST ##
55#-Q- default ##################
56
57# $Date$
58# $Author$
59# $Revision$
60# IPSL (2006)
61#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
62
63#set -eu
64#set -vx
65
66date
67
68#-Q- sx8brodie export OMP_NUM_THREADS=1
69#-Q- aix6 export OMP_NUM_THREADS=1
70
71########################################################################
72
73#D- Flag to determine if this job in a standalone mode
74#D- Default : value from AA_job if any
75StandAlone=${StandAlone:=true}
76
77#D- Flag to determine atlas job's output directory
78#D- Default : value from libIGCM_post.ksh if any
79POST_DIR=${POST_DIR:=${PBS_O_WORKDIR}}
80
81#D- Increased verbosity (1, 2, 3)
82#D- Default : value from AA_job if any
83Verbosity=${Verbosity:=3}
84
85#D- Low level debug : to bypass lib test checks and stack construction
86#D- Default : value from AA_job if any
87DEBUG_debug=${DEBUG_debug:=false}
88
89#D- Low level debug : to bypass lib test checks and stack construction
90#D- Default : value from AA_job if any
91libIGCM=${libIGCM:=/path/to/your/libIGCM}
92
93#D- TEMPORARY Flag to determine atmospheric resolution
94#D- Default : value from atmospheric driver if any
95RESOL_ATM=${RESOL_ATM:=ALL}
96
97#D- TEMPORARY Flag to determine ocean resolution
98#D- Default : value from ocean driver if any
99RESOL_OCE=${RESOL_OCE:=ORCA2}
100
101#D- TEMPORARY Flag to determine ice resolution
102#D- Default : value from ice driver if any
103RESOL_ICE=${RESOL_ICE:=ORCA2}
104
105#D- Flag to determine surface resolution
106#D- Default : value from surface driver if any
107RESOL_SRF=${RESOL_SRF:=ALL}
108
109########################################################################
110
111. ${libIGCM}/libIGCM_debug/libIGCM_debug.ksh
112      ( ${DEBUG_debug} ) && IGCM_debug_Check
113. ${libIGCM}/libIGCM_card/libIGCM_card.ksh
114     ( ${DEBUG_debug} ) && IGCM_card_Check
115. ${libIGCM}/libIGCM_date/libIGCM_date.ksh
116     ( ${DEBUG_debug} ) && IGCM_date_Check
117#-------
118. ${libIGCM}/libIGCM_sys/libIGCM_sys.ksh
119
120########################################################################
121
122#set -vx
123
124if [ ${DEBUG_debug} = true ] ; then
125    IGCM_sys_MkdirWork ${RUN_DIR_PATH}
126    echo "RUN_DIR_PATH ${RUN_DIR_PATH} ok."
127fi
128IGCM_sys_Cd ${RUN_DIR_PATH}
129
130if [ ${StandAlone} = true ] ; then
131    CARD_DIR=${SUBMIT_DIR}
132else
133    CARD_DIR=${RUN_DIR_PATH}/$( basename ${SUBMIT_DIR} )
134    IGCM_sys_Get_Master ${SUBMIT_DIR} ${RUN_DIR_PATH}
135fi
136
137#
138# First of all
139#
140IGCM_card_DefineArrayFromSection   ${CARD_DIR}/config.card UserChoices
141typeset option
142for option in ${config_UserChoices[*]} ; do
143    IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card UserChoices ${option}
144done
145#
146echo
147IGCM_debug_Print 1 "DefineArrayFromOption  : config_UserChoices"
148IGCM_debug_PrintVariables 3 config_UserChoices_JobName
149IGCM_debug_PrintVariables 3 config_UserChoices_LongName
150IGCM_debug_PrintVariables 3 config_UserChoices_TagName
151IGCM_debug_PrintVariables 3 config_UserChoices_CalendarType
152IGCM_debug_PrintVariables 3 config_UserChoices_DateBegin
153IGCM_debug_PrintVariables 3 config_UserChoices_DateEnd
154IGCM_debug_PrintVariables 3 config_UserChoices_PeriodLength
155echo
156
157#==================================
158
159R_SAVE=${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}
160#
161IGCM_card_DefineArrayFromSection   ${CARD_DIR}/config.card ListOfComponents
162#
163IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post SeasonalFrequency
164#
165# Determine period for seasonnal average. Default : value from AA_job if any
166#
167DateBegin=${DateBegin:=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} )}
168#
169PeriodDateEnd=${PeriodDateEnd:=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )}
170#
171freq=$( echo ${config_Post_SeasonalFrequency} |  sed -e "s/[yY]//" )
172#
173an_fin=$(( $( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} ) / 1000 ))
174an_deb=$( IGCM_date_YearDigit $(( an_fin - freq + 1 )) )
175an_fin=$( IGCM_date_YearDigit ${an_fin} )
176#
177# For each component selected determine which files need post-processing
178#
179for comp in ${config_ListOfComponents[*]} ; do
180    #
181    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
182    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
183    #
184    card=${CARD_DIR}/COMP/${compname}.card
185    IGCM_card_DefineArrayFromOption ${card} OutputFiles List
186    #
187    ListFilesName=${compname}_OutputFiles_List
188    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
189    #
190    if [ X${FileName0} != X${NULL_STR} ] ; then
191        #
192        #IGCM_debug_Print 1 "Component      : ${compname}"
193        #
194        # INITIALISATION
195        #
196        eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
197        typeset i=0
198        #
199        until [ $i -eq $NbFiles ]; do
200            #
201            eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1
202            eval file_in=${file_in_}
203            let $(( i_ = i+2 ))
204            eval flag_post_=\${${ListFilesName}[$i_]} > /dev/null 2>&1
205            eval flag_post=${flag_post_}
206            #
207            if [ X${flag_post} != XNONE ] ; then
208                #
209                # Initialize ${flag_post}_${compname}_${post_freq}
210                #
211                eval export ${flag_post}_${compname}_SeasonalFrequency=true
212            fi
213            let $(( i=i+3 ))
214        done
215    fi
216
217    for element in $( env | grep Post_ | grep ${compname}_SeasonalFrequency | grep -i "=true" ) ; do
218        #
219        FILE=$( echo ${element} | awk -F "_${compname}_SeasonalFrequency" '{print $1}' | awk "-FPost_" '{print $2}' )
220        #
221        # CREATE LIST
222        #
223        DIRECTORY=${R_SAVE}/${comp}/Analyse/SE
224        #
225        TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc
226        #
227        IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile}
228        if [ ! $? = 0 ] ; then
229            eval set +A LISTE_FILE_${comp} \$\{LISTE_FILE_${comp}[*]} ${FILE}
230            if [ ! ${RebuildFrequency} = true ] ; then
231                IGCM_card_DefineArrayFromOption ${card} Post_${FILE} Patches
232                eval set +A LISTE_PATCHES_${FILE} \$\{${compname}_Post_${FILE}_Patches[*]}
233                if [ X$( eval echo \${LISTE_PATCHES_${FILE}[0]} ) !=  X${NULL_STR} ]; then
234                    for Patch in $( eval echo \${LISTE_PATCHES_${FILE}[*]} ); do
235                        if [ Xload${Patch} != X ] ; then
236                            . ${libIGCM}/libIGCM_post/IGCM_${Patch}.ksh
237                            eval load${Patch}=loaded
238                        fi
239                    done
240                fi
241            fi
242        fi
243             #
244    done     # for element
245done         # for comp
246
247for comp in ${config_ListOfComponents[*]} ; do
248    #
249    eval R_OUT_${comp}=${R_SAVE}/${comp}
250    #
251    i=0
252    for file in $( eval echo \${LISTE_FILE_${comp}[*]} ); do
253        #
254        # Determine in which output can we find file
255        # IE : Output/MO or Output/DA or ...
256        #
257        FlagDir=$( echo ${file} | awk -F "_" '{print $1}' )
258        case ${FlagDir} in
259            1Y)    FreqDir=YE  ;;
260            1M)    FreqDir=MO  ;;
261            5D|1D) FreqDir=DA  ;;
262            HF)    FreqDir=HF  ;;
263            INS)   FreqDir=INS ;;
264        esac
265        #
266        RESULT_SE=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${file}.nc
267        # Do not redoo an existing SE
268        IGCM_sys_TestFileArchive ${R_SAVE}/${comp}/Analyse/SE/${RESULT_SE}
269        if [ $? = 0 ] ; then
270            continue
271        fi
272        #
273        eval file_path=\${R_OUT_${comp}}/Output/${FreqDir}/
274        #
275        case ${config_UserChoices_PeriodLength} in
276        # For Yearly simulation :
277        1Y|1y)
278          (( an = an_deb ))
279          # Initialize array
280          #set -A liste_file_se
281          #set -A liste_file_se_tmp
282          unset liste_file_se
283          unset liste_file_se_tmp
284          while [ ${an} -le ${an_fin} ] ; do
285              moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
286              #
287              an4=$(printf "%04i\n" ${an} )
288              #
289              diy=$( IGCM_date_DaysInYear $an4 )
290              afin=$( IGCM_date_AddDaysToGregorianDate ${an4}0101 $(( diy - 1 )) )
291              date=${an4}0101_${afin}
292              #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
293              #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
294              liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
295              liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
296              (( an = an + 1 ))
297          done
298          #
299          IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
300          eval ExitFlag=false
301          IGCM_debug_Verif_Exit_Post
302         
303          # Apply IGCM_Patch if needed
304          if [ ! ${RebuildFrequency} = true ] ; then
305              if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
306                  for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
307                      for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
308                          IGCM_${Patch} ${file_t}
309                      done
310                  done
311              fi
312          fi
313
314          for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
315          #
316              (( nb = ${mois} - 1 ))
317          #
318              OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
319              IGCM_sys_ncra -O -d time_counter,${nb},,12 ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
320          done
321          IGCM_sys_Rm ${liste_file_se_tmp[*]}
322          eval ExitFlag=false
323          IGCM_debug_Verif_Exit_Post
324          ;;
325        # For Monthly simulation :
326        1M|1m)
327          for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
328              #
329              (( nb = ${mois} - 1 ))
330              #
331              OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
332              #
333              (( an = an_deb ))
334              # Initialize array
335              #set -A liste_file_se
336              #set -A liste_file_se_tmp
337              unset liste_file_se
338              unset liste_file_se_tmp
339              while [ ${an} -le ${an_fin} ] ; do
340                  moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
341                  #
342                  an4=$(printf "%04i\n" ${an} )
343                  #
344                  date=${an4}${mois}01_${an4}${mois}${moisL}
345                  #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
346                  #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
347                  liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
348                  liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
349
350                  (( an = an + 1 ))
351              done
352              #
353              IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
354              eval ExitFlag=false
355              IGCM_debug_Verif_Exit_Post
356             
357              # Apply IGCM_Patch if needed
358              if [ ! ${RebuildFrequency} = true ] ; then
359                  if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
360                      for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
361                          for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
362                              IGCM_${Patch} ${file_t}
363                          done
364                      done
365                  fi
366              fi
367             
368              IGCM_sys_ncra -O ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
369              IGCM_sys_Rm ${liste_file_se_tmp[*]}
370              eval ExitFlag=false
371              IGCM_debug_Verif_Exit_Post
372          done
373          ;;
374        *D|*d)
375          for mois in  01 02 03 04 05 06 07 08 09 10 11 12 ; do
376              #
377              (( nb = ${mois} - 1 ))
378              #
379              OUT_SE[${nb}]=${config_UserChoices_JobName}_SE${mois}_${an_deb}_${an_fin}_${file}.nc
380              #
381              (( an = an_deb ))
382              # Initialize array
383              #set -A liste_file_se
384              #set -A liste_file_se_tmp
385              unset liste_file_se
386              unset liste_file_se_tmp
387              while [ ${an} -le ${an_fin} ] ; do
388                  moisL=$( IGCM_date_DaysInMonth ${an} ${mois} )
389                  #
390                  an4=$(printf "%04i\n" ${an} )
391                  #
392                  length_d=$(( ${config_UserChoices_PeriodLength} - 1 ))
393                  # for one day
394                  if [ ${length_d} -eq 1 ] ; then
395                      (( length_d = 0 ))
396                  fi
397                  (( day  = 1 ))
398                  while [ ${day} -le ${moisL} ] ; do
399                      day2=$(printf "%02i\n" ${day} )
400                      day_beg=${an4}${mois}${day2}
401                      day_end=$( IGCM_date_AddDaysToGregorianDate ${day_beg} ${length_d} )
402                      date=${an4}${mois}${day_beg}_${an4}${mois}${day_end}
403                      #set +A liste_file_se ${liste_file_se[*]} ${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
404                      #set +A liste_file_se_tmp ${liste_file_se_tmp[*]} ${config_UserChoices_JobName}_${date}_${file}.nc
405                      liste_file_se[${#liste_file_se[*]}]=${file_path}${config_UserChoices_JobName}_${date}_${file}.nc
406                      liste_file_se_tmp[${#liste_file_se_tmp[*]}]=${config_UserChoices_JobName}_${date}_${file}.nc
407                      (( day = day + 1 ))
408                  done
409                  (( an = an + 1 ))
410              done
411              #
412              IGCM_sys_Get /l liste_file_se[*] ${RUN_DIR_PATH}
413              eval ExitFlag=false
414              IGCM_debug_Verif_Exit_Post
415             
416              # Apply IGCM_Patch if needed
417              if [ ! ${RebuildFrequency} = true ] ; then
418                  if [ X$( eval echo \${LISTE_PATCHES_${file}[0]} ) !=  X${NULL_STR} ]; then
419                      for file_t in $( eval echo ${liste_file_se_tmp[*]} ); do
420                          for Patch in $( eval echo \${LISTE_PATCHES_${file}[*]} ); do
421                              IGCM_${Patch} ${file_t}
422                          done
423                      done
424                  fi
425              fi
426
427              IGCM_sys_ncra -O ${liste_file_se_tmp[*]} ${OUT_SE[${nb}]}
428              IGCM_sys_Rm ${liste_file_se_tmp[*]}
429              eval ExitFlag=false
430              IGCM_debug_Verif_Exit_Post
431          done
432          ;;
433        esac
434        #
435        IGCM_sys_ncrcat -O ${OUT_SE[*]} ${RESULT_SE}
436        #
437        IGCM_sys_Rm ${OUT_SE[*]}
438        #
439        ${ncatted} -a modulo,time_counter,c,c," " ${RESULT_SE}
440        #
441        eval IGCM_sys_Put_Out ${RESULT_SE} \${R_OUT_${comp}}/Analyse/SE/${RESULT_SE}
442        IGCM_sys_Rm ${RESULT_SE}
443        #
444        eval ExitFlag=false
445        IGCM_debug_Verif_Exit_Post
446    done
447done
448
449# DODS copy
450for comp in ${config_ListOfComponents[*]} ; do
451    IGCM_sys_TestDirArchive ${R_SAVE}/${comp}/Analyse/SE
452    [ $? = 0 ] && IGCM_sys_Put_Dods ${comp}/Analyse/SE
453done
454
455YEARS=${an_deb}_${an_fin}
456
457export POST_DIR; export SUBMIT_DIR; export libIGCM; export R_INIT; export R_BC; export StandAlone
458export RESOL_ATM; export RESOL_OCE ; export RESOL_ICE ; export RESOL_SRF
459export R_SAVE; export config_UserChoices_JobName; export config_UserChoices_TagName; export YEARS;
460listVarEnv="POST_DIR,SUBMIT_DIR,libIGCM,R_INIT,R_BC,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF,R_SAVE,config_UserChoices_JobName,config_UserChoices_TagName,YEARS"
461export listVarEnv;
462
463#D-
464# --------------------------------------------------------------------
465#D- Test if all was right before ATLAS
466# --------------------------------------------------------------------
467IGCM_debug_Verif_Exit_Post
468
469if [ ${config_UserChoices_TagName} = "IPSLCM4_v1_OASIS3" ] || \
470   [ ${config_UserChoices_TagName} = "IPSLCM4_v2" ]        || \
471   [ ${config_UserChoices_TagName} = "IPSL_ESM_V1" ] ; then
472    #
473    IGCM_sys_QsubPost atlas_ORCHIDEE     ;
474    IGCM_sys_QsubPost atlas_LMDZ         ;
475    IGCM_sys_QsubPost atlas_ORCA_LIM     ;
476    IGCM_sys_QsubPost additionnal        ;
477    #
478elif [ ${config_UserChoices_TagName} = "IPSLCM5" ] ; then
479    IGCM_sys_QsubPost atlas_ORCHIDEE     ;
480    IGCM_sys_QsubPost atlas_LMDZ         ;
481    IGCM_sys_QsubPost atlas_ORCA_LIM     ;
482    #
483elif [ ${config_UserChoices_TagName} = "LMDZ4OR" ]  || \
484     [ ${config_UserChoices_TagName} = "LMDZOR" ]   || \
485     [ ${config_UserChoices_TagName} = "LMDZ4OR_v2" ] ; then
486    #
487    IGCM_sys_QsubPost atlas_LMDZ         ;
488    IGCM_sys_QsubPost atlas_ORCHIDEE     ;
489    #
490elif [ ${config_UserChoices_TagName} = "LMDZ" ] ; then
491    #
492    IGCM_sys_QsubPost atlas_LMDZ         ;
493    #
494elif [ ${config_UserChoices_TagName} = "OL" ]      || \
495     [ ${config_UserChoices_TagName} = "OL2" ] ; then
496    #
497    IGCM_sys_QsubPost atlas_ORCHIDEE     ;
498    #
499elif [ ${config_UserChoices_TagName} = "ORCA2_LIM" ]       ||
500     [ ${config_UserChoices_TagName} = "ORCA2_LIM2" ]      ||
501     [ ${config_UserChoices_TagName} = "ORCA2_LIM2_PISCES" ] ; then
502    #
503    IGCM_sys_QsubPost atlas_ORCA_LIM     ;
504#    IGCM_sys_QsubPost additionnal        ;
505    #
506fi
Note: See TracBrowser for help on using the repository browser.