source: trunk/libIGCM/AA_create_se @ 172

Last change on this file since 172 was 172, checked in by mafoipsl, 15 years ago

Add sx9mercure header in AA_ jobs.

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