source: tags/libIGCM_v1_6/libIGCM_post/libIGCM_post.ksh @ 290

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

If there is no history file for a configuration (possible), rebuild.ksh was no created in libIGCM_comp.ksh.
This is a bug, so it should be tested before use in libIGCM_post.ksh.

  • 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                    else
416                    fi
417                    #
418                else
419                    #
420                    IGCM_sys_RshPost <<-EOF
421                    export DEBUG_debug=${DEBUG_debug}
422                    export MODIPSL=${MODIPSL}
423                    export libIGCM_SX=${libIGCM}
424                    export libIGCM=${libIGCM_POST}
425                    export SUBMIT_DIR=${SUBMIT_DIR}
426                    export POST_DIR=${POST_DIR}
427                    export MASTER=${MASTER}
428                    export RebuildFrequency=${RebuildFrequency}
429                    export DateBegin=${DateBegin}
430                    export PeriodDateEnd=${PeriodDateEnd}
431                    export StandAlone=false
432                    export CompletedFlag=${CompletedFlag}
433                    export TsTask=${TsTask}
434                    export RESOL_ATM=${RESOL_ATM}
435                    export RESOL_OCE=${RESOL_OCE}
436                    export RESOL_ICE=${RESOL_ICE}
437                    export RESOL_MBG=${RESOL_MBG}
438                    export RESOL_SRF=${RESOL_SRF}
439                    export RESOL_BIOS=${RESOL_BIOS}
440                    export config_UserChoices_JobName=${config_UserChoices_JobName}
441                    export R_SAVE=${R_SAVE}
442                    export listVarEnv=${listVarEnv}
443                    . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
444                    . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
445                    IGCM_sys_MkdirWork ${POST_DIR}
446                    IGCM_debug_Verif_Exit
447                    IGCM_sys_QsubPost create_ts
448EOF
449                fi
450            fi
451            #
452            if [ X$( eval echo \${TimeSeriesChunck${Dimension}} ) = Xtrue ] ; then
453                #
454                IGCM_debug_Print 2 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED :"
455                echo
456                # Need to Remember This One
457                SavedDateBegin=${DateBegin}
458                # Kind of task create_ts will perform
459                TsTask=Chunck${Dimension}
460                # Number of chunck jobs to configure and submit
461                eval NbJob=\${#CHUNCK${Dimension}_COMP[@]}
462                export 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_BIOS=${RESOL_BIOS}              " >> ${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                        else
513                        fi
514                        #
515                    else
516                        #
517                        IGCM_sys_RshPost <<-EOF
518                        export DEBUG_debug=${DEBUG_debug}
519                        export MODIPSL=${MODIPSL}
520                        export libIGCM_SX=${libIGCM}
521                        export libIGCM=${libIGCM_POST}
522                        export SUBMIT_DIR=${SUBMIT_DIR}
523                        export POST_DIR=${POST_DIR}
524                        export MASTER=${MASTER}
525                        export RebuildFrequency=${RebuildFrequency}
526                        export DateBegin=${ChunckTsDateBegin}
527                        export PeriodDateEnd=${PeriodDateEnd}
528                        export StandAlone=false
529                        export CompletedFlag=${CompletedFlag}
530                        export TsTask=${TsTask}
531                        export CompToRead=${CompToRead}
532                        export FlagToRead=${FlagToRead}
533                        export RESOL_ATM=${RESOL_ATM}
534                        export RESOL_OCE=${RESOL_OCE}
535                        export RESOL_ICE=${RESOL_ICE}
536                        export RESOL_MBG=${RESOL_MBG}
537                        export RESOL_SRF=${RESOL_SRF}
538                        export RESOL_BIOS=${RESOL_BIOS}
539                        export config_UserChoices_JobName=${config_UserChoices_JobName}
540                        export R_SAVE=${R_SAVE}
541                        export listVarEnv=${listVarEnv}
542                        . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
543                        . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
544                        IGCM_sys_MkdirWork ${POST_DIR}
545                        IGCM_debug_Verif_Exit
546                        IGCM_sys_QsubPost create_ts
547EOF
548                        #
549                    fi
550                    #
551                    export DateBegin=${SavedDateBegin}
552                    #
553                    (( i=i+1 ))
554                    #
555                done
556            fi
557            (( j=j+1 ))
558        done
559    fi
560
561    #=============  SEASONAL POST-TREATMENT ============#
562    if [ ${SeasonalFrequency} = true ] ; then
563        #
564        IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :"
565        echo
566        #
567        typeset listVarEnv
568        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"
569
570        if [ ${RebuildFrequency} = true ] && [ ${DRYRUN} -le 1 ] ; then
571            #
572            echo "export DEBUG_debug=${DEBUG_debug}            " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
573            echo "export MODIPSL=${MODIPSL}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
574            echo "export libIGCM_SX=${libIGCM}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
575            echo "export libIGCM=${libIGCM_POST}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
576            echo "export SUBMIT_DIR=${SUBMIT_DIR}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
577            echo "export POST_DIR=${POST_DIR}                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
578            echo "export MASTER=${MASTER}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
579            echo "export RebuildFrequency=${RebuildFrequency}  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
580            echo "export DateBegin=${DateBegin}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
581            echo "export PeriodDateEnd=${PeriodDateEnd}        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
582            echo "export StandAlone=false                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
583            echo "export RESOL_ATM=${RESOL_ATM}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
584            echo "export RESOL_OCE=${RESOL_OCE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
585            echo "export RESOL_ICE=${RESOL_ICE}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
586            echo "export RESOL_MBG=${RESOL_MBG}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
587            echo "export RESOL_SRF=${RESOL_SRF}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
588            echo "export RESOL_BIOS=${RESOL_BIOS}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
589            echo "export config_UserChoices_JobName=${config_UserChoices_JobName} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
590            echo "export R_SAVE=${R_SAVE}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
591            echo "export listVarEnv=${listVarEnv}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
592            echo "IGCM_sys_MkdirWork ${POST_DIR}               " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
593            echo "IGCM_debug_Verif_Exit                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
594            echo "IGCM_sys_QsubPost create_se                  " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
595            #
596        else
597            #
598            IGCM_sys_RshPost <<-EOF
599            export DEBUG_debug=${DEBUG_debug}
600            export MODIPSL=${MODIPSL}
601            export libIGCM_SX=${libIGCM}
602            export libIGCM=${libIGCM_POST}
603            export SUBMIT_DIR=${SUBMIT_DIR}
604            export POST_DIR=${POST_DIR}
605            export MASTER=${MASTER}
606            export RebuildFrequency=${RebuildFrequency}
607            export DateBegin=${DateBegin}
608            export PeriodDateEnd=${PeriodDateEnd}
609            export StandAlone=false
610            export RESOL_ATM=${RESOL_ATM}
611            export RESOL_OCE=${RESOL_OCE}
612            export RESOL_ICE=${RESOL_ICE}
613            export RESOL_MBG=${RESOL_MBG}
614            export RESOL_SRF=${RESOL_SRF}
615            export RESOL_BIOS=${RESOL_BIOS}
616            export config_UserChoices_JobName=${config_UserChoices_JobName}
617            export R_SAVE=${R_SAVE}
618            export listVarEnv=${listVarEnv}
619            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
620            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
621            IGCM_sys_MkdirWork ${POST_DIR}
622            IGCM_debug_Verif_Exit
623            IGCM_sys_QsubPost create_se
624EOF
625        #
626        fi
627    fi
628
629    #============== REBUILD POST-TREATMENT =============#
630    if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then
631        # -----------------------------------------------------------------------------------
632        # Function IGCM_FlushRebuild define in rebuild.ksh has not been closed yet. Do it now
633        # -----------------------------------------------------------------------------------
634        if [ ${DRYRUN} -le 1 ] ; then
635            echo "IGCM_debug_PopStack \"IGCM_FlushRebuild\" " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
636            echo "}                                       " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh
637        fi
638        if [ ${config_Post_RebuildFromArchive} = true ] ; then
639            IGCM_sys_Put_Dir REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
640        else
641            IGCM_sys_Mv      REBUILD_${PeriodDateBegin} ${REBUILD_DIR}
642        fi
643    fi
644    #
645    if [ ${RebuildFrequency} = true ] ; then
646        #
647        if ( [ ${config_Post_RebuildFromArchive} = true ] ) ; then
648            #
649            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM ARCHIVE:"
650            echo
651            #
652            typeset listVarEnv
653            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"
654            IGCM_sys_RshPost <<-EOF
655            export DEBUG_debug=${DEBUG_debug}
656            export MODIPSL=${MODIPSL}
657            export libIGCM_SX=${libIGCM}
658            export libIGCM=${libIGCM_POST}
659            export SUBMIT_DIR=${SUBMIT_DIR}
660            export REBUILD_DIR=${REBUILD_DIR}
661            export POST_DIR=${POST_DIR}
662            export MASTER=${MASTER}
663            export RebuildFromArchive=${config_Post_RebuildFromArchive}
664            export DateBegin=${DateBegin}
665            export PeriodDateBegin=${PeriodDateBegin}
666            export PeriodDateEnd=${PeriodDateEnd}
667            export NbRebuildDir=${NbRebuildDir}
668            export StandAlone=false
669            export RESOL_ATM=${RESOL_ATM}
670            export RESOL_OCE=${RESOL_OCE}
671            export RESOL_ICE=${RESOL_ICE}
672            export RESOL_MBG=${RESOL_MBG}
673            export RESOL_SRF=${RESOL_SRF}
674            export RESOL_BIOS=${RESOL_BIOS}
675            export config_UserChoices_JobName=${config_UserChoices_JobName}
676            export R_SAVE=${R_SAVE}
677            export listVarEnv=${listVarEnv}
678            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
679            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
680            IGCM_sys_MkdirWork ${POST_DIR}
681            IGCM_debug_Verif_Exit
682            IGCM_sys_QsubPost rebuild_fromArchive
683EOF
684        else
685            #
686            IGCM_debug_Print 2 "REBUILD POST-TREATMENT FROM WORKDIR:"
687            echo
688            #
689            typeset listVarEnv
690            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"
691            IGCM_sys_RshPost <<-EOF
692            export DEBUG_debug=${DEBUG_debug}
693            export MODIPSL=${MODIPSL}
694            export libIGCM_SX=${libIGCM}
695            export libIGCM=${libIGCM_POST}
696            export SUBMIT_DIR=${SUBMIT_DIR}
697            export REBUILD_DIR=${REBUILD_DIR}
698            export POST_DIR=${POST_DIR}
699            export MASTER=${MASTER}
700            export RebuildFromArchive=${config_Post_RebuildFromArchive}
701            export DateBegin=${DateBegin}
702            export PeriodDateBegin=${PeriodDateBegin}
703            export PeriodDateEnd=${PeriodDateEnd}
704            export NbRebuildDir=${NbRebuildDir}
705            export StandAlone=false
706            export RESOL_ATM=${RESOL_ATM}
707            export RESOL_OCE=${RESOL_OCE}
708            export RESOL_ICE=${RESOL_ICE}
709            export RESOL_MBG=${RESOL_MBG}
710            export RESOL_SRF=${RESOL_SRF}
711            export RESOL_BIOS=${RESOL_BIOS}
712            export config_UserChoices_JobName=${config_UserChoices_JobName}
713            export R_SAVE=${R_SAVE}
714            export listVarEnv=${listVarEnv}
715            . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh
716            . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh
717            IGCM_sys_MkdirWork ${POST_DIR}
718            IGCM_debug_Verif_Exit
719            IGCM_sys_QsubPost rebuild_fromWorkdir
720EOF
721        fi
722    fi
723
724    IGCM_debug_PopStack "IGCM_post_Submit"
725}
Note: See TracBrowser for help on using the repository browser.