source: trunk/libIGCM/libIGCM_post/libIGCM_post.ksh @ 210

Last change on this file since 210 was 210, checked in by mafoipsl, 14 years ago

Avoid an infinite loop on post submission.

  • 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: 36.4 KB
Line 
1#!/bin/ksh
2
3#**************************************************************
4# Author: Sebastien Denvil
5# Contact: Sebastien.Denvil@ipsl.jussieu.fr
6# $Date$
7# $Author$
8# $Revision$
9# IPSL (2006)
10#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
11# History:
12# Modification:
13#
14#**************************************************************
15
16#=======================================================================
17
18function IGCM_post_Configure
19{
20    IGCM_debug_PushStack "IGCM_post_Configure"
21
22    # Debug Print :
23    echo
24    IGCM_debug_Print 1 "IGCM_post_Configure :"
25    echo
26
27    typeset NbDays PeriodEndJul PostEndJul PeriodPost
28    RebuildFrequency=false
29
30    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then
31
32        IGCM_debug_Print 1 "Asynchronous rebuild has been activated."
33        echo
34
35        case ${config_Post_RebuildFrequency} in
36            *y|*Y)
37                PeriodYear=$( echo ${config_Post_RebuildFrequency} | sed -e "s/[yY]//" )
38                case ${config_UserChoices_PeriodLength} in
39                    *Y|*y)
40                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[yY]//" )
41                        if [ ${PeriodPost} -le ${PeriodYear} ] ; then
42                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodYear}  ) -eq 0 ] ;  then
43                                RebuildFrequency=true
44                                NbRebuildDir=$( expr ${PeriodYear} / ${PeriodPost} )
45                            fi
46                        else
47                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
48                            IGCM_debug_Print 3 "RebuildFrequency frequency : ${config_Post_RebuildFrequency}"
49                        fi ;;
50                    *M|*m)
51                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" )
52                        if [ ${PeriodPost} -le $(( ${PeriodYear} * 12 )) ] ; then
53                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then
54                                RebuildFrequency=true
55                                NbRebuildDir=$( expr $(( 12 * ${PeriodYear} )) / ${PeriodPost} )
56                            fi
57                        else
58                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
59                            IGCM_debug_Print 3 "RebuildFrequency frequency : ${config_Post_RebuildFrequency}"
60                        fi ;;
61                    *D|*d)
62                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" )
63                        NbDays=$( IGCM_date_DaysInYear ${year} )
64                        if [ ${config_UserChoices_CalendarType} = 360d ] || [ ${config_UserChoices_CalendarType} = noleap ] ; then
65                            if [ ${PeriodPost} -le $(( ${PeriodYear} * ${NbDays} )) ] ; then
66                                if [ $( expr ${CumulPeriod} % $( expr \( ${NbDays} \* ${PeriodYear} \/ ${PeriodPost} \) ) ) -eq 0 ] ; then
67                                    RebuildFrequency=true
68                                    NbRebuildDir=$( expr $(( ${NbDays} * ${PeriodYear} )) / ${PeriodPost} )
69                                fi
70                            else
71                                IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
72                                IGCM_debug_Print 3 "RebuildFrequency frequency : ${config_Post_RebuildFrequency}"
73                            fi
74                        else
75#                           if [ ${PeriodYear} -eq 1 ] ; then
76#                               PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} )
77#                               PostEndJul=${year}${NbDays}
78#                               #echo "PeriodYear=${PeriodYear} NbDays=${NbDays}"
79#                               #echo "PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}"
80#                               if [ ${PostEndJul} -eq ${PeriodEndJul} ] ; then
81#                                   RebuildFrequency=true
82#                                   NbRebuildDir=$( expr ${NbDays} / ${PeriodPost} )
83#                               fi
84#                           else
85                            IGCM_debug_Print 3 "For RebuildFrequency with leap calendar:"
86                            IGCM_debug_Print 3 "We have a daily PeriodLength frequency and RebuildFrequency=${PeriodYear}Y."
87                            IGCM_debug_Print 3 "No post-treatment. Case not properly handle at this moment."
88#                           fi
89                        fi;;
90                esac ;;
91            *M|*m)
92                PeriodMonth=$( echo ${config_Post_RebuildFrequency} | sed -e "s/[mM]//" )
93                case ${config_UserChoices_PeriodLength} in
94                    *Y|*y)
95                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
96                        IGCM_debug_Print 3 "RebuildFrequency frequency ${config_Post_RebuildFrequency}" ;;
97                    *M|*m)
98                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" )
99                        if [ ${PeriodPost} -le ${PeriodMonth} ] ; then
100                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodMonth}  ) -eq 0 ] ;  then
101                                RebuildFrequency=true
102                                NbRebuildDir=$( expr ${PeriodMonth} / ${PeriodPost} )
103                            fi
104                        else
105                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
106                            IGCM_debug_Print 3 "RebuildFrequency frequency : ${config_Post_RebuildFrequency}"
107                        fi ;;
108                    *D|*d)
109                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
110                        IGCM_debug_Print 3 "RebuildFrequency frequency : ${config_Post_RebuildFrequency}" ;;
111                esac
112                ;;
113            *D|*d)
114                PeriodDay=$( echo ${config_Post_RebuildFrequency} | sed -e "s/[dD]//" )
115                case ${config_UserChoices_PeriodLength} in
116                    *Y|*y)
117                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
118                        IGCM_debug_Print 3 "RebuildFrequency frequency ${config_Post_RebuildFrequency}" ;;
119                    *M|*m)
120                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
121                        IGCM_debug_Print 3 "RebuildFrequency frequency ${config_Post_RebuildFrequency}" ;;
122                    *D|*d)
123                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" )
124                        if [ ${PeriodPost} -le ${PeriodDay} ] ; then
125                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodDay}  ) -eq 0 ] ;  then
126                                RebuildFrequency=true
127                                NbRebuildDir=$( expr ${PeriodDay} / ${PeriodPost} )
128                            fi
129                        else
130                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
131                            IGCM_debug_Print 3 "RebuildFrequency frequency : ${config_Post_RebuildFrequency}"
132                        fi ;;
133
134                esac
135                ;;
136            NONE|none)
137                ;;
138            *)
139                IGCM_debug_Print 3 "KeyWord not allowed for RebuildFrequency in config.card"
140                ;;
141        esac
142    else
143        #
144        IGCM_debug_Print 1 "Asynchronous rebuild has not been activated"
145        IGCM_debug_Print 1 "Proceed with standard post-treatment pathway"
146        echo
147        #
148    fi
149
150    IGCM_debug_Print 1 "RebuildFrequency flag value : ${RebuildFrequency}"
151    IGCM_post_Initialize
152
153    IGCM_debug_PopStack "IGCM_post_Configure"
154}
155
156function IGCM_post_Initialize
157{
158    IGCM_debug_PushStack "IGCM_post_Initialize"
159
160    # Debug Print :
161    echo
162    IGCM_debug_Print 1 "IGCM_post_Initialize :"
163    echo
164
165    typeset POST NbDays PeriodEndJul PostEndJul LengthDays
166    POST=false
167
168    # READ TIME SERIES OR SEASONAL FREQUENCY
169    # AND TURN ON THE FLAG WHEN MODULO IS ZERO
170    for post_freq in TimeSeriesFrequency SeasonalFrequency ; do
171        #
172        # Initialize
173        #
174        eval ${post_freq}=false
175        #
176        # Extract frequency from previously defined variable
177        #
178        config_Post_post_freq=$( eval echo \${config_Post_${post_freq}} )
179        #
180        # Offset for Seasonal Average starting period
181        #
182        if [ ${post_freq} = SeasonalFrequency ] ; then
183            if ( [ X${config_Post_SeasonalFrequencyOffset} = X${NULL_STR} ] || [ X${config_Post_SeasonalFrequencyOffset} = XNONE ] || [ X${config_Post_SeasonalFrequencyOffset} = X ] ) ; then
184                PeriodOffset=0
185            else
186                PeriodOffset=${config_Post_SeasonalFrequencyOffset}
187            fi
188        else
189            PeriodOffset=0
190        fi
191        #
192        if ( [ X${config_Post_post_freq} = X${NULL_STR} ] || [ X${config_Post_post_freq} = XNONE ] ) ; then
193            #
194            continue
195            #
196        fi
197        #
198        # For each componant select determine which files need post-processing
199        #
200        for comp in ${config_ListOfComponents[*]} ; do
201            #
202            #echo "-----"
203            eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1
204            ListFilesName=${compname}_OutputFiles_List
205            eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1
206            #
207            if [ X${FileName0} != X${NULL_STR} ] ; then
208                #
209                #IGCM_debug_Print 1 "Component      : ${compname}"
210                #
211                # INITIALISATION
212                #
213                eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1
214                typeset i=0
215                #
216                until [ $i -eq $NbFiles ]; do
217                    #
218                    eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1
219                    eval file_in=${file_in_}
220                    let $(( i_ = i+2 ))
221                    eval flag_post_=\${${ListFilesName}[$i_]} > /dev/null 2>&1
222                    eval flag_post=${flag_post_}
223                    #
224                    if [ X${flag_post} != XNONE ] ; then
225                    #
226                        case ${config_Post_post_freq} in
227                            *y|*Y)
228                                PeriodYear=$( echo ${config_Post_post_freq} | sed -e "s/[yY]//" )
229                                #
230                                case ${config_UserChoices_PeriodLength} in
231                                    *Y|*y)
232                                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[yY]//" )
233                                        if [ ${PeriodPost} -le ${PeriodYear} ] ; then
234                                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodYear} ) -eq 0 ] ;  then
235                                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true
236                                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true
237                                            fi
238                                        else
239                                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
240                                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
241                                        fi ;;
242                                    *M|*m)
243                                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" )
244                                        if [ ${PeriodPost} -le $(( ${PeriodYear} * 12 )) ] ; then
245                                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then
246                                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) -ne 0 ] && eval ${post_freq}=true
247                                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) -ne 0 ] && POST=true
248                                            fi
249                                        else
250                                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
251                                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
252                                        fi ;;
253                                    *D|*d)
254                                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" )
255                                        NbDays=$( IGCM_date_DaysInYear ${year} )
256                                        if [ ${config_UserChoices_CalendarType} = 360d ] | [ ${config_UserChoices_CalendarType} = noleap ] ; then
257                                            if [ ${PeriodPost} -le $(( ${PeriodYear} * ${NbDays} )) ] ; then
258                                                if [ $( expr $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) % \
259                                                     $(( ${NbDays} * ${PeriodYear} / ${PeriodPost} )) ) -eq 0 ] ; then
260                                                    [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) -ne 0 ] && eval ${post_freq}=true
261                                                    [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) -ne 0 ] POST=true
262                                                fi
263                                            else
264                                                IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
265                                                IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
266                                            fi
267                                        else
268#                                           if [ ${PeriodYear} -eq 1 ] ; then
269#                                               PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} )
270#                                               PostEndJul=${year}${NbDays}
271#                                                #echo "PeriodYear=${PeriodYear} NbDays=${NbDays}"
272#                                               #echo PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}"
273#                                               if [ ${PostEndJul} -le ${PeriodEndJul} ] ; then
274#                                                   eval ${post_freq}=true
275#                                                   POST=true
276#                                               fi
277#                                           else
278                                            IGCM_debug_Print 3 "For ${post_freq} with leap calendar, for ${comp} and ${file_in} :"
279                                            IGCM_debug_Print 3 "We have a daily PeriodLength frequency and RebuildFrequency=${PeriodYear}Y."
280                                            IGCM_debug_Print 3 "No post-treatment. Case not properly handle at this moment."
281#                                           fi
282                                        fi;;
283                                esac ;;
284                            *M|*m)
285                                PeriodMonth=$( echo ${config_Post_post_freq} | sed -e "s/[mM]//" )
286                                case ${config_UserChoices_PeriodLength} in
287                                    *Y|*y)
288                                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
289                                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
290                                    *M|*m)
291                                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" )
292                                        if [ ${PeriodPost} -le ${PeriodMonth} ] ; then
293                                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} -  ${PeriodOffset} )) % ${PeriodMonth}  ) -eq 0 ] ;  then
294                                                [ $(( ${CumulPeriod} * ${PeriodPost} -  ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true
295                                                [ $(( ${CumulPeriod} * ${PeriodPost} -  ${PeriodOffset} )) -ne 0 ] && POST=true
296                                            fi
297                                        else
298                                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
299                                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
300                                        fi;;
301                                    *D|*d)
302                                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
303                                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
304                                esac ;;
305                            *D|*d)
306                                PeriodDay=$( echo ${config_Post_post_freq} | sed -e "s/[dD]//" )
307                                case ${config_UserChoices_PeriodLength} in
308                                    *Y|*y)
309                                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
310                                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
311                                    *M|*m)
312                                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
313                                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
314                                    *D|*d)
315                                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" )
316                                        if [ ${PeriodPost} -le ${PeriodDay} ] ; then
317                                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodDay}  ) -eq 0 ] ;  then
318                                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true
319                                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true
320                                            fi
321                                        else
322                                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
323                                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
324                                        fi;;
325                                esac ;;
326                            NONE|none)
327                                ;;
328                            *)
329                                IGCM_debug_Print 3 "KeyWord not allowed for ${post_freq} in config.card"
330                                ;;
331                        esac
332                    fi
333                    let $(( i=i+3 ))
334                done
335            fi
336        done
337    done
338    #
339    if ( [ ! X${config_Post_TimeSeriesFrequency} = X${NULL_STR} ] && \
340         [ ! X${config_Post_TimeSeriesFrequency} = XNONE ]        && \
341         [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ) ; then
342        TimeSeriesFrequency=true
343        POST=true
344    fi
345
346    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && \
347         [ ! X${config_Post_RebuildFrequency} = XNONE ]        && \
348         [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ) ; then
349        RebuildFrequency=true
350        POST=true
351    fi
352
353    #
354    IGCM_debug_Print 1 "POST-TREATEMENT flag value : ${POST}"
355    #
356    IGCM_post_Submit
357
358    IGCM_debug_PopStack "IGCM_post_Initialize"
359}
360
361function IGCM_post_Submit
362{
363    IGCM_debug_PushStack "IGCM_post_Submit"
364
365    POST_DIR=${R_OUT_POST}/${config_UserChoices_TagName}/${config_UserChoices_JobName}
366
367    if [ ${POST} = true ]; then
368        echo
369        IGCM_debug_Print 1 "IGCM_post_Submit :"
370        echo
371        IGCM_debug_Print 1 "POST_DIR = ${POST_DIR}"
372    fi
373
374    #============ TIME SERIES POST-TREATMENT ===========#
375    if [ ${TimeSeriesFrequency} = true ] ; then
376
377        # set -vx
378        IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ACTIVATED :"
379        echo
380
381
382
383        # Get information from last execution
384        IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesCompleted
385        CompletedFlag=${run_PostProcessing_TimeSeriesCompleted}
386        #
387
388
389
390        typeset listVarEnv
391        listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,POST_DIR,MASTER,RebuildFrequency,DateBegin,PeriodDateEnd,StandAlone,CompletedFlag,TsTask,CompToRead,FlagToRead,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_BIOS,config_UserChoices_JobName,R_SAVE"
392        #
393        jLoop=${#ListDimension[*]}
394        j=0
395        until [ $j -ge ${jLoop} ]; do
396            Dimension=${ListDimension[${j}]}
397            #
398            if [ X$( eval echo \${TimeSeries${Dimension}} ) = Xtrue ] ; then
399                #
400                IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED :"
401                echo
402                #
403                TsTask=${Dimension}
404                #
405                if [ ${RebuildFrequency} = true ] ; then
406                    #
407                    echo export DEBUG_debug=${DEBUG_debug}            >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
408                    echo export MODIPSL=${MODIPSL}                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
409                    echo export libIGCM_SX=${libIGCM}                 >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
410                    echo export libIGCM=${libIGCM_POST}               >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
411                    echo export SUBMIT_DIR=${SUBMIT_DIR}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
412                    echo export POST_DIR=${POST_DIR}                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
413                    echo export MASTER=${MASTER}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
414                    echo export RebuildFrequency=${RebuildFrequency}  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
415                    echo export DateBegin=${DateBegin}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
416                    echo export PeriodDateEnd=${PeriodDateEnd}        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
417                    echo export StandAlone=false                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
418                    echo export CompletedFlag=${CompletedFlag}        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
419                    echo export TsTask=${TsTask}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
420                    echo export RESOL_ATM=${RESOL_ATM}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
421                    echo export RESOL_OCE=${RESOL_OCE}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
422                    echo export RESOL_ICE=${RESOL_ICE}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
423                    echo export RESOL_MBG=${RESOL_MBG}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
424                    echo export RESOL_SRF=${RESOL_SRF}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
425                    echo export RESOL_BIOS=${RESOL_BIOS}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
426                    echo export config_UserChoices_JobName=${config_UserChoices_JobName} >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
427                    echo export R_SAVE=${R_SAVE}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
428                    echo export listVarEnv=${listVarEnv}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
429                    echo IGCM_sys_MkdirWork ${POST_DIR}               >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
430                    echo IGCM_debug_Verif_Exit                        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
431                    echo IGCM_sys_QsubPost create_ts                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
432                    #
433                else
434                    #
435                    IGCM_sys_RshPost <<-EOF
436                    export DEBUG_debug=${DEBUG_debug}
437                    export MODIPSL=${MODIPSL}
438                    export libIGCM_SX=${libIGCM}
439                    export libIGCM=${libIGCM_POST}
440                    export SUBMIT_DIR=${SUBMIT_DIR}
441                    export POST_DIR=${POST_DIR}
442                    export MASTER=${MASTER}
443                    export RebuildFrequency=${RebuildFrequency}
444                    export DateBegin=${DateBegin}
445                    export PeriodDateEnd=${PeriodDateEnd}
446                    export StandAlone=false
447                    export CompletedFlag=${CompletedFlag}
448                    export TsTask=${TsTask}
449                    export RESOL_ATM=${RESOL_ATM}
450                    export RESOL_OCE=${RESOL_OCE}
451                    export RESOL_ICE=${RESOL_ICE}
452                    export RESOL_MBG=${RESOL_MBG}
453                    export RESOL_SRF=${RESOL_SRF}
454                    export RESOL_BIOS=${RESOL_BIOS}
455                    export config_UserChoices_JobName=${config_UserChoices_JobName}
456                    export R_SAVE=${R_SAVE}
457                    export listVarEnv=${listVarEnv}
458                    . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
459                    . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
460                    IGCM_sys_MkdirWork ${POST_DIR}
461                    IGCM_debug_Verif_Exit
462                    IGCM_sys_QsubPost create_ts
463EOF
464                fi
465            fi
466            #
467            if [ X$( eval echo \${TimeSeriesChunck${Dimension}} ) = Xtrue ] ; then
468                #
469                IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED :"
470                echo
471                # Need to Remember This One
472                SavedDateBegin=${DateBegin}
473                # Kind of task create_ts will perform
474                TsTask=Chunck${Dimension}
475                # Number of chunck jobs to configure and submit
476                eval NbJob=\${#CHUNCK${Dimension}_COMP[@]}
477                export i=0
478                until [ $i -ge $NbJob ]; do
479                    CompToRead=$( eval echo \${CHUNCK${Dimension}_COMP[\${i}]} )
480                    FlagToRead=$( eval echo \${CHUNCK${Dimension}_FLAG[\${i}]} )
481                    ChunckSize=$( eval echo \${CHUNCK${Dimension}_SIZE[\${i}]} )
482                    # Chunck Length (mandatory in Year)
483                    YearsChunckLength=$( echo ${ChunckSize} | sed -e "s/[yY]//" )
484                    #
485                    IGCM_date_GetYearMonth ${DateBegin}     YearBegin MonthBegin
486                    #
487                    IGCM_date_GetYearMonth ${PeriodDateEnd} YearEnd   MonthEnd
488                    # How many chunck in total since simulation began
489                    NbYearsChunckLoop=$(( ( ${YearEnd} - ${YearBegin} + 1 ) / ${YearsChunckLength} ))
490                    #  Tweak special case
491                    [ $(( ( ${YearEnd} - ${YearBegin} + 1 ) % ${YearsChunckLength} )) = 0 ] && NbYearsChunckLoop=$(( ${NbYearsChunckLoop} - 1 ))
492                    # Starting Year of the current chunck
493                    ChunckTsYearBegin=$(( ${NbYearsChunckLoop} *  ${YearsChunckLength} + ${YearBegin} ))
494                    # Starting date of the current chunck
495                    ChunckTsDateBegin=${ChunckTsYearBegin}${MonthBegin}01
496                    #
497                    if [ ${RebuildFrequency} = true ] ; then
498                        #
499                        echo export DEBUG_debug=${DEBUG_debug}            >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
500                        echo export MODIPSL=${MODIPSL}                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
501                        echo export libIGCM_SX=${libIGCM}                 >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
502                        echo export libIGCM=${libIGCM_POST}               >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
503                        echo export SUBMIT_DIR=${SUBMIT_DIR}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
504                        echo export POST_DIR=${POST_DIR}                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
505                        echo export MASTER=${MASTER}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
506                        echo export RebuildFrequency=${RebuildFrequency}  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
507                        echo export DateBegin=${ChunckTsDateBegin}        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
508                        echo export PeriodDateEnd=${PeriodDateEnd}        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
509                        echo export StandAlone=false                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
510                        echo export CompletedFlag=${CompletedFlag}        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
511                        echo export TsTask=${TsTask}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
512                        echo export CompToRead=${CompToRead}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
513                        echo export FlagToRead=${FlagToRead}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
514                        echo export RESOL_ATM=${RESOL_ATM}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
515                        echo export RESOL_OCE=${RESOL_OCE}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
516                        echo export RESOL_ICE=${RESOL_ICE}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
517                        echo export RESOL_MBG=${RESOL_MBG}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
518                        echo export RESOL_SRF=${RESOL_SRF}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
519                        echo export RESOL_BIOS=${RESOL_BIOS}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
520                        echo export config_UserChoices_JobName=${config_UserChoices_JobName} >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
521                        echo export R_SAVE=${R_SAVE}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
522                        echo export listVarEnv=${listVarEnv}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
523                        echo IGCM_sys_MkdirWork ${POST_DIR}               >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
524                        echo IGCM_debug_Verif_Exit                        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
525                        echo IGCM_sys_QsubPost create_ts                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
526                        #
527                    else
528                        #
529                        IGCM_sys_RshPost <<-EOF
530                        export DEBUG_debug=${DEBUG_debug}
531                        export MODIPSL=${MODIPSL}
532                        export libIGCM_SX=${libIGCM}
533                        export libIGCM=${libIGCM_POST}
534                        export SUBMIT_DIR=${SUBMIT_DIR}
535                        export POST_DIR=${POST_DIR}
536                        export MASTER=${MASTER}
537                        export RebuildFrequency=${RebuildFrequency}
538                        export DateBegin=${ChunckTsDateBegin}
539                        export PeriodDateEnd=${PeriodDateEnd}
540                        export StandAlone=false
541                        export CompletedFlag=${CompletedFlag}
542                        export TsTask=${TsTask}
543                        export CompToRead=${CompToRead}
544                        export FlagToRead=${FlagToRead}
545                        export RESOL_ATM=${RESOL_ATM}
546                        export RESOL_OCE=${RESOL_OCE}
547                        export RESOL_ICE=${RESOL_ICE}
548                        export RESOL_MBG=${RESOL_MBG}
549                        export RESOL_SRF=${RESOL_SRF}
550                        export RESOL_BIOS=${RESOL_BIOS}
551                        export config_UserChoices_JobName=${config_UserChoices_JobName}
552                        export R_SAVE=${R_SAVE}
553                        export listVarEnv=${listVarEnv}
554                        . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
555                        . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
556                        IGCM_sys_MkdirWork ${POST_DIR}
557                        IGCM_debug_Verif_Exit
558                        IGCM_sys_QsubPost create_ts
559EOF
560                        #
561                    fi
562                    #
563                    export DateBegin=${SavedDateBegin}
564                    #
565                    (( i=i+1 ))
566                    #
567                done
568            fi
569            (( j=j+1 ))
570        done
571    fi
572    set +vx
573
574    #=============  SEASONAL POST-TREATMENT ============#
575    if [ ${SeasonalFrequency} = true ] ; then
576        #
577        IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :"
578        echo
579        #
580        typeset listVarEnv
581        listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,POST_DIR,MASTER,RebuildFrequency,DateBegin,PeriodDateEnd,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_BIOS,config_UserChoices_JobName,R_SAVE"
582
583        if [ ${RebuildFrequency} = true ] ; then
584            #
585            echo export DEBUG_debug=${DEBUG_debug}            >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
586            echo export MODIPSL=${MODIPSL}                    >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
587            echo export libIGCM_SX=${libIGCM}                 >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
588            echo export libIGCM=${libIGCM_POST}               >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
589            echo export SUBMIT_DIR=${SUBMIT_DIR}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
590            echo export POST_DIR=${POST_DIR}                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
591            echo export MASTER=${MASTER}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
592            echo export RebuildFrequency=${RebuildFrequency}  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
593            echo export DateBegin=${DateBegin}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
594            echo export PeriodDateEnd=${PeriodDateEnd}        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
595            echo export StandAlone=false                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
596            echo export RESOL_ATM=${RESOL_ATM}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
597            echo export RESOL_OCE=${RESOL_OCE}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
598            echo export RESOL_ICE=${RESOL_ICE}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
599            echo export RESOL_MBG=${RESOL_MBG}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
600            echo export RESOL_SRF=${RESOL_SRF}                >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
601            echo export RESOL_BIOS=${RESOL_BIOS}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
602            echo export config_UserChoices_JobName=${config_UserChoices_JobName} >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
603            echo export R_SAVE=${R_SAVE}                      >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
604            echo export listVarEnv=${listVarEnv}              >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
605            echo IGCM_sys_MkdirWork ${POST_DIR}               >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
606            echo IGCM_debug_Verif_Exit                        >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
607            echo IGCM_sys_QsubPost create_se                  >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
608            #
609        else
610            #
611            IGCM_sys_RshPost <<-EOF
612            export DEBUG_debug=${DEBUG_debug}
613            export MODIPSL=${MODIPSL}
614            export libIGCM_SX=${libIGCM}
615            export libIGCM=${libIGCM_POST}
616            export SUBMIT_DIR=${SUBMIT_DIR}
617            export POST_DIR=${POST_DIR}
618            export MASTER=${MASTER}
619            export RebuildFrequency=${RebuildFrequency}
620            export DateBegin=${DateBegin}
621            export PeriodDateEnd=${PeriodDateEnd}
622            export StandAlone=false
623            export RESOL_ATM=${RESOL_ATM}
624            export RESOL_OCE=${RESOL_OCE}
625            export RESOL_ICE=${RESOL_ICE}
626            export RESOL_MBG=${RESOL_MBG}
627            export RESOL_SRF=${RESOL_SRF}
628            export RESOL_BIOS=${RESOL_BIOS}
629            export config_UserChoices_JobName=${config_UserChoices_JobName}
630            export R_SAVE=${R_SAVE}
631            export listVarEnv=${listVarEnv}
632            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
633            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
634            IGCM_sys_MkdirWork ${POST_DIR}
635            IGCM_debug_Verif_Exit
636            IGCM_sys_QsubPost create_se
637EOF
638        #
639        fi
640    fi
641
642    #============== REBUILD POST-TREATMENT =============#
643    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then
644        # -----------------------------------------------------------------------------------
645        # Function IGCM_FlushRebuild define in rebuild.ksh has not been closed yet. Do it now
646        # -----------------------------------------------------------------------------------
647        echo IGCM_debug_PopStack "IGCM_FlushRebuild" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
648        echo }                                       >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
649        if [ ${config_Post_RebuildFromArchive} = true ] ; then
650            IGCM_sys_Put_Dir REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
651        elif [ ${RebuildFrequency} = true ] ; then
652            IGCM_sys_Mv      REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
653        fi
654    fi
655    #
656    if [ ${RebuildFrequency} = true ] ; then
657        #
658        if ( [ ${config_Post_RebuildFromArchive} = true ] ) ; then
659            #
660            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:"
661            echo
662            #
663            typeset listVarEnv
664            listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,MASTER,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_BIOS,config_UserChoices_JobName,R_SAVE"
665            IGCM_sys_RshPost <<-EOF
666            export DEBUG_debug=${DEBUG_debug}
667            export MODIPSL=${MODIPSL}
668            export libIGCM_SX=${libIGCM}
669            export libIGCM=${libIGCM_POST}
670            export SUBMIT_DIR=${SUBMIT_DIR}
671            export REBUILD_DIR=${REBUILD_DIR}
672            export POST_DIR=${POST_DIR}
673            export MASTER=${MASTER}
674            export DateBegin=${DateBegin}
675            export PeriodDateBegin=${PeriodDateBegin}
676            export PeriodDateEnd=${PeriodDateEnd}
677            export NbRebuildDir=${NbRebuildDir}
678            export StandAlone=false
679            export RESOL_ATM=${RESOL_ATM}
680            export RESOL_OCE=${RESOL_OCE}
681            export RESOL_ICE=${RESOL_ICE}
682            export RESOL_MBG=${RESOL_MBG}
683            export RESOL_SRF=${RESOL_SRF}
684            export RESOL_BIOS=${RESOL_BIOS}
685            export config_UserChoices_JobName=${config_UserChoices_JobName}
686            export R_SAVE=${R_SAVE}
687            export listVarEnv=${listVarEnv}
688            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
689            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
690            IGCM_sys_MkdirWork ${POST_DIR}
691            IGCM_debug_Verif_Exit
692            IGCM_sys_QsubPost rebuild_fromArchive
693EOF
694        else
695            #
696            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR:"
697            echo
698            #
699            typeset listVarEnv
700            listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,MASTER,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_BIOS,config_UserChoices_JobName,R_SAVE"
701            IGCM_sys_RshPost <<-EOF
702            export DEBUG_debug=${DEBUG_debug}
703            export MODIPSL=${MODIPSL}
704            export libIGCM_SX=${libIGCM}
705            export libIGCM=${libIGCM_POST}
706            export SUBMIT_DIR=${SUBMIT_DIR}
707            export REBUILD_DIR=${REBUILD_DIR}
708            export POST_DIR=${POST_DIR}
709            export MASTER=${MASTER}
710            export DateBegin=${DateBegin}
711            export PeriodDateBegin=${PeriodDateBegin}
712            export PeriodDateEnd=${PeriodDateEnd}
713            export NbRebuildDir=${NbRebuildDir}
714            export StandAlone=false
715            export RESOL_ATM=${RESOL_ATM}
716            export RESOL_OCE=${RESOL_OCE}
717            export RESOL_ICE=${RESOL_ICE}
718            export RESOL_MBG=${RESOL_MBG}
719            export RESOL_SRF=${RESOL_SRF}
720            export RESOL_BIOS=${RESOL_BIOS}
721            export config_UserChoices_JobName=${config_UserChoices_JobName}
722            export R_SAVE=${R_SAVE}
723            export listVarEnv=${listVarEnv}
724            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
725            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
726            IGCM_sys_MkdirWork ${POST_DIR}
727            IGCM_debug_Verif_Exit
728            IGCM_sys_QsubPost rebuild_fromWorkdir
729EOF
730        fi
731    fi
732
733    IGCM_debug_PopStack "IGCM_post_Submit"
734}
Note: See TracBrowser for help on using the repository browser.