Ignore:
Timestamp:
12/22/11 16:04:47 (13 years ago)
Author:
sdipsl
Message:
  • Prepare libIGCM for TGCC migration. For now work for CCRT machines ONLY
  • SX8, SX9 and Titane are independant from DMNFS
    • 30 seconds between execution instead of at least 3 minutes ; sometimes hours
  • SX8, SX9 and Titane use their SCRATCHDIR as a BUFFER (for restart and text)
  • Titane simulations are entirely post-processed on titane mono
    • Working except create_se and atlas (missing software : ncap2, openpbm, ImageMagick?)
  • Cards are the same up to now
  • New indentation to ease readability ("svn diff -x -b" to ignore space when differencing)
  • Project (gen2211) is inherited from AA_job by post-processing jobs
    • will stop during config_check if Project is empty
  • Prepare easy switching (submitting post-processing here or there)
  • Homogenize CCRTs libIGCM_sys
  • Bugfixes
  • Cosmetics

First steps and still a long way to go.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh

    r520 r544  
    6262 
    6363#===================================================== 
    64 # Host and user names  
     64# Host and user names 
    6565# $hostname ou hostname 
    6666typeset  HOST=${HOST:=$( hostname )} 
     
    111111 
    112112#==================================================== 
    113 #- OUT 
     113#- R_OUT 
    114114typeset -r R_OUT=${ARCHIVE}/IGCM_OUT 
    115115 
    116116#==================================================== 
    117 #- OUT_SCR (ONLY FOR double copy an scratch) 
    118 typeset -r R_OUT_SCR=${SCRATCHDIR}/IGCM_OUT 
     117#- R_BUF (ONLY FOR double copy an scratch) 
     118typeset -r R_BUF=${SCRATCHDIR}/IGCM_OUT 
     119 
     120#==================================================== 
     121#- BIG_DIR : BIG_DIR to store files waiting for rebuild 
     122typeset -r BIG_DIR=${BIG_DIR:=${SCRATCHDIR}/REBUILD} 
    119123 
    120124#==================================================== 
     
    125129#- RUN_DIR_PATH : Temporary working directory (=> TMP) 
    126130typeset -r RUN_DIR_PATH=${RUN_DIR_PATH:=${CSCRATCHDIR}/TMPDIR_IGCM/${JOBID}} 
    127  
    128 #==================================================== 
    129 #- BIG_DIR : BIG_DIR to store files waiting for rebuild 
    130 typeset -r BIG_DIR=${BIG_DIR:=${SCRATCHDIR}/REBUILD} 
    131131 
    132132#==================================================== 
     
    144144#D- 
    145145function IGCM_sys_RshMaster { 
    146     IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 
    147     /bin/ksh <<-EOF 
     146  IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 
     147  /bin/ksh <<-EOF 
    148148    export libIGCM=${libIGCM} 
    149149    export DEBUG_debug=${DEBUG_debug} 
     
    152152    ${@} 
    153153EOF 
    154     if [ $? -gt 0 ] ; then 
    155         echo "IGCM_sys_RshMaster : erreur." 
    156         IGCM_debug_Exit "IGCM_sys_RshMaster" 
    157     fi 
    158     IGCM_debug_PopStack "IGCM_sys_RshMaster" 
     154  if [ $? -gt 0 ] ; then 
     155    echo "IGCM_sys_RshMaster : erreur." 
     156    IGCM_debug_Exit "IGCM_sys_RshMaster" 
     157  fi 
     158  IGCM_debug_PopStack "IGCM_sys_RshMaster" 
    159159} 
    160160 
     
    165165#D- 
    166166function IGCM_sys_RshArchive { 
    167     IGCM_debug_PushStack "IGCM_sys_RshArchive" $@ 
    168     /bin/ksh <<-EOF 
     167  IGCM_debug_PushStack "IGCM_sys_RshArchive" $@ 
     168  /bin/ksh <<-EOF 
    169169    ${@} 
    170170EOF 
    171     if [ $? -gt 0 ] ; then 
    172         echo "IGCM_sys_RshArchive : erreur." 
    173         IGCM_debug_Exit "IGCM_sys_RshArchive" 
    174     fi 
    175     IGCM_debug_PopStack "IGCM_sys_RshArchive" 
     171  if [ $? -gt 0 ] ; then 
     172    echo "IGCM_sys_RshArchive : erreur." 
     173    IGCM_debug_Exit "IGCM_sys_RshArchive" 
     174  fi 
     175  IGCM_debug_PopStack "IGCM_sys_RshArchive" 
    176176} 
    177177 
     
    182182#D- 
    183183function IGCM_sys_RshPost { 
    184     IGCM_debug_PushStack "IGCM_sys_RshPost" $@ 
    185     if ( $DEBUG_sys ) ; then 
    186         echo "IGCM_sys_RshPost :" $@ 
    187     fi 
    188     /bin/ksh ${@} 
    189     if [ $? -gt 0 ] ; then 
    190         echo "IGCM_sys_RshPost : erreur." 
    191         IGCM_debug_Exit "IGCM_sys_RshPost" 
    192     fi 
    193     IGCM_debug_PopStack "IGCM_sys_RshPost" 
     184  IGCM_debug_PushStack "IGCM_sys_RshPost" $@ 
     185  if ( $DEBUG_sys ) ; then 
     186    echo "IGCM_sys_RshPost :" $@ 
     187  fi 
     188  /bin/ksh ${@} 
     189  if [ $? -gt 0 ] ; then 
     190    echo "IGCM_sys_RshPost : erreur." 
     191    IGCM_debug_Exit "IGCM_sys_RshPost" 
     192  fi 
     193  IGCM_debug_PopStack "IGCM_sys_RshPost" 
    194194} 
    195195 
     
    200200#D- 
    201201function IGCM_sys_SendMail { 
    202     IGCM_debug_PushStack "IGCM_sys_SendMail" $@ 
    203     if ( $DEBUG_sys ) ; then 
    204         echo "IGCM_sys_SendMail :" $@ 
    205     fi 
    206  
    207     if ( ${ExitFlag} ) ; then 
    208         status=failed 
    209     else 
    210         status=completed 
    211     fi 
    212     cat  << END_MAIL > job_end.mail 
     202  IGCM_debug_PushStack "IGCM_sys_SendMail" $@ 
     203  if ( $DEBUG_sys ) ; then 
     204    echo "IGCM_sys_SendMail :" $@ 
     205  fi 
     206 
     207  if ( ${ExitFlag} ) ; then 
     208    status=failed 
     209  else 
     210    status=completed 
     211  fi 
     212  cat  << END_MAIL > job_end.mail 
    213213Dear ${LOGIN}, 
    214214 
     
    220220END_MAIL 
    221221 
    222     if  [ X"${config_UserChoices_MailName}" != X ] ; then 
    223        mailx -s "${config_UserChoices_JobName} ${status}" ${config_UserChoices_MailName} <  job_end.mail 
    224     elif [ -f ~/.forward ] ; then 
    225        mailx -s "${config_UserChoices_JobName} ${status}" $( cat ~/.forward ) < job_end.mail 
    226     else 
    227        mailx -s "${config_UserChoices_JobName} ${status}" ${LOGIN} < job_end.mail 
    228     fi 
    229  
    230     if [ $? -gt 0 ] ; then 
    231         echo "IGCM_sys_SendMail : erreur." 
    232         IGCM_debug_Exit "IGCM_sys_SendMail" 
    233     fi 
    234     IGCM_debug_PopStack "IGCM_sys_SendMail" 
     222  if  [ X"${config_UserChoices_MailName}" != X ] ; then 
     223    mailx -s "${config_UserChoices_JobName} ${status}" ${config_UserChoices_MailName} <  job_end.mail 
     224  elif [ -f ~/.forward ] ; then 
     225    mailx -s "${config_UserChoices_JobName} ${status}" $( cat ~/.forward ) < job_end.mail 
     226  else 
     227    mailx -s "${config_UserChoices_JobName} ${status}" ${LOGIN} < job_end.mail 
     228  fi 
     229 
     230  if [ $? -gt 0 ] ; then 
     231    echo "IGCM_sys_SendMail : erreur." 
     232    IGCM_debug_Exit "IGCM_sys_SendMail" 
     233  fi 
     234  IGCM_debug_PopStack "IGCM_sys_SendMail" 
    235235} 
    236236 
     
    241241#D- 
    242242function IGCM_sys_Mkdir { 
    243     IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 
    244     if ( $DEBUG_sys ) ; then 
    245         echo "IGCM_sys_Mkdir :" $@ 
    246     fi 
    247     if [ ! -d ${1} ]; then 
    248         \mkdir -p $1 
    249         if [ $? -gt 0 ] ; then 
    250             echo "IGCM_sys_Mkdir : erreur." 
    251             IGCM_debug_Exit "IGCM_sys_Mkdir" 
    252         fi 
    253     fi 
    254     # vérification : 
    255     if [ ! -d ${1} ] ; then 
    256         echo "IGCM_sys_Mkdir : erreur." 
    257         IGCM_debug_Exit "IGCM_sys_Mkdir" 
    258     fi 
    259     IGCM_debug_PopStack "IGCM_sys_Mkdir" 
     243  IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 
     244  if ( $DEBUG_sys ) ; then 
     245    echo "IGCM_sys_Mkdir :" $@ 
     246  fi 
     247  if [ ! -d ${1} ]; then 
     248    \mkdir -p $1 
     249    if [ $? -gt 0 ] ; then 
     250      echo "IGCM_sys_Mkdir : erreur." 
     251      IGCM_debug_Exit "IGCM_sys_Mkdir" 
     252    fi 
     253  fi 
     254  # vérification : 
     255  if [ ! -d ${1} ] ; then 
     256    echo "IGCM_sys_Mkdir : erreur." 
     257    IGCM_debug_Exit "IGCM_sys_Mkdir" 
     258  fi 
     259  IGCM_debug_PopStack "IGCM_sys_Mkdir" 
    260260} 
    261261 
     
    266266#D- 
    267267function IGCM_sys_MkdirArchive { 
    268     IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 
    269     if ( $DEBUG_sys ) ; then 
    270         echo "IGCM_sys_MkdirArchive :" $@ 
    271     fi 
    272     #- creation de repertoire sur le serveur fichier 
    273     if [ ! -d ${1} ]; then  
    274         \mkdir -p $1 
    275         if [ $? -gt 0 ] ; then 
    276             echo "IGCM_sys_MkdirArchive : erreur." 
    277             IGCM_debug_Exit "IGCM_sys_MkdirArchive" 
    278         fi 
    279     fi 
    280     IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 
     268  IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 
     269  if ( $DEBUG_sys ) ; then 
     270    echo "IGCM_sys_MkdirArchive :" $@ 
     271  fi 
     272  #- creation de repertoire sur le serveur fichier 
     273  if [ ! -d ${1} ]; then  
     274    \mkdir -p $1 
     275    if [ $? -gt 0 ] ; then 
     276      echo "IGCM_sys_MkdirArchive : erreur." 
     277      IGCM_debug_Exit "IGCM_sys_MkdirArchive" 
     278    fi 
     279  fi 
     280  IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 
    281281} 
    282282 
     
    287287#D- 
    288288function IGCM_sys_MkdirWork { 
    289     IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 
    290     if ( $DEBUG_sys ) ; then 
    291         echo "IGCM_sys_MkdirWork :" $@ 
    292     fi 
    293     #- creation de repertoire sur le serveur fichier 
    294     if [ ! -d ${1} ]; then  
    295         \mkdir -p $1 
    296         if [ $? -gt 0 ] ; then 
    297             echo "IGCM_sys_MkdirWork : erreur." 
    298             IGCM_debug_Exit "IGCM_sys_MkdirWork" 
    299         fi 
    300     fi 
    301     IGCM_debug_PopStack "IGCM_sys_MkdirWork" 
     289  IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 
     290  if ( $DEBUG_sys ) ; then 
     291    echo "IGCM_sys_MkdirWork :" $@ 
     292  fi 
     293  #- creation de repertoire sur le serveur fichier 
     294  if [ ! -d ${1} ]; then  
     295    \mkdir -p $1 
     296    if [ $? -gt 0 ] ; then 
     297      echo "IGCM_sys_MkdirWork : erreur." 
     298      IGCM_debug_Exit "IGCM_sys_MkdirWork" 
     299    fi 
     300  fi 
     301  IGCM_debug_PopStack "IGCM_sys_MkdirWork" 
    302302} 
    303303 
     
    308308#D- 
    309309function IGCM_sys_Cd { 
    310     IGCM_debug_PushStack "IGCM_sys_Cd" $@ 
    311     if ( $DEBUG_sys ) ; then 
    312         echo "IGCM_sys_Cd :" $@ 
    313     fi 
    314     \cd $1 
    315     if [ $? -gt 0 ] ; then 
    316         echo "IGCM_sys_Cd : erreur." 
    317         IGCM_debug_Exit "IGCM_sys_Cd" 
    318     fi 
    319     IGCM_debug_PopStack "IGCM_sys_Cd" 
     310  IGCM_debug_PushStack "IGCM_sys_Cd" $@ 
     311  if ( $DEBUG_sys ) ; then 
     312    echo "IGCM_sys_Cd :" $@ 
     313  fi 
     314  \cd $1 
     315  if [ $? -gt 0 ] ; then 
     316    echo "IGCM_sys_Cd : erreur." 
     317    IGCM_debug_Exit "IGCM_sys_Cd" 
     318  fi 
     319  IGCM_debug_PopStack "IGCM_sys_Cd" 
    320320} 
    321321 
     
    326326#D- 
    327327function IGCM_sys_Chmod { 
    328     IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 
    329     if ( $DEBUG_sys ) ; then 
    330         echo "IGCM_sys_Chmod :" $@ 
    331     fi 
    332     if [ $DRYRUN -le 1 ]; then 
    333         \chmod $@ 
    334         if [ $? -gt 0 ] ; then 
    335             echo "IGCM_sys_Chmod : erreur." 
    336             IGCM_debug_Exit "IGCM_sys_Chmod" 
    337         fi 
    338     else 
    339         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    340     fi 
    341     IGCM_debug_PopStack "IGCM_sys_Chmod" 
     328  IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 
     329  if ( $DEBUG_sys ) ; then 
     330    echo "IGCM_sys_Chmod :" $@ 
     331  fi 
     332  if [ $DRYRUN -le 1 ]; then 
     333    \chmod $@ 
     334    if [ $? -gt 0 ] ; then 
     335      echo "IGCM_sys_Chmod : erreur." 
     336      IGCM_debug_Exit "IGCM_sys_Chmod" 
     337    fi 
     338  else 
     339    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     340  fi 
     341  IGCM_debug_PopStack "IGCM_sys_Chmod" 
    342342} 
    343343 
     
    348348#D- 
    349349function IGCM_sys_FileSize { 
    350     IGCM_debug_PushStack "IGCM_sys_FileSize" $@ 
    351  
    352     typeset sizeF 
    353     set +A sizeF -- $( ls -la ${1} ) 
    354     if [ $? -gt 0 ] ; then 
    355         IGCM_debug_Exit "IGCM_sys_FileSize" 
    356     fi 
    357     eval ${2}=${sizeF[4]} 
    358  
    359     IGCM_debug_PopStack "IGCM_sys_FileSize" 
     350  IGCM_debug_PushStack "IGCM_sys_FileSize" $@ 
     351 
     352  typeset sizeF 
     353  set +A sizeF -- $( ls -la ${1} ) 
     354  if [ $? -gt 0 ] ; then 
     355    IGCM_debug_Exit "IGCM_sys_FileSize" 
     356  fi 
     357  eval ${2}=${sizeF[4]} 
     358 
     359  IGCM_debug_PopStack "IGCM_sys_FileSize" 
    360360} 
    361361 
     
    366366#D- 
    367367function IGCM_sys_TestDir { 
    368     IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 
    369     if ( $DEBUG_sys ) ; then 
    370         echo "IGCM_sys_TestDir :" $@ 
    371     fi 
    372     typeset ExistFlag 
    373     ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
    374     IGCM_debug_PopStack "IGCM_sys_TestDir" 
    375  
    376     return ${ExistFlag} 
     368  IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 
     369  if ( $DEBUG_sys ) ; then 
     370    echo "IGCM_sys_TestDir :" $@ 
     371  fi 
     372  typeset ExistFlag 
     373  ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
     374  IGCM_debug_PopStack "IGCM_sys_TestDir" 
     375 
     376  return ${ExistFlag} 
    377377} 
    378378 
     
    383383#D- 
    384384function IGCM_sys_TestDirArchive { 
    385     IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 
    386     if ( $DEBUG_sys ) ; then 
    387         echo "IGCM_sys_TestDirArchive :" $@ 
    388     fi 
    389     typeset ExistFlag 
    390     ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
    391     IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 
    392  
    393     return ${ExistFlag} 
     385  IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 
     386  if ( $DEBUG_sys ) ; then 
     387    echo "IGCM_sys_TestDirArchive :" $@ 
     388  fi 
     389  typeset ExistFlag 
     390  ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
     391  IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 
     392 
     393  return ${ExistFlag} 
    394394} 
    395395 
     
    400400#D- 
    401401function IGCM_sys_TestFileArchive { 
    402     IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 
    403     if ( $DEBUG_sys ) ; then 
    404         echo "IGCM_sys_TestFileArchive :" $@ 
    405     fi 
    406     typeset ExistFlag 
    407     ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
    408     IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 
    409  
    410     return ${ExistFlag} 
     402  IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 
     403  if ( $DEBUG_sys ) ; then 
     404    echo "IGCM_sys_TestFileArchive :" $@ 
     405  fi 
     406  typeset ExistFlag 
     407  ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
     408  IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 
     409 
     410  return ${ExistFlag} 
     411} 
     412 
     413#D-#================================================== 
     414#D-function IGCM_sys_TestFileBuffer 
     415#D-* Purpose: Test file that must NOT EXISTS on Buffer 
     416#D-* Examples: 
     417#D- 
     418function IGCM_sys_TestFileBuffer { 
     419  IGCM_debug_PushStack "IGCM_sys_TestFileBuffer" $@ 
     420  typeset ExistFlag 
     421  ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
     422  IGCM_debug_PopStack "IGCM_sys_TestFileBuffer" 
     423 
     424  return ${ExistFlag} 
    411425} 
    412426 
     
    417431#D- 
    418432function IGCM_sys_CountFileArchive { 
    419     IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 
    420     ls ${@} 2>/dev/null | wc -l 
    421     if [ $? -gt 0 ] ; then 
    422         echo "IGCM_sys_CountFileArchive : erreur." 
    423     fi 
    424     IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 
     433  IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 
     434  ls ${@} 2>/dev/null | wc -l 
     435  if [ $? -gt 0 ] ; then 
     436    echo "IGCM_sys_CountFileArchive : erreur." 
     437  fi 
     438  IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 
     439} 
     440 
     441#D-#================================================== 
     442#D-function IGCM_sys_CountFileBuffer 
     443#D-* Purpose: Count files on Scratch filesystem 
     444#D-* Examples: 
     445#D- 
     446function IGCM_sys_CountFileBuffer { 
     447  IGCM_debug_PushStack "IGCM_sys_CountFileBuffer" $@ 
     448  ls ${@} 2>/dev/null | wc -l 
     449  if [ $? -gt 0 ] ; then 
     450    echo "IGCM_sys_CountFileBuffer : erreur." 
     451  fi 
     452  IGCM_debug_PopStack "IGCM_sys_CountFileBuffer" 
    425453} 
    426454 
     
    431459#D- 
    432460function IGCM_sys_Tree { 
    433     IGCM_debug_PushStack "IGCM_sys_Tree" $@ 
    434     if ( $DEBUG_sys ) ; then 
    435         echo "IGCM_sys_Tree :" $@ 
    436     fi 
    437  
    438     \tree -f $@ 
    439  
    440     IGCM_debug_PopStack "IGCM_sys_Tree" 
     461  IGCM_debug_PushStack "IGCM_sys_Tree" $@ 
     462  if ( $DEBUG_sys ) ; then 
     463    echo "IGCM_sys_Tree :" $@ 
     464  fi 
     465 
     466  \tree -f $@ 
     467 
     468  IGCM_debug_PopStack "IGCM_sys_Tree" 
    441469} 
    442470 
    443471#D-#================================================== 
    444472#D-function IGCM_sys_Tar 
    445 #D-* Purpose: master un-tar command 
     473#D-* Purpose: master tar command 
    446474#D-* Examples: 
    447475#D- 
    448476function IGCM_sys_Tar { 
    449     IGCM_debug_PushStack "IGCM_sys_Tar" $@ 
    450     if ( $DEBUG_sys ) ; then 
    451         echo "IGCM_sys_Tar :" $@ 
    452     fi 
    453     \tar cvf $@ 
    454     if [ $? -gt 0 ] ; then 
    455         echo "IGCM_sys_Tar : erreur." 
    456         IGCM_debug_Exit "IGCM_sys_Tar" 
    457     fi 
    458     \tar tvf $1 
    459  
    460     IGCM_debug_PopStack "IGCM_sys_Tar" 
     477  IGCM_debug_PushStack "IGCM_sys_Tar" $@ 
     478  if ( $DEBUG_sys ) ; then 
     479    echo "IGCM_sys_Tar :" $@ 
     480  fi 
     481  \tar cf $@ 
     482  if [ $? -gt 0 ] ; then 
     483    echo "IGCM_sys_Tar : erreur." 
     484    IGCM_debug_Exit "IGCM_sys_Tar" 
     485  fi 
     486  IGCM_debug_PopStack "IGCM_sys_Tar" 
    461487} 
    462488 
     
    467493#D- 
    468494function IGCM_sys_UnTar { 
    469     IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 
    470     if ( $DEBUG_sys ) ; then 
    471         echo "IGCM_sys_UnTar :" $@ 
    472     fi 
    473     \tar xvf $1 
    474     if [ $? -gt 0 ] ; then 
    475         echo "IGCM_sys_UnTar : erreur." 
    476         IGCM_debug_Exit "IGCM_sys_UnTar" 
    477     fi 
    478     IGCM_debug_PopStack "IGCM_sys_UnTar" 
     495  IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 
     496  if ( $DEBUG_sys ) ; then 
     497    echo "IGCM_sys_UnTar :" $@ 
     498  fi 
     499  \tar xvf $1 
     500  if [ $? -gt 0 ] ; then 
     501    echo "IGCM_sys_UnTar : erreur." 
     502    IGCM_debug_Exit "IGCM_sys_UnTar" 
     503  fi 
     504  IGCM_debug_PopStack "IGCM_sys_UnTar" 
    479505} 
    480506 
     
    485511#D- 
    486512function IGCM_sys_QsubPost { 
    487     IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 
    488     if ( $DEBUG_sys ) ; then 
    489         echo "IGCM_sys_QsubPost :" $@ 
    490     fi 
    491     /usr/bin/nqsII/qsub -o ${POST_DIR}/${Script_Post_Output}.out ${libIGCM}/$1.job -v ${listVarEnv} 
    492     if [ $? -gt 0 ] ; then 
    493         echo "IGCM_sys_QsubPost : erreur " $@ 
    494         IGCM_debug_Exit "IGCM_sys_QsubPost" 
    495     fi 
    496     IGCM_debug_PopStack "IGCM_sys_QsubPost" 
     513  IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 
     514  if ( $DEBUG_sys ) ; then 
     515    echo "IGCM_sys_QsubPost :" $@ 
     516  fi 
     517  /usr/bin/nqsII/qsub -o ${POST_DIR}/${Script_Post_Output}.out ${libIGCM}/$1.job -v ${listVarEnv} 
     518  if [ $? -gt 0 ] ; then 
     519    echo "IGCM_sys_QsubPost : erreur " $@ 
     520    IGCM_debug_Exit "IGCM_sys_QsubPost" 
     521  fi 
     522  IGCM_debug_PopStack "IGCM_sys_QsubPost" 
    497523} 
    498524 
     
    508534#D-  Error values and explanations can depend on your system version. 
    509535function IGCM_sys_Rsync_out { 
    510     RET=$1 
    511     if [ ! $RET ] ; then 
    512         echo "rsync error !" 
    513     fi 
    514  
    515     if [ $MYLANG = "fr" ]; then 
    516         case $RET in 
    517             0)  return ;; 
    518             1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
    519                 echo "Erreur de syntaxe ou d'utilisation." 
    520                 return;; 
    521             2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
    522                 echo "Incompatibilité de protocole." 
    523                 return;; 
    524             3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
    525                 echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
    526                 echo "répertoires" 
    527                 return;; 
    528             4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
    529                 echo "Action demandée non supportée : une tentative de manipulation de" 
    530                 echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
    531                 echo "été faite ; ou une option qui est supportée par le  client  mais" 
    532                 echo "pas par le serveur a été spécifiée." 
    533                 return;; 
    534             10) echo "Erreur de rsync ; RERR_SOCKETIO" 
    535                 echo "Erreur dans le socket d'entrée sortie" 
    536                 return;; 
    537             11) echo "Erreur de rsync ; RERR_FILEIO" 
    538                 echo "Erreur d'entrée sortie fichier" 
    539                 return;; 
    540             12) echo "Erreur de rsync ; RERR_STREAMIO" 
    541                 echo "Erreur dans flux de donnée du protocole rsync" 
    542                 return;; 
    543             13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
    544                 echo "Erreur avec les diagnostics du programme" 
    545                 return;; 
    546             14) echo "Erreur de rsync ; RERR_IPC" 
    547                 echo "Erreur dans le code IPC" 
    548                 return;; 
    549             20) echo "Erreur de rsync ; RERR_SIGNAL" 
    550                 echo "SIGUSR1 ou SIGINT reçu" 
    551                 return;; 
    552             21) echo "Erreur de rsync ; RERR_WAITCHILD" 
    553                 echo "Une erreur retournée par waitpid()" 
    554                 return;; 
    555             22) echo "Erreur de rsync ; RERR_MALLOC" 
    556                 echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
    557                 return;; 
    558             23) echo "" 
    559                 echo "Erreur fichier inexistant" 
    560                 return;; 
    561             30) echo "Erreur de rsync ; RERR_TIMEOUT" 
    562                 echo "Temps d'attente écoulé dans l'envoi/réception de données" 
    563                 return;; 
    564             *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
    565                 return;; 
    566         esac 
    567     elif [ $MYLANG = "en" ] ; then 
    568         case $RET in 
    569             0)  return;;                 
    570             1)  echo "rsync error : Syntax or usage error " 
    571                 return;; 
    572             2)  echo "rsync error : Protocol incompatibility " 
    573                 return;; 
    574             3)  echo "rsync error : Errors selecting input/output files, dirs" 
    575                 return;; 
    576             4)  echo "rsync error : Requested action not supported: an attempt" 
    577                 echo "was made to manipulate 64-bit files on a platform that cannot support" 
    578                 echo "them; or an option was specified that is supported by the client and" 
    579                 echo "not by the server." 
    580                 return;; 
    581             5)  echo "rsync error : Error starting client-server protocol" 
    582                 return;; 
    583             10) echo "rsync error : Error in socket I/O " 
    584                 return;; 
    585             11) echo "rsync error : Error in file I/O " 
    586                 return;; 
    587             12) echo "rsync error : Error in rsync protocol data stream " 
    588                 return;; 
    589             13) echo "rsync error : Errors with program diagnostics " 
    590                 return;; 
    591             14) echo "rsync error : Error in IPC code " 
    592                 return;; 
    593             20) echo "rsync error : Received SIGUSR1 or SIGINT " 
    594                 return;; 
    595             21) echo "rsync error : Some error returned by waitpid() " 
    596                 return;; 
    597             22) echo "rsync error : Error allocating core memory buffers " 
    598                 return;; 
    599             23) echo "rsync error : Partial transfer due to error" 
    600                 return;; 
    601             24) echo "rsync error : Partial transfer due to vanished source files" 
    602                 return;; 
    603             30) echo "rsync error : Timeout in data send/receive " 
    604                 return;; 
    605             *)  echo "rsync error : return code of rsync unknown :" $RET 
    606                 return;; 
    607         esac 
    608     else 
    609         echo "unknown language $MYLANG." 
    610         return 
    611     fi 
    612 } 
    613      
     536  RET=$1 
     537  if [ ! $RET ] ; then 
     538    echo "rsync error !" 
     539  fi 
     540 
     541  if [ $MYLANG = "fr" ]; then 
     542    case $RET in 
     543    0)  return ;; 
     544    1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
     545      echo "Erreur de syntaxe ou d'utilisation." 
     546      return;; 
     547    2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
     548      echo "Incompatibilité de protocole." 
     549      return;; 
     550    3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
     551      echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
     552      echo "répertoires" 
     553      return;; 
     554    4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
     555      echo "Action demandée non supportée : une tentative de manipulation de" 
     556      echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
     557      echo "été faite ; ou une option qui est supportée par le  client  mais" 
     558      echo "pas par le serveur a été spécifiée." 
     559      return;; 
     560    10) echo "Erreur de rsync ; RERR_SOCKETIO" 
     561      echo "Erreur dans le socket d'entrée sortie" 
     562      return;; 
     563    11) echo "Erreur de rsync ; RERR_FILEIO" 
     564      echo "Erreur d'entrée sortie fichier" 
     565      return;; 
     566    12) echo "Erreur de rsync ; RERR_STREAMIO" 
     567      echo "Erreur dans flux de donnée du protocole rsync" 
     568      return;; 
     569    13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
     570      echo "Erreur avec les diagnostics du programme" 
     571      return;; 
     572    14) echo "Erreur de rsync ; RERR_IPC" 
     573      echo "Erreur dans le code IPC" 
     574      return;; 
     575    20) echo "Erreur de rsync ; RERR_SIGNAL" 
     576      echo "SIGUSR1 ou SIGINT reçu" 
     577      return;; 
     578    21) echo "Erreur de rsync ; RERR_WAITCHILD" 
     579      echo "Une erreur retournée par waitpid()" 
     580      return;; 
     581    22) echo "Erreur de rsync ; RERR_MALLOC" 
     582      echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
     583      return;; 
     584    23) echo "" 
     585      echo "Erreur fichier inexistant" 
     586      return;; 
     587    30) echo "Erreur de rsync ; RERR_TIMEOUT" 
     588      echo "Temps d'attente écoulé dans l'envoi/réception de données" 
     589      return;; 
     590    *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
     591      return;; 
     592    esac 
     593  elif [ $MYLANG = "en" ] ; then 
     594    case $RET in 
     595    0)  return;;                 
     596    1)  echo "rsync error : Syntax or usage error " 
     597      return;; 
     598    2)  echo "rsync error : Protocol incompatibility " 
     599      return;; 
     600    3)  echo "rsync error : Errors selecting input/output files, dirs" 
     601      return;; 
     602    4)  echo "rsync error : Requested action not supported: an attempt" 
     603      echo "was made to manipulate 64-bit files on a platform that cannot support" 
     604      echo "them; or an option was specified that is supported by the client and" 
     605      echo "not by the server." 
     606      return;; 
     607    5)  echo "rsync error : Error starting client-server protocol" 
     608      return;; 
     609    10) echo "rsync error : Error in socket I/O " 
     610      return;; 
     611    11) echo "rsync error : Error in file I/O " 
     612      return;; 
     613    12) echo "rsync error : Error in rsync protocol data stream " 
     614      return;; 
     615    13) echo "rsync error : Errors with program diagnostics " 
     616      return;; 
     617    14) echo "rsync error : Error in IPC code " 
     618      return;; 
     619    20) echo "rsync error : Received SIGUSR1 or SIGINT " 
     620      return;; 
     621    21) echo "rsync error : Some error returned by waitpid() " 
     622      return;; 
     623    22) echo "rsync error : Error allocating core memory buffers " 
     624      return;; 
     625    23) echo "rsync error : Partial transfer due to error" 
     626      return;; 
     627    24) echo "rsync error : Partial transfer due to vanished source files" 
     628      return;; 
     629    30) echo "rsync error : Timeout in data send/receive " 
     630      return;; 
     631    *)  echo "rsync error : return code of rsync unknown :" $RET 
     632      return;; 
     633    esac 
     634  else 
     635    echo "unknown language $MYLANG." 
     636    return 
     637  fi 
     638} 
     639 
    614640#D-#================================================== 
    615641#D-function IGCM_sys_Cp 
     
    618644#D- 
    619645function IGCM_sys_Cp { 
    620     IGCM_debug_PushStack "IGCM_sys_Cp" $@ 
    621     if ( $DEBUG_sys ) ; then 
    622         echo "IGCM_sys_Cp :" $@ 
    623     fi 
    624  
    625     typeset RET 
    626  
    627     echo cp $@ > out_rsync 2>&1 
    628     \cp $@ >> out_rsync 2>&1 
    629     RET=$? 
    630  
    631     if [ ${RET} -gt 0 ] ; then 
    632         echo "IGCM_sys_Cp : error." 
    633         cat out_rsync 
    634         IGCM_debug_Exit "IGCM_sys_Cp" 
    635      else 
    636         \rm out_rsync 
    637     fi 
    638     IGCM_debug_PopStack "IGCM_sys_Cp" 
     646  IGCM_debug_PushStack "IGCM_sys_Cp" $@ 
     647  if ( $DEBUG_sys ) ; then 
     648    echo "IGCM_sys_Cp :" $@ 
     649  fi 
     650 
     651  typeset RET 
     652 
     653  echo cp $@ > out_rsync 2>&1 
     654  \cp $@ >> out_rsync 2>&1 
     655  RET=$? 
     656 
     657  if [ ${RET} -gt 0 ] ; then 
     658    echo "IGCM_sys_Cp : error." 
     659    cat out_rsync 
     660    IGCM_debug_Exit "IGCM_sys_Cp" 
     661  else 
     662    \rm out_rsync 
     663  fi 
     664  IGCM_debug_PopStack "IGCM_sys_Cp" 
    639665} 
    640666 
     
    645671#D- 
    646672function IGCM_sys_Rm { 
    647     IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 
    648     if ( $DEBUG_sys ) ; then 
    649         echo "IGCM_sys_Rm :" $@ 
    650     fi 
    651  
    652     typeset RET 
    653  
    654     echo rm $@ > out_rsync 2>&1 
    655     \rm $@ >> out_rsync 2>&1 
    656     RET=$? 
    657  
    658     if [ ${RET} -gt 0 ] ; then 
    659         echo "IGCM_sys_Rm : error." 
    660         cat out_rsync 
    661         IGCM_debug_Exit "IGCM_sys_Rm" 
    662     else 
    663         \rm out_rsync 
    664     fi 
    665     IGCM_debug_PopStack "IGCM_sys_Rm" 
     673  IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 
     674  if ( $DEBUG_sys ) ; then 
     675    echo "IGCM_sys_Rm :" $@ 
     676  fi 
     677 
     678  typeset RET 
     679 
     680  echo rm $@ > out_rsync 2>&1 
     681  \rm $@ >> out_rsync 2>&1 
     682  RET=$? 
     683 
     684  if [ ${RET} -gt 0 ] ; then 
     685    echo "IGCM_sys_Rm : error." 
     686    cat out_rsync 
     687    IGCM_debug_Exit "IGCM_sys_Rm" 
     688  else 
     689    \rm out_rsync 
     690  fi 
     691  IGCM_debug_PopStack "IGCM_sys_Rm" 
    666692} 
    667693 
     
    673699#D- 
    674700function IGCM_sys_RmRunDir { 
    675     IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 
    676     if ( $DEBUG_sys ) ; then 
    677         echo "IGCM_sys_RmRunDir :" $@ 
    678     fi 
    679  
    680     typeset RET 
    681  
    682     echo rm $@ > out_rsync 2>&1 
    683     \rm $@ >> out_rsync 2>&1 
    684     RET=$? 
    685  
    686     if [ ${RET} -gt 0 ] ; then 
    687         echo "IGCM_sys_RmRunDir : error." 
    688         cat out_rsync 
    689         IGCM_debug_Exit "IGCM_sys_RmRunDir" 
    690     else 
    691         \rm out_rsync 
    692     fi 
    693     IGCM_debug_PopStack "IGCM_sys_RmRunDir" 
     701  IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 
     702  if ( $DEBUG_sys ) ; then 
     703    echo "IGCM_sys_RmRunDir :" $@ 
     704  fi 
     705 
     706  typeset RET 
     707 
     708  echo rm $@ > out_rsync 2>&1 
     709  \rm $@ >> out_rsync 2>&1 
     710  RET=$? 
     711 
     712  if [ ${RET} -gt 0 ] ; then 
     713    echo "IGCM_sys_RmRunDir : error." 
     714    cat out_rsync 
     715    IGCM_debug_Exit "IGCM_sys_RmRunDir" 
     716  else 
     717    \rm out_rsync 
     718  fi 
     719  IGCM_debug_PopStack "IGCM_sys_RmRunDir" 
    694720} 
    695721 
     
    700726#D- 
    701727function IGCM_sys_Mv { 
    702     IGCM_debug_PushStack "IGCM_sys_Mv" $@ 
    703     if ( $DEBUG_sys ) ; then 
    704         echo "IGCM_sys_Mv :" $@ 
    705     fi 
    706  
    707     if [ $DRYRUN = 0 ]; then 
    708  
    709         typeset RET 
    710              
    711         echo mv $@ > out_rsync 2>&1 
    712         \mv $@ >> out_rsync 2>&1 
    713         RET=$? 
     728  IGCM_debug_PushStack "IGCM_sys_Mv" $@ 
     729  if ( $DEBUG_sys ) ; then 
     730    echo "IGCM_sys_Mv :" $@ 
     731  fi 
     732 
     733  if [ $DRYRUN = 0 ]; then 
     734 
     735    typeset RET 
    714736     
    715         if [ ${RET} -gt 0 ] ; then 
    716             echo "IGCM_sys_Mv : error in mv." 
    717             cat out_rsync 
    718             IGCM_debug_Exit "IGCM_sys_Mv" 
    719         else 
    720             \rm out_rsync 
    721         fi 
     737    echo mv $@ > out_rsync 2>&1 
     738    \mv $@ >> out_rsync 2>&1 
     739    RET=$? 
     740     
     741    if [ ${RET} -gt 0 ] ; then 
     742      echo "IGCM_sys_Mv : error in mv." 
     743      cat out_rsync 
     744      IGCM_debug_Exit "IGCM_sys_Mv" 
    722745    else 
    723         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    724     fi 
    725  
    726     IGCM_debug_PopStack "IGCM_sys_Mv" 
     746      \rm out_rsync 
     747    fi 
     748  else 
     749    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     750  fi 
     751 
     752  IGCM_debug_PopStack "IGCM_sys_Mv" 
    727753} 
    728754 
     
    733759#D- 
    734760function IGCM_sys_Put_Dir { 
    735     IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 
    736     if ( $DEBUG_sys ) ; then 
    737         echo "IGCM_sys_Put_Dir :" $@ 
    738     fi 
    739     if [ $DRYRUN = 0 ]; then 
    740         if [ ! -d ${1} ] ; then 
    741             echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
    742             IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
    743             return 
    744         fi 
    745  
    746         typeset RET 
    747  
    748         # Only if we use rsync 
    749         #IGCM_sys_TestDirArchive $( dirname $2 ) 
    750         # 
    751         #USUAL WAY 
    752         \cp -r $1 $2 > out_rsync 2>&1 
    753         RET=$? 
    754  
    755         if [ ${RET} -gt 0 ] ; then 
    756             echo "IGCM_sys_Put_Dir : error." 
    757             cat out_rsync 
    758             IGCM_debug_Exit "IGCM_sys_Put_Dir" 
    759         else 
    760             \rm out_rsync 
    761         fi 
     761  IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 
     762  if ( $DEBUG_sys ) ; then 
     763    echo "IGCM_sys_Put_Dir :" $@ 
     764  fi 
     765  if [ $DRYRUN = 0 ]; then 
     766    if [ ! -d ${1} ] ; then 
     767      echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
     768      IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     769      return 
     770    fi 
     771 
     772    typeset RET 
     773 
     774    # Only if we use rsync 
     775    #IGCM_sys_TestDirArchive $( dirname $2 ) 
     776    # 
     777    #USUAL WAY 
     778    \cp -r $1 $2 > out_rsync 2>&1 
     779    RET=$? 
     780 
     781    if [ ${RET} -gt 0 ] ; then 
     782      echo "IGCM_sys_Put_Dir : error." 
     783      cat out_rsync 
     784      IGCM_debug_Exit "IGCM_sys_Put_Dir" 
    762785    else 
    763         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    764     fi 
    765     IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     786      \rm out_rsync 
     787    fi 
     788  else 
     789    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     790  fi 
     791  IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
    766792} 
    767793 
     
    772798#D- 
    773799function IGCM_sys_Get_Dir { 
    774     IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 
    775     if ( $DEBUG_sys ) ; then 
    776         echo "IGCM_sys_Get_Dir :" $@ 
    777     fi 
    778     if [ $DRYRUN = 0 ]; then 
     800  IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 
     801  if ( $DEBUG_sys ) ; then 
     802    echo "IGCM_sys_Get_Dir :" $@ 
     803  fi 
     804  if [ $DRYRUN = 0 ]; then 
    779805#       if [ ! -d ${1} ] ; then 
    780806#           echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 
     
    783809#       fi 
    784810 
    785         typeset RET 
    786  
    787         # Only if we use rsync 
    788         #IGCM_sys_TestDirArchive $( dirname $2 ) 
    789         # 
    790         #USUAL WAY 
    791         # add dmget (to demigrate all offline files) to reduce time of this command : 
    792         dmget $1/* 
    793         \cp -r $1 $2 > out_rsync 2>&1 
    794         RET=$? 
    795  
    796         if [ ${RET} -gt 0 ] ; then 
    797             echo "IGCM_sys_Get_Dir : error." 
    798             cat out_rsync 
    799             IGCM_debug_Exit "IGCM_sys_Get_Dir" 
    800         else 
    801             \rm out_rsync 
    802         fi 
     811    typeset RET 
     812 
     813    # Only if we use rsync 
     814    #IGCM_sys_TestDirArchive $( dirname $2 ) 
     815    # 
     816    #USUAL WAY 
     817    # add dmget (to demigrate all offline files) to reduce time of this command : 
     818    dmget $1/* 
     819    \cp -r $1 $2 > out_rsync 2>&1 
     820    RET=$? 
     821 
     822    if [ ${RET} -gt 0 ] ; then 
     823      echo "IGCM_sys_Get_Dir : error." 
     824      cat out_rsync 
     825      IGCM_debug_Exit "IGCM_sys_Get_Dir" 
    803826    else 
    804         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    805     fi 
    806     IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
     827      \rm out_rsync 
     828    fi 
     829  else 
     830    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     831  fi 
     832  IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
    807833} 
    808834 
     
    813839#D- 
    814840function IGCM_sys_Get_Master { 
    815     IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 
    816     if ( $DEBUG_sys ) ; then 
    817         echo "IGCM_sys_Get_Master :" $@ 
    818     fi 
    819     if [ $DRYRUN = 0 ]; then 
    820         if [ ! -d ${1} ] ; then 
    821             echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 
    822             IGCM_debug_PopStack "IGCM_sys_Get_Master" 
    823             return 
    824         fi 
    825  
    826         typeset RET 
    827  
    828         #USUAL WAY 
    829         \cp -r $1 $2 > out_rsync 2>&1 
    830         RET=$? 
    831  
    832         if [ ${RET} -gt 0 ] ; then 
    833             echo "IGCM_sys_Get_Master : error." 
    834             cat out_rsync 
    835             IGCM_debug_Exit "IGCM_sys_Get_Master" 
    836         else 
    837             \rm out_rsync 
    838         fi 
     841  IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 
     842  if ( $DEBUG_sys ) ; then 
     843    echo "IGCM_sys_Get_Master :" $@ 
     844  fi 
     845  if [ $DRYRUN = 0 ]; then 
     846    if [ ! -d ${1} ] ; then 
     847      echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 
     848      IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     849      return 
     850    fi 
     851 
     852    typeset RET 
     853 
     854    #USUAL WAY 
     855    \cp -r $1 $2 > out_rsync 2>&1 
     856    RET=$? 
     857 
     858    if [ ${RET} -gt 0 ] ; then 
     859      echo "IGCM_sys_Get_Master : error." 
     860      cat out_rsync 
     861      IGCM_debug_Exit "IGCM_sys_Get_Master" 
    839862    else 
    840         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    841     fi 
    842     IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     863      \rm out_rsync 
     864    fi 
     865  else 
     866    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     867  fi 
     868  IGCM_debug_PopStack "IGCM_sys_Get_Master" 
    843869} 
    844870 
    845871#D-#================================================== 
    846872#D-function IGCM_sys_Put_Rest 
    847 #D-* Purpose: Put computied restarts on $(ARCHIVE). 
     873#D-* Purpose: Put computied restarts on ${ARCHIVE}. 
    848874#D-           File and target directory must exist. 
    849875#D-* Examples: 
    850876#D- 
    851877function IGCM_sys_Put_Rest { 
    852     IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 
    853     if ( $DEBUG_sys ) ; then 
    854         echo "IGCM_sys_Put_Rest :" $@ 
    855     fi 
    856     if [ $DRYRUN = 0 ]; then 
    857         if [ ! -f ${1} ] ; then 
    858             echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
    859             IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    860         fi 
    861  
    862         typeset RET 
    863         # 
    864         if [ X${JobType} = XRUN ] ; then 
    865             IGCM_sys_Chmod 444 ${1} 
    866         fi 
    867         # 
    868         IGCM_sys_TestDirArchive $( dirname $2 ) 
    869         # 
    870         # USUAL WAY 
    871         putfer $1 $2 > out_rsync 2>&1 
    872         RET=$? 
     878  IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 
     879  if ( $DEBUG_sys ) ; then 
     880    echo "IGCM_sys_Put_Rest :" $@ 
     881  fi 
     882  if [ $DRYRUN = 0 ]; then 
     883    if [ ! -f ${1} ] ; then 
     884      echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
     885      IGCM_debug_Exit "IGCM_sys_Put_Rest" 
     886    fi 
     887 
     888    typeset RET 
     889    # 
     890    if [ X${JobType} = XRUN ] ; then 
     891      IGCM_sys_Chmod 444 ${1} 
     892    fi 
     893 
     894    # 
     895    # USUAL WAY 
     896    \cp $1 $2 > out_rsync 2>&1 
     897    RET=$? 
    873898 
    874899#       #RSYNC WITH NETWORK SSH CALL 
    875 #       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} > out_rsync 2>&1 
    876 #       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} >> out_rsync 2>&1 
     900#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 
     901#       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 
    877902 
    878903#       #RSYNC WITH NFS USE 
     
    886911#       (( RET=RET+$? )) 
    887912 
    888         if [ ${RET} -gt 0 ] ; then 
    889             echo "IGCM_sys_Put_Rest : error." 
    890             cat out_rsync 
    891             IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    892         else 
    893             \rm out_rsync 
    894         fi 
     913    if [ ${RET} -gt 0 ] ; then 
     914      echo "IGCM_sys_Put_Rest : error." 
     915      cat out_rsync 
     916      IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    895917    else 
    896         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    897     fi 
    898     IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
     918      \rm out_rsync 
     919    fi 
     920  else 
     921    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     922  fi 
     923  IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
     924} 
     925 
     926#D-#================================================== 
     927#D-function IGCM_sys_PutBuffer_Rest 
     928#D-* Purpose: Put computied restarts on ${SCRATCHDIR}. 
     929#D-           File and target directory must exist. 
     930#D-* Examples: 
     931#D- 
     932function IGCM_sys_PutBuffer_Rest { 
     933  IGCM_debug_PushStack "IGCM_sys_PutBuffer_Rest" $@ 
     934  if ( $DEBUG_sys ) ; then 
     935    echo "IGCM_sys_PutBuffer_Rest :" $@ 
     936  fi 
     937  if [ $DRYRUN = 0 ]; then 
     938    if [ ! -f ${1} ] ; then 
     939      echo "ERROR : IGCM_sys_PutBuffer_Rest ${1} DOES NOT EXIST ." 
     940      IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 
     941    fi 
     942 
     943    typeset RET 
     944    # 
     945    if [ X${JobType} = XRUN ] ; then 
     946      IGCM_sys_Chmod 444 ${1} 
     947    fi 
     948 
     949    # 
     950    # USUAL WAY 
     951    \cp $1 $2 > out_rsync 2>&1 
     952    RET=$? 
     953 
     954    if [ ${RET} -gt 0 ] ; then 
     955      echo "IGCM_sys_PutBuffer_Rest : error." 
     956      cat out_rsync 
     957      IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 
     958    else 
     959      \rm out_rsync 
     960    fi 
     961  else 
     962    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     963  fi 
     964  IGCM_debug_PopStack "IGCM_sys_PutBuffer_Rest" 
    899965} 
    900966 
    901967#D-#================================================== 
    902968#D-function IGCM_sys_Put_Out 
    903 #D-* Purpose: Copy a file on $(ARCHIVE) after have chmod it in readonly 
     969#D-* Purpose: Copy a file on ${ARCHIVE} after having chmod it in readonly 
    904970#D-* Examples: 
    905971#D- 
    906972function IGCM_sys_Put_Out { 
    907     IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 
    908     if ( $DEBUG_sys ) ; then 
    909         echo "IGCM_sys_Put_Out :" $@ 
    910     fi 
    911     if [ $DRYRUN = 0 ]; then 
    912         if [ ! -f ${1} ] ; then 
    913             echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
    914             IGCM_debug_PopStack "IGCM_sys_Put_Out" 
    915             return 1 
    916         fi 
    917         # 
    918         IGCM_sys_MkdirArchive $( dirname $2 ) 
    919         # 
    920         typeset RET exist skip 
    921  
    922         #===================================================== 
    923         #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
    924         #===================================================== 
    925  
    926         #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 
    927         #if [ $? -eq 0 ] ; then 
    928         #    typeset WORKPATH FILEPATH 
    929         #    WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_OUT_SCR}|" ) 
    930         #    IGCM_sys_MkdirWork ${WORKPATH}  
    931         #    FILEPATH=${WORKPATH}/$( basename $2 ) 
    932         #    # 
    933         #    IGCM_sys_Cp ${1} ${FILEPATH} 
    934         #fi 
    935  
    936         if [ X${JobType} = XRUN ] ; then 
    937             if [ X${3} = X ] ; then 
    938                 IGCM_sys_Chmod 444 ${1} 
    939             fi 
    940         fi 
    941  
    942         exist=false 
     973  IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 
     974  if ( $DEBUG_sys ) ; then 
     975    echo "IGCM_sys_Put_Out :" $@ 
     976  fi 
     977  if [ $DRYRUN = 0 ]; then 
     978    if [ ! -f ${1} ] ; then 
     979      echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
     980      IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     981      return 1 
     982    fi 
     983    # 
     984    IGCM_sys_MkdirArchive $( dirname $2 ) 
     985    # 
     986    typeset RET exist skip 
     987 
     988    #===================================================== 
     989    #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
     990    #===================================================== 
     991 
     992    #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 
     993    #if [ $? -eq 0 ] ; then 
     994    #    typeset WORKPATH FILEPATH 
     995    #    WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_BUF}|" ) 
     996    #    IGCM_sys_MkdirWork ${WORKPATH}  
     997    #    FILEPATH=${WORKPATH}/$( basename $2 ) 
     998    #    # 
     999    #    IGCM_sys_Cp ${1} ${FILEPATH} 
     1000    #fi 
     1001 
     1002    if [ X${JobType} = XRUN ] ; then 
     1003      if [ X${3} = X ] ; then 
     1004        IGCM_sys_Chmod 444 ${1} 
     1005      fi 
     1006    fi 
     1007 
     1008    exist=false 
     1009    skip=false 
     1010    if [ -f $2 ] ; then 
     1011      IGCM_debug_Print 1 "$2 already exist" 
     1012      dmget $2 
     1013      exist=true 
     1014      if [ "X$( diff $1 $2 )" = X ] ; then 
     1015        IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 
     1016        skip=true 
     1017      else 
     1018        IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 
    9431019        skip=false 
    944         if [ -f $2 ] ; then 
    945             IGCM_debug_Print 1 "$2 already exist" 
    946             dmget $2 
    947             exist=true 
    948             if [ "X$( diff $1 $2 )" = X ] ; then 
    949                 IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 
    950                 skip=true 
    951             else 
    952                 IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 
    953                 skip=false 
    954             fi 
    955         fi 
    956         #  
    957         if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 
    958             IGCM_sys_Chmod u+w $2 
    959         fi 
    960         # USUAL WAY 
    961         if [ X${skip} = Xfalse ] ; then 
    962             \cp $1 $2 > out_rsync 2>&1 
    963             RET=$? 
    964             if [ ${RET} -gt 0 ] ; then 
    965                 echo "IGCM_sys_Put_Out : error." 
    966                 cat out_rsync 
    967                 IGCM_debug_Exit "IGCM_sys_Put_Out" 
    968             else 
    969                 \rm out_rsync 
    970             fi 
    971         fi 
    972  
    973 #       #RSYNC WITH NETWORK RSH CALL 
    974 #       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} > out_rsync 2>&1 
    975 #       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} >> out_rsync 2>&1 
     1020      fi 
     1021    fi 
     1022    #  
     1023    if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 
     1024      IGCM_sys_Chmod u+w $2 
     1025    fi 
     1026    # USUAL WAY 
     1027    if [ X${skip} = Xfalse ] ; then 
     1028      \cp $1 $2 > out_rsync 2>&1 
     1029      RET=$? 
     1030      if [ ${RET} -gt 0 ] ; then 
     1031        echo "IGCM_sys_Put_Out : error." 
     1032        cat out_rsync 
     1033        IGCM_debug_Exit "IGCM_sys_Put_Out" 
     1034      else 
     1035        \rm out_rsync 
     1036      fi 
     1037    fi 
     1038 
     1039#       #RSYNC WITH NETWORK SSH CALL 
     1040#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 
     1041#       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 
    9761042 
    9771043#       #RSYNC WITH NFS USE 
     
    9851051#       (( RET=RET+$? )) 
    9861052 
     1053  else 
     1054    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1055  fi 
     1056  IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     1057  return 0 
     1058} 
     1059 
     1060#D-#================================================== 
     1061#D-function IGCM_sys_PutBuffer_Out 
     1062#D-* Purpose: Copy a file on ${SCRATCHDIR} after having chmod it in readonly 
     1063#D-* Examples: 
     1064#D- 
     1065function IGCM_sys_PutBuffer_Out { 
     1066  IGCM_debug_PushStack "IGCM_sys_PutBuffer_Out" $@ 
     1067  if ( $DEBUG_sys ) ; then 
     1068    echo "IGCM_sys_PutBuffer_Out :" $@ 
     1069  fi 
     1070  if [ $DRYRUN = 0 ]; then 
     1071    if [ ! -f ${1} ] ; then 
     1072      echo "WARNING : IGCM_sys_PutBuffer_Out ${1} DOES NOT EXIST ." 
     1073      IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 
     1074      return 1 
     1075    fi 
     1076    # 
     1077    IGCM_sys_Mkdir $( dirname $2 ) 
     1078    # 
     1079    typeset RET 
     1080 
     1081    if [ X${JobType} = XRUN ] ; then 
     1082      if [ X${3} = X ] ; then 
     1083        IGCM_sys_Chmod 444 ${1} 
     1084      fi 
     1085    fi 
     1086    # 
     1087    # USUAL WAY 
     1088    \cp $1 $2 > out_rsync 2>&1 
     1089    RET=$? 
     1090 
     1091    if [ ${RET} -gt 0 ] ; then 
     1092      echo "IGCM_sys_PutBuffer_Out : error." 
     1093      cat out_rsync 
     1094      IGCM_debug_Exit "IGCM_sys_PutBuffer_Out" 
    9871095    else 
    988         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    989     fi 
    990     IGCM_debug_PopStack "IGCM_sys_Put_Out" 
    991     return 0 
     1096      \rm out_rsync 
     1097    fi 
     1098  else 
     1099    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1100  fi 
     1101  IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 
     1102  return 0 
    9921103} 
    9931104 
     
    9981109#D-            IGCM_sys_Get /l Array_contain_myfiles /destpath/ 
    9991110function IGCM_sys_Get { 
    1000     IGCM_debug_PushStack "IGCM_sys_Get" $@ 
    1001  
    1002     typeset DEST RET dm_liste ifile target file_work  
    1003  
    1004     if ( $DEBUG_sys ) ; then 
    1005         echo "IGCM_sys_Get :" $@ 
    1006     fi 
    1007     if [ $DRYRUN -le 2 ]; then 
    1008         if [ X${1} = X'/l' ] ; then 
    1009             # test if the first file is present in the old computation : 
    1010             eval set +A dm_liste \${${2}} 
    1011         else 
    1012             eval set +A dm_liste ${1} 
    1013         fi 
    1014         eval DEST=\${${#}} 
    1015  
    1016         #===================================================== 
    1017         #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
    1018         #===================================================== 
    1019  
    1020         # Is it an R_OUT file (not R_IN) ? 
    1021         #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 
    1022         #if [ $? -eq 0 ] ; then 
    1023         #    # Yes  ? then we try to get it in SCRATCHDIR 
    1024         #    set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_OUT_SCR}|g" ) 
    1025         #    if [ -f ${file_work[0]} ] ; then 
    1026         #       IGCM_sys_Cp ${file_work[*]} ${DEST} 
    1027         #       IGCM_debug_PopStack "IGCM_sys_Get" 
    1028         #       return 
    1029         #    fi 
    1030         #fi 
    1031  
    1032         # test if the (first) file is present in the old computation : 
    1033         IGCM_sys_TestFileArchive ${dm_liste[0]} 
    1034         RET=$? 
    1035         if [ ${RET} -gt 0 ] ; then 
    1036             echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
    1037             IGCM_debug_Exit "IGCM_sys_Get" 
    1038         fi 
    1039  
    1040         dmget ${dm_liste[*]} > out_rsync 2>&1 
    1041         RET=$? 
    1042  
    1043         if [ ${RET} -gt 0 ] ; then 
    1044             echo "WARNING IGCM_sys_Get : demigration error." 
    1045             cat out_rsync 
    1046             echo "WARNING IGCM_sys_Get : will later stop if the cp fails." 
    1047         fi 
    1048  
    1049         #if [ ${RET} -gt 0 ] ; then 
    1050         #    if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 
    1051         #       cat out_rsync 
    1052         #       echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 
    1053         #       sleep 30 
    1054         #       echo "We try another time" 
    1055         #       dmget ${dm_liste[*]} > out_rsync 2>&1 
    1056         #       RET=$? 
    1057         #       if [ ${RET} -gt 0 ] ; then 
    1058         #           echo "ERROR IGCM_sys_Get : again demigration error :" 
    1059         #           cat out_rsync 
    1060         #           IGCM_debug_Exit "IGCM_sys_Get" 
    1061         #       fi 
    1062         #    else 
    1063         #       echo "ERROR IGCM_sys_Get : demigration error :" 
    1064         #       cat out_rsync 
    1065         #       IGCM_debug_Exit "IGCM_sys_Get" 
    1066         #    fi 
    1067         #fi 
    1068  
    1069         #USUAL WAY 
    1070         (( RET=0 )) 
    1071         if [ X${1} = X'/l' ] ; then 
    1072             (( RET=0 )) 
    1073             for target in ${dm_liste[*]} ; do 
    1074                 local_file=$( basename ${target} ) 
    1075                 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
    1076                 (( RET = RET + $? )) 
    1077             done 
    1078         else 
    1079             \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 
    1080             RET=$? 
    1081         fi 
    1082  
    1083 #       #RSYNC WITH NETWORK RSH CALL 
    1084 #       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RHOST}:"${dm_liste}" ${RHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 
    1085 #       ${RSYNC} ${RSYNC_opt} -e ssh ${RHOST}:"${dm_liste}" ${RHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 
     1111  IGCM_debug_PushStack "IGCM_sys_Get" $@ 
     1112 
     1113  typeset DEST RET dm_liste ifile target file_work  
     1114 
     1115  if ( $DEBUG_sys ) ; then 
     1116    echo "IGCM_sys_Get :" $@ 
     1117  fi 
     1118  if [ $DRYRUN -le 2 ]; then 
     1119    if [ X${1} = X'/l' ] ; then 
     1120      # test if the first file is present in the old computation : 
     1121      eval set +A dm_liste \${${2}} 
     1122    else 
     1123      eval set +A dm_liste ${1} 
     1124    fi 
     1125    eval DEST=\${${#}} 
     1126 
     1127    #===================================================== 
     1128    #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
     1129    #===================================================== 
     1130 
     1131    # Is it an R_OUT file (not R_IN) ? 
     1132    #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 
     1133    #if [ $? -eq 0 ] ; then 
     1134    #    # Yes  ? then we try to get it in SCRATCHDIR 
     1135    #    set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" ) 
     1136    #    if [ -f ${file_work[0]} ] ; then 
     1137    #   IGCM_sys_Cp ${file_work[*]} ${DEST} 
     1138    #   IGCM_debug_PopStack "IGCM_sys_Get" 
     1139    #   return 
     1140    #    fi 
     1141    #fi 
     1142 
     1143    # test if the (first) file is present in the old computation : 
     1144    IGCM_sys_TestFileArchive ${dm_liste[0]} 
     1145    RET=$? 
     1146    if [ ${RET} -gt 0 ] ; then 
     1147      echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
     1148      IGCM_debug_Exit "IGCM_sys_Get" 
     1149    fi 
     1150 
     1151    dmget ${dm_liste[*]} > out_rsync 2>&1 
     1152    RET=$? 
     1153 
     1154    if [ ${RET} -gt 0 ] ; then 
     1155      echo "WARNING IGCM_sys_Get : demigration error." 
     1156      cat out_rsync 
     1157      echo "WARNING IGCM_sys_Get : will stop later if the cp fails." 
     1158    fi 
     1159 
     1160    #if [ ${RET} -gt 0 ] ; then 
     1161    #    if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 
     1162    #   cat out_rsync 
     1163    #   echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 
     1164    #   sleep 30 
     1165    #   echo "We try another time" 
     1166    #   dmget ${dm_liste[*]} > out_rsync 2>&1 
     1167    #   RET=$? 
     1168    #   if [ ${RET} -gt 0 ] ; then 
     1169    #       echo "ERROR IGCM_sys_Get : again demigration error :" 
     1170    #       cat out_rsync 
     1171    #       IGCM_debug_Exit "IGCM_sys_Get" 
     1172    #   fi 
     1173    #    else 
     1174    #   echo "ERROR IGCM_sys_Get : demigration error :" 
     1175    #   cat out_rsync 
     1176    #   IGCM_debug_Exit "IGCM_sys_Get" 
     1177    #    fi 
     1178    #fi 
     1179 
     1180    #USUAL WAY 
     1181    if [ X${1} = X'/l' ] ; then 
     1182      (( RET=0 )) 
     1183      for target in ${dm_liste[*]} ; do 
     1184        local_file=$( basename ${target} ) 
     1185        \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
     1186        (( RET = RET + $? )) 
     1187      done 
     1188    else 
     1189      \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 
     1190      RET=$? 
     1191    fi 
     1192 
     1193#       #RSYNC WITH NETWORK SSH CALL 
     1194#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 
     1195#       ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 
    10861196 
    10871197#       #RSYNC WITH NFS USE 
     
    10951205#       (( RET=RET+$? )) 
    10961206 
    1097         if [ ${RET} -gt 0 ] ; then 
    1098             echo "IGCM_sys_Get : copy error." 
    1099             cat out_rsync 
    1100 #           IGCM_debug_Exit "IGCM_sys_Get" 
    1101         else 
    1102             \rm out_rsync 
    1103         fi 
     1207    if [ ${RET} -gt 0 ] ; then 
     1208      echo "IGCM_sys_Get : copy error." 
     1209      cat out_rsync 
     1210#      IGCM_debug_Exit "IGCM_sys_Get" 
    11041211    else 
    1105         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1106     fi 
    1107     IGCM_debug_PopStack "IGCM_sys_Get" 
     1212      \rm out_rsync 
     1213    fi 
     1214  else 
     1215    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1216  fi 
     1217  IGCM_debug_PopStack "IGCM_sys_Get" 
     1218} 
     1219 
     1220#D-#================================================== 
     1221#D-function IGCM_sys_GetBuffer 
     1222#D-* Purpose: Get a file from ${SCRATCHDIR} 
     1223#D-* Examples: IGCM_sys_GetBuffer myfile /destpath/myfile_with_PREFIX 
     1224#D-            IGCM_sys_GetBuffer /l Array_contain_myfiles /destpath/ 
     1225function IGCM_sys_GetBuffer { 
     1226  IGCM_debug_PushStack "IGCM_sys_GetBuffer" $@ 
     1227 
     1228  typeset DEST RET buf_liste ifile target file_work  
     1229 
     1230  if ( $DEBUG_sys ) ; then 
     1231    echo "IGCM_sys_GetBuffer :" $@ 
     1232  fi 
     1233  if [ $DRYRUN -le 2 ]; then 
     1234    if [ X${1} = X'/l' ] ; then 
     1235      # test if the first file is present in the old computation : 
     1236      eval set +A buf_liste \${${2}} 
     1237    else 
     1238      eval set +A buf_liste ${1} 
     1239    fi 
     1240    eval DEST=\${${#}} 
     1241 
     1242    #USUAL WAY 
     1243    if [ X${1} = X'/l' ] ; then 
     1244      (( RET=0 )) 
     1245      for target in ${buf_liste[*]} ; do 
     1246        local_file=$( basename ${target} ) 
     1247        \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
     1248        (( RET = RET + $? )) 
     1249      done 
     1250    else 
     1251      \cp ${buf_liste} ${DEST} >> out_rsync 2>&1 
     1252      RET=$? 
     1253    fi 
     1254 
     1255    if [ ${RET} -gt 0 ] ; then 
     1256      echo "IGCM_sys_GetBuffer : copy error." 
     1257      cat out_rsync 
     1258      IGCM_debug_Exit "IGCM_sys_GetBuffer" 
     1259    else 
     1260      \rm out_rsync 
     1261    fi 
     1262  else 
     1263    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1264  fi 
     1265  IGCM_debug_PopStack "IGCM_sys_GetBuffer" 
     1266} 
     1267 
     1268#D-#================================================== 
     1269#D-function IGCM_sys_GetDate_FichWork 
     1270#D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 
     1271#D-* Examples: 
     1272#D- 
     1273function IGCM_sys_GetDate_FichWork { 
     1274  IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 
     1275  if ( $DEBUG_sys ) ; then 
     1276    echo "IGCM_sys_GetDate_FichWork :" $@ 
     1277  fi 
     1278  # donne la date filesys d'un fichier sur la machine work 
     1279  IGCM_debug_PopStack "IGCM_sys_FichWork" 
     1280} 
     1281 
     1282#D-#================================================== 
     1283#D-function IGCM_sys_GetDate_FichArchive 
     1284#D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE  
     1285#D-* Examples: 
     1286#D- 
     1287function IGCM_sys_GetDate_FichArchive { 
     1288  IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 
     1289  if ( $DEBUG_sys ) ; then 
     1290    echo "IGCM_sys_GetDate_FichArchive :" $@ 
     1291  fi 
     1292  IGCM_debug_PopStack "IGCM_sys_FichArchive" 
    11081293} 
    11091294 
     
    11141299#D- 
    11151300function IGCM_sys_Dods_Rm { 
    1116     if ( $DEBUG_sys ) ; then 
    1117         echo "IGCM_sys_Dods_Rm :" $@ 
    1118     fi 
    1119     typeset RET 
    1120     RET=0 
    1121     if [ $DRYRUN = 0 ]; then 
    1122         if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 
    1123             echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 
    1124             echo "Nothing has been done." 
    1125             return 
    1126         fi 
    1127         dods_rm public/${LOGIN}/${R_DODS}/${1} # > out_dods_rm 2>&1 
    1128         RET=$? 
    1129          
     1301  if ( $DEBUG_sys ) ; then 
     1302    echo "IGCM_sys_Dods_Rm :" $@ 
     1303  fi 
     1304  typeset RET 
     1305  RET=0 
     1306  if [ $DRYRUN = 0 ]; then 
     1307    if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 
     1308      echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 
     1309      echo "Nothing has been done." 
     1310      return 
     1311    fi 
     1312    dods_rm public/${LOGIN}/${R_DODS}/${1} # > out_dods_rm 2>&1 
     1313    RET=$? 
     1314     
    11301315#       if [ ${RET} -gt 0 ] ; then 
    11311316#           echo "IGCM_sys_Dods_Rm : error." 
     
    11361321#       fi 
    11371322 
    1138     else 
    1139         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1140     fi 
    1141     return $RET 
    1142 } 
    1143  
     1323  else 
     1324    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1325  fi 
     1326  return $RET 
     1327} 
    11441328 
    11451329#D-#================================================== 
     
    11491333#D- 
    11501334function IGCM_sys_Dods_Cp { 
    1151     if ( $DEBUG_sys ) ; then 
    1152         echo "IGCM_sys_Dods_Cp :" $@ 
    1153     fi 
    1154     typeset RET 
    1155     RET=0 
    1156     if [ $DRYRUN = 0 ]; then 
    1157         if [ ! -d ${R_SAVE}/${1} ] ; then 
    1158             echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 
    1159             echo "Nothing has been done." 
    1160             return 
    1161         fi 
    1162         # 
    1163         dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 
    1164         RET=$? 
    1165          
     1335  if ( $DEBUG_sys ) ; then 
     1336    echo "IGCM_sys_Dods_Cp :" $@ 
     1337  fi 
     1338  typeset RET 
     1339  RET=0 
     1340  if [ $DRYRUN = 0 ]; then 
     1341    if [ ! -d ${R_SAVE}/${1} ] ; then 
     1342      echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 
     1343      echo "Nothing has been done." 
     1344      return 
     1345    fi 
     1346    # 
     1347    dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 
     1348    RET=$? 
     1349 
    11661350#       if [ ${RET} -gt 0 ] ; then 
    11671351#           echo "IGCM_sys_Dods_Cp : error." 
     
    11721356#       fi 
    11731357 
    1174     else 
    1175         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1176     fi 
    1177     return $RET 
     1358  else 
     1359    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1360  fi 
     1361  return $RET 
    11781362} 
    11791363 
     
    11841368#D- 
    11851369function IGCM_sys_Put_Dods { 
    1186     IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 
    1187     if ( $DEBUG_sys ) ; then 
    1188         echo "IGCM_sys_Put_Dods :" $@ 
    1189     fi 
    1190     if [ $DRYRUN = 0 ]; then 
    1191         if [ ! -d ${R_SAVE}/${1} ] ; then 
    1192             echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 
    1193             IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    1194             return 
    1195         fi 
    1196  
    1197         typeset RET 
     1370  IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 
     1371  if ( $DEBUG_sys ) ; then 
     1372    echo "IGCM_sys_Put_Dods :" $@ 
     1373  fi 
     1374  if [ $DRYRUN = 0 ]; then 
     1375    if [ ! -d ${R_SAVE}/${1} ] ; then 
     1376      echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 
     1377      IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
     1378      return 
     1379    fi 
     1380 
     1381    typeset RET 
    11981382        # 
    1199         cd ${R_SAVE} 
    1200         IGCM_sys_Dods_Rm ${1} 
    1201         IGCM_sys_Dods_Cp ${1} 
    1202         RET=0 
    1203          
    1204         if [ ${RET} -gt 0 ] ; then 
    1205             echo "IGCM_sys_Put_Dods : error." 
    1206             IGCM_debug_Exit "IGCM_sys_Put_Dods" 
    1207         fi 
    1208     else 
    1209         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1210     fi 
    1211     IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    1212 } 
    1213  
    1214 ############################################################## A FINIR !! 
    1215  
    1216 #D-#================================================== 
    1217 #D-function IGCM_sys_GetDate_FichWork 
    1218 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 
    1219 #D-* Examples: 
    1220 #D- 
    1221 function IGCM_sys_GetDate_FichWork { 
    1222     IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 
    1223     if ( $DEBUG_sys ) ; then 
    1224         echo "IGCM_sys_GetDate_FichWork :" $@ 
    1225     fi 
    1226     # donne la date filesys d'un fichier sur la machine work 
    1227     IGCM_debug_PopStack "IGCM_sys_FichWork" 
    1228 } 
    1229  
    1230 #D-#================================================== 
    1231 #D-function IGCM_sys_GetDate_FichArchive 
    1232 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE  
    1233 #D-* Examples: 
    1234 #D- 
    1235 function IGCM_sys_GetDate_FichArchive { 
    1236     IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 
    1237     if ( $DEBUG_sys ) ; then 
    1238         echo "IGCM_sys_GetDate_FichArchive :" $@ 
    1239     fi 
    1240     IGCM_debug_PopStack "IGCM_sys_FichArchive" 
     1383    cd ${R_SAVE} 
     1384    IGCM_sys_Dods_Rm ${1} 
     1385    IGCM_sys_Dods_Cp ${1} 
     1386    RET=0 
     1387     
     1388    if [ ${RET} -gt 0 ] ; then 
     1389      echo "IGCM_sys_Put_Dods : error." 
     1390      IGCM_debug_Exit "IGCM_sys_Put_Dods" 
     1391    fi 
     1392  else 
     1393    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1394  fi 
     1395  IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    12411396} 
    12421397 
     
    12451400 
    12461401function IGCM_sys_rebuild { 
    1247     IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 
    1248     if ( $DEBUG_sys ) ; then 
    1249         echo "IGCM_sys_rebuild :" $@ 
    1250     fi 
    1251     /home/cont003/p86ipsl/X86_64/bin/rebuild -f -o $@ 
    1252     if [ $? -gt 0 ] ; then 
    1253        echo "IGCM_sys_rebuild : erreur ${@}." 
    1254        IGCM_debug_Exit "rebuild" 
    1255     fi 
    1256  
    1257     IGCM_debug_PopStack "IGCM_sys_rebuild" 
     1402  IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 
     1403  if ( $DEBUG_sys ) ; then 
     1404    echo "IGCM_sys_rebuild :" $@ 
     1405  fi 
     1406  /home/cont003/p86ipsl/X86_64/bin/rebuild -f -o $@ 
     1407  if [ $? -gt 0 ] ; then 
     1408    echo "IGCM_sys_rebuild : erreur ${@}." 
     1409    IGCM_debug_Exit "rebuild" 
     1410  fi 
     1411 
     1412  IGCM_debug_PopStack "IGCM_sys_rebuild" 
    12581413} 
    12591414 
     
    12621417 
    12631418function IGCM_sys_ncap2 { 
    1264     IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 
    1265     if ( $DEBUG_sys ) ; then 
    1266         echo "IGCM_sys_ncap2 :" $@ 
    1267     fi 
    1268     ncap2 "$@" 
    1269     if [ $? -gt 0 ] ; then 
    1270        echo "IGCM_sys_ncap2 : erreur ${@}." 
    1271        IGCM_debug_Exit "ncap2" 
    1272     fi 
    1273  
    1274     IGCM_debug_PopStack "IGCM_sys_ncap2" 
     1419  IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 
     1420  if ( $DEBUG_sys ) ; then 
     1421    echo "IGCM_sys_ncap2 :" $@ 
     1422  fi 
     1423  ncap2 "$@" 
     1424  if [ $? -gt 0 ] ; then 
     1425    echo "IGCM_sys_ncap2 : erreur ${@}." 
     1426    IGCM_debug_Exit "ncap2" 
     1427  fi 
     1428 
     1429  IGCM_debug_PopStack "IGCM_sys_ncap2" 
    12751430} 
    12761431 
    12771432function IGCM_sys_ncatted { 
    1278     IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 
    1279     if ( $DEBUG_sys ) ; then 
    1280         echo "IGCM_sys_ncatted :" $@ 
    1281     fi 
    1282     ncatted "$@" 
    1283     if [ $? -gt 0 ] ; then 
    1284        echo "IGCM_sys_ncatted : erreur ${@}." 
    1285        IGCM_debug_Exit "ncatted" 
    1286     fi 
    1287  
    1288     IGCM_debug_PopStack "IGCM_sys_ncatted" 
     1433  IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 
     1434  if ( $DEBUG_sys ) ; then 
     1435    echo "IGCM_sys_ncatted :" $@ 
     1436  fi 
     1437  ncatted "$@" 
     1438  if [ $? -gt 0 ] ; then 
     1439    echo "IGCM_sys_ncatted : erreur ${@}." 
     1440    IGCM_debug_Exit "ncatted" 
     1441  fi 
     1442 
     1443  IGCM_debug_PopStack "IGCM_sys_ncatted" 
    12891444} 
    12901445 
    12911446function IGCM_sys_ncbo { 
    1292     IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 
    1293     if ( $DEBUG_sys ) ; then 
    1294         echo "IGCM_sys_ncbo :" $@ 
    1295     fi 
    1296     ncbo $@ 
    1297     if [ $? -gt 0 ] ; then 
    1298        echo "IGCM_sys_ncbo : erreur ${@}." 
    1299        IGCM_debug_Exit "ncbo" 
    1300     fi 
    1301  
    1302     IGCM_debug_PopStack "IGCM_sys_ncbo" 
     1447  IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 
     1448  if ( $DEBUG_sys ) ; then 
     1449    echo "IGCM_sys_ncbo :" $@ 
     1450  fi 
     1451  ncbo $@ 
     1452  if [ $? -gt 0 ] ; then 
     1453    echo "IGCM_sys_ncbo : erreur ${@}." 
     1454    IGCM_debug_Exit "ncbo" 
     1455  fi 
     1456 
     1457  IGCM_debug_PopStack "IGCM_sys_ncbo" 
    13031458} 
    13041459 
    13051460function IGCM_sys_ncdiff { 
    1306     IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 
    1307     if ( $DEBUG_sys ) ; then 
    1308         echo "IGCM_sys_ncdiff :" $@ 
    1309     fi 
    1310     ncdiff $@ 
    1311     if [ $? -gt 0 ] ; then 
    1312        echo "IGCM_sys_ncdiff : erreur ${@}." 
    1313        IGCM_debug_Exit "ncdiff" 
    1314     fi 
    1315  
    1316     IGCM_debug_PopStack "IGCM_sys_ncdiff" 
     1461  IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 
     1462  if ( $DEBUG_sys ) ; then 
     1463    echo "IGCM_sys_ncdiff :" $@ 
     1464  fi 
     1465  ncdiff $@ 
     1466  if [ $? -gt 0 ] ; then 
     1467    echo "IGCM_sys_ncdiff : erreur ${@}." 
     1468    IGCM_debug_Exit "ncdiff" 
     1469  fi 
     1470 
     1471  IGCM_debug_PopStack "IGCM_sys_ncdiff" 
    13171472} 
    13181473 
    13191474function IGCM_sys_ncea { 
    1320     IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 
    1321     if ( $DEBUG_sys ) ; then 
    1322         echo "IGCM_sys_ncea :" $@ 
    1323     fi 
    1324     ncea $@ 
    1325     if [ $? -gt 0 ] ; then 
    1326        echo "IGCM_sys_ncea : erreur ${@}." 
    1327        IGCM_debug_Exit "ncea" 
    1328     fi 
    1329  
    1330     IGCM_debug_PopStack "IGCM_sys_ncea" 
     1475  IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 
     1476  if ( $DEBUG_sys ) ; then 
     1477    echo "IGCM_sys_ncea :" $@ 
     1478  fi 
     1479  ncea $@ 
     1480  if [ $? -gt 0 ] ; then 
     1481    echo "IGCM_sys_ncea : erreur ${@}." 
     1482    IGCM_debug_Exit "ncea" 
     1483  fi 
     1484 
     1485  IGCM_debug_PopStack "IGCM_sys_ncea" 
    13311486} 
    13321487 
    13331488function IGCM_sys_ncecat { 
    1334     IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 
    1335     if ( $DEBUG_sys ) ; then 
    1336         echo "IGCM_sys_ncecat :" $@ 
    1337     fi 
    1338     ncecat $@ 
    1339     if [ $? -gt 0 ] ; then 
    1340        echo "IGCM_sys_ncecat : erreur ${@}." 
    1341        IGCM_debug_Exit "ncecat" 
    1342     fi 
    1343  
    1344     IGCM_debug_PopStack "IGCM_sys_ncecat" 
     1489  IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 
     1490  if ( $DEBUG_sys ) ; then 
     1491    echo "IGCM_sys_ncecat :" $@ 
     1492  fi 
     1493  ncecat $@ 
     1494  if [ $? -gt 0 ] ; then 
     1495    echo "IGCM_sys_ncecat : erreur ${@}." 
     1496    IGCM_debug_Exit "ncecat" 
     1497  fi 
     1498 
     1499  IGCM_debug_PopStack "IGCM_sys_ncecat" 
    13451500} 
    13461501 
    13471502function IGCM_sys_ncflint { 
    1348     IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 
    1349     if ( $DEBUG_sys ) ; then 
    1350         echo "IGCM_sys_ncflint :" $@ 
    1351     fi 
    1352     ncflint $@ 
    1353     if [ $? -gt 0 ] ; then 
    1354        echo "IGCM_sys_ncflint : erreur ${@}." 
    1355        IGCM_debug_Exit "ncflint" 
    1356     fi 
    1357  
    1358     IGCM_debug_PopStack "IGCM_sys_ncflint" 
     1503  IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 
     1504  if ( $DEBUG_sys ) ; then 
     1505    echo "IGCM_sys_ncflint :" $@ 
     1506  fi 
     1507  ncflint $@ 
     1508  if [ $? -gt 0 ] ; then 
     1509    echo "IGCM_sys_ncflint : erreur ${@}." 
     1510    IGCM_debug_Exit "ncflint" 
     1511  fi 
     1512 
     1513  IGCM_debug_PopStack "IGCM_sys_ncflint" 
    13591514} 
    13601515 
    13611516function IGCM_sys_ncks { 
    1362     IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 
    1363     if ( $DEBUG_sys ) ; then 
    1364         echo "IGCM_sys_ncks :" $@ 
    1365     fi 
    1366     ncks $@ 
    1367     if [ $? -gt 0 ] ; then 
    1368        echo "IGCM_sys_ncks : erreur ${@}." 
    1369        IGCM_debug_Exit "ncks" 
    1370     fi 
    1371  
    1372     IGCM_debug_PopStack "IGCM_sys_ncks" 
     1517  IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 
     1518  if ( $DEBUG_sys ) ; then 
     1519    echo "IGCM_sys_ncks :" $@ 
     1520  fi 
     1521  ncks $@ 
     1522  if [ $? -gt 0 ] ; then 
     1523    echo "IGCM_sys_ncks : erreur ${@}." 
     1524    IGCM_debug_Exit "ncks" 
     1525  fi 
     1526 
     1527  IGCM_debug_PopStack "IGCM_sys_ncks" 
    13731528} 
    13741529 
    13751530function IGCM_sys_ncpdq { 
    1376     IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 
    1377     if ( $DEBUG_sys ) ; then 
    1378         echo "IGCM_sys_ncpdq :" $@ 
    1379     fi 
    1380     ncpdq $@ 
    1381     if [ $? -gt 0 ] ; then 
    1382        echo "IGCM_sys_ncpdq : erreur ${@}." 
    1383        IGCM_debug_Exit "ncpdq" 
    1384     fi 
    1385  
    1386     IGCM_debug_PopStack "IGCM_sys_ncpdq" 
     1531  IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 
     1532  if ( $DEBUG_sys ) ; then 
     1533    echo "IGCM_sys_ncpdq :" $@ 
     1534  fi 
     1535  ncpdq $@ 
     1536  if [ $? -gt 0 ] ; then 
     1537    echo "IGCM_sys_ncpdq : erreur ${@}." 
     1538    IGCM_debug_Exit "ncpdq" 
     1539  fi 
     1540 
     1541  IGCM_debug_PopStack "IGCM_sys_ncpdq" 
    13871542} 
    13881543 
    13891544function IGCM_sys_ncra { 
    1390     IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 
    1391     if ( $DEBUG_sys ) ; then 
    1392         echo "IGCM_sys_ncra :" $@ 
    1393     fi 
    1394     ncra $@ 
    1395     if [ $? -gt 0 ] ; then 
    1396        echo "IGCM_sys_ncra : erreur ${@}." 
    1397        IGCM_debug_Exit "ncra" 
    1398     fi 
    1399  
    1400     IGCM_debug_PopStack "IGCM_sys_ncra" 
     1545  IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 
     1546  if ( $DEBUG_sys ) ; then 
     1547    echo "IGCM_sys_ncra :" $@ 
     1548  fi 
     1549  ncra $@ 
     1550  if [ $? -gt 0 ] ; then 
     1551    echo "IGCM_sys_ncra : erreur ${@}." 
     1552    IGCM_debug_Exit "ncra" 
     1553  fi 
     1554 
     1555  IGCM_debug_PopStack "IGCM_sys_ncra" 
    14011556} 
    14021557 
    14031558function IGCM_sys_ncrcat { 
    1404     IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 
    1405     if ( $DEBUG_sys ) ; then 
    1406         echo "IGCM_sys_ncrcat :" $@ 
    1407     fi 
    1408     ncrcat $@ 
    1409     if [ $? -gt 0 ] ; then 
    1410        echo "IGCM_sys_ncrcat : erreur ${@}." 
     1559  IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 
     1560  if ( $DEBUG_sys ) ; then 
     1561    echo "IGCM_sys_ncrcat :" $@ 
     1562  fi 
     1563  ncrcat $@ 
     1564  if [ $? -gt 0 ] ; then 
     1565    echo "IGCM_sys_ncrcat : erreur ${@}." 
    14111566#       IGCM_debug_Exit "ncrcat" 
    1412     fi 
    1413  
    1414     IGCM_debug_PopStack "IGCM_sys_ncrcat" 
     1567  fi 
     1568 
     1569  IGCM_debug_PopStack "IGCM_sys_ncrcat" 
    14151570} 
    14161571 
    14171572function IGCM_sys_ncrename { 
    1418     IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 
    1419     if ( $DEBUG_sys ) ; then 
    1420         echo "IGCM_sys_ncrename :" $@ 
    1421     fi 
    1422     ncrename $@ 
    1423     if [ $? -gt 0 ] ; then 
    1424        echo "IGCM_sys_ncrename : erreur ${@}." 
    1425        IGCM_debug_Exit "ncrename" 
    1426     fi 
    1427  
    1428     IGCM_debug_PopStack "IGCM_sys_ncrename" 
     1573  IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 
     1574  if ( $DEBUG_sys ) ; then 
     1575    echo "IGCM_sys_ncrename :" $@ 
     1576  fi 
     1577  ncrename $@ 
     1578  if [ $? -gt 0 ] ; then 
     1579    echo "IGCM_sys_ncrename : erreur ${@}." 
     1580    IGCM_debug_Exit "ncrename" 
     1581  fi 
     1582 
     1583  IGCM_debug_PopStack "IGCM_sys_ncrename" 
    14291584} 
    14301585 
    14311586function IGCM_sys_ncwa { 
    1432     IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 
    1433     if ( $DEBUG_sys ) ; then 
    1434         echo "IGCM_sys_ncwa :" $@ 
    1435     fi 
    1436     ncwa $@ 
    1437     if [ $? -gt 0 ] ; then 
    1438        echo "IGCM_sys_ncwa : erreur ${@}." 
    1439        IGCM_debug_Exit "ncwa" 
    1440     fi 
    1441  
    1442     IGCM_debug_PopStack "IGCM_sys_ncwa" 
     1587  IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 
     1588  if ( $DEBUG_sys ) ; then 
     1589    echo "IGCM_sys_ncwa :" $@ 
     1590  fi 
     1591  ncwa $@ 
     1592  if [ $? -gt 0 ] ; then 
     1593    echo "IGCM_sys_ncwa : erreur ${@}." 
     1594    IGCM_debug_Exit "ncwa" 
     1595  fi 
     1596 
     1597  IGCM_debug_PopStack "IGCM_sys_ncwa" 
    14431598} 
    14441599 
     
    14471602 
    14481603function IGCM_sys_cdo { 
    1449     IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 
    1450  
    1451     \cdo $@ 
    1452     if [ $? -gt 0 ] ; then 
    1453        echo "IGCM_sys_cdo : erreur ${@}." 
    1454        IGCM_debug_PopStack "IGCM_sys_cdo" 
    1455        return 1 
    1456     else 
    1457         IGCM_debug_PopStack "IGCM_sys_cdo" 
    1458         return 0 
    1459     fi 
    1460  
     1604  IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 
     1605  if ( $DEBUG_sys ) ; then 
     1606    echo "IGCM_sys_cdo :" $@ 
     1607  fi 
     1608  \cdo $@ 
     1609  if [ $? -gt 0 ] ; then 
     1610    echo "IGCM_sys_cdo : erreur ${@}." 
    14611611    IGCM_debug_PopStack "IGCM_sys_cdo" 
     1612    return 1 
     1613  else 
     1614    IGCM_debug_PopStack "IGCM_sys_cdo" 
     1615    return 0 
     1616  fi 
     1617 
     1618  IGCM_debug_PopStack "IGCM_sys_cdo" 
    14621619} 
    14631620 
     
    14661623 
    14671624function IGCM_sys_activ_variables { 
    1468     IGCM_debug_PushStack "IGCM_sys_activ_variables" 
    1469     if ( $DEBUG_sys ) ; then 
    1470         echo "IGCM_sys_activ_variables" 
    1471     fi 
    1472     IGCM_debug_PopStack "IGCM_sys_activ_variables" 
     1625  IGCM_debug_PushStack "IGCM_sys_activ_variables" 
     1626  if ( $DEBUG_sys ) ; then 
     1627    echo "IGCM_sys_activ_variables" 
     1628  fi 
     1629  IGCM_debug_PopStack "IGCM_sys_activ_variables" 
    14731630} 
    14741631 
     
    14771634 
    14781635function IGCM_sys_desactiv_variables { 
    1479     IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 
    1480     if ( $DEBUG_sys ) ; then 
    1481         echo "IGCM_sys_desactiv_variables" 
    1482     fi 
    1483     IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 
     1636  IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 
     1637  if ( $DEBUG_sys ) ; then 
     1638    echo "IGCM_sys_desactiv_variables" 
     1639  fi 
     1640  IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 
    14841641} 
    14851642 
     
    14881645 
    14891646function IGCM_sys_build_run_file { 
    1490     IGCM_debug_PushStack "IGCM_sys_build_run_file" 
    1491     if ( $DEBUG_sys ) ; then 
    1492         echo "IGCM_sys_build_run_file" 
    1493     fi 
    1494     IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    1495 } 
     1647  IGCM_debug_PushStack "IGCM_sys_build_run_file" 
     1648  if ( $DEBUG_sys ) ; then 
     1649    echo "IGCM_sys_build_run_file" 
     1650  fi 
     1651  IGCM_debug_PopStack "IGCM_sys_build_run_file" 
     1652} 
Note: See TracChangeset for help on using the changeset viewer.