source: trunk/libIGCM/AA_TimeSeries_Checker @ 377

Last change on this file since 377 was 373, checked in by sdipsl, 14 years ago

Remove libIGCM_sys_claude.ksh and libIGCM_sys_calculo.ksh
Update/homogenize all headers usgin the new fixed-length keyword syntax regarding properties keywords
$Rev:: 13 i $: Revision of last commit
$Author:: harry $: Author of last commit
$Date:: 2006-03-15 02:33:03 -0500 (Wed, 15 Mar 2006) $: Date of last commit
Add / update original author and contact when missing

  • Property svn:keywords set to Revision Author Date
File size: 19.0 KB
Line 
1#-Q- cesium #!/bin/ksh
2#-Q- cesium ######################
3#-Q- cesium ## CESIUM   CEA ##
4#-Q- cesium ######################
5#-Q- cesium #MSUB -r TimeSeries             # Nom du job               
6#-Q- cesium #MSUB -N 1              # Reservation du noeud
7#-Q- cesium #MSUB -n 1              # Reservation du processus
8#-Q- cesium #MSUB -T 86400          # Limite de temps elapsed du job
9#-Q- cesium #MSUB -E "-j o"
10#-Q- cesium #MSUB -E "-S /bin/ksh"
11#-Q- platine #!/usr/bin/ksh
12#-Q- platine ###################
13#-Q- platine ## PLATINE   CEA ##
14#-Q- platine ###################
15#-Q- platine #BSUB -J TimeSeries                     # Nom du job
16#-Q- platine #BSUB -N                        # message a la fin du job
17#-Q- platine #BSUB -n 1                      # reservation des processeurs pour le job
18#-Q- platine #BSUB -W 1:00                   # Limite temps
19#-Q- platine #BSUB -q post                   # Passage en queue post
20#-Q- sx8brodie #!/bin/ksh
21#-Q- sx8brodie #######################
22#-Q- sx8brodie ## SX8BRODIE   IDRIS ##
23#-Q- sx8brodie #######################
24#-Q- sx8brodie # Temps Elapsed max. d'une requete hh:mm:ss
25#-Q- sx8brodie # @ wall_clock_limit = 20:00:00
26#-Q- sx8brodie # Nom du travail LoadLeveler
27#-Q- sx8brodie # @ job_name   = TimeSeries
28#-Q- sx8brodie # Fichier de sortie standard du travail       
29#-Q- sx8brodie # @ output     = $(job_name).$(jobid)
30#-Q- sx8brodie # Fichier de sortie d'erreur du travail
31#-Q- sx8brodie # @ error      =  $(job_name).$(jobid)
32#-Q- sx8brodie # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
33#-Q- sx8brodie # @ notification = error
34#-Q- sx8brodie # @ environment  = $DEBUG_debug ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $REBUILD_DIR ; $RebuildFromArchive ; $POST_DIR ; $MASTER ; $RebuildFrequency ; $PeriodDateBegin ; $PeriodDateEnd ; $NbRebuildDir ; $StandAlone ; $CompletedFlag ; $TsTask ; $CompToRead ; $FlagToRead ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_MBG ; $RESOL_SRF ; $RESOL_SBG ; $MASTER
35#-Q- aix6 #!/bin/ksh
36#-Q- aix6 #######################
37#-Q- aix6 ##   VARGAS   IDRIS  ##
38#-Q- aix6 #######################
39#-Q- aix6 # Temps Elapsed max. d'une requete hh:mm:ss
40#-Q- aix6 # @ wall_clock_limit = 20:00:00
41#-Q- aix6 # Nom du travail LoadLeveler
42#-Q- aix6 # @ job_name   = TimeSeries
43#-Q- aix6 # Fichier de sortie standard du travail
44#-Q- aix6 # @ output     = $(job_name).$(jobid)
45#-Q- aix6 # Fichier de sortie d'erreur du travail
46#-Q- aix6 # @ error      =  $(job_name).$(jobid)
47#-Q- aix6 # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
48#-Q- aix6 # @ notification = error
49#-Q- aix6 # @ environment  = $DEBUG_debug ; $MODIPSL ; $libIGCM ; $libIGCM_SX ; $SUBMIT_DIR ; $REBUILD_DIR ; $RebuildFromArchive ; $POST_DIR ; $MASTER ; $RebuildFrequency ; $DateBegin ; $PeriodDateBegin ; $PeriodDateEnd ; $NbRebuildDir ; $StandAlone ; $CompletedFlag ; $TsTask ; $CompToRead ; $FlagToRead ; $RESOL_ATM ; $RESOL_OCE ; $RESOL_ICE ; $RESOL_MBG ; $RESOL_SRF ; $RESOL_SBG ; $MASTER
50#-Q- aix6 # @ queue
51#-Q- sx8brodie # @ queue
52#-Q- sx8mercure #!/bin/ksh
53#-Q- sx8mercure ######################
54#-Q- sx8mercure ## SX8MERCURE   CEA ##
55#-Q- sx8mercure ######################
56#-Q- sx8mercure #PBS -N TimeSeries                   # Nom du job
57#-Q- sx8mercure #PBS -j o                    # regroupement des stdout et stderr
58#-Q- sx8mercure #PBS -S /usr/bin/ksh         # shell de soumission
59#-Q- sx8mercure #PBS -l memsz_job=1gb        # Limite memoire a 1 Go
60#-Q- sx8mercure #PBS -l cputim_job=24:00:00   # Limite temps a 2 heures
61#-Q- sx8mercure #PBS -q scalaire
62#-Q- sx9mercure #!/bin/ksh
63#-Q- sx9mercure #########################
64#-Q- sx9mercure ## CESIUM FOR SX9  CEA ##
65#-Q- sx9mercure #########################
66#-Q- sx9mercure #MSUB -r TimeSeries             # Nom du job               
67#-Q- sx9mercure #MSUB -N 1              # Reservation du noeud
68#-Q- sx9mercure #MSUB -n 1              # Reservation du processus
69#-Q- sx9mercure #MSUB -T 86400          # Limite de temps elapsed du job
70#-Q- sx9mercure #MSUB -E "-j o"
71#-Q- sx9mercure #MSUB -E "-S /bin/ksh"
72#-Q- titane #!/bin/ksh
73#-Q- titane ######################
74#-Q- titane ## TITANE   CEA ##
75#-Q- titane ######################
76#-Q- titane #MSUB -r TimeSeries             # Nom du job               
77#-Q- titane #MSUB -N 1              # Reservation du noeud
78#-Q- titane #MSUB -n 1              # Reservation du processus
79#-Q- titane #MSUB -T 86400          # Limite de temps elapsed du job
80#-Q- titane #MSUB -E "-j o"
81#-Q- titane #MSUB -E "-S /bin/ksh"
82#-Q- titane ##MSUB -e nco.out        # Sortie standard
83#-Q- titane ##MSUB -o nco.out        # Sortie standard
84#-Q- lxiv8 ######################
85#-Q- lxiv8 ## OBELIX      LSCE ##
86#-Q- lxiv8 ######################
87#-Q- lxiv8 #PBS -N TimeSeries
88#-Q- lxiv8 #PBS -m a
89#-Q- lxiv8 #PBS -j oe
90#-Q- lxiv8 #PBS -q medium
91#-Q- lxiv8 #PBS -o TimeSeries.$$
92#-Q- lxiv8 #PBS -S /bin/ksh
93#-Q- default #!/bin/ksh
94#-Q- default ##################
95#-Q- default ## DEFAULT HOST ##
96#-Q- default ##################
97
98#**************************************************************
99# Author: Sebastien Denvil
100# Contact: Sebastien.Denvil__at__ipsl.jussieu.fr
101# $Revision::                                          $ Revision of last commit
102# $Author::                                            $ Author of last commit
103# $Date::                                              $ Date of last commit
104# IPSL (2006)
105#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
106#
107#**************************************************************
108
109# Check that everything went well during time series production
110# Display a short report
111# Launch what's missing
112# For use during a run (not on the end : PeriodState=Completed), it will complete
113# all TS to last PeriodDateEnd value, give by run.card->Configuration->OldPrefix string.
114
115
116# Chemin vers libIGCM
117libIGCM=${libIGCM:=::modipsl::/libIGCM}
118# Attention : à changer si la machine de post-traitement n'est pas la frontale du serveur de calcul !
119#             voir précence de la variable MirrorlibIGCM dans votre couche systÚme.
120
121# Name Space of this experience
122SpaceName=${SpaceName:=PROD}
123
124# Expericence class of the run
125ExperimentName=${ExperimentName:=historical}
126
127# Name of this job
128JobName=${JobName:=v2.historical1}
129
130# répertoire courrant
131CURRENT_DIR=$( pwd )
132
133# Emplacement des cartes
134CARD_DIR=${CARD_DIR:=${CURRENT_DIR}/${ExperimentName}/${JobName}}
135
136# répertoire de stockage des sorties des create_ts
137POST_DIR=${POST_DIR:=${CARD_DIR}/OutScript}
138
139
140if [ ! -d ${CARD_DIR} ]; then
141    echo "No ${CARD_DIR}, we stop here"
142    exit
143fi
144
145########################################################################
146
147. ${libIGCM}/libIGCM_debug/libIGCM_debug.ksh ;
148. ${libIGCM}/libIGCM_sys/libIGCM_sys.ksh     #; IGCM_debug_Check
149. ${libIGCM}/libIGCM_card/libIGCM_card.ksh   #; IGCM_card_Check
150. ${libIGCM}/libIGCM_date/libIGCM_date.ksh   #; IGCM_date_Check
151
152########################################################################
153
154#set -vx
155
156# First of all
157IGCM_card_DefineArrayFromSection       ${CARD_DIR}/config.card UserChoices
158typeset option
159for option in ${config_UserChoices[*]} ; do
160    IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card UserChoices ${option}
161done
162
163echo
164IGCM_debug_Print 1 "DefineVariableFromOption  : config_UserChoices"
165IGCM_debug_PrintVariables 3 config_UserChoices_JobName
166#IGCM_debug_PrintVariables 3 config_UserChoices_SpaceName
167#IGCM_debug_PrintVariables 3 config_UserChoices_ExperimentName
168IGCM_debug_PrintVariables 3 config_UserChoices_CalendarType
169IGCM_debug_PrintVariables 3 config_UserChoices_DateBegin
170IGCM_debug_PrintVariables 3 config_UserChoices_DateEnd
171
172if [ -f ${CARD_DIR}/run.card ] ; then
173    IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card Configuration OldPrefix
174    IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card Configuration PeriodState
175    IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card PostProcessing TimeSeriesCompleted
176    IGCM_debug_Print 1 "DefineVariableFromOption  : run_Configuration"
177    IGCM_debug_PrintVariables 3 run_Configuration_OldPrefix
178    IGCM_debug_PrintVariables 3 run_Configuration_PeriodState
179    IGCM_debug_Print 1 "DefineVariableFromOption  : run_PostProcessing"
180    IGCM_debug_PrintVariables 3 run_PostProcessing_TimeSeriesCompleted
181    if [ X${run_Configuration_PeriodState} != X"Completed" ] ; then
182        DateEnd=$( IGCM_date_ConvertFormatToGregorian $( echo ${run_Configuration_OldPrefix} | awk -F'_' '{print $2}' ) )
183    else
184        DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
185    fi
186    CompletedFlag=${run_PostProcessing_TimeSeriesCompleted}
187else
188    DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
189    CompletedFlag=""
190fi
191SavedCompletedFlag=${CompletedFlag}
192DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} )
193
194IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin
195IGCM_date_GetYearMonth ${DateEnd}   YearEnd   MonthEnd
196
197echo
198IGCM_debug_Print 1 "DateBegin for TimeSeries_Checker : "${DateBegin}
199IGCM_debug_Print 1 "DateEnd   for TimeSeries_Checker : "${DateEnd}
200IGCM_debug_Print 1 "YearBegin MonthBegin for TimeSeries_Checker : ${YearBegin} ${MonthBegin}"
201IGCM_debug_Print 1 "YearEnd   MonthEnd   for TimeSeries_Checker : ${YearEnd} ${MonthEnd}"
202IGCM_debug_Print 1 "CompletedFlag = "${CompletedFlag}
203echo
204
205#====================================================
206#R_SAVE : Job output directory
207if ( [ ! X${config_UserChoices_SpaceName} = X ] && [ ! X${config_UserChoices_ExperimentName} = X ] ) ; then
208    FreeName=$( echo ${config_UserChoices_JobName} | sed 's/.*_//' )
209    R_SAVE=${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_SpaceName}/${config_UserChoices_ExperimentName}/${FreeName}
210    R_DODS=${config_UserChoices_TagName}/${config_UserChoices_SpaceName}/${config_UserChoices_ExperimentName}/${FreeName}
211else
212    R_SAVE=${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}
213    R_DODS=${config_UserChoices_TagName}/${config_UserChoices_JobName}
214fi
215
216IGCM_card_DefineArrayFromSection ${CARD_DIR}/config.card ListOfComponents
217
218for comp in ${config_ListOfComponents[*]} ; do
219    # Debug Print
220    IGCM_debug_Print 1 ${comp}
221    # Define component
222    IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp}
223    eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
224    eval comptagname=\${config_ListOfComponents_${comp}[1]} > /dev/null 2>&1
225
226    # Read libIGCM compatibility version in ${compname}.card
227    card=${CARD_DIR}/COMP/${compname}.card
228
229    # Read and Build Output File stuff
230    #IGCM_debug_Print 1 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}"
231    IGCM_card_DefineArrayFromOption ${card} OutputFiles List
232    ListFilesName=${compname}_OutputFiles_List
233    eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
234    #
235    if [ X${FileName0} != X${NULL_STR} ] ; then
236        #
237        #IGCM_debug_Print 1 "Component      : ${compname}"
238        #
239        # INITIALISATION
240        #
241        eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
242        i=2
243        #
244        until [ $i -ge $NbFiles ]; do
245            #
246            eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1
247            #
248            if [ X${flag_post} != XNONE ] ; then
249                #
250                # First of all
251                #
252                IGCM_card_DefineArrayFromSection ${card} ${flag_post}
253                #
254                IGCM_card_DefineArrayFromOption ${card} ${flag_post} TimeSeriesVars
255                IGCM_card_DefineArrayFromOption ${card} ${flag_post} Patches
256                if [ X"$( eval echo \${${compname}_${flag_post}_TimeSeriesVars[*]} )" = X"Option not found ${flag_post}" ] ; then
257                    # New TimeSeriesVar description, with 2D, 3D and associate ChunckJob.
258                    unset ListDimension
259                    ListDimension[0]=2D
260                    ListDimension[1]=3D
261                    TimeSeries=false
262                    TimeSeries2D=false
263                    TimeSeries3D=false
264                    chunck=false
265                    iLoop=${#ListDimension[*]}
266                    j=0
267                    until [ $j -ge ${iLoop} ]; do
268                        Dimension=${ListDimension[${j}]}
269                        IGCM_card_DefineArrayFromOption ${card} ${flag_post} TimeSeriesVars${Dimension}
270                        IGCM_card_DefineVariableFromOption ${card} ${flag_post} ChunckJob${Dimension}
271                        #
272                        # Time series WITHOUT chunk
273                        #
274                        if [ ! $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then
275                            if [ $( eval echo \${${compname}_${flag_post}_ChunckJob${Dimension}} ) = NONE ] ; then
276                                IGCM_debug_Print 2 "${Dimension} time series activated for ${flag_post}"
277                                eval TimeSeries${Dimension}=true
278                                chunck=false
279                            fi
280                        fi
281                        #
282                        # Time series WITH chunk
283                        #
284                        if [ ! $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then
285                            chunck_size=$( eval echo \${${compname}_${flag_post}_ChunckJob${Dimension}} )
286                            if [ ! ${chunck_size} = NONE ] &&  [ ! ${chunck_size} = OFF ] ; then
287                                IGCM_debug_Print 2 "${Dimension} time series activated with ${chunck_size} chunck for ${flag_post}"
288                                eval TimeSeriesChunck${Dimension}=true
289                                chunck=true
290                            fi
291                        fi
292                        (( j=j+1 ))
293                        #
294                        # If TimeSeriesVars list is empty or OFF we skip
295                        #
296                        if ( [ $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] || \
297                            [ ${chunck_size} = OFF ] ) ; then
298                            #IGCM_debug_Print 2 "Empty TS : ${compname}_Post_${FILE}_TimeSeriesVars${Dimension}"
299                            #(( i=i+3 ))
300                            continue
301                        fi
302                        #
303                        #  ICI ON TESTE QUE LES FICHIERS TS SONT LA!
304                        #
305                        #
306                        FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )
307                        IGCM_card_DefineArrayFromOption ${card}    Post_${FILE} TimeSeriesVars${Dimension}
308                        IGCM_card_DefineVariableFromOption ${card} Post_${FILE} ChunckJob${Dimension}
309                        #
310                        FlagDir=$( echo ${FILE} | awk -F "_" '{print $1}' )
311                        case ${FlagDir} in
312                            *Y)  TS_Dir=TS_YE  ;;
313                            *M)  TS_Dir=TS_MO  ;;
314                            *D)  TS_Dir=TS_DA  ;;
315                         3H|HF)  TS_Dir=TS_HF  ;;
316                           INS) TS_Dir=TS_INS ;;
317                        esac
318                        #
319                        # We need LIST of variables not allready produced (useful for standalone mode)
320                        #
321                        DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} )
322                        IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin
323
324                        # Si on n'a pas de chunck, dans ce cas chunck_size=la durée de la simulation en années
325                        YearsChunckLength=$( echo ${chunck_size} | sed -e "s/[yY]//" )
326                        [ ${chunck} = false ] && YearsChunckLength=$(( YearEnd - YearBegin + 1 ))
327
328                        NbYearsChunckLoop=$(( ( YearEnd - YearBegin + 1 ) / YearsChunckLength ))
329                        Reste=$(( ( YearEnd - YearBegin + 1 ) % YearsChunckLength ))
330
331                        if [ ${Reste} -ne 0 ] ; then
332                            NbYearsChunckLoop=$(( NbYearsChunckLoop + 1 ))
333                        fi
334
335                        if [ ${NbYearsChunckLoop} -eq 1 ] ; then
336                            PeriodDateEnd=${DateEnd}
337                        else
338                            DaysInYear=$( IGCM_date_DaysInYear ${YearBegin} )
339                            PeriodDateEnd=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} $(( YearsChunckLength * DaysInYear - 1 )) )
340                        fi
341                        #
342                        DIRECTORY=${R_SAVE}/${comp}/Analyse/${TS_Dir}
343                        YearsChunckLoop=1
344                        ChunckDebut=${DateBegin}
345                        ChunckFin=${PeriodDateEnd}
346                        while [ ${YearsChunckLoop} -le ${NbYearsChunckLoop} ] ; do
347                            countTotal=0
348                            countGood=0
349                            countBad=0
350                            for var in $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}[*]} ) ; do
351                                TestedFile=${config_UserChoices_JobName}_${ChunckDebut}_${ChunckFin}_${FlagDir}_${var}.nc
352                                #
353                                if [ ! -f ${DIRECTORY}/${TestedFile} ] ; then
354                                    (( countBad = countBad + 1 ))
355                                    [ ${countBad} = 1 ] && IGCM_debug_Print 3 "Missing time series from ${FILE} :"
356                                    IGCM_debug_Print 3 ${DIRECTORY}/${TestedFile}
357                                else
358                                    (( countGood = countGood + 1 ))
359                                fi
360                                (( countTotal = countTotal + 1 ))
361                            done
362
363                            SuccessRate=$(( countGood * 100 / countTotal ))
364                            if [ ${SuccessRate} -ne 100 ] ; then
365                                IGCM_debug_Print 2 -e "\033[1;31m${SuccessRate}% files OK.\033[m for period ${ChunckDebut}-${ChunckFin}"
366                            else
367                                IGCM_debug_Print 2 -e "\033[1;32m${SuccessRate}% files OK.\033[m for period ${ChunckDebut}-${ChunckFin}"
368                            fi
369
370                            echo
371                            if ( [ ${chunck} = true ] && [ ${SuccessRate} -ne 100 ] ) ; then
372                                ChunckCompletedFlag=""
373                                CompletedFlag=${SavedCompletedFlag}
374                                if [ X${CompletedFlag} != X ] ; then
375                                        ( [ ${CompletedFlag} -gt ${ChunckDebut} ] && [ ${CompletedFlag} -le ${ChunckFin} ] ) && ChunckCompletedFlag=${CompletedFlag}
376                                fi
377                                IGCM_debug_Print 2 -e "\033[1;31mSubmit ${FILE} chunck ${Dimension}\033[m period ${ChunckDebut}-${ChunckFin}"
378                                listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask,CompToRead,FlagToRead"
379                                export libIGCM=${libIGCM}
380                                export SUBMIT_DIR=${CARD_DIR}
381                                export POST_DIR=${POST_DIR}
382                                export DateBegin=${ChunckDebut}
383                                export PeriodDateEnd=${ChunckFin}
384                                export CompletedFlag=${ChunckCompletedFlag}
385                                export TsTask=Chunck${Dimension}
386                                export CompToRead=${comp}
387                                export FlagToRead=${i}
388                                export listVarEnv=${listVarEnv}
389                                IGCM_sys_MkdirWork ${POST_DIR}
390                                IGCM_debug_Verif_Exit
391                                IGCM_sys_QsubPost create_ts
392                                echo
393                            fi
394
395                            if ( [ ${chunck} = false ] && [ ${SuccessRate} -ne 100 ] ) ; then
396                                eval Launch${Dimension}=true
397                            fi
398
399                            # Date update
400                            ChunckDebut=$( IGCM_date_AddDaysToGregorianDate ${ChunckFin} 1 )
401
402                            (( YearsChunckLoop = YearsChunckLoop + 1 ))
403
404                            if [ ${YearsChunckLoop} -eq ${NbYearsChunckLoop} ] ; then
405                                ChunckFin=${DateEnd}
406                            else
407                                #PeriodDateEnd=$(( YearBegin + YearsChunckLength - 1 ))
408                                ChunckFin=$( IGCM_date_AddDaysToGregorianDate ${ChunckDebut} $(( YearsChunckLength * DaysInYear - 1 )) )
409                            fi
410                        done
411                    done
412                else
413                    ListDimension[0]=""
414                    TimeSeries=true
415                    TimeSeries2D=false
416                    TimeSeries3D=false
417                    TimeSeriesChunck2D=false
418                    TimeSeriesChunck3D=false
419                fi
420            fi
421            (( i=i+3 ))
422        done
423    fi
424done # comp loop
425
426echo
427
428DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} )
429IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin
430CompletedFlag=${SavedCompletedFlag}
431
432if [ X${Launch2D} = Xtrue ] ; then
433    IGCM_debug_Print 2 -e "\033[1;31mSubmit 2D\033[m without chunck period ${DateBegin}-${DateEnd}"
434    listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask"
435    export libIGCM=${libIGCM}
436    export SUBMIT_DIR=${CARD_DIR}
437    export POST_DIR=${POST_DIR}
438    export DateBegin=${DateBegin}
439    export PeriodDateEnd=${DateEnd}
440    export CompletedFlag=${CompletedFlag}
441    export TsTask=2D
442    export listVarEnv=${listVarEnv}
443    IGCM_sys_MkdirWork ${POST_DIR}
444    IGCM_debug_Verif_Exit
445    IGCM_sys_QsubPost create_ts
446    echo
447fi
448
449if [ X${Launch3D} = Xtrue ] ; then
450    IGCM_debug_Print 2 -e "\033[1;31mSubmit 3D\033[m without chunck period ${DateBegin}-${DateEnd}"
451    listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask"
452    export libIGCM=${libIGCM}
453    export SUBMIT_DIR=${CARD_DIR}
454    export POST_DIR=${POST_DIR}
455    export DateBegin=${DateBegin}
456    export PeriodDateEnd=${DateEnd}
457    export CompletedFlag=${CompletedFlag}
458    export TsTask=3D
459    export listVarEnv=${listVarEnv}
460    IGCM_sys_MkdirWork ${POST_DIR}
461    IGCM_debug_Verif_Exit
462    IGCM_sys_QsubPost create_ts
463    echo
464fi
Note: See TracBrowser for help on using the repository browser.