source: tags/libIGCM_v1_9/libIGCM_post/libIGCM_post.ksh @ 1141

Last change on this file since 1141 was 365, checked in by mmaipsl, 14 years ago

make some i variables local to there subroutines.

  • 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: 35.7 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 NbDays PeriodEndJul PostEndJul
166    #
167    # Initialize
168    #
169    POST=false
170    TimeSeriesFrequency=false
171    SeasonalFrequency=false
172    #
173    # ONLY IF SOMETHING NEEDS TO BE DONE (EATHER TIME SERIES OR SEASONAL) COMPUTE THE MODULOS
174    #
175    if ( [ X${TimeSeries} = Xtrue ] || [ X${TimeSeries2D} = Xtrue ] || [ X${TimeSeries3D} = Xtrue ] ) ; then
176        list_post=TimeSeriesFrequency
177    fi
178    #
179    if [ X${Seasonal} = Xtrue ] ; then
180        list_post="${list_post} SeasonalFrequency"
181    fi
182    #
183    # READ TIME SERIES OR SEASONAL FREQUENCY
184    # AND TURN ON THE SUBMISSION FLAG WHEN MODULO IS ZERO
185    #
186    for post_freq in ${list_post} ; do
187        #
188        # Extract frequency from previously defined variable
189        #
190        config_Post_post_freq=$( eval echo \${config_Post_${post_freq}} )
191        #
192        # Offset for Seasonal Average starting period
193        #
194        if [ ${post_freq} = SeasonalFrequency ] ; then
195            if ( [ X${config_Post_SeasonalFrequencyOffset} = X${NULL_STR} ] || [ X${config_Post_SeasonalFrequencyOffset} = XNONE ] || [ X${config_Post_SeasonalFrequencyOffset} = X ] ) ; then
196                PeriodOffset=0
197            else
198                PeriodOffset=${config_Post_SeasonalFrequencyOffset}
199            fi
200        else
201            PeriodOffset=0
202        fi
203        #
204        if ( [ X${config_Post_post_freq} = X${NULL_STR} ] || [ X${config_Post_post_freq} = XNONE ] ) ; then
205            #
206            continue
207            #
208        fi
209        #
210        case ${config_Post_post_freq} in
211            *y|*Y)
212                PeriodYear=$( echo ${config_Post_post_freq} | sed -e "s/[yY]//" )
213                #
214                case ${config_UserChoices_PeriodLength} in
215                    *Y|*y)
216                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[yY]//" )
217                        if [ ${PeriodPost} -le ${PeriodYear} ] ; then
218                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodYear} ) -eq 0 ] ;  then
219                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true
220                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true
221                            fi
222                        else
223                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
224                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
225                        fi ;;
226                    *M|*m)
227                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" )
228                        if [ ${PeriodPost} -le $(( ${PeriodYear} * 12 )) ] ; then
229                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then
230                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) -ne 0 ] && eval ${post_freq}=true
231                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) -ne 0 ] && POST=true
232                            fi
233                        else
234                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
235                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
236                        fi ;;
237                    *D|*d)
238                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" )
239                        NbDays=$( IGCM_date_DaysInYear ${year} )
240                        if [ ${config_UserChoices_CalendarType} = 360d ] | [ ${config_UserChoices_CalendarType} = noleap ] ; then
241                            if [ ${PeriodPost} -le $(( ${PeriodYear} * ${NbDays} )) ] ; then
242                                if [ $( expr $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) % \
243                                    $(( ${NbDays} * ${PeriodYear} / ${PeriodPost} )) ) -eq 0 ] ; then
244                                    [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) -ne 0 ] && eval ${post_freq}=true
245                                    [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) -ne 0 ] POST=true
246                                fi
247                            else
248                                IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
249                                IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
250                            fi
251                        else
252#                                           if [ ${PeriodYear} -eq 1 ] ; then
253#                                               PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} )
254#                                               PostEndJul=${year}${NbDays}
255#                                                #echo "PeriodYear=${PeriodYear} NbDays=${NbDays}"
256#                                               #echo PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}"
257#                                               if [ ${PostEndJul} -le ${PeriodEndJul} ] ; then
258#                                                   eval ${post_freq}=true
259#                                                   POST=true
260#                                               fi
261#                                           else
262                            IGCM_debug_Print 3 "For ${post_freq} with leap calendar, for ${comp} and ${file_in} :"
263                            IGCM_debug_Print 3 "We have a daily PeriodLength frequency and RebuildFrequency=${PeriodYear}Y."
264                            IGCM_debug_Print 3 "No post-treatment. Case not properly handle at this moment."
265#                                           fi
266                        fi;;
267                esac ;;
268            *M|*m)
269                PeriodMonth=$( echo ${config_Post_post_freq} | sed -e "s/[mM]//" )
270                case ${config_UserChoices_PeriodLength} in
271                    *Y|*y)
272                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
273                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
274                    *M|*m)
275                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" )
276                        if [ ${PeriodPost} -le ${PeriodMonth} ] ; then
277                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} -  ${PeriodOffset} )) % ${PeriodMonth}  ) -eq 0 ] ;  then
278                                [ $(( ${CumulPeriod} * ${PeriodPost} -  ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true
279                                [ $(( ${CumulPeriod} * ${PeriodPost} -  ${PeriodOffset} )) -ne 0 ] && POST=true
280                            fi
281                        else
282                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
283                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
284                        fi;;
285                    *D|*d)
286                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
287                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
288                esac ;;
289            *D|*d)
290                PeriodDay=$( echo ${config_Post_post_freq} | sed -e "s/[dD]//" )
291                case ${config_UserChoices_PeriodLength} in
292                    *Y|*y)
293                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
294                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
295                    *M|*m)
296                        IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
297                        IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;;
298                    *D|*d)
299                        PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" )
300                        if [ ${PeriodPost} -le ${PeriodDay} ] ; then
301                            if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodDay}  ) -eq 0 ] ;  then
302                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true
303                                [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true
304                            fi
305                        else
306                            IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with"
307                            IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} "
308                        fi;;
309                esac ;;
310            NONE|none)
311                ;;
312            *)
313                IGCM_debug_Print 3 "KeyWord not allowed for ${post_freq} in config.card"
314                ;;
315        esac
316    done
317    #
318    if ( [ ! X${config_Post_TimeSeriesFrequency} = X${NULL_STR} ] && \
319         [ ! X${config_Post_TimeSeriesFrequency} = XNONE ]        && \
320         [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ) ; then
321        TimeSeriesFrequency=true
322        POST=true
323    fi
324
325    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && \
326         [ ! X${config_Post_RebuildFrequency} = XNONE ]        && \
327         [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ) ; then
328        RebuildFrequency=true
329        POST=true
330    fi
331
332    #
333    IGCM_debug_Print 1 "POST-TREATEMENT flag value : ${POST}"
334    #
335    IGCM_post_Submit
336
337    IGCM_debug_PopStack "IGCM_post_Initialize"
338}
339
340function IGCM_post_Submit
341{
342    IGCM_debug_PushStack "IGCM_post_Submit"
343
344    POST_DIR=${R_OUT_POST}/${config_UserChoices_TagName}/${config_UserChoices_JobName}
345
346    if [ ${POST} = true ]; then
347        echo
348        IGCM_debug_Print 1 "IGCM_post_Submit :"
349        echo
350        IGCM_debug_Print 1 "POST_DIR = ${POST_DIR}"
351    fi
352
353    #============ TIME SERIES POST-TREATMENT ===========#
354    if [ ${TimeSeriesFrequency} = true ] ; then
355
356        IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ACTIVATED :"
357        echo
358
359
360
361        # Get information from last execution
362        IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card PostProcessing TimeSeriesCompleted
363        CompletedFlag=${run_PostProcessing_TimeSeriesCompleted}
364        #
365
366
367
368        typeset listVarEnv
369        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_SBG,config_UserChoices_JobName,R_SAVE"
370        #
371        jLoop=${#ListDimension[*]}
372        j=0
373        until [ $j -ge ${jLoop} ]; do
374            Dimension=${ListDimension[${j}]}
375            #
376            if [ X$( eval echo \${TimeSeries${Dimension}} ) = Xtrue ] ; then
377                #
378                IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED :"
379                echo
380                #
381                if [ X${Dimension} = X ] ; then
382                    TsTask="empty"
383                else
384                    TsTask=${Dimension}
385                fi
386                #
387                if [ ${RebuildFrequency} = true ] && [ ${DRYRUN} -le 1 ] ; then
388                    #
389                    if [ -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then
390                        echo "export DEBUG_debug=${DEBUG_debug}            " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
391                        echo "export MODIPSL=${MODIPSL}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
392                        echo "export libIGCM_SX=${libIGCM}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
393                        echo "export libIGCM=${libIGCM_POST}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
394                        echo "export SUBMIT_DIR=${SUBMIT_DIR}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
395                        echo "export POST_DIR=${POST_DIR}                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
396                        echo "export MASTER=${MASTER}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
397                        echo "export RebuildFrequency=${RebuildFrequency}  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
398                        echo "export DateBegin=${DateBegin}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
399                        echo "export PeriodDateEnd=${PeriodDateEnd}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
400                        echo "export StandAlone=false                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
401                        echo "export CompletedFlag=${CompletedFlag}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
402                        echo "export TsTask=${TsTask}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
403                        echo "export RESOL_ATM=${RESOL_ATM}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
404                        echo "export RESOL_OCE=${RESOL_OCE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
405                        echo "export RESOL_ICE=${RESOL_ICE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
406                        echo "export RESOL_MBG=${RESOL_MBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
407                        echo "export RESOL_SRF=${RESOL_SRF}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
408                        echo "export RESOL_SBG=${RESOL_SBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
409                        echo "export config_UserChoices_JobName=${config_UserChoices_JobName} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
410                        echo "export R_SAVE=${R_SAVE}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
411                        echo "export listVarEnv=${listVarEnv}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
412                        echo "IGCM_sys_MkdirWork ${POST_DIR}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
413                        echo "IGCM_debug_Verif_Exit                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
414                        echo "IGCM_sys_QsubPost create_ts                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
415                    fi
416                    #
417                else
418                    #
419                    IGCM_sys_RshPost <<-EOF
420                    export DEBUG_debug=${DEBUG_debug}
421                    export MODIPSL=${MODIPSL}
422                    export libIGCM_SX=${libIGCM}
423                    export libIGCM=${libIGCM_POST}
424                    export SUBMIT_DIR=${SUBMIT_DIR}
425                    export POST_DIR=${POST_DIR}
426                    export MASTER=${MASTER}
427                    export RebuildFrequency=${RebuildFrequency}
428                    export DateBegin=${DateBegin}
429                    export PeriodDateEnd=${PeriodDateEnd}
430                    export StandAlone=false
431                    export CompletedFlag=${CompletedFlag}
432                    export TsTask=${TsTask}
433                    export RESOL_ATM=${RESOL_ATM}
434                    export RESOL_OCE=${RESOL_OCE}
435                    export RESOL_ICE=${RESOL_ICE}
436                    export RESOL_MBG=${RESOL_MBG}
437                    export RESOL_SRF=${RESOL_SRF}
438                    export RESOL_SBG=${RESOL_SBG}
439                    export config_UserChoices_JobName=${config_UserChoices_JobName}
440                    export R_SAVE=${R_SAVE}
441                    export listVarEnv=${listVarEnv}
442                    . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
443                    . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
444                    IGCM_sys_MkdirWork ${POST_DIR}
445                    IGCM_debug_Verif_Exit
446                    IGCM_sys_QsubPost create_ts
447EOF
448                fi
449            fi
450            #
451            if [ X$( eval echo \${TimeSeriesChunck${Dimension}} ) = Xtrue ] ; then
452                #
453                IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED :"
454                echo
455                # Need to Remember This One
456                SavedDateBegin=${DateBegin}
457                # Kind of task create_ts will perform
458                TsTask=Chunck${Dimension}
459                # Number of chunck jobs to configure and submit
460                eval NbJob=\${#CHUNCK${Dimension}_COMP[@]}
461                typeset i
462                i=0
463                until [ $i -ge $NbJob ]; do
464                    CompToRead=$( eval echo \${CHUNCK${Dimension}_COMP[\${i}]} )
465                    FlagToRead=$( eval echo \${CHUNCK${Dimension}_FLAG[\${i}]} )
466                    ChunckSize=$( eval echo \${CHUNCK${Dimension}_SIZE[\${i}]} )
467                    # Chunck Length (mandatory in Year)
468                    YearsChunckLength=$( echo ${ChunckSize} | sed -e "s/[yY]//" )
469                    #
470                    IGCM_date_GetYearMonth ${DateBegin}     YearBegin MonthBegin
471                    #
472                    IGCM_date_GetYearMonth ${PeriodDateEnd} YearEnd   MonthEnd
473                    # How many chunck in total since simulation began
474                    NbYearsChunckLoop=$(( ( ${YearEnd} - ${YearBegin} + 1 ) / ${YearsChunckLength} ))
475                    #  Tweak special case
476                    [ $(( ( ${YearEnd} - ${YearBegin} + 1 ) % ${YearsChunckLength} )) = 0 ] && NbYearsChunckLoop=$(( ${NbYearsChunckLoop} - 1 ))
477                    # Starting Year of the current chunck
478                    ChunckTsYearBegin=$(( ${NbYearsChunckLoop} *  ${YearsChunckLength} + ${YearBegin} ))
479                    # Starting date of the current chunck
480                    ChunckTsDateBegin=${ChunckTsYearBegin}${MonthBegin}01
481                    #
482                    if [ ${RebuildFrequency} = true ] && [ ${DRYRUN} -le 1 ] ; then
483                        #
484                        if [ -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then
485                            echo "export DEBUG_debug=${DEBUG_debug}            " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
486                            echo "export MODIPSL=${MODIPSL}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
487                            echo "export libIGCM_SX=${libIGCM}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
488                            echo "export libIGCM=${libIGCM_POST}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
489                            echo "export SUBMIT_DIR=${SUBMIT_DIR}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
490                            echo "export POST_DIR=${POST_DIR}                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
491                            echo "export MASTER=${MASTER}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
492                            echo "export RebuildFrequency=${RebuildFrequency}  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
493                            echo "export DateBegin=${ChunckTsDateBegin}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
494                            echo "export PeriodDateEnd=${PeriodDateEnd}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
495                            echo "export StandAlone=false                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
496                            echo "export CompletedFlag=${CompletedFlag}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
497                            echo "export TsTask=${TsTask}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
498                            echo "export CompToRead=${CompToRead}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
499                            echo "export FlagToRead=${FlagToRead}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
500                            echo "export RESOL_ATM=${RESOL_ATM}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
501                            echo "export RESOL_OCE=${RESOL_OCE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
502                            echo "export RESOL_ICE=${RESOL_ICE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
503                            echo "export RESOL_MBG=${RESOL_MBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
504                            echo "export RESOL_SRF=${RESOL_SRF}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
505                            echo "export RESOL_SBG=${RESOL_SBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
506                            echo "export config_UserChoices_JobName=${config_UserChoices_JobName} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
507                            echo "export R_SAVE=${R_SAVE}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
508                            echo "export listVarEnv=${listVarEnv}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
509                            echo "IGCM_sys_MkdirWork ${POST_DIR}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
510                            echo "IGCM_debug_Verif_Exit                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
511                            echo "IGCM_sys_QsubPost create_ts                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
512                        fi
513                        #
514                    else
515                        #
516                        IGCM_sys_RshPost <<-EOF
517                        export DEBUG_debug=${DEBUG_debug}
518                        export MODIPSL=${MODIPSL}
519                        export libIGCM_SX=${libIGCM}
520                        export libIGCM=${libIGCM_POST}
521                        export SUBMIT_DIR=${SUBMIT_DIR}
522                        export POST_DIR=${POST_DIR}
523                        export MASTER=${MASTER}
524                        export RebuildFrequency=${RebuildFrequency}
525                        export DateBegin=${ChunckTsDateBegin}
526                        export PeriodDateEnd=${PeriodDateEnd}
527                        export StandAlone=false
528                        export CompletedFlag=${CompletedFlag}
529                        export TsTask=${TsTask}
530                        export CompToRead=${CompToRead}
531                        export FlagToRead=${FlagToRead}
532                        export RESOL_ATM=${RESOL_ATM}
533                        export RESOL_OCE=${RESOL_OCE}
534                        export RESOL_ICE=${RESOL_ICE}
535                        export RESOL_MBG=${RESOL_MBG}
536                        export RESOL_SRF=${RESOL_SRF}
537                        export RESOL_SBG=${RESOL_SBG}
538                        export config_UserChoices_JobName=${config_UserChoices_JobName}
539                        export R_SAVE=${R_SAVE}
540                        export listVarEnv=${listVarEnv}
541                        . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
542                        . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
543                        IGCM_sys_MkdirWork ${POST_DIR}
544                        IGCM_debug_Verif_Exit
545                        IGCM_sys_QsubPost create_ts
546EOF
547                        #
548                    fi
549                    #
550                    export DateBegin=${SavedDateBegin}
551                    #
552                    (( i=i+1 ))
553                    #
554                done
555            fi
556            (( j=j+1 ))
557        done
558    fi
559
560    #=============  SEASONAL POST-TREATMENT ============#
561    if [ ${SeasonalFrequency} = true ] ; then
562        #
563        IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :"
564        echo
565        #
566        typeset listVarEnv
567        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_SBG,config_UserChoices_JobName,R_SAVE"
568
569        if [ ${RebuildFrequency} = true ] && [ ${DRYRUN} -le 1 ] ; then
570            #
571            echo "export DEBUG_debug=${DEBUG_debug}            " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
572            echo "export MODIPSL=${MODIPSL}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
573            echo "export libIGCM_SX=${libIGCM}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
574            echo "export libIGCM=${libIGCM_POST}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
575            echo "export SUBMIT_DIR=${SUBMIT_DIR}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
576            echo "export POST_DIR=${POST_DIR}                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
577            echo "export MASTER=${MASTER}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
578            echo "export RebuildFrequency=${RebuildFrequency}  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
579            echo "export DateBegin=${DateBegin}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
580            echo "export PeriodDateEnd=${PeriodDateEnd}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
581            echo "export StandAlone=false                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
582            echo "export RESOL_ATM=${RESOL_ATM}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
583            echo "export RESOL_OCE=${RESOL_OCE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
584            echo "export RESOL_ICE=${RESOL_ICE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
585            echo "export RESOL_MBG=${RESOL_MBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
586            echo "export RESOL_SRF=${RESOL_SRF}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
587            echo "export RESOL_SBG=${RESOL_SBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
588            echo "export config_UserChoices_JobName=${config_UserChoices_JobName} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
589            echo "export R_SAVE=${R_SAVE}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
590            echo "export listVarEnv=${listVarEnv}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
591            echo "IGCM_sys_MkdirWork ${POST_DIR}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
592            echo "IGCM_debug_Verif_Exit                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
593            echo "IGCM_sys_QsubPost create_se                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
594            #
595        else
596            #
597            IGCM_sys_RshPost <<-EOF
598            export DEBUG_debug=${DEBUG_debug}
599            export MODIPSL=${MODIPSL}
600            export libIGCM_SX=${libIGCM}
601            export libIGCM=${libIGCM_POST}
602            export SUBMIT_DIR=${SUBMIT_DIR}
603            export POST_DIR=${POST_DIR}
604            export MASTER=${MASTER}
605            export RebuildFrequency=${RebuildFrequency}
606            export DateBegin=${DateBegin}
607            export PeriodDateEnd=${PeriodDateEnd}
608            export StandAlone=false
609            export RESOL_ATM=${RESOL_ATM}
610            export RESOL_OCE=${RESOL_OCE}
611            export RESOL_ICE=${RESOL_ICE}
612            export RESOL_MBG=${RESOL_MBG}
613            export RESOL_SRF=${RESOL_SRF}
614            export RESOL_SBG=${RESOL_SBG}
615            export config_UserChoices_JobName=${config_UserChoices_JobName}
616            export R_SAVE=${R_SAVE}
617            export listVarEnv=${listVarEnv}
618            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
619            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
620            IGCM_sys_MkdirWork ${POST_DIR}
621            IGCM_debug_Verif_Exit
622            IGCM_sys_QsubPost create_se
623EOF
624        #
625        fi
626    fi
627
628    #============== REBUILD POST-TREATMENT =============#
629    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then
630        # -----------------------------------------------------------------------------------
631        # Function IGCM_FlushRebuild define in rebuild.ksh has not been closed yet. Do it now
632        # -----------------------------------------------------------------------------------
633        if [ ${DRYRUN} -le 1 ] ; then
634            echo "IGCM_debug_PopStack \"IGCM_FlushRebuild\" " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
635            echo "}                                       " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
636        fi
637        if [ ${config_Post_RebuildFromArchive} = true ] ; then
638            IGCM_sys_Put_Dir REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
639        else
640            IGCM_sys_Mv      REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
641        fi
642    fi
643    #
644    if [ ${RebuildFrequency} = true ] ; then
645        #
646        if ( [ ${config_Post_RebuildFromArchive} = true ] ) ; then
647            #
648            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:"
649            echo
650            #
651            typeset listVarEnv
652            listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,MASTER,RebuildFromArchive,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_SBG,config_UserChoices_JobName,R_SAVE"
653            IGCM_sys_RshPost <<-EOF
654            export DEBUG_debug=${DEBUG_debug}
655            export MODIPSL=${MODIPSL}
656            export libIGCM_SX=${libIGCM}
657            export libIGCM=${libIGCM_POST}
658            export SUBMIT_DIR=${SUBMIT_DIR}
659            export REBUILD_DIR=${REBUILD_DIR}
660            export POST_DIR=${POST_DIR}
661            export MASTER=${MASTER}
662            export RebuildFromArchive=${config_Post_RebuildFromArchive}
663            export DateBegin=${DateBegin}
664            export PeriodDateBegin=${PeriodDateBegin}
665            export PeriodDateEnd=${PeriodDateEnd}
666            export NbRebuildDir=${NbRebuildDir}
667            export StandAlone=false
668            export RESOL_ATM=${RESOL_ATM}
669            export RESOL_OCE=${RESOL_OCE}
670            export RESOL_ICE=${RESOL_ICE}
671            export RESOL_MBG=${RESOL_MBG}
672            export RESOL_SRF=${RESOL_SRF}
673            export RESOL_SBG=${RESOL_SBG}
674            export config_UserChoices_JobName=${config_UserChoices_JobName}
675            export R_SAVE=${R_SAVE}
676            export listVarEnv=${listVarEnv}
677            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
678            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
679            IGCM_sys_MkdirWork ${POST_DIR}
680            IGCM_debug_Verif_Exit
681            IGCM_sys_QsubPost rebuild_fromArchive
682EOF
683        else
684            #
685            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR:"
686            echo
687            #
688            typeset listVarEnv
689            listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,MASTER,RebuildFromArchive,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_SBG,config_UserChoices_JobName,R_SAVE"
690            IGCM_sys_RshPost <<-EOF
691            export DEBUG_debug=${DEBUG_debug}
692            export MODIPSL=${MODIPSL}
693            export libIGCM_SX=${libIGCM}
694            export libIGCM=${libIGCM_POST}
695            export SUBMIT_DIR=${SUBMIT_DIR}
696            export REBUILD_DIR=${REBUILD_DIR}
697            export POST_DIR=${POST_DIR}
698            export MASTER=${MASTER}
699            export RebuildFromArchive=${config_Post_RebuildFromArchive}
700            export DateBegin=${DateBegin}
701            export PeriodDateBegin=${PeriodDateBegin}
702            export PeriodDateEnd=${PeriodDateEnd}
703            export NbRebuildDir=${NbRebuildDir}
704            export StandAlone=false
705            export RESOL_ATM=${RESOL_ATM}
706            export RESOL_OCE=${RESOL_OCE}
707            export RESOL_ICE=${RESOL_ICE}
708            export RESOL_MBG=${RESOL_MBG}
709            export RESOL_SRF=${RESOL_SRF}
710            export RESOL_SBG=${RESOL_SBG}
711            export config_UserChoices_JobName=${config_UserChoices_JobName}
712            export R_SAVE=${R_SAVE}
713            export listVarEnv=${listVarEnv}
714            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
715            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
716            IGCM_sys_MkdirWork ${POST_DIR}
717            IGCM_debug_Verif_Exit
718            IGCM_sys_QsubPost rebuild_fromWorkdir
719EOF
720        fi
721    fi
722
723    IGCM_debug_PopStack "IGCM_post_Submit"
724}
Note: See TracBrowser for help on using the repository browser.