Changeset 385 for trunk


Ignore:
Timestamp:
11/17/10 14:06:58 (14 years ago)
Author:
mafoipsl
Message:

First guess for AA_SE_Checker

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/AA_SE_Checker

    r384 r385  
     1#!/bin/ksh 
    12#-Q- cesium #!/bin/ksh 
    23#-Q- cesium ###################### 
    34#-Q- cesium ## CESIUM   CEA ## 
    45#-Q- cesium ###################### 
    5 #-Q- cesium #MSUB -r TimeSeries             # Nom du job                 
     6#-Q- cesium #MSUB -r SE_Checker             # Nom du job                 
    67#-Q- cesium #MSUB -N 1              # Reservation du noeud 
    78#-Q- cesium #MSUB -n 1              # Reservation du processus 
     
    1314#-Q- platine ## PLATINE   CEA ## 
    1415#-Q- platine ################### 
    15 #-Q- platine #BSUB -J TimeSeries                     # Nom du job 
     16#-Q- platine #BSUB -J SE_Checker                     # Nom du job 
    1617#-Q- platine #BSUB -N                        # message a la fin du job 
    1718#-Q- platine #BSUB -n 1                      # reservation des processeurs pour le job 
     
    2526#-Q- sx8brodie # @ wall_clock_limit = 20:00:00 
    2627#-Q- sx8brodie # Nom du travail LoadLeveler 
    27 #-Q- sx8brodie # @ job_name   = TimeSeries 
     28#-Q- sx8brodie # @ job_name   = SE_Checker 
    2829#-Q- sx8brodie # Fichier de sortie standard du travail        
    2930#-Q- sx8brodie # @ output     = $(job_name).$(jobid) 
     
    4041#-Q- aix6 # @ wall_clock_limit = 20:00:00 
    4142#-Q- aix6 # Nom du travail LoadLeveler 
    42 #-Q- aix6 # @ job_name   = TimeSeries 
     43#-Q- aix6 # @ job_name   = SE_Checker 
    4344#-Q- aix6 # Fichier de sortie standard du travail 
    4445#-Q- aix6 # @ output     = $(job_name).$(jobid) 
     
    5455#-Q- sx8mercure ## SX8MERCURE   CEA ## 
    5556#-Q- sx8mercure ###################### 
    56 #-Q- sx8mercure #PBS -N TimeSeries                   # Nom du job 
     57#-Q- sx8mercure #PBS -N SE_Checker                   # Nom du job 
    5758#-Q- sx8mercure #PBS -j o                    # regroupement des stdout et stderr 
    5859#-Q- sx8mercure #PBS -S /usr/bin/ksh         # shell de soumission 
     
    6465#-Q- sx9mercure ## CESIUM FOR SX9  CEA ## 
    6566#-Q- sx9mercure ######################### 
    66 #-Q- sx9mercure #MSUB -r TimeSeries             # Nom du job                 
     67#-Q- sx9mercure #MSUB -r SE_Checker             # Nom du job                 
    6768#-Q- sx9mercure #MSUB -N 1              # Reservation du noeud 
    6869#-Q- sx9mercure #MSUB -n 1              # Reservation du processus 
     
    7475#-Q- titane ## TITANE   CEA ## 
    7576#-Q- titane ###################### 
    76 #-Q- titane #MSUB -r TimeSeries             # Nom du job                 
     77#-Q- titane #MSUB -r SE_Checker             # Nom du job                 
    7778#-Q- titane #MSUB -N 1              # Reservation du noeud 
    7879#-Q- titane #MSUB -n 1              # Reservation du processus 
     
    8586#-Q- lxiv8 ## OBELIX      LSCE ## 
    8687#-Q- lxiv8 ###################### 
    87 #-Q- lxiv8 #PBS -N TimeSeries 
     88#-Q- lxiv8 #PBS -N SE_Checker 
    8889#-Q- lxiv8 #PBS -m a 
    8990#-Q- lxiv8 #PBS -j oe 
    9091#-Q- lxiv8 #PBS -q medium 
    91 #-Q- lxiv8 #PBS -o TimeSeries.$$ 
     92#-Q- lxiv8 #PBS -o SE_Checker.$$ 
    9293#-Q- lxiv8 #PBS -S /bin/ksh 
    9394#-Q- default #!/bin/ksh 
     
    9899#************************************************************** 
    99100# Author: Sebastien Denvil 
    100 # Contact: Sebastien.Denvil__at__ipsl.jussieu.fr 
    101 # $Revision::                                          $ Revision of last commit 
    102 # $Author::                                            $ Author of last commit 
    103 # $Date::                                              $ Date of last commit 
     101# Contact: Sebastien.Denvil@ipsl.jussieu.fr 
     102# $Date$ 
     103# $Author$ 
     104# $Revision$ 
    104105# IPSL (2006) 
    105106#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC 
     107# History: 
     108# Modification: 
    106109# 
    107110#************************************************************** 
     
    170173IGCM_debug_PrintVariables 3 config_UserChoices_DateEnd 
    171174 
    172 if [ -f ${CARD_DIR}/run.card ] ; then 
    173     IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card Configuration OldPrefix 
    174     IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card Configuration PeriodState 
    175     IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card PostProcessing TimeSeriesCompleted 
    176     IGCM_debug_Print 1 "DefineVariableFromOption  : run_Configuration" 
    177     IGCM_debug_PrintVariables 3 run_Configuration_OldPrefix 
    178     IGCM_debug_PrintVariables 3 run_Configuration_PeriodState 
    179     IGCM_debug_Print 1 "DefineVariableFromOption  : run_PostProcessing" 
    180     IGCM_debug_PrintVariables 3 run_PostProcessing_TimeSeriesCompleted 
    181     if [ X${run_Configuration_PeriodState} != X"Completed" ] ; then 
    182         DateEnd=$( IGCM_date_ConvertFormatToGregorian $( echo ${run_Configuration_OldPrefix} | awk -F'_' '{print $2}' ) ) 
    183     else 
    184         DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 
    185     fi 
    186     CompletedFlag=${run_PostProcessing_TimeSeriesCompleted} 
    187 else 
    188     DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 
    189     CompletedFlag="" 
    190 fi 
    191 SavedCompletedFlag=${CompletedFlag} 
     175DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 
    192176DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} ) 
    193177 
     
    196180 
    197181echo 
    198 IGCM_debug_Print 1 "DateBegin for TimeSeries_Checker : "${DateBegin} 
    199 IGCM_debug_Print 1 "DateEnd   for TimeSeries_Checker : "${DateEnd} 
    200 IGCM_debug_Print 1 "YearBegin MonthBegin for TimeSeries_Checker : ${YearBegin} ${MonthBegin}" 
    201 IGCM_debug_Print 1 "YearEnd   MonthEnd   for TimeSeries_Checker : ${YearEnd} ${MonthEnd}" 
    202 IGCM_debug_Print 1 "CompletedFlag = "${CompletedFlag} 
     182IGCM_debug_Print 1 "DateBegin for SE_Checker : "${DateBegin} 
     183IGCM_debug_Print 1 "DateEnd   for SE_Checker : "${DateEnd} 
    203184echo 
    204185 
     
    216197IGCM_card_DefineArrayFromSection ${CARD_DIR}/config.card ListOfComponents 
    217198 
    218 for comp in ${config_ListOfComponents[*]} ; do 
    219     # Debug Print 
    220     IGCM_debug_Print 1 ${comp} 
    221     # Define component  
    222     IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp} 
    223     eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 
    224     eval comptagname=\${config_ListOfComponents_${comp}[1]} > /dev/null 2>&1 
    225  
    226     # Read libIGCM compatibility version in ${compname}.card 
    227     card=${CARD_DIR}/COMP/${compname}.card 
    228  
    229     # Read and Build Output File stuff 
    230     #IGCM_debug_Print 1 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}" 
    231     IGCM_card_DefineArrayFromOption ${card} OutputFiles List 
    232     ListFilesName=${compname}_OutputFiles_List 
    233     eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
    234     # 
    235     if [ X${FileName0} != X${NULL_STR} ] ; then 
    236         # 
    237         #IGCM_debug_Print 1 "Component      : ${compname}" 
     199IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post SeasonalFrequency 
     200# 
     201[ X${config_Post_SeasonalFrequency} = X"NONE" ] && exit 
     202 
     203freq=$( echo ${config_Post_SeasonalFrequency} |  sed -e "s/[yY]//" ) 
     204 
     205an_deb=$( IGCM_date_YearDigit $(( DateBegin / 10000 )) ) 
     206an_fin_all=$( IGCM_date_YearDigit $(( DateEnd / 10000 )) ) 
     207an_fin=$( IGCM_date_YearDigit $(( an_deb + freq - 1 )) ) 
     208 
     209# 
     210while [ ${an_fin} -le ${an_fin_all} ] ; do 
     211 
     212    countTotal=0 
     213    countGood=0 
     214    countBad=0 
     215     
     216    IGCM_debug_Print 1 " DateBegin/End for SE :  ${an_deb}_${an_fin} " 
     217     
     218    for comp in ${config_ListOfComponents[*]} ; do 
     219        localcountBad=0 
     220        # Debug Print 
     221        IGCM_debug_Print 1 ${comp} 
     222        # Define component  
     223        IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp} 
     224        eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 
     225         
     226        # Read libIGCM compatibility version in ${compname}.card 
     227        card=${CARD_DIR}/COMP/${compname}.card 
     228         
     229        # Read and Build Output File stuff 
     230        #IGCM_debug_Print 1 "DefineArrayFromOption  : ${compname}_OutputFiles ${card}" 
     231        IGCM_card_DefineArrayFromOption ${card} OutputFiles List 
     232        ListFilesName=${compname}_OutputFiles_List 
     233        eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 
    238234        # 
    239         # INITIALISATION 
    240         # 
    241         eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
    242         i=2 
    243         # 
    244         until [ $i -ge $NbFiles ]; do 
     235        if [ X${FileName0} != X${NULL_STR} ] ; then 
    245236            # 
    246             eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1 
     237            # INITIALISATION 
    247238            # 
    248             if [ X${flag_post} != XNONE ] ; then 
     239            eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 
     240            typeset i=2 
     241            # 
     242            until [ $i -gt $NbFiles ]; do 
    249243                # 
    250                 # First of all 
    251                 # 
    252                 IGCM_card_DefineArrayFromSection ${card} ${flag_post} 
     244                eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1 
    253245                # 
    254                 IGCM_card_DefineArrayFromOption ${card} ${flag_post} TimeSeriesVars 
    255                 IGCM_card_DefineArrayFromOption ${card} ${flag_post} Patches 
    256                 if [ X"$( eval echo \${${compname}_${flag_post}_TimeSeriesVars[*]} )" = X"Option not found ${flag_post}" ] ; then 
    257                     # New TimeSeriesVar description, with 2D, 3D and associate ChunckJob. 
    258                     unset ListDimension 
    259                     ListDimension[0]=2D 
    260                     ListDimension[1]=3D 
    261                     TimeSeries=false 
    262                     TimeSeries2D=false 
    263                     TimeSeries3D=false 
    264                     chunck=false 
    265                     iLoop=${#ListDimension[*]} 
    266                     j=0 
    267                     until [ $j -ge ${iLoop} ]; do 
    268                         Dimension=${ListDimension[${j}]} 
    269                         IGCM_card_DefineArrayFromOption ${card} ${flag_post} TimeSeriesVars${Dimension} 
    270                         IGCM_card_DefineVariableFromOption ${card} ${flag_post} ChunckJob${Dimension} 
    271                         # 
    272                         # Time series WITHOUT chunk 
    273                         # 
    274                         if [ ! $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then 
    275                             if [ $( eval echo \${${compname}_${flag_post}_ChunckJob${Dimension}} ) = NONE ] ; then 
    276                                 IGCM_debug_Print 2 "${Dimension} time series activated for ${flag_post}" 
    277                                 eval TimeSeries${Dimension}=true 
    278                                 chunck=false 
    279                             fi 
     246                if [ X${flag_post} != XNONE ] ; then 
     247                    # 
     248                    # Check if seasonal is required for this file 
     249                    # 
     250                    IGCM_card_DefineArrayFromSection ${card} ${flag_post} 
     251                    # 
     252                    # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default 
     253                    # 
     254                    # variable option allready typeset above 
     255                    for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do 
     256                        if [ ${option} = Seasonal ] ; then 
     257                            FoundSeasonal=true 
     258                            IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal 
    280259                        fi 
    281                         # 
    282                         # Time series WITH chunk 
    283                         # 
    284                         if [ ! $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then 
    285                             chunck_size=$( eval echo \${${compname}_${flag_post}_ChunckJob${Dimension}} ) 
    286                             if [ ! ${chunck_size} = NONE ] &&  [ ! ${chunck_size} = OFF ] ; then 
    287                                 IGCM_debug_Print 2 "${Dimension} time series activated with ${chunck_size} chunck for ${flag_post}" 
    288                                 eval TimeSeriesChunck${Dimension}=true 
    289                                 chunck=true 
    290                             fi 
    291                         fi 
    292                         (( j=j+1 )) 
    293                         # 
    294                         # If TimeSeriesVars list is empty or OFF we skip 
    295                         # 
    296                         if ( [ $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] || \ 
    297                             [ ${chunck_size} = OFF ] ) ; then 
    298                             #IGCM_debug_Print 2 "Empty TS : ${compname}_Post_${FILE}_TimeSeriesVars${Dimension}" 
    299                             #(( i=i+3 )) 
    300                             continue 
    301                         fi 
    302                         # 
    303                         #  ICI ON TESTE QUE LES FICHIERS TS SONT LA! 
    304                         # 
    305                         # 
    306                         FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' ) 
    307                         IGCM_card_DefineArrayFromOption ${card}    Post_${FILE} TimeSeriesVars${Dimension} 
    308                         IGCM_card_DefineVariableFromOption ${card} Post_${FILE} ChunckJob${Dimension} 
    309                         # 
    310                         FlagDir=$( echo ${FILE} | awk -F "_" '{print $1}' ) 
    311                         case ${FlagDir} in 
    312                             *Y)  TS_Dir=TS_YE  ;; 
    313                             *M)  TS_Dir=TS_MO  ;; 
    314                             *D)  TS_Dir=TS_DA  ;; 
    315                          3H|HF)  TS_Dir=TS_HF  ;; 
    316                            INS) TS_Dir=TS_INS ;; 
    317                         esac 
    318                         # 
    319                         # We need LIST of variables not allready produced (useful for standalone mode) 
    320                         # 
    321                         DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} ) 
    322                         IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin 
    323  
    324                         # Si on n'a pas de chunck, dans ce cas chunck_size=la durée de la simulation en années 
    325                         YearsChunckLength=$( echo ${chunck_size} | sed -e "s/[yY]//" ) 
    326                         [ ${chunck} = false ] && YearsChunckLength=$(( YearEnd - YearBegin + 1 )) 
    327  
    328                         NbYearsChunckLoop=$(( ( YearEnd - YearBegin + 1 ) / YearsChunckLength )) 
    329                         Reste=$(( ( YearEnd - YearBegin + 1 ) % YearsChunckLength )) 
    330  
    331                         if [ ${Reste} -ne 0 ] ; then 
    332                             NbYearsChunckLoop=$(( NbYearsChunckLoop + 1 )) 
    333                         fi 
    334  
    335                         if [ ${NbYearsChunckLoop} -eq 1 ] ; then 
    336                             PeriodDateEnd=${DateEnd} 
    337                         else 
    338                             DaysInYear=$( IGCM_date_DaysInYear ${YearBegin} ) 
    339                             PeriodDateEnd=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} $(( YearsChunckLength * DaysInYear - 1 )) ) 
    340                         fi 
    341                         # 
    342                         DIRECTORY=${R_SAVE}/${comp}/Analyse/${TS_Dir} 
    343                         YearsChunckLoop=1 
    344                         ChunckDebut=${DateBegin} 
    345                         ChunckFin=${PeriodDateEnd} 
    346                         while [ ${YearsChunckLoop} -le ${NbYearsChunckLoop} ] ; do 
    347                             countTotal=0 
    348                             countGood=0 
    349                             countBad=0 
    350                             for var in $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}[*]} ) ; do 
    351                                 TestedFile=${config_UserChoices_JobName}_${ChunckDebut}_${ChunckFin}_${FlagDir}_${var}.nc 
    352                                 # 
    353                                 if [ ! -f ${DIRECTORY}/${TestedFile} ] ; then 
    354                                     (( countBad = countBad + 1 )) 
    355                                     [ ${countBad} = 1 ] && IGCM_debug_Print 3 "Missing time series from ${FILE} :" 
    356                                     IGCM_debug_Print 3 ${DIRECTORY}/${TestedFile} 
    357                                 else 
    358                                     (( countGood = countGood + 1 )) 
    359                                 fi 
    360                                 (( countTotal = countTotal + 1 )) 
    361                             done 
    362  
    363                             SuccessRate=$(( countGood * 100 / countTotal )) 
    364                             if [ ${SuccessRate} -ne 100 ] ; then 
    365                                 IGCM_debug_Print 2 -e "\033[1;31m${SuccessRate}% files OK.\033[m for period ${ChunckDebut}-${ChunckFin}" 
    366                             else 
    367                                 IGCM_debug_Print 2 -e "\033[1;32m${SuccessRate}% files OK.\033[m for period ${ChunckDebut}-${ChunckFin}" 
    368                             fi 
    369  
    370                             echo 
    371                             if ( [ ${chunck} = true ] && [ ${SuccessRate} -ne 100 ] ) ; then 
    372                                 ChunckCompletedFlag="" 
    373                                 CompletedFlag=${SavedCompletedFlag} 
    374                                 if [ X${CompletedFlag} != X ] ; then 
    375                                         ( [ ${CompletedFlag} -gt ${ChunckDebut} ] && [ ${CompletedFlag} -le ${ChunckFin} ] ) && ChunckCompletedFlag=${CompletedFlag} 
    376                                 fi 
    377                                 IGCM_debug_Print 2 -e "\033[1;31mSubmit ${FILE} chunck ${Dimension}\033[m period ${ChunckDebut}-${ChunckFin}" 
    378                                 listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask,CompToRead,FlagToRead" 
    379                                 export libIGCM=${libIGCM} 
    380                                 export SUBMIT_DIR=${CARD_DIR} 
    381                                 export POST_DIR=${POST_DIR} 
    382                                 export DateBegin=${ChunckDebut} 
    383                                 export PeriodDateEnd=${ChunckFin} 
    384                                 export CompletedFlag=${ChunckCompletedFlag} 
    385                                 export TsTask=Chunck${Dimension} 
    386                                 export CompToRead=${comp} 
    387                                 export FlagToRead=${i} 
    388                                 export listVarEnv=${listVarEnv} 
    389                                 IGCM_sys_MkdirWork ${POST_DIR} 
    390                                 IGCM_debug_Verif_Exit 
    391                                 IGCM_sys_QsubPost create_ts 
    392                                 echo 
    393                             fi 
    394  
    395                             if ( [ ${chunck} = false ] && [ ${SuccessRate} -ne 100 ] ) ; then 
    396                                 eval Launch${Dimension}=true 
    397                             fi 
    398  
    399                             # Date update 
    400                             ChunckDebut=$( IGCM_date_AddDaysToGregorianDate ${ChunckFin} 1 ) 
    401  
    402                             (( YearsChunckLoop = YearsChunckLoop + 1 )) 
    403  
    404                             if [ ${YearsChunckLoop} -eq ${NbYearsChunckLoop} ] ; then  
    405                                 ChunckFin=${DateEnd} 
    406                             else 
    407                                 #PeriodDateEnd=$(( YearBegin + YearsChunckLength - 1 )) 
    408                                 ChunckFin=$( IGCM_date_AddDaysToGregorianDate ${ChunckDebut} $(( YearsChunckLength * DaysInYear - 1 )) ) 
    409                             fi 
    410                         done 
    411260                    done 
    412                 else 
    413                     ListDimension[0]="" 
    414                     TimeSeries=true 
    415                     TimeSeries2D=false 
    416                     TimeSeries3D=false 
    417                     TimeSeriesChunck2D=false 
    418                     TimeSeriesChunck3D=false 
     261                    # 
     262                    if [ ! X${FoundSeasonal} = Xtrue ] ; then 
     263                        eval ${compname}_${flag_post}_Seasonal=ON 
     264                    fi 
     265                    # 
     266                    if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then 
     267                        (( i=i+3 )) 
     268                        continue 
     269                    fi 
     270                    # 
     271                    # CREATE LIST 
     272                    # 
     273                    FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' ) 
     274                    # 
     275                    DIRECTORY=${R_SAVE}/${comp}/Analyse/SE 
     276                    # 
     277                    TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc 
     278                    # 
     279                    (( countTotal = countTotal + 1 )) 
     280                    IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile} >/dev/null 2>&1  
     281                    if [ ! $? = 0 ] ; then 
     282                        eval set +A LISTE_FILE_${comp}_${an_deb} \$\{LISTE_FILE_${comp}_${an_deb}[*]} ${TestedFile} 
     283                        (( countBad = countBad + 1 )) 
     284                        (( localcountBad = localcountBad + 1 )) 
     285                    else 
     286                        (( countGood = countGood + 1 )) 
     287                    fi 
    419288                fi 
    420             fi 
    421             (( i=i+3 )) 
    422         done 
     289                (( i=i+3 )) # to explore file list 
     290            done # until [ $i -eq $NbFiles ] 
     291        fi   # [ X${FileName0} != X${NULL_STR} ]  
     292         
     293        [ $localcountBad = 0 ] || IGCM_debug_Print 1 "$localcountBad file(s) missing for ${comp} : " $( eval echo \${LISTE_FILE_${comp}_${an_deb}[*]} ) 
     294    done 
     295     
     296    # create_se submit if files don't exist 
     297    if [ $countGood != $countTotal ] ; then 
     298        IGCM_debug_Print 2 -e "\033[1;31mSubmit create_se \033[m for period ${an_deb}-${an_fin}" 
     299         
     300        listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,RebuildFrequency,RESOL_ATM,RESOL_SRF,RESOL_SBG,RESOL_OCE,RESOL_ICE,RESOL_MBG" 
     301        export libIGCM=${libIGCM} 
     302        export SUBMIT_DIR=${SUBMIT_DIR} 
     303        export POST_DIR=${POST_DIR} 
     304        export DateBegin=${an_deb} 
     305        export PeriodDateEnd=${an_fin}1231 
     306        export RebuildFrequency=${RebuildFrequency} 
     307        export RESOL_ATM=${RESOL_ATM} 
     308        export RESOL_SRF=${RESOL_SRF} 
     309        export RESOL_SBG=${RESOL_SBG} 
     310        export RESOL_OCE=${RESOL_OCE} 
     311        export RESOL_ICE=${RESOL_ICE} 
     312        export RESOL_MBG=${RESOL_MBG} 
     313        export listVarEnv=${listVarEnv} 
     314        IGCM_sys_MkdirWork ${POST_DIR} 
     315        IGCM_debug_Verif_Exit 
     316        IGCM_sys_QsubPost create_se 
     317 
     318        echo 
    423319    fi 
    424 done # comp loop 
    425  
    426 echo 
    427  
    428 DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} ) 
    429 IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin 
    430 CompletedFlag=${SavedCompletedFlag} 
    431  
    432 if [ X${Launch2D} = Xtrue ] ; then 
    433     IGCM_debug_Print 2 -e "\033[1;31mSubmit 2D\033[m without chunck period ${DateBegin}-${DateEnd}" 
    434     listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask" 
    435     export libIGCM=${libIGCM} 
    436     export SUBMIT_DIR=${CARD_DIR} 
    437     export POST_DIR=${POST_DIR} 
    438     export DateBegin=${DateBegin} 
    439     export PeriodDateEnd=${DateEnd} 
    440     export CompletedFlag=${CompletedFlag} 
    441     export TsTask=2D 
    442     export listVarEnv=${listVarEnv} 
    443     IGCM_sys_MkdirWork ${POST_DIR} 
    444     IGCM_debug_Verif_Exit 
    445     IGCM_sys_QsubPost create_ts 
    446     echo 
    447 fi 
    448  
    449 if [ X${Launch3D} = Xtrue ] ; then 
    450     IGCM_debug_Print 2 -e "\033[1;31mSubmit 3D\033[m without chunck period ${DateBegin}-${DateEnd}" 
    451     listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask" 
    452     export libIGCM=${libIGCM} 
    453     export SUBMIT_DIR=${CARD_DIR} 
    454     export POST_DIR=${POST_DIR} 
    455     export DateBegin=${DateBegin} 
    456     export PeriodDateEnd=${DateEnd} 
    457     export CompletedFlag=${CompletedFlag} 
    458     export TsTask=3D 
    459     export listVarEnv=${listVarEnv} 
    460     IGCM_sys_MkdirWork ${POST_DIR} 
    461     IGCM_debug_Verif_Exit 
    462     IGCM_sys_QsubPost create_ts 
    463     echo 
    464 fi 
     320 
     321    (( an_deb = an_deb + freq )) 
     322    (( an_fin = an_fin + freq )) 
     323     
     324done # while 
     325 
Note: See TracChangeset for help on using the changeset viewer.