source: tags/libIGCM_v1_8-old/libIGCM_post/libIGCM_post.ksh

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

To run on SX9.

  • 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_BIOS,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_BIOS=${RESOL_BIOS}              " >> ${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_BIOS=${RESOL_BIOS}
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                export i=0
462                until [ $i -ge $NbJob ]; do
463                    CompToRead=$( eval echo \${CHUNCK${Dimension}_COMP[\${i}]} )
464                    FlagToRead=$( eval echo \${CHUNCK${Dimension}_FLAG[\${i}]} )
465                    ChunckSize=$( eval echo \${CHUNCK${Dimension}_SIZE[\${i}]} )
466                    # Chunck Length (mandatory in Year)
467                    YearsChunckLength=$( echo ${ChunckSize} | sed -e "s/[yY]//" )
468                    #
469                    IGCM_date_GetYearMonth ${DateBegin}     YearBegin MonthBegin
470                    #
471                    IGCM_date_GetYearMonth ${PeriodDateEnd} YearEnd   MonthEnd
472                    # How many chunck in total since simulation began
473                    NbYearsChunckLoop=$(( ( ${YearEnd} - ${YearBegin} + 1 ) / ${YearsChunckLength} ))
474                    #  Tweak special case
475                    [ $(( ( ${YearEnd} - ${YearBegin} + 1 ) % ${YearsChunckLength} )) = 0 ] && NbYearsChunckLoop=$(( ${NbYearsChunckLoop} - 1 ))
476                    # Starting Year of the current chunck
477                    ChunckTsYearBegin=$(( ${NbYearsChunckLoop} *  ${YearsChunckLength} + ${YearBegin} ))
478                    # Starting date of the current chunck
479                    ChunckTsDateBegin=${ChunckTsYearBegin}${MonthBegin}01
480                    #
481                    if [ ${RebuildFrequency} = true ] && [ ${DRYRUN} -le 1 ] ; then
482                        #
483                        if [ -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then
484                            echo "export DEBUG_debug=${DEBUG_debug}            " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
485                            echo "export MODIPSL=${MODIPSL}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
486                            echo "export libIGCM_SX=${libIGCM}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
487                            echo "export libIGCM=${libIGCM_POST}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
488                            echo "export SUBMIT_DIR=${SUBMIT_DIR}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
489                            echo "export POST_DIR=${POST_DIR}                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
490                            echo "export MASTER=${MASTER}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
491                            echo "export RebuildFrequency=${RebuildFrequency}  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
492                            echo "export DateBegin=${ChunckTsDateBegin}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
493                            echo "export PeriodDateEnd=${PeriodDateEnd}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
494                            echo "export StandAlone=false                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
495                            echo "export CompletedFlag=${CompletedFlag}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
496                            echo "export TsTask=${TsTask}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
497                            echo "export CompToRead=${CompToRead}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
498                            echo "export FlagToRead=${FlagToRead}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
499                            echo "export RESOL_ATM=${RESOL_ATM}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
500                            echo "export RESOL_OCE=${RESOL_OCE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
501                            echo "export RESOL_ICE=${RESOL_ICE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
502                            echo "export RESOL_MBG=${RESOL_MBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
503                            echo "export RESOL_SRF=${RESOL_SRF}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
504                            echo "export RESOL_BIOS=${RESOL_BIOS}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
505                            echo "export config_UserChoices_JobName=${config_UserChoices_JobName} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
506                            echo "export R_SAVE=${R_SAVE}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
507                            echo "export listVarEnv=${listVarEnv}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
508                            echo "IGCM_sys_MkdirWork ${POST_DIR}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
509                            echo "IGCM_debug_Verif_Exit                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
510                            echo "IGCM_sys_QsubPost create_ts                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
511                        fi
512                        #
513                    else
514                        #
515                        IGCM_sys_RshPost <<-EOF
516                        export DEBUG_debug=${DEBUG_debug}
517                        export MODIPSL=${MODIPSL}
518                        export libIGCM_SX=${libIGCM}
519                        export libIGCM=${libIGCM_POST}
520                        export SUBMIT_DIR=${SUBMIT_DIR}
521                        export POST_DIR=${POST_DIR}
522                        export MASTER=${MASTER}
523                        export RebuildFrequency=${RebuildFrequency}
524                        export DateBegin=${ChunckTsDateBegin}
525                        export PeriodDateEnd=${PeriodDateEnd}
526                        export StandAlone=false
527                        export CompletedFlag=${CompletedFlag}
528                        export TsTask=${TsTask}
529                        export CompToRead=${CompToRead}
530                        export FlagToRead=${FlagToRead}
531                        export RESOL_ATM=${RESOL_ATM}
532                        export RESOL_OCE=${RESOL_OCE}
533                        export RESOL_ICE=${RESOL_ICE}
534                        export RESOL_MBG=${RESOL_MBG}
535                        export RESOL_SRF=${RESOL_SRF}
536                        export RESOL_BIOS=${RESOL_BIOS}
537                        export config_UserChoices_JobName=${config_UserChoices_JobName}
538                        export R_SAVE=${R_SAVE}
539                        export listVarEnv=${listVarEnv}
540                        . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
541                        . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
542                        IGCM_sys_MkdirWork ${POST_DIR}
543                        IGCM_debug_Verif_Exit
544                        IGCM_sys_QsubPost create_ts
545EOF
546                        #
547                    fi
548                    #
549                    export DateBegin=${SavedDateBegin}
550                    #
551                    (( i=i+1 ))
552                    #
553                done
554            fi
555            (( j=j+1 ))
556        done
557    fi
558
559    #=============  SEASONAL POST-TREATMENT ============#
560    if [ ${SeasonalFrequency} = true ] ; then
561        #
562        IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :"
563        echo
564        #
565        typeset listVarEnv
566        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"
567
568        if [ ${RebuildFrequency} = true ] && [ ${DRYRUN} -le 1 ] ; then
569            #
570            echo "export DEBUG_debug=${DEBUG_debug}            " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
571            echo "export MODIPSL=${MODIPSL}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
572            echo "export libIGCM_SX=${libIGCM}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
573            echo "export libIGCM=${libIGCM_POST}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
574            echo "export SUBMIT_DIR=${SUBMIT_DIR}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
575            echo "export POST_DIR=${POST_DIR}                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
576            echo "export MASTER=${MASTER}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
577            echo "export RebuildFrequency=${RebuildFrequency}  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
578            echo "export DateBegin=${DateBegin}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
579            echo "export PeriodDateEnd=${PeriodDateEnd}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
580            echo "export StandAlone=false                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
581            echo "export RESOL_ATM=${RESOL_ATM}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
582            echo "export RESOL_OCE=${RESOL_OCE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
583            echo "export RESOL_ICE=${RESOL_ICE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
584            echo "export RESOL_MBG=${RESOL_MBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
585            echo "export RESOL_SRF=${RESOL_SRF}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
586            echo "export RESOL_BIOS=${RESOL_BIOS}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
587            echo "export config_UserChoices_JobName=${config_UserChoices_JobName} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
588            echo "export R_SAVE=${R_SAVE}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
589            echo "export listVarEnv=${listVarEnv}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
590            echo "IGCM_sys_MkdirWork ${POST_DIR}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
591            echo "IGCM_debug_Verif_Exit                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
592            echo "IGCM_sys_QsubPost create_se                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
593            #
594        else
595            #
596            IGCM_sys_RshPost <<-EOF
597            export DEBUG_debug=${DEBUG_debug}
598            export MODIPSL=${MODIPSL}
599            export libIGCM_SX=${libIGCM}
600            export libIGCM=${libIGCM_POST}
601            export SUBMIT_DIR=${SUBMIT_DIR}
602            export POST_DIR=${POST_DIR}
603            export MASTER=${MASTER}
604            export RebuildFrequency=${RebuildFrequency}
605            export DateBegin=${DateBegin}
606            export PeriodDateEnd=${PeriodDateEnd}
607            export StandAlone=false
608            export RESOL_ATM=${RESOL_ATM}
609            export RESOL_OCE=${RESOL_OCE}
610            export RESOL_ICE=${RESOL_ICE}
611            export RESOL_MBG=${RESOL_MBG}
612            export RESOL_SRF=${RESOL_SRF}
613            export RESOL_BIOS=${RESOL_BIOS}
614            export config_UserChoices_JobName=${config_UserChoices_JobName}
615            export R_SAVE=${R_SAVE}
616            export listVarEnv=${listVarEnv}
617            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
618            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
619            IGCM_sys_MkdirWork ${POST_DIR}
620            IGCM_debug_Verif_Exit
621            IGCM_sys_QsubPost create_se
622EOF
623        #
624        fi
625    fi
626
627    #============== REBUILD POST-TREATMENT =============#
628    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then
629        # -----------------------------------------------------------------------------------
630        # Function IGCM_FlushRebuild define in rebuild.ksh has not been closed yet. Do it now
631        # -----------------------------------------------------------------------------------
632        if [ ${DRYRUN} -le 1 ] ; then
633            echo "IGCM_debug_PopStack \"IGCM_FlushRebuild\" " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
634            echo "}                                       " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
635        fi
636        if [ ${config_Post_RebuildFromArchive} = true ] ; then
637            IGCM_sys_Put_Dir REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
638        else
639            IGCM_sys_Mv      REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
640        fi
641    fi
642    #
643    if [ ${RebuildFrequency} = true ] ; then
644        #
645        if ( [ ${config_Post_RebuildFromArchive} = true ] ) ; then
646            #
647            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:"
648            echo
649            #
650            typeset listVarEnv
651            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_BIOS,config_UserChoices_JobName,R_SAVE"
652            IGCM_sys_RshPost <<-EOF
653            export DEBUG_debug=${DEBUG_debug}
654            export MODIPSL=${MODIPSL}
655            export libIGCM_SX=${libIGCM}
656            export libIGCM=${libIGCM_POST}
657            export SUBMIT_DIR=${SUBMIT_DIR}
658            export REBUILD_DIR=${REBUILD_DIR}
659            export POST_DIR=${POST_DIR}
660            export MASTER=${MASTER}
661            export RebuildFromArchive=${config_Post_RebuildFromArchive}
662            export DateBegin=${DateBegin}
663            export PeriodDateBegin=${PeriodDateBegin}
664            export PeriodDateEnd=${PeriodDateEnd}
665            export NbRebuildDir=${NbRebuildDir}
666            export StandAlone=false
667            export RESOL_ATM=${RESOL_ATM}
668            export RESOL_OCE=${RESOL_OCE}
669            export RESOL_ICE=${RESOL_ICE}
670            export RESOL_MBG=${RESOL_MBG}
671            export RESOL_SRF=${RESOL_SRF}
672            export RESOL_BIOS=${RESOL_BIOS}
673            export config_UserChoices_JobName=${config_UserChoices_JobName}
674            export R_SAVE=${R_SAVE}
675            export listVarEnv=${listVarEnv}
676            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
677            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
678            IGCM_sys_MkdirWork ${POST_DIR}
679            IGCM_debug_Verif_Exit
680            IGCM_sys_QsubPost rebuild_fromArchive
681EOF
682        else
683            #
684            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR:"
685            echo
686            #
687            typeset listVarEnv
688            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_BIOS,config_UserChoices_JobName,R_SAVE"
689            IGCM_sys_RshPost <<-EOF
690            export DEBUG_debug=${DEBUG_debug}
691            export MODIPSL=${MODIPSL}
692            export libIGCM_SX=${libIGCM}
693            export libIGCM=${libIGCM_POST}
694            export SUBMIT_DIR=${SUBMIT_DIR}
695            export REBUILD_DIR=${REBUILD_DIR}
696            export POST_DIR=${POST_DIR}
697            export MASTER=${MASTER}
698            export RebuildFromArchive=${config_Post_RebuildFromArchive}
699            export DateBegin=${DateBegin}
700            export PeriodDateBegin=${PeriodDateBegin}
701            export PeriodDateEnd=${PeriodDateEnd}
702            export NbRebuildDir=${NbRebuildDir}
703            export StandAlone=false
704            export RESOL_ATM=${RESOL_ATM}
705            export RESOL_OCE=${RESOL_OCE}
706            export RESOL_ICE=${RESOL_ICE}
707            export RESOL_MBG=${RESOL_MBG}
708            export RESOL_SRF=${RESOL_SRF}
709            export RESOL_BIOS=${RESOL_BIOS}
710            export config_UserChoices_JobName=${config_UserChoices_JobName}
711            export R_SAVE=${R_SAVE}
712            export listVarEnv=${listVarEnv}
713            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
714            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
715            IGCM_sys_MkdirWork ${POST_DIR}
716            IGCM_debug_Verif_Exit
717            IGCM_sys_QsubPost rebuild_fromWorkdir
718EOF
719        fi
720    fi
721
722    IGCM_debug_PopStack "IGCM_post_Submit"
723}
Note: See TracBrowser for help on using the repository browser.