Changeset 786


Ignore:
Timestamp:
02/04/13 17:03:47 (11 years ago)
Author:
labetoulle
Message:

Cosmetics :

  • Tabs replacement, round 2.
Location:
trunk/libIGCM
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/libIGCM_card/libIGCM_card.ksh

    r772 r786  
    5858    IGCM_debug_PushStack "IGCM_card_PrintOption" $@ 
    5959    if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 
    60         gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk "$@" 
    61     else 
    62         echo 
    63         IGCM_debug_Print 1 "--Error--> IGCM_card_PrintOption $@" 
    64         IGCM_debug_Print 1 "           $1 is not readable" 
    65         IGCM_debug_Exit "IGCM_card_PrintOption" 
     60      gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk "$@" 
     61    else 
     62      echo 
     63      IGCM_debug_Print 1 "--Error--> IGCM_card_PrintOption $@" 
     64      IGCM_debug_Print 1 "           $1 is not readable" 
     65      IGCM_debug_Exit "IGCM_card_PrintOption" 
    6666    fi 
    6767    IGCM_debug_PopStack "IGCM_card_PrintOption" 
     
    7878    IGCM_debug_PushStack "IGCM_card_PrintSection" $@ 
    7979    if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 
    80         gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintSection.awk -- "$@" 
    81     else 
    82         IGCM_debug_Print 1 "--Error--> IGCM_card_PrintSection $@" 
    83         IGCM_debug_Print 1 "           $1 is not readable" 
    84         IGCM_debug_Exit "IGCM_card_PrintSection" 
     80      gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintSection.awk -- "$@" 
     81    else 
     82      IGCM_debug_Print 1 "--Error--> IGCM_card_PrintSection $@" 
     83      IGCM_debug_Print 1 "           $1 is not readable" 
     84      IGCM_debug_Exit "IGCM_card_PrintSection" 
    8585    fi 
    8686    IGCM_debug_PopStack "IGCM_card_PrintSection" 
     
    9797    IGCM_debug_PushStack "IGCM_card_DefineVariableFromOption" $@ 
    9898    if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 
    99         # Get basename of card file ($1) 
    100         typeset name1=${1##*/} 
    101         # Build name of variable as $1_$2_$3 (cardname_Section_Option) 
    102         typeset name=${name1%%.*}_${2}_${3} 
    103         typeset value=$( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk -- "$@" ) 
    104  
    105         # Only if a section is missing we exit the job. 
    106         # We must allow missing option to keep backward compatibilty. 
    107         if [ "${value}" = "Error: Section not found" ] ; then 
    108             echo 
    109             IGCM_debug_Print 1 "Error with readding of ${name} variable in ${1}." 
    110             IGCM_debug_Print 1 "Error: Section ${2} not found" 
    111             IGCM_debug_Exit 
    112             IGCM_debug_Verif_Exit 
    113         fi 
    114         eval ${name}=${value} 
    115     else 
    116         echo 
    117         IGCM_debug_Print 1 "--Error--> IGCM_card_DefineVariableFromOption" 
    118         IGCM_debug_Print 1 "--Error--> $1 is not readable" 
    119         IGCM_debug_Exit "IGCM_card_DefineVariableFromOption" 
    120         IGCM_debug_Verif_Exit 
     99      # Get basename of card file ($1) 
     100      typeset name1=${1##*/} 
     101      # Build name of variable as $1_$2_$3 (cardname_Section_Option) 
     102      typeset name=${name1%%.*}_${2}_${3} 
     103      typeset value=$( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk -- "$@" ) 
     104 
     105      # Only if a section is missing we exit the job. 
     106      # We must allow missing option to keep backward compatibilty. 
     107      if [ "${value}" = "Error: Section not found" ] ; then 
     108        echo 
     109        IGCM_debug_Print 1 "Error with readding of ${name} variable in ${1}." 
     110        IGCM_debug_Print 1 "Error: Section ${2} not found" 
     111        IGCM_debug_Exit 
     112        IGCM_debug_Verif_Exit 
     113      fi 
     114      eval ${name}=${value} 
     115    else 
     116      echo 
     117      IGCM_debug_Print 1 "--Error--> IGCM_card_DefineVariableFromOption" 
     118      IGCM_debug_Print 1 "--Error--> $1 is not readable" 
     119      IGCM_debug_Exit "IGCM_card_DefineVariableFromOption" 
     120      IGCM_debug_Verif_Exit 
    121121    fi 
    122122    IGCM_debug_PopStack "IGCM_card_DefineVariableFromOption" 
     
    133133    IGCM_debug_PushStack "IGCM_card_DefineArrayFromOption" $@ 
    134134    if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 
    135         # Get basename of card file ($1) 
    136         typeset name1=${1##*/} 
    137         # Build name of array as $1_$2_$3 (cardname_Section_Option) 
    138         typeset name=${name1%%.*}_${2}_${3} 
    139         eval unset ${name} 
    140         eval ${name}[0]=${NULL_STR} 
    141         set +A ${name} -- $( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk -- "$@" | gawk -- 'BEGIN {FS="[() ,]+"} {for (i=2; i <= NF-1; i++) printf("%s ",$i)}' ) 
    142     else 
    143         echo 
    144         IGCM_debug_Print 1 "--Error--> IGCM_card_DefineArrayFromOption $@" 
    145         IGCM_debug_Print 1 "           $1 is not readable" 
    146         IGCM_debug_Exit "IGCM_card_DefineArrayFromOption" 
     135      # Get basename of card file ($1) 
     136      typeset name1=${1##*/} 
     137      # Build name of array as $1_$2_$3 (cardname_Section_Option) 
     138      typeset name=${name1%%.*}_${2}_${3} 
     139      eval unset ${name} 
     140      eval ${name}[0]=${NULL_STR} 
     141      set +A ${name} -- $( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk -- "$@" | gawk -- 'BEGIN {FS="[() ,]+"} {for (i=2; i <= NF-1; i++) printf("%s ",$i)}' ) 
     142    else 
     143      echo 
     144      IGCM_debug_Print 1 "--Error--> IGCM_card_DefineArrayFromOption $@" 
     145      IGCM_debug_Print 1 "           $1 is not readable" 
     146      IGCM_debug_Exit "IGCM_card_DefineArrayFromOption" 
    147147    fi 
    148148    IGCM_debug_PopStack "IGCM_card_DefineArrayFromOption" 
     
    159159    IGCM_debug_PushStack "IGCM_card_DefineArrayFromSection" $@ 
    160160    if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 
    161         # Get basename of card file ($1) 
    162         typeset name1=${1##*/} 
    163         # Build name of array as $1_$2 (cardname_Section) 
    164         typeset name=${name1%%.*}_${2} 
    165         eval unset ${name} 
    166         eval ${name}[0]=${NULL_STR} 
    167         set +A ${name} -- $( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintSection.awk -- "$@" ) 
    168         #if [ "$( eval echo \${${name}[@]} )" = "Error: Section not found" ] ; then 
    169         #    echo 
    170         #    IGCM_debug_Print 1 "Error with readding of ${name} variable in ${1}." 
    171         #    IGCM_debug_Print 1 "Error: Section ${2} not found" 
    172         #    IGCM_debug_Exit 
    173         #    IGCM_debug_Verif_Exit 
    174         #fi 
    175         if [ "$( eval echo \${${name}[@]} )" = "Error: Section not found" ] ; then 
    176           echo 
    177           IGCM_debug_Print 1 "Warning with readding of ${name} variable in ${1}." 
    178           IGCM_debug_Print 1 "Warning: Section ${2} not found" 
    179           eval unset ${name} 
    180         fi 
    181     else 
    182         IGCM_debug_Print 1 "--Error--> IGCM_card_DefineArrayFromSection $@" 
    183         IGCM_debug_Print 1 "           $1 is not readable" 
    184         IGCM_debug_Exit "IGCM_card_DefineArrayFromSection" 
     161      # Get basename of card file ($1) 
     162      typeset name1=${1##*/} 
     163      # Build name of array as $1_$2 (cardname_Section) 
     164      typeset name=${name1%%.*}_${2} 
     165      eval unset ${name} 
     166      eval ${name}[0]=${NULL_STR} 
     167      set +A ${name} -- $( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintSection.awk -- "$@" ) 
     168      #if [ "$( eval echo \${${name}[@]} )" = "Error: Section not found" ] ; then 
     169      #    echo 
     170      #    IGCM_debug_Print 1 "Error with readding of ${name} variable in ${1}." 
     171      #    IGCM_debug_Print 1 "Error: Section ${2} not found" 
     172      #    IGCM_debug_Exit 
     173      #    IGCM_debug_Verif_Exit 
     174      #fi 
     175      if [ "$( eval echo \${${name}[@]} )" = "Error: Section not found" ] ; then 
     176        echo 
     177        IGCM_debug_Print 1 "Warning with readding of ${name} variable in ${1}." 
     178        IGCM_debug_Print 1 "Warning: Section ${2} not found" 
     179        eval unset ${name} 
     180      fi 
     181    else 
     182      IGCM_debug_Print 1 "--Error--> IGCM_card_DefineArrayFromSection $@" 
     183      IGCM_debug_Print 1 "           $1 is not readable" 
     184      IGCM_debug_Exit "IGCM_card_DefineArrayFromSection" 
    185185    fi 
    186186    IGCM_debug_PopStack "IGCM_card_DefineArrayFromSection" 
     
    201201    IGCM_debug_PushStack "IGCM_card_WriteOption" $@ 
    202202    if ( [ -r "$1" ] && [ -w "$1" ]  && [ -f "$1" ] ) ; then 
    203         typeset tmpfile=tmpfile_$$ 
    204         ( IGCM_card_PrintOption "$1" "$2" "$3" | grep "not found" ) > ${tmpfile} 
    205         if [ $( cat ${tmpfile} | wc -l ) -gt 0 ] ; then 
    206             echo "-------------------------------------------" 
    207             echo "!!! Problem with IGCM_card_WriteOption !!!" 
    208             echo "Try to write : " $@ 
    209             echo "You have to correct some script."  
    210             echo "We won't do anything else !" 
    211             exit 1 
    212         fi 
    213         \rm ${tmpfile} 
    214  
    215         # The tmpfile uses now the real path of the card to be modified,  
    216         # not just a local tmpfile with PID. 
    217         tmpfile=$1_mutex_$$ 
    218  
    219         IGCM_card_CheckConflict $1 
    220  
    221         # Do the job 
    222         ( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_WriteOption.awk -- "$@" 2> /dev/null ) > ${tmpfile} 
    223  
    224         cp $1 $1.bak 
    225         mv ${tmpfile} $1 
    226  
    227     else 
    228         echo 
    229         IGCM_debug_Print 1 "--Error--> IGCM_card_WriteOption $@" 
    230         IGCM_debug_Print 1 "           $1 is not readable or not writable" 
    231         IGCM_debug_Exit "IGCM_card_WriteOption" 
     203      typeset tmpfile=tmpfile_$$ 
     204      ( IGCM_card_PrintOption "$1" "$2" "$3" | grep "not found" ) > ${tmpfile} 
     205      if [ $( cat ${tmpfile} | wc -l ) -gt 0 ] ; then 
     206        echo "-------------------------------------------" 
     207        echo "!!! Problem with IGCM_card_WriteOption !!!" 
     208        echo "Try to write : " $@ 
     209        echo "You have to correct some script."  
     210        echo "We won't do anything else !" 
     211        exit 1 
     212      fi 
     213      \rm ${tmpfile} 
     214 
     215      # The tmpfile uses now the real path of the card to be modified,  
     216      # not just a local tmpfile with PID. 
     217      tmpfile=$1_mutex_$$ 
     218 
     219      IGCM_card_CheckConflict $1 
     220 
     221      # Do the job 
     222      ( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_WriteOption.awk -- "$@" 2> /dev/null ) > ${tmpfile} 
     223 
     224      cp $1 $1.bak 
     225      mv ${tmpfile} $1 
     226 
     227    else 
     228      echo 
     229      IGCM_debug_Print 1 "--Error--> IGCM_card_WriteOption $@" 
     230      IGCM_debug_Print 1 "           $1 is not readable or not writable" 
     231      IGCM_debug_Exit "IGCM_card_WriteOption" 
    232232    fi 
    233233    IGCM_debug_PopStack "IGCM_card_WriteOption" 
     
    244244    ((isleep=0)) 
    245245    while [ ${#tmpfiles[@]} -gt 0 ] ; do  
    246         echo "Conflict between two processes working on " $1 "!!!" ${tmpfiles[@]} 
    247         sleep 1 
    248         ((isleep=isleep+1)) 
    249         if [ isleep -gt 20 ] ; then 
    250             echo "Too many loops waiting for other process working on " $1 ". We continue." 
    251             echo "You should see if one process of your run or post-treatment may have terminated suddenly." 
    252             echo "Afer, you should erase this(those) file(s) : " ${tmpfiles[@]} 
     246      echo "Conflict between two processes working on " $1 "!!!" ${tmpfiles[@]} 
     247      sleep 1 
     248      ((isleep=isleep+1)) 
     249      if [ isleep -gt 20 ] ; then 
     250        echo "Too many loops waiting for other process working on " $1 ". We continue." 
     251        echo "You should see if one process of your run or post-treatment may have terminated suddenly." 
     252        echo "Afer, you should erase this(those) file(s) : " ${tmpfiles[@]} 
    253253# Send a mail to USER ?? 
    254             break ; 
    255         fi 
    256         unset tmpfiles 
    257         set +A tmpfiles -- $( ls $1_mutex_[0-9]* 2>/dev/null ) 
     254        break ; 
     255      fi 
     256      unset tmpfiles 
     257      set +A tmpfiles -- $( ls $1_mutex_[0-9]* 2>/dev/null ) 
    258258    done 
    259259 
     
    273273 
    274274    if ( [ -r "$1" ] && [ -w "$1" ]  && [ -f "$1" ] ) ; then 
    275         typeset tmpfile=tmpfile_$$ 
    276         if [ X"${4}" != X"" ]; then 
    277             tab=$4 
    278             IGCM_card_WriteOption $1 $2 $3 '('$( eval echo \${${tab}[@]} | sed -e 's/ /,/g' )')' 
    279         else 
    280             IGCM_card_WriteOption $1 $2 $3 '()' 
    281         fi 
    282     else 
    283         echo 
    284         IGCM_debug_Print 1 "--Error--> IGCM_card_WriteArrayOption $@" 
    285         IGCM_debug_Print 1 "           $1 is not readable or not writable" 
    286         IGCM_debug_Exit "IGCM_card_WriteArrayOption" 
     275      typeset tmpfile=tmpfile_$$ 
     276      if [ X"${4}" != X"" ]; then 
     277        tab=$4 
     278        IGCM_card_WriteOption $1 $2 $3 '('$( eval echo \${${tab}[@]} | sed -e 's/ /,/g' )')' 
     279      else 
     280        IGCM_card_WriteOption $1 $2 $3 '()' 
     281      fi 
     282    else 
     283      echo 
     284      IGCM_debug_Print 1 "--Error--> IGCM_card_WriteArrayOption $@" 
     285      IGCM_debug_Print 1 "           $1 is not readable or not writable" 
     286      IGCM_debug_Exit "IGCM_card_WriteArrayOption" 
    287287    fi 
    288288    IGCM_debug_PopStack "IGCM_card_WriteArrayOption" 
     
    299299#--------------------- 
    300300    if [ ! -n "${libIGCM}" ] ; then 
    301         echo "Check libIGCM_card ...........................................[ FAILED ]" 
    302         echo "--Error--> libIGCM variable is not defined" 
    303         IGCM_debug_Exit "IGCM_card_Check" 
     301      echo "Check libIGCM_card ...........................................[ FAILED ]" 
     302      echo "--Error--> libIGCM variable is not defined" 
     303      IGCM_debug_Exit "IGCM_card_Check" 
    304304    fi 
    305305 
     
    307307    whence -v gawk > /dev/null 2>&1 
    308308    if [ ! $? -eq 0 ] ; then 
    309         echo "Check libIGCM_card ...........................................[ FAILED ]" 
    310         echo "--Error--> gawk command is not defined" 
    311         IGCM_debug_Exit "IGCM_card_Check" 
     309      echo "Check libIGCM_card ...........................................[ FAILED ]" 
     310      echo "--Error--> gawk command is not defined" 
     311      IGCM_debug_Exit "IGCM_card_Check" 
    312312    fi 
    313313 
     
    317317 
    318318    if diff IGCM_card_Test.ref.failed ${libIGCM}/libIGCM_card/IGCM_card_Test.ref > /dev/null 2>&1 ; then  
    319         echo "Check libIGCM_card ...............................................[ OK ]" 
    320         rm -f IGCM_card_Test.ref.failed 
     319      echo "Check libIGCM_card ...............................................[ OK ]" 
     320      rm -f IGCM_card_Test.ref.failed 
    321321    else  
    322         echo "Check libIGCM_card ...........................................[ FAILED ]" 
    323         echo "--Error--> Execution of ${libIGCM}/libIGCM_card/IGCM_card_Test.ksh" 
    324         echo "           has produced the file IGCM_card_Test.ref.failed" 
    325         echo "           Please analyse differences with the reference file by typing:" 
    326         echo "           diff IGCM_card_Test.ref.failed ${libIGCM}/libIGCM_card/IGCM_card_Test.ref" 
    327         echo "           Report errors to the author: Patrick.Brockmann@cea.fr" 
    328         IGCM_debug_Exit "IGCM_card_Check" 
     322      echo "Check libIGCM_card ...........................................[ FAILED ]" 
     323      echo "--Error--> Execution of ${libIGCM}/libIGCM_card/IGCM_card_Test.ksh" 
     324      echo "           has produced the file IGCM_card_Test.ref.failed" 
     325      echo "           Please analyse differences with the reference file by typing:" 
     326      echo "           diff IGCM_card_Test.ref.failed ${libIGCM}/libIGCM_card/IGCM_card_Test.ref" 
     327      echo "           Report errors to the author: Patrick.Brockmann@cea.fr" 
     328      IGCM_debug_Exit "IGCM_card_Check" 
    329329    fi 
    330330 
  • trunk/libIGCM/libIGCM_config/libIGCM_config.ksh

    r782 r786  
    321321        echo "------------" 
    322322        echo "WARNING : Job is NOT in RUN mode then we will force REBUILD Frequency" 
    323         echo "          to PeriodLength : ${config_UserChoices_PeriodLength}" 
     323        echo "          to PeriodLength : ${config_UserChoices_PeriodLength}" 
    324324        echo "------------" 
    325325        config_Post_RebuildFrequency=${config_UserChoices_PeriodLength} 
     
    458458    case ${value} in 
    459459    *Y|*y) ;; 
    460     *)  IGCM_debug_Print 1 "All ChunckJob2D frequency must be expressed in year *Y|*y in comp.card" 
     460    *) 
     461      IGCM_debug_Print 1 "All ChunckJob2D frequency must be expressed in year *Y|*y in comp.card" 
    461462      IGCM_debug_Exit "This will stop the job" ;; 
    462463    esac 
     
    473474    case ${value} in 
    474475    *Y|*y) ;; 
    475     *)  IGCM_debug_Print 1 "All ChunckJob3D frequency must be expressed in year *Y|*y in comp.card" 
     476    *) 
     477      IGCM_debug_Print 1 "All ChunckJob3D frequency must be expressed in year *Y|*y in comp.card" 
    476478      IGCM_debug_Exit "This will stop the job" ;; 
    477479    esac 
     
    539541 
    540542    #===================================# 
    541     #        Read updated run.card      # 
     543    #        Read updated run.card      # 
    542544    #===================================# 
    543545 
     
    631633  #===================================================================# 
    632634  # Prepare variables available for ${COMP}.card and ${COMP}.driver   # 
    633   #             But available to any son functions                    # 
     635  #             But available to any son functions                    # 
    634636  #===================================================================# 
    635637 
     
    11141116 
    11151117  #=================================================# 
    1116   #             Write updated run.card              # 
     1118  #             Write updated run.card              # 
    11171119  #=================================================# 
    11181120 
  • trunk/libIGCM/libIGCM_date/libIGCM_date.ksh

    r732 r786  
    217217      eval $2=360 > /dev/null 2>&1 
    218218    fi 
    219 #       IGCM_debug_PopStack "IGCM_date_DaysInYear" 
     219#    IGCM_debug_PopStack "IGCM_date_DaysInYear" 
    220220    return;; 
    221221  noleap|365_day) 
     
    226226    fi 
    227227 
    228 #       IGCM_debug_PopStack "IGCM_date_DaysInYear" 
     228#    IGCM_debug_PopStack "IGCM_date_DaysInYear" 
    229229    return;; 
    230230  all_leap|366_day) 
     
    235235    fi 
    236236 
    237 #       IGCM_debug_PopStack "IGCM_date_DaysInYear" 
     237#    IGCM_debug_PopStack "IGCM_date_DaysInYear" 
    238238    return;; 
    239239  esac 
     
    264264    fi 
    265265 
    266 #       IGCM_debug_PopStack "IGCM_date_DaysInYear" 
     266#    IGCM_debug_PopStack "IGCM_date_DaysInYear" 
    267267    return 
    268268  fi 
     
    278278    fi 
    279279 
    280 #       IGCM_debug_PopStack "IGCM_date_DaysInYear" 
     280#    IGCM_debug_PopStack "IGCM_date_DaysInYear" 
    281281    return 
    282282  fi 
     
    292292    fi 
    293293 
    294 #       IGCM_debug_PopStack "IGCM_date_DaysInYear" 
     294#    IGCM_debug_PopStack "IGCM_date_DaysInYear" 
    295295    return 
    296296  fi 
  • trunk/libIGCM/libIGCM_post/libIGCM_post.ksh

    r782 r786  
    7070    if [ ${post_freq} = SeasonalFrequency ] ; then 
    7171      if ( [ X${config_Post_SeasonalFrequencyOffset} = X${NULL_STR} ] || [ X${config_Post_SeasonalFrequencyOffset} = XNONE ] || [ X${config_Post_SeasonalFrequencyOffset} = X ] ) ; then 
    72         PeriodOffset=0 
     72        PeriodOffset=0 
    7373      else 
    74         PeriodOffset=${config_Post_SeasonalFrequencyOffset} 
     74        PeriodOffset=${config_Post_SeasonalFrequencyOffset} 
    7575      fi 
    7676    else 
     
    144144      # 
    145145      if [ X$( eval echo \${TimeSeries${Dimension}} ) = Xtrue ] ; then 
    146         # 
    147         IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED" 
    148         echo 
     146      # 
     147        IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED" 
     148        echo 
    149149        # 
    150         if [ X${Dimension} = X ] ; then 
    151           TsTask="empty" 
    152           Script_Post_Output=create_ts.${PeriodDateEnd} 
    153         else 
    154           TsTask=${Dimension} 
    155           Script_Post_Output=create_ts.${PeriodDateEnd}.${TsTask} 
    156         fi 
    157         # 
    158         if [ ${RebuildFrequency} = true ] ; then 
    159           # 
     150        if [ X${Dimension} = X ] ; then 
     151          TsTask="empty" 
     152          Script_Post_Output=create_ts.${PeriodDateEnd} 
     153        else 
     154          TsTask=${Dimension} 
     155          Script_Post_Output=create_ts.${PeriodDateEnd}.${TsTask} 
     156        fi 
     157        # 
     158        if [ ${RebuildFrequency} = true ] ; then 
     159          # 
    160160          if [ ${PackFrequency} = true ] ; then 
    161161            FunctionPath=${R_BUFR}/FlushPost_${PeriodDateEnd}.ksh 
     
    164164          fi 
    165165          # 
    166           if [ -f ${FunctionPath} ] ; then 
    167 #           if [ X${MASTER} = Xtitane ] ; then 
    168 #             echo "IGCM_sys_RshPost <<-EOF"                       >> ${FunctionPath} 
    169 #           fi 
    170             echo "export DEBUG_debug=${DEBUG_debug}              " >> ${FunctionPath} 
    171             echo "export MODIPSL=${MODIPSL}                      " >> ${FunctionPath} 
    172             echo "export libIGCM_SX=${libIGCM}                   " >> ${FunctionPath} 
    173             echo "export libIGCM=${libIGCM_POST}                 " >> ${FunctionPath} 
    174             echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${FunctionPath} 
    175             echo "export POST_DIR=${POST_DIR}                    " >> ${FunctionPath} 
    176             echo "export MASTER=${MASTER}                        " >> ${FunctionPath} 
    177             echo "export RebuildFrequency=${RebuildFrequency}    " >> ${FunctionPath} 
    178             echo "export DateBegin=${DateBegin}                  " >> ${FunctionPath} 
    179             echo "export PeriodDateEnd=${PeriodDateEnd}          " >> ${FunctionPath} 
    180             echo "export StandAlone=false                        " >> ${FunctionPath} 
    181             echo "export CompletedFlag=${CompletedFlag}          " >> ${FunctionPath} 
    182             echo "export TsTask=${TsTask}                        " >> ${FunctionPath} 
    183             echo "unset  CompToRead                              " >> ${FunctionPath} 
    184             echo "unset  FlagToRead                              " >> ${FunctionPath} 
    185             echo "export RESOL_ATM=${RESOL_ATM}                  " >> ${FunctionPath} 
    186             echo "export RESOL_OCE=${RESOL_OCE}                  " >> ${FunctionPath} 
    187             echo "export RESOL_ICE=${RESOL_ICE}                  " >> ${FunctionPath} 
    188             echo "export RESOL_MBG=${RESOL_MBG}                  " >> ${FunctionPath} 
    189             echo "export RESOL_SRF=${RESOL_SRF}                  " >> ${FunctionPath} 
    190             echo "export RESOL_SBG=${RESOL_SBG}                  " >> ${FunctionPath} 
    191             echo "export listVarEnv=${listVarEnv}                " >> ${FunctionPath} 
    192             echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 
    193 #           if [ X${MASTER} = Xtitane ] ; then 
    194 #             echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 
    195 #             echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${FunctionPath} 
    196 #           fi 
    197             echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${FunctionPath} 
    198             echo "IGCM_debug_Verif_Exit_Post                     " >> ${FunctionPath} 
    199             echo "IGCM_sys_QsubPost create_ts                    " >> ${FunctionPath} 
    200 #           if [ X${MASTER} = Xtitane ] ; then 
    201 #             echo "EOF"                                           >> ${FunctionPath} 
    202 #           fi 
    203           fi 
    204         else 
    205           IGCM_sys_RshPost <<-EOF 
     166          if [ -f ${FunctionPath} ] ; then 
     167#           if [ X${MASTER} = Xtitane ] ; then 
     168#             echo "IGCM_sys_RshPost <<-EOF"                       >> ${FunctionPath} 
     169#           fi 
     170            echo "export DEBUG_debug=${DEBUG_debug}              " >> ${FunctionPath} 
     171            echo "export MODIPSL=${MODIPSL}                      " >> ${FunctionPath} 
     172            echo "export libIGCM_SX=${libIGCM}                   " >> ${FunctionPath} 
     173            echo "export libIGCM=${libIGCM_POST}                 " >> ${FunctionPath} 
     174            echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${FunctionPath} 
     175            echo "export POST_DIR=${POST_DIR}                    " >> ${FunctionPath} 
     176            echo "export MASTER=${MASTER}                        " >> ${FunctionPath} 
     177            echo "export RebuildFrequency=${RebuildFrequency}    " >> ${FunctionPath} 
     178            echo "export DateBegin=${DateBegin}                  " >> ${FunctionPath} 
     179            echo "export PeriodDateEnd=${PeriodDateEnd}          " >> ${FunctionPath} 
     180            echo "export StandAlone=false                        " >> ${FunctionPath} 
     181            echo "export CompletedFlag=${CompletedFlag}          " >> ${FunctionPath} 
     182            echo "export TsTask=${TsTask}                        " >> ${FunctionPath} 
     183            echo "unset  CompToRead                              " >> ${FunctionPath} 
     184            echo "unset  FlagToRead                              " >> ${FunctionPath} 
     185            echo "export RESOL_ATM=${RESOL_ATM}                  " >> ${FunctionPath} 
     186            echo "export RESOL_OCE=${RESOL_OCE}                  " >> ${FunctionPath} 
     187            echo "export RESOL_ICE=${RESOL_ICE}                  " >> ${FunctionPath} 
     188            echo "export RESOL_MBG=${RESOL_MBG}                  " >> ${FunctionPath} 
     189            echo "export RESOL_SRF=${RESOL_SRF}                  " >> ${FunctionPath} 
     190            echo "export RESOL_SBG=${RESOL_SBG}                  " >> ${FunctionPath} 
     191            echo "export listVarEnv=${listVarEnv}                " >> ${FunctionPath} 
     192            echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 
     193#           if [ X${MASTER} = Xtitane ] ; then 
     194#             echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 
     195#             echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${FunctionPath} 
     196#           fi 
     197            echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${FunctionPath} 
     198            echo "IGCM_debug_Verif_Exit_Post                     " >> ${FunctionPath} 
     199            echo "IGCM_sys_QsubPost create_ts                    " >> ${FunctionPath} 
     200#           if [ X${MASTER} = Xtitane ] ; then 
     201#             echo "EOF"                                           >> ${FunctionPath} 
     202#           fi 
     203          fi 
     204        else 
     205          IGCM_sys_RshPost <<-EOF 
    206206                    export DEBUG_debug=${DEBUG_debug} 
    207207                    export MODIPSL=${MODIPSL} 
     
    218218                    export TsTask=${TsTask} 
    219219                    unset  CompToRead 
    220                     unset  FlagToRead 
     220                    unset  FlagToRead 
    221221                    export RESOL_ATM=${RESOL_ATM} 
    222222                    export RESOL_OCE=${RESOL_OCE} 
     
    233233                    IGCM_sys_QsubPost create_ts 
    234234EOF 
    235         fi 
     235        fi 
    236236      fi 
    237237      # 
    238238      if [ X$( eval echo \${TimeSeriesChunck${Dimension}} ) = Xtrue ] ; then 
    239         # 
    240         IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED" 
    241         echo 
    242         # Need to Remember This One 
    243         SavedDateBegin=${DateBegin} 
    244         # Kind of task create_ts will perform 
    245         TsTask=Chunck${Dimension} 
    246         # Number of chunck jobs to configure and submit 
    247         eval NbJob=\${#CHUNCK${Dimension}_COMP[@]} 
    248         typeset i 
    249         i=0 
    250         until [ $i -ge $NbJob ]; do 
    251           CompToRead=$( eval echo \${CHUNCK${Dimension}_COMP[\${i}]} ) 
    252           FlagToRead=$( eval echo \${CHUNCK${Dimension}_FLAG[\${i}]} ) 
    253           NameToRead=$( eval echo \${CHUNCK${Dimension}_NAME[\${i}]} ) 
    254           ChunckSize=$( eval echo \${CHUNCK${Dimension}_SIZE[\${i}]} ) 
    255           # Chunck Length (mandatory in Year) 
    256           YearsChunckLength=$( echo ${ChunckSize} | sed -e "s/[yY]//" ) 
    257           # 
    258           IGCM_date_GetYearMonth ${DateBegin}     YearBegin MonthBegin 
    259           # 
    260           IGCM_date_GetYearMonth ${PeriodDateEnd} YearEnd   MonthEnd 
    261           # How many chunck in total since simulation began 
    262           NbYearsChunckLoop=$(( ( ${YearEnd} - ${YearBegin} + 1 ) / ${YearsChunckLength} )) 
    263           #  Tweak special case 
    264           [ $(( ( ${YearEnd} - ${YearBegin} + 1 ) % ${YearsChunckLength} )) = 0 ] && NbYearsChunckLoop=$(( ${NbYearsChunckLoop} - 1 )) 
    265           # Starting Year of the current chunck 
    266           ChunckTsYearBegin=$(( ${NbYearsChunckLoop} * ${YearsChunckLength} + ${YearBegin} )) 
    267           # Starting date of the current chunck 
    268           ChunckTsDateBegin=${ChunckTsYearBegin}${MonthBegin}01 
    269           # 
    270           Script_Post_Output=create_ts.${PeriodDateEnd}.${TsTask}.${CompToRead}.${NameToRead} 
    271           # 
    272           if [ ${RebuildFrequency} = true ] ; then 
    273             # 
     239        # 
     240        IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED" 
     241        echo 
     242        # Need to Remember This One 
     243        SavedDateBegin=${DateBegin} 
     244        # Kind of task create_ts will perform 
     245        TsTask=Chunck${Dimension} 
     246        # Number of chunck jobs to configure and submit 
     247        eval NbJob=\${#CHUNCK${Dimension}_COMP[@]} 
     248        typeset i 
     249        i=0 
     250        until [ $i -ge $NbJob ]; do 
     251          CompToRead=$( eval echo \${CHUNCK${Dimension}_COMP[\${i}]} ) 
     252          FlagToRead=$( eval echo \${CHUNCK${Dimension}_FLAG[\${i}]} ) 
     253          NameToRead=$( eval echo \${CHUNCK${Dimension}_NAME[\${i}]} ) 
     254          ChunckSize=$( eval echo \${CHUNCK${Dimension}_SIZE[\${i}]} ) 
     255          # Chunck Length (mandatory in Year) 
     256          YearsChunckLength=$( echo ${ChunckSize} | sed -e "s/[yY]//" ) 
     257          # 
     258          IGCM_date_GetYearMonth ${DateBegin}     YearBegin MonthBegin 
     259          # 
     260          IGCM_date_GetYearMonth ${PeriodDateEnd} YearEnd   MonthEnd 
     261          # How many chunck in total since simulation began 
     262          NbYearsChunckLoop=$(( ( ${YearEnd} - ${YearBegin} + 1 ) / ${YearsChunckLength} )) 
     263          #  Tweak special case 
     264          [ $(( ( ${YearEnd} - ${YearBegin} + 1 ) % ${YearsChunckLength} )) = 0 ] && NbYearsChunckLoop=$(( ${NbYearsChunckLoop} - 1 )) 
     265          # Starting Year of the current chunck 
     266          ChunckTsYearBegin=$(( ${NbYearsChunckLoop} * ${YearsChunckLength} + ${YearBegin} )) 
     267          # Starting date of the current chunck 
     268          ChunckTsDateBegin=${ChunckTsYearBegin}${MonthBegin}01 
     269          # 
     270          Script_Post_Output=create_ts.${PeriodDateEnd}.${TsTask}.${CompToRead}.${NameToRead} 
     271          # 
     272          if [ ${RebuildFrequency} = true ] ; then 
     273            # 
    274274            if [ ${PackFrequency} = true ] ; then 
    275275              FunctionPath=${R_BUFR}/FlushPost_${PeriodDateEnd}.ksh 
     
    278278            fi 
    279279            # 
    280             if [ -f ${FunctionPath} ] ; then 
    281 #             if [ X${MASTER} = Xtitane ] ; then 
    282 #               echo "IGCM_sys_RshPost <<-EOF"                       >> ${FunctionPath} 
    283 #             fi 
    284               echo "export DEBUG_debug=${DEBUG_debug}              " >> ${FunctionPath} 
    285               echo "export MODIPSL=${MODIPSL}                      " >> ${FunctionPath} 
    286               echo "export libIGCM_SX=${libIGCM}                   " >> ${FunctionPath} 
    287               echo "export libIGCM=${libIGCM_POST}                 " >> ${FunctionPath} 
    288               echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${FunctionPath} 
    289               echo "export POST_DIR=${POST_DIR}                    " >> ${FunctionPath} 
    290               echo "export MASTER=${MASTER}                        " >> ${FunctionPath} 
    291               echo "export RebuildFrequency=${RebuildFrequency}    " >> ${FunctionPath} 
    292               echo "export DateBegin=${ChunckTsDateBegin}          " >> ${FunctionPath} 
    293               echo "export PeriodDateEnd=${PeriodDateEnd}          " >> ${FunctionPath} 
    294               echo "export StandAlone=false                        " >> ${FunctionPath} 
    295               echo "export CompletedFlag=${CompletedFlag}          " >> ${FunctionPath} 
    296               echo "export TsTask=${TsTask}                        " >> ${FunctionPath} 
    297               echo "export CompToRead=${CompToRead}                " >> ${FunctionPath} 
    298               echo "export FlagToRead=${FlagToRead}                " >> ${FunctionPath} 
    299               echo "export RESOL_ATM=${RESOL_ATM}                  " >> ${FunctionPath} 
    300               echo "export RESOL_OCE=${RESOL_OCE}                  " >> ${FunctionPath} 
    301               echo "export RESOL_ICE=${RESOL_ICE}                  " >> ${FunctionPath} 
    302               echo "export RESOL_MBG=${RESOL_MBG}                  " >> ${FunctionPath} 
    303               echo "export RESOL_SRF=${RESOL_SRF}                  " >> ${FunctionPath} 
    304               echo "export RESOL_SBG=${RESOL_SBG}                  " >> ${FunctionPath} 
    305               echo "export listVarEnv=${listVarEnv}                " >> ${FunctionPath} 
    306               echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 
    307 #             if [ X${MASTER} = Xtitane ] ; then 
    308 #               echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 
    309 #               echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${FunctionPath} 
    310 #             fi 
    311               echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${FunctionPath} 
    312               echo "IGCM_debug_Verif_Exit_Post                     " >> ${FunctionPath} 
    313               echo "IGCM_sys_QsubPost create_ts                    " >> ${FunctionPath} 
    314 #             if [ X${MASTER} = Xtitane ] ; then 
    315 #               echo "EOF"                                           >> ${FunctionPath} 
    316 #             fi 
    317             fi 
    318           else 
    319             IGCM_sys_RshPost <<-EOF 
     280            if [ -f ${FunctionPath} ] ; then 
     281#             if [ X${MASTER} = Xtitane ] ; then 
     282#               echo "IGCM_sys_RshPost <<-EOF"                       >> ${FunctionPath} 
     283#             fi 
     284              echo "export DEBUG_debug=${DEBUG_debug}              " >> ${FunctionPath} 
     285              echo "export MODIPSL=${MODIPSL}                      " >> ${FunctionPath} 
     286              echo "export libIGCM_SX=${libIGCM}                   " >> ${FunctionPath} 
     287              echo "export libIGCM=${libIGCM_POST}                 " >> ${FunctionPath} 
     288              echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${FunctionPath} 
     289              echo "export POST_DIR=${POST_DIR}                    " >> ${FunctionPath} 
     290              echo "export MASTER=${MASTER}                        " >> ${FunctionPath} 
     291              echo "export RebuildFrequency=${RebuildFrequency}    " >> ${FunctionPath} 
     292              echo "export DateBegin=${ChunckTsDateBegin}          " >> ${FunctionPath} 
     293              echo "export PeriodDateEnd=${PeriodDateEnd}          " >> ${FunctionPath} 
     294              echo "export StandAlone=false                        " >> ${FunctionPath} 
     295              echo "export CompletedFlag=${CompletedFlag}          " >> ${FunctionPath} 
     296              echo "export TsTask=${TsTask}                        " >> ${FunctionPath} 
     297              echo "export CompToRead=${CompToRead}                " >> ${FunctionPath} 
     298              echo "export FlagToRead=${FlagToRead}                " >> ${FunctionPath} 
     299              echo "export RESOL_ATM=${RESOL_ATM}                  " >> ${FunctionPath} 
     300              echo "export RESOL_OCE=${RESOL_OCE}                  " >> ${FunctionPath} 
     301              echo "export RESOL_ICE=${RESOL_ICE}                  " >> ${FunctionPath} 
     302              echo "export RESOL_MBG=${RESOL_MBG}                  " >> ${FunctionPath} 
     303              echo "export RESOL_SRF=${RESOL_SRF}                  " >> ${FunctionPath} 
     304              echo "export RESOL_SBG=${RESOL_SBG}                  " >> ${FunctionPath} 
     305              echo "export listVarEnv=${listVarEnv}                " >> ${FunctionPath} 
     306              echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 
     307#             if [ X${MASTER} = Xtitane ] ; then 
     308#               echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 
     309#               echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${FunctionPath} 
     310#             fi 
     311              echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${FunctionPath} 
     312              echo "IGCM_debug_Verif_Exit_Post                     " >> ${FunctionPath} 
     313              echo "IGCM_sys_QsubPost create_ts                    " >> ${FunctionPath} 
     314#             if [ X${MASTER} = Xtitane ] ; then 
     315#               echo "EOF"                                           >> ${FunctionPath} 
     316#             fi 
     317            fi 
     318          else 
     319            IGCM_sys_RshPost <<-EOF 
    320320                        export DEBUG_debug=${DEBUG_debug} 
    321321                        export MODIPSL=${MODIPSL} 
     
    347347                        IGCM_sys_QsubPost create_ts 
    348348EOF 
    349           # 
    350           fi 
    351           # 
    352           export DateBegin=${SavedDateBegin} 
    353           # 
    354           (( i=i+1 )) 
    355           # 
    356         done 
     349            # 
     350          fi 
     351          # 
     352          export DateBegin=${SavedDateBegin} 
     353          # 
     354          (( i=i+1 )) 
     355          # 
     356        done 
    357357      fi 
    358358      (( j=j+1 )) 
     
    379379      # 
    380380      if [ -f ${FunctionPath} ] ; then 
    381         # 
    382 #       if [ X${MASTER} = Xtitane ] ; then 
    383 #         echo "IGCM_sys_RshPost <<-EOF"                     >> ${FunctionPath} 
    384 #       fi 
    385         echo "export DEBUG_debug=${DEBUG_debug}              " >> ${FunctionPath} 
    386         echo "export MODIPSL=${MODIPSL}                      " >> ${FunctionPath} 
    387         echo "export libIGCM_SX=${libIGCM}                   " >> ${FunctionPath} 
    388         echo "export libIGCM=${libIGCM_POST}                 " >> ${FunctionPath} 
    389         echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${FunctionPath} 
    390         echo "export POST_DIR=${POST_DIR}                    " >> ${FunctionPath} 
    391         echo "export MASTER=${MASTER}                        " >> ${FunctionPath} 
    392         echo "export RebuildFrequency=${RebuildFrequency}    " >> ${FunctionPath} 
    393         echo "export DateBegin=${DateBegin}                  " >> ${FunctionPath} 
    394         echo "export PeriodDateEnd=${PeriodDateEnd}          " >> ${FunctionPath} 
    395         echo "export StandAlone=false                        " >> ${FunctionPath} 
    396         echo "export RESOL_ATM=${RESOL_ATM}                  " >> ${FunctionPath} 
    397         echo "export RESOL_OCE=${RESOL_OCE}                  " >> ${FunctionPath} 
    398         echo "export RESOL_ICE=${RESOL_ICE}                  " >> ${FunctionPath} 
    399         echo "export RESOL_MBG=${RESOL_MBG}                  " >> ${FunctionPath} 
    400         echo "export RESOL_SRF=${RESOL_SRF}                  " >> ${FunctionPath} 
    401         echo "export RESOL_SBG=${RESOL_SBG}                  " >> ${FunctionPath} 
    402         echo "export listVarEnv=${listVarEnv}                " >> ${FunctionPath} 
    403         echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 
    404 #       if [ X${MASTER} = Xtitane ] ; then 
    405 #         echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 
    406 #         echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${FunctionPath} 
    407 #       fi 
    408         echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${FunctionPath} 
    409         echo "IGCM_debug_Verif_Exit_Post                     " >> ${FunctionPath} 
    410         echo "IGCM_sys_QsubPost create_se                    " >> ${FunctionPath} 
    411 #       if [ X${MASTER} = Xtitane ] ; then 
    412 #         echo "EOF"                                         >> ${FunctionPath} 
    413 #       fi 
     381      # 
     382#     if [ X${MASTER} = Xtitane ] ; then 
     383#       echo "IGCM_sys_RshPost <<-EOF"                     >> ${FunctionPath} 
     384#     fi 
     385      echo "export DEBUG_debug=${DEBUG_debug}              " >> ${FunctionPath} 
     386      echo "export MODIPSL=${MODIPSL}                      " >> ${FunctionPath} 
     387      echo "export libIGCM_SX=${libIGCM}                   " >> ${FunctionPath} 
     388      echo "export libIGCM=${libIGCM_POST}                 " >> ${FunctionPath} 
     389      echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${FunctionPath} 
     390      echo "export POST_DIR=${POST_DIR}                    " >> ${FunctionPath} 
     391      echo "export MASTER=${MASTER}                        " >> ${FunctionPath} 
     392      echo "export RebuildFrequency=${RebuildFrequency}    " >> ${FunctionPath} 
     393      echo "export DateBegin=${DateBegin}                  " >> ${FunctionPath} 
     394      echo "export PeriodDateEnd=${PeriodDateEnd}          " >> ${FunctionPath} 
     395      echo "export StandAlone=false                        " >> ${FunctionPath} 
     396      echo "export RESOL_ATM=${RESOL_ATM}                  " >> ${FunctionPath} 
     397      echo "export RESOL_OCE=${RESOL_OCE}                  " >> ${FunctionPath} 
     398      echo "export RESOL_ICE=${RESOL_ICE}                  " >> ${FunctionPath} 
     399      echo "export RESOL_MBG=${RESOL_MBG}                  " >> ${FunctionPath} 
     400      echo "export RESOL_SRF=${RESOL_SRF}                  " >> ${FunctionPath} 
     401      echo "export RESOL_SBG=${RESOL_SBG}                  " >> ${FunctionPath} 
     402      echo "export listVarEnv=${listVarEnv}                " >> ${FunctionPath} 
     403      echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 
     404#     if [ X${MASTER} = Xtitane ] ; then 
     405#       echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 
     406#       echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${FunctionPath} 
     407#     fi 
     408      echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${FunctionPath} 
     409      echo "IGCM_debug_Verif_Exit_Post                     " >> ${FunctionPath} 
     410      echo "IGCM_sys_QsubPost create_se                    " >> ${FunctionPath} 
     411#     if [ X${MASTER} = Xtitane ] ; then 
     412#       echo "EOF"                                         >> ${FunctionPath} 
     413#     fi 
    414414      fi 
    415415    else 
     
    417417            export DEBUG_debug=${DEBUG_debug} 
    418418            export MODIPSL=${MODIPSL} 
    419             export libIGCM_SX=${libIGCM} 
     419          export libIGCM_SX=${libIGCM} 
    420420            export libIGCM=${libIGCM_POST} 
    421421            export SUBMIT_DIR=${SUBMIT_DIR} 
     
    493493    Script_Post_Output=${script}.${PeriodDateEnd} 
    494494    # 
    495     IGCM_sys_RshPost <<-EOF 
    496     export DEBUG_debug=${DEBUG_debug} 
    497     export MODIPSL=${MODIPSL} 
    498     export libIGCM_SX=${libIGCM} 
    499     export libIGCM=${libIGCM_POST} 
    500     export SUBMIT_DIR=${SUBMIT_DIR} 
    501     export POST_DIR=${POST_DIR} 
    502     export MASTER=${MASTER} 
    503     export DateBegin=${PackDateBegin} 
    504     export DateEnd=${PeriodDateEnd} 
    505     export PeriodPack=${config_Post_PackFrequency} 
    506     export StandAlone=false 
    507     export listVarEnv=${listVarEnv} 
    508     export Script_Post_Output=${Script_Post_Output} 
    509     . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
    510     . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
    511     IGCM_sys_MkdirWork ${POST_DIR} 
    512     IGCM_debug_Verif_Exit_Post 
    513     IGCM_sys_QsubPost ${script} 
     495      IGCM_sys_RshPost <<-EOF 
     496      export DEBUG_debug=${DEBUG_debug} 
     497      export MODIPSL=${MODIPSL} 
     498      export libIGCM_SX=${libIGCM} 
     499      export libIGCM=${libIGCM_POST} 
     500      export SUBMIT_DIR=${SUBMIT_DIR} 
     501      export POST_DIR=${POST_DIR} 
     502      export MASTER=${MASTER} 
     503      export DateBegin=${PackDateBegin} 
     504      export DateEnd=${PeriodDateEnd} 
     505      export PeriodPack=${config_Post_PackFrequency} 
     506      export StandAlone=false 
     507      export listVarEnv=${listVarEnv} 
     508      export Script_Post_Output=${Script_Post_Output} 
     509      . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
     510      . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
     511      IGCM_sys_MkdirWork ${POST_DIR} 
     512      IGCM_debug_Verif_Exit_Post 
     513      IGCM_sys_QsubPost ${script} 
    514514EOF 
    515515    # 
     
    521521      # 
    522522      if [ -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then 
    523         # 
    524 #       if [ X${MASTER} = Xtitane ] ; then 
    525 #         echo "IGCM_sys_RshPost <<-EOF"                     >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    526 #       fi 
    527         echo "export DEBUG_debug=${DEBUG_debug}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    528         echo "export MODIPSL=${MODIPSL}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    529         echo "export libIGCM_SX=${libIGCM}                   " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    530         echo "export libIGCM=${libIGCM_POST}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    531         echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    532         echo "export POST_DIR=${POST_DIR}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    533         echo "export MASTER=${MASTER}                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    534         echo "export DateBegin=${PackDateBegin}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    535         echo "export DateEnd=${PeriodDateEnd}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    536         echo "export PeriodPack=${config_Post_PackFrequency} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    537         echo "export StandAlone=false                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    538         echo "export listVarEnv=${listVarEnv}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    539         echo "export Script_Post_Output=${Script_Post_Output}" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    540         echo "export script=${script}                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    541 #       if [ X${MASTER} = Xtitane ] ; then 
    542 #         echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    543 #         echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    544 #       fi 
    545         echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    546         echo "IGCM_debug_Verif_Exit_Post                     " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    547         echo "IGCM_sys_QsubPost ${script}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    548 #       if [ X${MASTER} = Xtitane ] ; then 
    549 #         echo "EOF"                                         >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
    550 #       fi 
     523        # 
     524#       if [ X${MASTER} = Xtitane ] ; then 
     525#         echo "IGCM_sys_RshPost <<-EOF"                     >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     526#       fi 
     527        echo "export DEBUG_debug=${DEBUG_debug}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     528        echo "export MODIPSL=${MODIPSL}                      " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     529        echo "export libIGCM_SX=${libIGCM}                   " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     530        echo "export libIGCM=${libIGCM_POST}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     531        echo "export SUBMIT_DIR=${SUBMIT_DIR}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     532        echo "export POST_DIR=${POST_DIR}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     533        echo "export MASTER=${MASTER}                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     534        echo "export DateBegin=${PackDateBegin}              " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     535        echo "export DateEnd=${PeriodDateEnd}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     536        echo "export PeriodPack=${config_Post_PackFrequency} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     537        echo "export StandAlone=false                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     538        echo "export listVarEnv=${listVarEnv}                " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     539        echo "export Script_Post_Output=${Script_Post_Output}" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     540        echo "export script=${script}                        " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     541#       if [ X${MASTER} = Xtitane ] ; then 
     542#         echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     543#         echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh"     >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     544#       fi 
     545        echo "IGCM_sys_MkdirWork ${POST_DIR}                 " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     546        echo "IGCM_debug_Verif_Exit_Post                     " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     547        echo "IGCM_sys_QsubPost ${script}                    " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     548#       if [ X${MASTER} = Xtitane ] ; then 
     549#         echo "EOF"                                         >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 
     550#       fi 
    551551      fi 
    552552    else 
    553553      IGCM_sys_RshPost <<-EOF 
    554     export DEBUG_debug=${DEBUG_debug} 
    555     export MODIPSL=${MODIPSL} 
    556     export libIGCM_SX=${libIGCM} 
    557     export libIGCM=${libIGCM_POST} 
    558     export SUBMIT_DIR=${SUBMIT_DIR} 
    559     export POST_DIR=${POST_DIR} 
    560     export MASTER=${MASTER} 
    561     export DateBegin=${PackDateBegin} 
    562     export DateEnd=${PeriodDateEnd} 
    563     export PeriodPack=${config_Post_PackFrequency} 
    564     export StandAlone=false 
    565     export listVarEnv=${listVarEnv} 
    566     export Script_Post_Output=${Script_Post_Output} 
    567     . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
    568     . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
    569     IGCM_sys_MkdirWork ${POST_DIR} 
    570     IGCM_debug_Verif_Exit_Post 
    571     IGCM_sys_QsubPost ${script} 
     554        export DEBUG_debug=${DEBUG_debug} 
     555        export MODIPSL=${MODIPSL} 
     556        export libIGCM_SX=${libIGCM} 
     557        export libIGCM=${libIGCM_POST} 
     558        export SUBMIT_DIR=${SUBMIT_DIR} 
     559        export POST_DIR=${POST_DIR} 
     560        export MASTER=${MASTER} 
     561        export DateBegin=${PackDateBegin} 
     562        export DateEnd=${PeriodDateEnd} 
     563        export PeriodPack=${config_Post_PackFrequency} 
     564        export StandAlone=false 
     565        export listVarEnv=${listVarEnv} 
     566        export Script_Post_Output=${Script_Post_Output} 
     567        . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
     568        . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
     569        IGCM_sys_MkdirWork ${POST_DIR} 
     570        IGCM_debug_Verif_Exit_Post 
     571        IGCM_sys_QsubPost ${script} 
    572572EOF 
    573     export DateBegin=${SavedDateBegin} 
    574     export DateEnd=${SavedDateEnd} 
     573      export DateBegin=${SavedDateBegin} 
     574      export DateEnd=${SavedDateEnd} 
    575575    fi 
    576576  fi 
     
    609609    listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,MASTER,RebuildFromArchive,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_SBG" 
    610610    IGCM_sys_RshPost <<-EOF 
    611     export DEBUG_debug=${DEBUG_debug} 
    612     export MODIPSL=${MODIPSL} 
    613     export libIGCM_SX=${libIGCM} 
    614     export libIGCM=${libIGCM_POST} 
    615     export SUBMIT_DIR=${SUBMIT_DIR} 
    616     export REBUILD_DIR=${REBUILD_DIR} 
    617     export POST_DIR=${POST_DIR} 
    618     export MASTER=${MASTER} 
    619     export RebuildFromArchive=${config_Post_RebuildFromArchive} 
    620     export DateBegin=${DateBegin} 
    621     export PeriodDateBegin=${PeriodDateBegin} 
    622     export PeriodDateEnd=${PeriodDateEnd} 
    623     export NbRebuildDir=${NbRebuildDir} 
    624     export StandAlone=false 
    625     export RESOL_ATM=${RESOL_ATM} 
    626     export RESOL_OCE=${RESOL_OCE} 
    627     export RESOL_ICE=${RESOL_ICE} 
    628     export RESOL_MBG=${RESOL_MBG} 
    629     export RESOL_SRF=${RESOL_SRF} 
    630     export RESOL_SBG=${RESOL_SBG} 
    631     export listVarEnv=${listVarEnv} 
    632     export Script_Post_Output=${Script_Post_Output} 
    633     . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
    634     . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
    635     IGCM_sys_MkdirWork ${POST_DIR} 
    636     IGCM_debug_Verif_Exit_Post 
    637     IGCM_sys_QsubPost ${script} 
     611      export DEBUG_debug=${DEBUG_debug} 
     612      export MODIPSL=${MODIPSL} 
     613      export libIGCM_SX=${libIGCM} 
     614      export libIGCM=${libIGCM_POST} 
     615      export SUBMIT_DIR=${SUBMIT_DIR} 
     616      export REBUILD_DIR=${REBUILD_DIR} 
     617      export POST_DIR=${POST_DIR} 
     618      export MASTER=${MASTER} 
     619      export RebuildFromArchive=${config_Post_RebuildFromArchive} 
     620      export DateBegin=${DateBegin} 
     621      export PeriodDateBegin=${PeriodDateBegin} 
     622      export PeriodDateEnd=${PeriodDateEnd} 
     623      export NbRebuildDir=${NbRebuildDir} 
     624      export StandAlone=false 
     625      export RESOL_ATM=${RESOL_ATM} 
     626      export RESOL_OCE=${RESOL_OCE} 
     627      export RESOL_ICE=${RESOL_ICE} 
     628      export RESOL_MBG=${RESOL_MBG} 
     629      export RESOL_SRF=${RESOL_SRF} 
     630      export RESOL_SBG=${RESOL_SBG} 
     631      export listVarEnv=${listVarEnv} 
     632      export Script_Post_Output=${Script_Post_Output} 
     633      . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 
     634      . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 
     635      IGCM_sys_MkdirWork ${POST_DIR} 
     636      IGCM_debug_Verif_Exit_Post 
     637      IGCM_sys_QsubPost ${script} 
    638638EOF 
    639639  fi 
     
    671671      PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 
    672672      if ( [ ${PeriodSlaveYear} -gt ${PeriodMasterYear} ] || \ 
    673         [ $(( ${PeriodMasterYear} % ${PeriodSlaveYear} )) -ne 0 ] );  then 
    674         IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
    675         IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
    676         IGCM_debug_Exit "Check your frequency" 
     673      [ $(( ${PeriodMasterYear} % ${PeriodSlaveYear} )) -ne 0 ] );  then 
     674        IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
     675        IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
     676        IGCM_debug_Exit "Check your frequency" 
    677677      else 
    678678        [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterYear} / ${PeriodSlaveYear} )) 
     
    681681      PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 
    682682      if ( [ ${PeriodSlaveMonth} -gt $(( ${PeriodMasterYear} * 12 )) ] || \ 
    683         [ $(( ( ${PeriodMasterYear} * 12 ) % ${PeriodSlaveMonth} )) -ne 0 ] ) ; then 
    684         IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
    685         IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
    686         IGCM_debug_Exit "Check your frequency" 
     683        [ $(( ( ${PeriodMasterYear} * 12 ) % ${PeriodSlaveMonth} )) -ne 0 ] ) ; then 
     684        IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
     685        IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
     686        IGCM_debug_Exit "Check your frequency" 
    687687      else 
    688688        [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( 12 * ${PeriodMasterYear} ) / ${PeriodSlaveMonth} )) 
     
    692692      NbDays=$( IGCM_date_DaysInYear ${year} ) 
    693693      if [ ${config_UserChoices_CalendarType} = 360d ] || [ ${config_UserChoices_CalendarType} = noleap ] ; then 
    694         if ( [ ${PeriodSlaveDay} -gt $(( ${PeriodMasterYear} * ${NbDays} )) ] || \ 
    695           [ $(( ( ${PeriodMasterYear} * ${NbDays} ) % ${PeriodSlaveDay} )) -ne 0 ] ; ) then 
    696           IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
    697           IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
    698           IGCM_debug_Exit "Check your frequency" 
    699         fi 
     694        if ( [ ${PeriodSlaveDay} -gt $(( ${PeriodMasterYear} * ${NbDays} )) ] || \ 
     695          [ $(( ( ${PeriodMasterYear} * ${NbDays} ) % ${PeriodSlaveDay} )) -ne 0 ] ; ) then 
     696          IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
     697          IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
     698          IGCM_debug_Exit "Check your frequency" 
     699        fi 
    700700      else 
    701         IGCM_debug_Print 1 "For ${MasterName} with leap calendar:" 
    702         IGCM_debug_Print 1 "We have a daily ${SlaveName} frequency and ${MasterName}=${MasterFrequency}" 
    703         IGCM_debug_Print 1 "No post-treatment. Case not properly handle at this moment by libIGCM. Sorry" 
    704         IGCM_debug_Exit    "Check your frequency ${MasterName} and choose a daily frequency for this one too." 
     701        IGCM_debug_Print 1 "For ${MasterName} with leap calendar:" 
     702        IGCM_debug_Print 1 "We have a daily ${SlaveName} frequency and ${MasterName}=${MasterFrequency}" 
     703        IGCM_debug_Print 1 "No post-treatment. Case not properly handle at this moment by libIGCM. Sorry" 
     704        IGCM_debug_Exit    "Check your frequency ${MasterName} and choose a daily frequency for this one too." 
    705705      fi ;; 
    706706    esac ;; 
     
    711711      PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 
    712712      if ( [ ${PeriodMasterMonth} -gt $(( ${PeriodSlaveYear} * 12 )) ] || \ 
    713         [ $(( ${PeriodMasterMonth} % ( ${PeriodSlaveYear} * 12 ) )) -ne 0 ] ) ; then 
    714         IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
    715         IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
    716         IGCM_debug_Exit "Check your frequency" 
     713        [ $(( ${PeriodMasterMonth} % ( ${PeriodSlaveYear} * 12 ) )) -ne 0 ] ) ; then 
     714        IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
     715        IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
     716        IGCM_debug_Exit "Check your frequency" 
    717717      else 
    718718        [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ( 12 * ${PeriodSlaveYear} ) )) 
     
    721721      PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 
    722722      if ( [ ${PeriodSlaveMonth} -gt ${PeriodMasterMonth} ] || \ 
    723         [ $(( ${PeriodMasterMonth} % ${PeriodSlaveMonth} )) -ne 0 ] ) ;  then            
    724         IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
    725         IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
    726         IGCM_debug_Exit "Check your frequency" 
     723        [ $(( ${PeriodMasterMonth} % ${PeriodSlaveMonth} )) -ne 0 ] ) ;  then          
     724        IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
     725        IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
     726        IGCM_debug_Exit "Check your frequency" 
    727727      else 
    728728        [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ${PeriodSlaveMonth} )) 
     
    750750        IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 
    751751        IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 
    752         IGCM_debug_Exit "Check your frequency" 
     752        IGCM_debug_Exit "Check your frequency" 
    753753      else 
    754754        [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterDay} / ${PeriodSlaveDay} )) 
     
    797797      PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 
    798798      if [ $(( ( ${CumulPeriod} * ${PeriodSlaveYear} - ${PeriodOffset} ) % ${PeriodMasterYear} )) -eq 0 ] ;  then 
    799         if [ $(( ${CumulPeriod} * ${PeriodSlaveYear} - ${PeriodOffset} )) -ne 0 ] ; then 
    800           eval ${post_freq}=true ; POST=true 
    801           [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterYear} / ${PeriodSlaveYear} )) 
    802         fi 
     799        if [ $(( ${CumulPeriod} * ${PeriodSlaveYear} - ${PeriodOffset} )) -ne 0 ] ; then 
     800          eval ${post_freq}=true ; POST=true 
     801          [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterYear} / ${PeriodSlaveYear} )) 
     802        fi 
    803803      fi;; 
    804804    *M|*m) 
    805805      PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 
    806806      if [ $(( ( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} * 12 ) % ( ${PeriodMasterYear} * 12 ) )) -eq 0 ] ; then 
    807         if [ $(( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} * 12 )) -ne 0 ] ; then 
    808           eval ${post_freq}=true ; POST=true 
    809           [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( 12 * ${PeriodMasterYear} ) / ${PeriodSlaveMonth} )) 
    810         fi 
     807        if [ $(( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} * 12 )) -ne 0 ] ; then 
     808          eval ${post_freq}=true ; POST=true 
     809          [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( 12 * ${PeriodMasterYear} ) / ${PeriodSlaveMonth} )) 
     810        fi 
    811811      fi;; 
    812812    *D|*d) 
     
    814814      NbDays=$( IGCM_date_DaysInYear ${year} ) 
    815815      if [ $(( ( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodSlaveDay} ) ) % ( ${NbDays} * ${PeriodMasterYear} / ${PeriodSlaveDay} ) )) -eq 0 ] ; then 
    816         if [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodSlaveDay} ) )) -ne 0 ] ; then 
    817           eval ${post_freq}=true ; POST=true 
    818           [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( ${NbDays} * ${PeriodMasterYear} ) / ${PeriodSlaveDay} )) 
    819         fi 
     816        if [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodSlaveDay} ) )) -ne 0 ] ; then 
     817          eval ${post_freq}=true ; POST=true 
     818          [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( ${NbDays} * ${PeriodMasterYear} ) / ${PeriodSlaveDay} )) 
     819        fi 
    820820      fi;; 
    821821    esac ;; 
     
    826826      PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 
    827827      if [ $(( ( ${CumulPeriod} * ${PeriodSlaveYear} * 12 - ${PeriodOffset} ) % ( ${PeriodMasterMonth} ) )) -eq 0 ] ; then 
    828         if [ $(( ${CumulPeriod} * ${PeriodSlaveYear} * 12 - ${PeriodOffset} )) -ne 0 ] ; then 
    829           eval ${post_freq}=true ; POST=true 
    830           [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ( 12 * ${PeriodSlaveYear} ) )) 
    831         fi 
     828        if [ $(( ${CumulPeriod} * ${PeriodSlaveYear} * 12 - ${PeriodOffset} )) -ne 0 ] ; then 
     829          eval ${post_freq}=true ; POST=true 
     830          [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ( 12 * ${PeriodSlaveYear} ) )) 
     831        fi 
    832832      fi;; 
    833833    *M|*m) 
    834834      PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 
    835835      if [ $(( ( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} ) % ${PeriodMasterMonth} )) -eq 0 ] ;  then 
    836         if [ $(( ${CumulPeriod} * ${PeriodSlaveMonth} -  ${PeriodOffset} )) -ne 0 ] ; then  
    837           eval ${post_freq}=true ; POST=true 
    838           [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ${PeriodSlaveMonth} )) 
    839         fi 
     836        if [ $(( ${CumulPeriod} * ${PeriodSlaveMonth} -  ${PeriodOffset} )) -ne 0 ] ; then  
     837          eval ${post_freq}=true ; POST=true 
     838          [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ${PeriodSlaveMonth} )) 
     839        fi 
    840840      fi;; 
    841841    *D|*d) 
     
    856856      if [ $(( ( ${CumulPeriod} * ${PeriodSlaveDay} - ${PeriodOffset} ) % ${PeriodMasterDay} )) -eq 0 ] ;  then 
    857857        if [ $(( ${CumulPeriod} * ${PeriodSlaveDay} - ${PeriodOffset} )) -ne 0 ] ; then 
    858           eval ${post_freq}=true ; POST=true 
    859           [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterDay} / ${PeriodSlaveDay} )) 
    860         fi 
     858          eval ${post_freq}=true ; POST=true 
     859          [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterDay} / ${PeriodSlaveDay} )) 
     860        fi 
    861861      fi;; 
    862862    esac ;; 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_iitm.ksh

    r785 r786  
    247247    IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 
    248248    if ( $DEBUG_sys ) ; then 
    249         echo "IGCM_sys_Mkdir :" $@ 
     249      echo "IGCM_sys_Mkdir :" $@ 
    250250    fi 
    251251    if [ ! -d ${1} ]; then 
    252         \mkdir -p $1 
    253         if [ $? -gt 0 ] ; then 
    254             echo "IGCM_sys_Mkdir : erreur." 
    255             IGCM_debug_Exit "IGCM_sys_Mkdir" 
    256         fi 
     252      \mkdir -p $1 
     253      if [ $? -gt 0 ] ; then 
     254        echo "IGCM_sys_Mkdir : erreur." 
     255        IGCM_debug_Exit "IGCM_sys_Mkdir" 
     256      fi 
    257257    fi 
    258258    # vérification : 
    259259    if [ ! -d ${1} ] ; then 
    260         echo "IGCM_sys_Mkdir : erreur." 
    261         IGCM_debug_Exit "IGCM_sys_Mkdir" 
     260      echo "IGCM_sys_Mkdir : erreur." 
     261      IGCM_debug_Exit "IGCM_sys_Mkdir" 
    262262    fi 
    263263    IGCM_debug_PopStack "IGCM_sys_Mkdir" 
     
    272272    IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 
    273273    if ( $DEBUG_sys ) ; then 
    274         echo "IGCM_sys_MkdirArchive :" $@ 
     274      echo "IGCM_sys_MkdirArchive :" $@ 
    275275    fi 
    276276    #- creation de repertoire sur le serveur fichier 
     
    278278 
    279279    if [ $? -gt 0 ] ; then 
    280         echo "IGCM_sys_MkdirArchive : erreur." 
    281         IGCM_debug_Exit "IGCM_sys_MkdirArchive" 
     280      echo "IGCM_sys_MkdirArchive : erreur." 
     281      IGCM_debug_Exit "IGCM_sys_MkdirArchive" 
    282282    fi 
    283283    IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 
     
    292292    IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 
    293293    if ( $DEBUG_sys ) ; then 
    294         echo "IGCM_sys_MkdirWork :" $@ 
     294      echo "IGCM_sys_MkdirWork :" $@ 
    295295    fi 
    296296    #- creation de repertoire sur le serveur fichier 
    297297    if [ ! -d ${1} ]; then  
    298         \mkdir -p $1 
    299         if [ $? -gt 0 ] ; then 
    300             echo "IGCM_sys_MkdirWork : erreur." 
    301             IGCM_debug_Exit "IGCM_sys_MkdirWork" 
    302         fi 
     298      \mkdir -p $1 
     299      if [ $? -gt 0 ] ; then 
     300        echo "IGCM_sys_MkdirWork : erreur." 
     301        IGCM_debug_Exit "IGCM_sys_MkdirWork" 
     302      fi 
    303303    fi 
    304304    IGCM_debug_PopStack "IGCM_sys_MkdirWork" 
     
    313313    IGCM_debug_PushStack "IGCM_sys_Cd" $@ 
    314314    if ( $DEBUG_sys ) ; then 
    315         echo "IGCM_sys_Cd :" $@ 
     315      echo "IGCM_sys_Cd :" $@ 
    316316    fi 
    317317    \cd $1 
    318318    if [ $? -gt 0 ] ; then 
    319         echo "IGCM_sys_Cd : erreur." 
    320         IGCM_debug_Exit "IGCM_sys_Cd" 
     319      echo "IGCM_sys_Cd : erreur." 
     320      IGCM_debug_Exit "IGCM_sys_Cd" 
    321321    fi 
    322322    IGCM_debug_PopStack "IGCM_sys_Cd" 
     
    331331    IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 
    332332    if ( $DEBUG_sys ) ; then 
    333         echo "IGCM_sys_Chmod :" $@ 
     333      echo "IGCM_sys_Chmod :" $@ 
    334334    fi 
    335335    if [ $DRYRUN -le 1 ]; then 
    336         \chmod $@ 
    337         if [ $? -gt 0 ] ; then 
    338             echo "IGCM_sys_Chmod : erreur." 
    339             IGCM_debug_Exit "IGCM_sys_Chmod" 
    340         fi 
     336      \chmod $@ 
     337      if [ $? -gt 0 ] ; then 
     338        echo "IGCM_sys_Chmod : erreur." 
     339        IGCM_debug_Exit "IGCM_sys_Chmod" 
     340      fi 
    341341    else 
    342         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     342      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    343343    fi 
    344344    IGCM_debug_PopStack "IGCM_sys_Chmod" 
     
    356356    set +A sizeF -- $( ls -la ${1} ) 
    357357    if [ $? -gt 0 ] ; then 
    358         IGCM_debug_Exit "IGCM_sys_FileSize" 
     358      IGCM_debug_Exit "IGCM_sys_FileSize" 
    359359    fi 
    360360    eval ${2}=${sizeF[4]} 
     
    371371    IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 
    372372    if ( $DEBUG_sys ) ; then 
    373         echo "IGCM_sys_TestDir :" $@ 
     373      echo "IGCM_sys_TestDir :" $@ 
    374374    fi 
    375375    typeset ExistFlag 
     
    388388    IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 
    389389    if ( $DEBUG_sys ) ; then 
    390         echo "IGCM_sys_TestDirArchive :" $@ 
     390      echo "IGCM_sys_TestDirArchive :" $@ 
    391391    fi 
    392392    typeset ExistFlag 
     
    420420    IGCM_sys_RshArchive "ls ${@} 2>/dev/null | wc -l" 
    421421    if [ $? -gt 0 ] ; then 
    422         echo "IGCM_sys_CountFileArchive : erreur." 
     422      echo "IGCM_sys_CountFileArchive : erreur." 
    423423    fi 
    424424    IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 
     
    433433    IGCM_debug_PushStack "IGCM_sys_Tree" $@ 
    434434    if ( $DEBUG_sys ) ; then 
    435         echo "IGCM_sys_Tree :" $@ 
     435      echo "IGCM_sys_Tree :" $@ 
    436436    fi 
    437437 
     
    449449    IGCM_debug_PushStack "IGCM_sys_Tar" $@ 
    450450    if ( $DEBUG_sys ) ; then 
    451         echo "IGCM_sys_Tar :" $@ 
     451      echo "IGCM_sys_Tar :" $@ 
    452452    fi 
    453453    \tar cvf $@ 
    454454    if [ $? -gt 0 ] ; then 
    455         echo "IGCM_sys_Tar : erreur." 
    456         IGCM_debug_Exit "IGCM_sys_Tar" 
     455      echo "IGCM_sys_Tar : erreur." 
     456      IGCM_debug_Exit "IGCM_sys_Tar" 
    457457    fi 
    458458    \tar tvf $1 
     
    469469    IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 
    470470    if ( $DEBUG_sys ) ; then 
    471         echo "IGCM_sys_UnTar :" $@ 
     471      echo "IGCM_sys_UnTar :" $@ 
    472472    fi 
    473473    \tar xvf $1 
    474474    if [ $? -gt 0 ] ; then 
    475         echo "IGCM_sys_UnTar : erreur." 
    476         IGCM_debug_Exit "IGCM_sys_UnTar" 
     475      echo "IGCM_sys_UnTar : erreur." 
     476      IGCM_debug_Exit "IGCM_sys_UnTar" 
    477477    fi 
    478478    IGCM_debug_PopStack "IGCM_sys_UnTar" 
     
    487487    IGCM_debug_PushStack "IGCM_sys_Qsub" $@ 
    488488    if ( $DEBUG_sys ) ; then 
    489         echo "IGCM_sys_Qsub :" $@ 
     489      echo "IGCM_sys_Qsub :" $@ 
    490490    fi 
    491491    { 
     
    494494    } 
    495495    if [ ${ERROR} -gt 0 ] ; then 
    496         echo "IGCM_sys_Qsub : erreur $@." 
    497         IGCM_debug_Exit "IGCM_sys_Qsub" 
     496      echo "IGCM_sys_Qsub : erreur $@." 
     497      IGCM_debug_Exit "IGCM_sys_Qsub" 
    498498    fi 
    499499    IGCM_debug_PopStack "IGCM_sys_Qsub" 
     
    508508    IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 
    509509    if ( $DEBUG_sys ) ; then 
    510         echo "IGCM_sys_QsubPost :" $@ 
     510      echo "IGCM_sys_QsubPost :" $@ 
    511511    fi 
    512512    cd ${POST_DIR} 
     
    514514    cd - 
    515515    if [ $? -gt 0 ] ; then 
    516         echo "IGCM_sys_QsubPost : erreur " $@ 
    517         IGCM_debug_Exit "IGCM_sys_QsubPost" 
     516      echo "IGCM_sys_QsubPost : erreur " $@ 
     517      IGCM_debug_Exit "IGCM_sys_QsubPost" 
    518518    fi 
    519519    IGCM_debug_PopStack "IGCM_sys_QsubPost" 
     
    533533    RET=$1 
    534534    if [ ! $RET ] ; then 
    535         echo "rsync error !" 
     535      echo "rsync error !" 
    536536    fi 
    537537 
    538538    if [ $MYLANG = "fr" ]; then 
    539         case $RET in 
    540             0)  return ;; 
    541             1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
    542                 echo "Erreur de syntaxe ou d'utilisation." 
    543                 return;; 
    544             2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
    545                 echo "Incompatibilité de protocole." 
    546                 return;; 
    547             3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
    548                 echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
    549                 echo "répertoires" 
    550                 return;; 
    551             4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
    552                 echo "Action demandée non supportée : une tentative de manipulation de" 
    553                 echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
    554                 echo "été faite ; ou une option qui est supportée par le  client  mais" 
    555                 echo "pas par le serveur a été spécifiée." 
    556                 return;; 
    557             10) echo "Erreur de rsync ; RERR_SOCKETIO" 
    558                 echo "Erreur dans le socket d'entrée sortie" 
    559                 return;; 
    560             11) echo "Erreur de rsync ; RERR_FILEIO" 
    561                 echo "Erreur d'entrée sortie fichier" 
    562                 return;; 
    563             12) echo "Erreur de rsync ; RERR_STREAMIO" 
    564                 echo "Erreur dans flux de donnée du protocole rsync" 
    565                 return;; 
    566             13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
    567                 echo "Erreur avec les diagnostics du programme" 
    568                 return;; 
    569             14) echo "Erreur de rsync ; RERR_IPC" 
    570                 echo "Erreur dans le code IPC" 
    571                 return;; 
    572             20) echo "Erreur de rsync ; RERR_SIGNAL" 
    573                 echo "SIGUSR1 ou SIGINT reçu" 
    574                 return;; 
    575             21) echo "Erreur de rsync ; RERR_WAITCHILD" 
    576                 echo "Une erreur retournée par waitpid()" 
    577                 return;; 
    578             22) echo "Erreur de rsync ; RERR_MALLOC" 
    579                 echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
    580                 return;; 
    581             23) echo "" 
     539      case $RET in 
     540          0)  return ;; 
     541          1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
     542            echo "Erreur de syntaxe ou d'utilisation." 
     543            return;; 
     544          2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
     545            echo "Incompatibilité de protocole." 
     546            return;; 
     547          3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
     548            echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
     549            echo "répertoires" 
     550            return;; 
     551          4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
     552            echo "Action demandée non supportée : une tentative de manipulation de" 
     553            echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
     554            echo "été faite ; ou une option qui est supportée par le  client  mais" 
     555            echo "pas par le serveur a été spécifiée." 
     556            return;; 
     557          10) echo "Erreur de rsync ; RERR_SOCKETIO" 
     558            echo "Erreur dans le socket d'entrée sortie" 
     559            return;; 
     560          11) echo "Erreur de rsync ; RERR_FILEIO" 
     561            echo "Erreur d'entrée sortie fichier" 
     562            return;; 
     563          12) echo "Erreur de rsync ; RERR_STREAMIO" 
     564            echo "Erreur dans flux de donnée du protocole rsync" 
     565            return;; 
     566          13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
     567            echo "Erreur avec les diagnostics du programme" 
     568            return;; 
     569          14) echo "Erreur de rsync ; RERR_IPC" 
     570            echo "Erreur dans le code IPC" 
     571            return;; 
     572          20) echo "Erreur de rsync ; RERR_SIGNAL" 
     573            echo "SIGUSR1 ou SIGINT reçu" 
     574            return;; 
     575          21) echo "Erreur de rsync ; RERR_WAITCHILD" 
     576            echo "Une erreur retournée par waitpid()" 
     577            return;; 
     578          22) echo "Erreur de rsync ; RERR_MALLOC" 
     579            echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
     580            return;; 
     581          23) echo "" 
    582582                echo "Erreur fichier inexistant" 
    583                 return;; 
    584             30) echo "Erreur de rsync ; RERR_TIMEOUT" 
    585                 echo "Temps d'attente écoulé dans l'envoi/réception de données" 
    586                 return;; 
    587             *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
    588                 return;; 
    589         esac 
     583            return;; 
     584          30) echo "Erreur de rsync ; RERR_TIMEOUT" 
     585            echo "Temps d'attente écoulé dans l'envoi/réception de données" 
     586            return;; 
     587          *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
     588            return;; 
     589      esac 
    590590    elif [ $MYLANG = "en" ] ; then 
    591         case $RET in 
    592             0)  return;;                 
    593             1)  echo "rsync error : Syntax or usage error " 
    594                 return;; 
    595             2)  echo "rsync error : Protocol incompatibility " 
    596                 return;; 
    597             3)  echo "rsync error : Errors selecting input/output files, dirs" 
    598                 return;; 
    599             4)  echo "rsync error : Requested action not supported: an attempt" 
    600                 echo "was made to manipulate 64-bit files on a platform that cannot support" 
    601                 echo "them; or an option was specified that is supported by the client and" 
    602                 echo "not by the server." 
    603                 return;; 
    604             5)  echo "rsync error : Error starting client-server protocol" 
    605                 return;; 
    606             10) echo "rsync error : Error in socket I/O " 
    607                 return;; 
    608             11) echo "rsync error : Error in file I/O " 
    609                 return;; 
    610             12) echo "rsync error : Error in rsync protocol data stream " 
    611                 return;; 
    612             13) echo "rsync error : Errors with program diagnostics " 
    613                 return;; 
    614             14) echo "rsync error : Error in IPC code " 
    615                 return;; 
    616             20) echo "rsync error : Received SIGUSR1 or SIGINT " 
    617                 return;; 
    618             21) echo "rsync error : Some error returned by waitpid() " 
    619                 return;; 
    620             22) echo "rsync error : Error allocating core memory buffers " 
    621                 return;; 
    622             23) echo "rsync error : Partial transfer due to error" 
    623                 return;; 
    624             24) echo "rsync error : Partial transfer due to vanished source files" 
    625                 return;; 
    626             30) echo "rsync error : Timeout in data send/receive " 
    627                 return;; 
    628             *)  echo "rsync error : return code of rsync unknown :" $RET 
    629                 return;; 
    630         esac 
     591      case $RET in 
     592          0)  return;;         
     593          1)  echo "rsync error : Syntax or usage error " 
     594            return;; 
     595          2)  echo "rsync error : Protocol incompatibility " 
     596            return;; 
     597          3)  echo "rsync error : Errors selecting input/output files, dirs" 
     598            return;; 
     599          4)  echo "rsync error : Requested action not supported: an attempt" 
     600            echo "was made to manipulate 64-bit files on a platform that cannot support" 
     601            echo "them; or an option was specified that is supported by the client and" 
     602            echo "not by the server." 
     603            return;; 
     604          5)  echo "rsync error : Error starting client-server protocol" 
     605            return;; 
     606          10) echo "rsync error : Error in socket I/O " 
     607            return;; 
     608          11) echo "rsync error : Error in file I/O " 
     609            return;; 
     610          12) echo "rsync error : Error in rsync protocol data stream " 
     611            return;; 
     612          13) echo "rsync error : Errors with program diagnostics " 
     613            return;; 
     614          14) echo "rsync error : Error in IPC code " 
     615            return;; 
     616          20) echo "rsync error : Received SIGUSR1 or SIGINT " 
     617            return;; 
     618          21) echo "rsync error : Some error returned by waitpid() " 
     619            return;; 
     620          22) echo "rsync error : Error allocating core memory buffers " 
     621            return;; 
     622          23) echo "rsync error : Partial transfer due to error" 
     623            return;; 
     624          24) echo "rsync error : Partial transfer due to vanished source files" 
     625            return;; 
     626          30) echo "rsync error : Timeout in data send/receive " 
     627            return;; 
     628          *)  echo "rsync error : return code of rsync unknown :" $RET 
     629            return;; 
     630      esac 
    631631    else 
    632         echo "unknown language $MYLANG." 
    633         return 
     632      echo "unknown language $MYLANG." 
     633      return 
    634634    fi 
    635635} 
     
    643643    IGCM_debug_PushStack "IGCM_sys_Cp" $@ 
    644644    if ( $DEBUG_sys ) ; then 
    645         echo "IGCM_sys_Cp :" $@ 
     645      echo "IGCM_sys_Cp :" $@ 
    646646    fi 
    647647 
     
    653653 
    654654    if [ ${RET} -gt 0 ] ; then 
    655         echo "IGCM_sys_Cp : error." 
    656         cat out_rsync 
    657         IGCM_debug_Exit "IGCM_sys_Cp" 
     655      echo "IGCM_sys_Cp : error." 
     656      cat out_rsync 
     657      IGCM_debug_Exit "IGCM_sys_Cp" 
    658658    fi 
    659659    IGCM_debug_PopStack "IGCM_sys_Cp" 
     
    668668    IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 
    669669    if ( $DEBUG_sys ) ; then 
    670         echo "IGCM_sys_Rm :" $@ 
     670      echo "IGCM_sys_Rm :" $@ 
    671671    fi 
    672672 
     
    678678 
    679679    if [ ${RET} -gt 0 ] ; then 
    680         echo "IGCM_sys_Rm : error." 
    681         cat out_rsync 
    682         IGCM_debug_Exit "IGCM_sys_Rm" 
     680      echo "IGCM_sys_Rm : error." 
     681      cat out_rsync 
     682      IGCM_debug_Exit "IGCM_sys_Rm" 
    683683    fi 
    684684    IGCM_debug_PopStack "IGCM_sys_Rm" 
     
    694694    IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 
    695695    if ( $DEBUG_sys ) ; then 
    696         echo "IGCM_sys_RmRunDir :" $@ 
     696      echo "IGCM_sys_RmRunDir :" $@ 
    697697    fi 
    698698 
     
    704704 
    705705    if [ ${RET} -gt 0 ] ; then 
    706         echo "IGCM_sys_RmRunDir : error." 
    707         cat out_rsync 
    708         IGCM_debug_Exit "IGCM_sys_RmRunDir" 
     706      echo "IGCM_sys_RmRunDir : error." 
     707      cat out_rsync 
     708      IGCM_debug_Exit "IGCM_sys_RmRunDir" 
    709709    else 
    710         \rm out_rsync 
     710      \rm out_rsync 
    711711    fi 
    712712 
     
    722722    IGCM_debug_PushStack "IGCM_sys_Mv" $@ 
    723723    if ( $DEBUG_sys ) ; then 
    724         echo "IGCM_sys_Mv :" $@ 
     724      echo "IGCM_sys_Mv :" $@ 
    725725    fi 
    726726 
     
    728728 
    729729        typeset RET 
    730              
     730 
    731731        echo mv $@ > out_rsync 2>&1 
    732732        \mv $@ >> out_rsync 2>&1 
    733733        RET=$? 
    734      
     734 
    735735        if [ ${RET} -gt 0 ] ; then 
    736736            echo "IGCM_sys_Mv : error in mv." 
     
    753753    IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 
    754754    if ( $DEBUG_sys ) ; then 
    755         echo "IGCM_sys_Put_Dir :" $@ 
     755      echo "IGCM_sys_Put_Dir :" $@ 
    756756    fi 
    757757    if [ $DRYRUN = 0 ]; then 
    758         if [ ! -d ${1} ] ; then 
    759             echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
    760             IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
    761             return 
    762         fi 
    763  
    764         typeset RET 
    765  
    766         # Only if we use rsync 
    767         #IGCM_sys_TestDirArchive $( dirname $2 ) 
    768         # 
    769         #USUAL WAY 
    770         \cp -r $1 $2 > out_rsync 2>&1 
    771         RET=$? 
    772  
    773         if [ ${RET} -gt 0 ] ; then 
    774             echo "IGCM_sys_Put_Dir : error." 
    775             cat out_rsync 
    776             IGCM_debug_Exit "IGCM_sys_Put_Dir" 
    777         fi 
     758      if [ ! -d ${1} ] ; then 
     759          echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
     760          IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     761          return 
     762      fi 
     763 
     764      typeset RET 
     765 
     766      # Only if we use rsync 
     767      #IGCM_sys_TestDirArchive $( dirname $2 ) 
     768      # 
     769      #USUAL WAY 
     770      \cp -r $1 $2 > out_rsync 2>&1 
     771      RET=$? 
     772 
     773      if [ ${RET} -gt 0 ] ; then 
     774          echo "IGCM_sys_Put_Dir : error." 
     775          cat out_rsync 
     776          IGCM_debug_Exit "IGCM_sys_Put_Dir" 
     777      fi 
    778778    else 
    779         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     779      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    780780    fi 
    781781    IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     
    790790    IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 
    791791    if ( $DEBUG_sys ) ; then 
    792         echo "IGCM_sys_Get_Dir :" $@ 
     792      echo "IGCM_sys_Get_Dir :" $@ 
    793793    fi 
    794794    if [ $DRYRUN = 0 ]; then 
    795         if [ ! -d ${1} ] ; then 
    796             echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 
    797             IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
    798             return 
    799         fi 
    800  
    801         typeset RET 
    802  
    803         #USUAL WAY 
    804         \cp -rp $1 $2 > out_rsync 2>&1 
    805         RET=$? 
    806  
    807         if [ ${RET} -gt 0 ] ; then 
    808             echo "IGCM_sys_Get_Dir : error." 
    809             cat out_rsync 
    810             IGCM_debug_Exit "IGCM_sys_Get_Dir" 
    811         fi 
     795      if [ ! -d ${1} ] ; then 
     796          echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 
     797          IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
     798          return 
     799      fi 
     800 
     801      typeset RET 
     802 
     803      #USUAL WAY 
     804      \cp -rp $1 $2 > out_rsync 2>&1 
     805      RET=$? 
     806 
     807      if [ ${RET} -gt 0 ] ; then 
     808          echo "IGCM_sys_Get_Dir : error." 
     809          cat out_rsync 
     810          IGCM_debug_Exit "IGCM_sys_Get_Dir" 
     811      fi 
    812812    else 
    813         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     813      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    814814    fi 
    815815    IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
     
    824824    IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 
    825825    if ( $DEBUG_sys ) ; then 
    826         echo "IGCM_sys_Get_Master :" $@ 
     826      echo "IGCM_sys_Get_Master :" $@ 
    827827    fi 
    828828    if [ $DRYRUN = 0 ]; then 
     
    845845        fi 
    846846    else 
    847         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     847      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    848848    fi 
    849849    IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     
    859859    IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 
    860860    if ( $DEBUG_sys ) ; then 
    861         echo "IGCM_sys_Put_Rest :" $@ 
     861      echo "IGCM_sys_Put_Rest :" $@ 
    862862    fi 
    863863    if [ $DRYRUN = 0 ]; then 
    864         if [ ! -f ${1} ] ; then 
    865             echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
    866             IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    867         fi 
    868  
    869         typeset RET 
    870         # 
    871         if [ X${JobType} = XRUN ] ; then 
    872             IGCM_sys_Chmod 444 ${1} 
    873         fi 
    874         # 
    875         # Only if we use rsync 
    876         #IGCM_sys_MkdirArchive $( dirname $2 ) 
    877         # 
    878         #USUAL WAY 
    879         \cp $1 $2 > out_rsync 2>&1 
    880         RET=$? 
    881  
    882         if [ ${RET} -gt 0 ] ; then 
    883             echo "IGCM_sys_Put_Rest : error." 
    884             cat out_rsync 
    885             IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    886         fi 
     864      if [ ! -f ${1} ] ; then 
     865          echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
     866          IGCM_debug_Exit "IGCM_sys_Put_Rest" 
     867      fi 
     868 
     869      typeset RET 
     870      # 
     871      if [ X${JobType} = XRUN ] ; then 
     872          IGCM_sys_Chmod 444 ${1} 
     873      fi 
     874      # 
     875      # Only if we use rsync 
     876      #IGCM_sys_MkdirArchive $( dirname $2 ) 
     877      # 
     878      #USUAL WAY 
     879      \cp $1 $2 > out_rsync 2>&1 
     880      RET=$? 
     881 
     882      if [ ${RET} -gt 0 ] ; then 
     883          echo "IGCM_sys_Put_Rest : error." 
     884          cat out_rsync 
     885          IGCM_debug_Exit "IGCM_sys_Put_Rest" 
     886      fi 
    887887    else 
    888         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     888      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    889889    fi 
    890890    IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
     
    899899    IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 
    900900    if ( $DEBUG_sys ) ; then 
    901         echo "IGCM_sys_Put_Out :" $@ 
     901      echo "IGCM_sys_Put_Out :" $@ 
    902902    fi 
    903903    if [ $DRYRUN = 0 ]; then 
    904         if [ ! -f ${1} ] ; then 
    905             echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
    906             IGCM_debug_PopStack "IGCM_sys_Put_Out" 
    907             return 1 
    908         fi 
    909         # 
    910         IGCM_sys_MkdirArchive $( dirname $2 ) 
    911         # 
    912         typeset RET 
    913         # 
    914         if [ X${JobType} = XRUN ] ; then 
    915             if [ X${3} = X ] ; then 
    916                 IGCM_sys_Chmod 444 ${1} 
    917             fi 
    918         fi 
    919         # 
    920         #USUAL WAY 
    921         \cp $1 $2 > out_rsync 2>&1 
    922         RET=$? 
    923  
    924         if [ ${RET} -gt 0 ] ; then 
    925             echo "IGCM_sys_Put_Out : error." 
    926             cat out_rsync 
    927             IGCM_debug_Exit "IGCM_sys_Put_Out" 
    928         fi 
     904      if [ ! -f ${1} ] ; then 
     905          echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
     906          IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     907          return 1 
     908      fi 
     909      # 
     910      IGCM_sys_MkdirArchive $( dirname $2 ) 
     911      # 
     912      typeset RET 
     913      # 
     914      if [ X${JobType} = XRUN ] ; then 
     915          if [ X${3} = X ] ; then 
     916            IGCM_sys_Chmod 444 ${1} 
     917          fi 
     918      fi 
     919      # 
     920      #USUAL WAY 
     921      \cp $1 $2 > out_rsync 2>&1 
     922      RET=$? 
     923 
     924      if [ ${RET} -gt 0 ] ; then 
     925          echo "IGCM_sys_Put_Out : error." 
     926          cat out_rsync 
     927          IGCM_debug_Exit "IGCM_sys_Put_Out" 
     928      fi 
    929929    else 
    930         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     930      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    931931    fi 
    932932    IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     
    945945 
    946946    if ( $DEBUG_sys ) ; then 
    947         echo "IGCM_sys_Get :" $@ 
     947      echo "IGCM_sys_Get :" $@ 
    948948    fi 
    949949    if [ $DRYRUN -le 2 ]; then 
    950         if [ X${1} = X'/l' ] ; then 
     950      if [ X${1} = X'/l' ] ; then 
    951951            # test if the first file is present in the old computation : 
    952             eval set +A dm_liste \${${2}} 
    953         else 
    954             dm_liste=${1} 
    955         fi 
    956         eval DEST=\${${#}} 
     952          eval set +A dm_liste \${${2}} 
     953      else 
     954          dm_liste=${1} 
     955      fi 
     956      eval DEST=\${${#}} 
    957957 
    958958        # test if the (first) file is present in the old computation : 
    959         IGCM_sys_TestFileArchive ${dm_liste[0]} 
    960         RET=$? 
     959      IGCM_sys_TestFileArchive ${dm_liste[0]} 
     960      RET=$? 
    961961        if [ ${RET} -gt 0 ] ; then 
    962             echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
    963             IGCM_debug_Exit "IGCM_sys_Get" 
    964             return 
     962          echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
     963          IGCM_debug_Exit "IGCM_sys_Get" 
     964          return 
    965965        fi 
    966966 
    967         # SD : dm_liste is not suited for computing job 
    968         #      because we change filename during transfert 
    969         #      dm_liste is better suited for post-treatment 
    970         #dm_liste=" " 
    971         #(( ifile=1 )) 
    972         #while [ $ifile -lt $# ] ; do 
    973         #    dm_liste=$( eval echo ${dm_liste} " "\${${ifile}} ) 
    974         #    (( ifile = ifile + 1 )) 
    975         #done 
    976         #DEST=$( eval echo \${${#}} ) 
    977  
    978         #USUAL WAY 
    979         \cp ${dm_liste[*]} ${DEST} > out_rsync 2>&1 
    980         RET=$? 
    981  
    982         if [ ${RET} -gt 0 ] ; then 
    983             echo "IGCM_sys_Get : copy error." 
    984             cat out_rsync 
    985             IGCM_debug_Exit "IGCM_sys_Get" 
    986         fi 
     967      # SD : dm_liste is not suited for computing job 
     968      #      because we change filename during transfert 
     969      #      dm_liste is better suited for post-treatment 
     970      #dm_liste=" " 
     971      #(( ifile=1 )) 
     972      #while [ $ifile -lt $# ] ; do 
     973      #    dm_liste=$( eval echo ${dm_liste} " "\${${ifile}} ) 
     974      #    (( ifile = ifile + 1 )) 
     975      #done 
     976      #DEST=$( eval echo \${${#}} ) 
     977 
     978      #USUAL WAY 
     979      \cp ${dm_liste[*]} ${DEST} > out_rsync 2>&1 
     980      RET=$? 
     981 
     982      if [ ${RET} -gt 0 ] ; then 
     983          echo "IGCM_sys_Get : copy error." 
     984          cat out_rsync 
     985          IGCM_debug_Exit "IGCM_sys_Get" 
     986      fi 
    987987    else 
    988         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     988      ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    989989    fi 
    990990    IGCM_debug_PopStack "IGCM_sys_Get" 
     
    10011001    IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 
    10021002    if ( $DEBUG_sys ) ; then 
    1003         echo "IGCM_sys_GetDate_FichWork :" $@ 
     1003      echo "IGCM_sys_GetDate_FichWork :" $@ 
    10041004    fi 
    10051005    # donne la date filesys d'un fichier sur la machine work 
     
    10151015    IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 
    10161016    if ( $DEBUG_sys ) ; then 
    1017         echo "IGCM_sys_GetDate_FichArchive :" $@ 
     1017      echo "IGCM_sys_GetDate_FichArchive :" $@ 
    10181018    fi 
    10191019    IGCM_debug_PopStack "IGCM_sys_FichArchive" 
     
    10261026    IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 
    10271027    if ( $DEBUG_sys ) ; then 
    1028         echo "IGCM_sys_rebuild :" $@ 
     1028      echo "IGCM_sys_rebuild :" $@ 
    10291029    fi 
    10301030    /gpfs1/home/sebastien/REBUILD/rebuild -f -o $@ 
     
    10431043    IGCM_debug_PushStack "IGCM_sys_activ_variables" 
    10441044    if ( $DEBUG_sys ) ; then 
    1045         echo "IGCM_sys_activ_variables " 
     1045      echo "IGCM_sys_activ_variables " 
    10461046    fi 
    10471047 
     
    10641064    IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 
    10651065    if ( $DEBUG_sys ) ; then 
    1066         echo "IGCM_sys_desactiv_variables " 
     1066      echo "IGCM_sys_desactiv_variables " 
    10671067    fi 
    10681068# -------------------------------------------------------------------- 
     
    10851085set -x 
    10861086    if ( $DEBUG_sys ) ; then 
    1087         echo "IGCM_sys_build_run_file " $@ 
     1087      echo "IGCM_sys_build_run_file " $@ 
    10881088    fi 
    10891089 
     
    10941094 
    10951095    (( NUM_PROC_ATM = BATCH_NUM_PROC_TOT - NUM_PROC_OASIS - NUM_PROC_OCE )) 
    1096      
     1096 
    10971097    if [ $1 = MPI2 ]; then 
    10981098       echo "IGCM_sys_build_run_file : error - MPI2 not available on iitm. " 
    10991099       IGCM_debug_Exit "IGCM_sys_build_run_file" 
    11001100    elif [ $1 = MPI1 ]; then 
    1101         cat <<EOF > run_file 
     1101      cat <<EOF > run_file 
    11021102./oasis 
    11031103EOF 
    11041104 
    1105         typeset i 
    1106         (( i = 0 )) 
    1107         while [ ${i} -lt ${NUM_PROC_ATM} ] ; do 
    1108             (( i = i + 1 )) 
    1109             cat <<EOF >> run_file 
     1105      typeset i 
     1106      (( i = 0 )) 
     1107      while [ ${i} -lt ${NUM_PROC_ATM} ] ; do 
     1108        (( i = i + 1 )) 
     1109        cat <<EOF >> run_file 
    11101110./lmdz.x 
    11111111EOF 
    1112         done 
     1112      done 
    11131113 
    11141114        (( i = 0 )) 
    11151115        while [ ${i} -lt ${NUM_PROC_OCE} ] ; do 
    1116             (( i = i + 1 )) 
    1117             cat <<EOF >> run_file 
     1116          (( i = i + 1 )) 
     1117          cat <<EOF >> run_file 
    11181118./opa.xx 
    11191119EOF 
    11201120        done 
    11211121 
    1122         wc -l run_file 
     1122      wc -l run_file 
    11231123    fi 
    11241124set +x 
     
    11311131    IGCM_debug_PushStack "IGCM_sys_check_quota" 
    11321132    if ( $DEBUG_sys ) ; then 
    1133         echo "IGCM_sys_check_quota" 
     1133      echo "IGCM_sys_check_quota" 
    11341134    fi 
    11351135    IGCM_debug_PopStack "IGCM_sys_check_quota" 
Note: See TracChangeset for help on using the changeset viewer.