Ignore:
Timestamp:
03/07/12 10:39:55 (12 years ago)
Author:
mafoipsl
Message:

First try to merge libIGCM_MPI_OpenMP branch with libIGCM trunk revision 569. Tested on vargas with PackFrequency?=NONE included into config.card.

Location:
branches/libIGCM_MPI_OpenMP
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/libIGCM_MPI_OpenMP

  • branches/libIGCM_MPI_OpenMP/libIGCM_sys/libIGCM_sys_mercure.ksh

    r521 r571  
    6262 
    6363#===================================================== 
    64 # Host and user names  
     64# Host and user names 
    6565# $hostname ou hostname 
    6666typeset  HOST=${HOST:=$( hostname )} 
     
    107107#==================================================== 
    108108#- IN 
    109 typeset -r R_IN=${R_IN:=/dmnfs/cont003/p86ipsl/IGCM} 
     109typeset -r R_IN=${R_IN:=/ccc/work/cont003/dsm/p86ipsl/IGCM} 
    110110typeset -r R_IN_ECMWF=${R_IN_ECMWF:=/dmnfs/cont003/p24data} 
    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} 
     394} 
     395 
     396#D-#================================================== 
     397#D-function IGCM_sys_IsFileArchived 
     398#D-* Purpose: Test file that must NOT EXISTS on Archive 
     399#D-* Examples: 
     400#D- 
     401function IGCM_sys_IsFileArchived { 
     402  IGCM_debug_PushStack "IGCM_sys_IsFileArchived" $@ 
     403  if ( $DEBUG_sys ) ; then 
     404    echo "IGCM_sys_IsFileArchived :" $@ 
     405  fi 
     406  typeset IsArchivedFlag 
     407  IsArchivedFlag=$( [ X$( echo $1 | grep ^\/dmnfs ) != X ] && echo 0 || echo 1 ) 
     408  IGCM_debug_PopStack "IGCM_sys_IsFileArchived" 
     409 
     410  return ${IsArchivedFlag} 
    394411} 
    395412 
     
    400417#D- 
    401418function 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} 
     419  IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 
     420  if ( $DEBUG_sys ) ; then 
     421    echo "IGCM_sys_TestFileArchive :" $@ 
     422  fi 
     423  typeset ExistFlag 
     424  ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
     425  IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 
     426 
     427  return ${ExistFlag} 
     428} 
     429 
     430#D-#================================================== 
     431#D-function IGCM_sys_TestFileBuffer 
     432#D-* Purpose: Test file that must NOT EXISTS on Buffer 
     433#D-* Examples: 
     434#D- 
     435function IGCM_sys_TestFileBuffer { 
     436  IGCM_debug_PushStack "IGCM_sys_TestFileBuffer" $@ 
     437  typeset ExistFlag 
     438  ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
     439  IGCM_debug_PopStack "IGCM_sys_TestFileBuffer" 
     440 
     441  return ${ExistFlag} 
    411442} 
    412443 
     
    417448#D- 
    418449function 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" 
     450  IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 
     451  ls ${@} 2>/dev/null | wc -l 
     452  if [ $? -gt 0 ] ; then 
     453    echo "IGCM_sys_CountFileArchive : erreur." 
     454  fi 
     455  IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 
     456} 
     457 
     458#D-#================================================== 
     459#D-function IGCM_sys_CountFileBuffer 
     460#D-* Purpose: Count files on Scratch filesystem 
     461#D-* Examples: 
     462#D- 
     463function IGCM_sys_CountFileBuffer { 
     464  IGCM_debug_PushStack "IGCM_sys_CountFileBuffer" $@ 
     465  ls ${@} 2>/dev/null | wc -l 
     466  if [ $? -gt 0 ] ; then 
     467    echo "IGCM_sys_CountFileBuffer : erreur." 
     468  fi 
     469  IGCM_debug_PopStack "IGCM_sys_CountFileBuffer" 
    425470} 
    426471 
     
    431476#D- 
    432477function 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" 
     478  IGCM_debug_PushStack "IGCM_sys_Tree" $@ 
     479  if ( $DEBUG_sys ) ; then 
     480    echo "IGCM_sys_Tree :" $@ 
     481  fi 
     482 
     483  \tree -f $@ 
     484 
     485  IGCM_debug_PopStack "IGCM_sys_Tree" 
    441486} 
    442487 
    443488#D-#================================================== 
    444489#D-function IGCM_sys_Tar 
    445 #D-* Purpose: master un-tar command 
     490#D-* Purpose: master tar command 
    446491#D-* Examples: 
    447492#D- 
    448493function 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" 
     494  IGCM_debug_PushStack "IGCM_sys_Tar" $@ 
     495  if ( $DEBUG_sys ) ; then 
     496    echo "IGCM_sys_Tar :" $@ 
     497  fi 
     498  \tar cf $@ 
     499  if [ $? -gt 0 ] ; then 
     500    echo "IGCM_sys_Tar : erreur." 
     501    IGCM_debug_Exit "IGCM_sys_Tar" 
     502  fi 
     503  IGCM_debug_PopStack "IGCM_sys_Tar" 
    461504} 
    462505 
     
    467510#D- 
    468511function 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" 
     512  IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 
     513  if ( $DEBUG_sys ) ; then 
     514    echo "IGCM_sys_UnTar :" $@ 
     515  fi 
     516  \tar xvf $1 
     517  if [ $? -gt 0 ] ; then 
     518    echo "IGCM_sys_UnTar : erreur." 
     519    IGCM_debug_Exit "IGCM_sys_UnTar" 
     520  fi 
     521  IGCM_debug_PopStack "IGCM_sys_UnTar" 
    479522} 
    480523 
     
    485528#D- 
    486529function 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" 
     530  IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 
     531  if ( $DEBUG_sys ) ; then 
     532    echo "IGCM_sys_QsubPost :" $@ 
     533  fi 
     534  /usr/bin/nqsII/qsub -o ${POST_DIR}/${Script_Post_Output}.out ${libIGCM}/$1.job -v ${listVarEnv} 
     535  if [ $? -gt 0 ] ; then 
     536    echo "IGCM_sys_QsubPost : erreur " $@ 
     537    IGCM_debug_Exit "IGCM_sys_QsubPost" 
     538  fi 
     539  IGCM_debug_PopStack "IGCM_sys_QsubPost" 
    497540} 
    498541 
     
    508551#D-  Error values and explanations can depend on your system version. 
    509552function 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      
     553  RET=$1 
     554  if [ ! $RET ] ; then 
     555    echo "rsync error !" 
     556  fi 
     557 
     558  if [ $MYLANG = "fr" ]; then 
     559    case $RET in 
     560    0)  return ;; 
     561    1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
     562      echo "Erreur de syntaxe ou d'utilisation." 
     563      return;; 
     564    2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
     565      echo "Incompatibilité de protocole." 
     566      return;; 
     567    3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
     568      echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
     569      echo "répertoires" 
     570      return;; 
     571    4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
     572      echo "Action demandée non supportée : une tentative de manipulation de" 
     573      echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
     574      echo "été faite ; ou une option qui est supportée par le  client  mais" 
     575      echo "pas par le serveur a été spécifiée." 
     576      return;; 
     577    10) echo "Erreur de rsync ; RERR_SOCKETIO" 
     578      echo "Erreur dans le socket d'entrée sortie" 
     579      return;; 
     580    11) echo "Erreur de rsync ; RERR_FILEIO" 
     581      echo "Erreur d'entrée sortie fichier" 
     582      return;; 
     583    12) echo "Erreur de rsync ; RERR_STREAMIO" 
     584      echo "Erreur dans flux de donnée du protocole rsync" 
     585      return;; 
     586    13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
     587      echo "Erreur avec les diagnostics du programme" 
     588      return;; 
     589    14) echo "Erreur de rsync ; RERR_IPC" 
     590      echo "Erreur dans le code IPC" 
     591      return;; 
     592    20) echo "Erreur de rsync ; RERR_SIGNAL" 
     593      echo "SIGUSR1 ou SIGINT reçu" 
     594      return;; 
     595    21) echo "Erreur de rsync ; RERR_WAITCHILD" 
     596      echo "Une erreur retournée par waitpid()" 
     597      return;; 
     598    22) echo "Erreur de rsync ; RERR_MALLOC" 
     599      echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
     600      return;; 
     601    23) echo "" 
     602      echo "Erreur fichier inexistant" 
     603      return;; 
     604    30) echo "Erreur de rsync ; RERR_TIMEOUT" 
     605      echo "Temps d'attente écoulé dans l'envoi/réception de données" 
     606      return;; 
     607    *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
     608      return;; 
     609    esac 
     610  elif [ $MYLANG = "en" ] ; then 
     611    case $RET in 
     612    0)  return;;                 
     613    1)  echo "rsync error : Syntax or usage error " 
     614      return;; 
     615    2)  echo "rsync error : Protocol incompatibility " 
     616      return;; 
     617    3)  echo "rsync error : Errors selecting input/output files, dirs" 
     618      return;; 
     619    4)  echo "rsync error : Requested action not supported: an attempt" 
     620      echo "was made to manipulate 64-bit files on a platform that cannot support" 
     621      echo "them; or an option was specified that is supported by the client and" 
     622      echo "not by the server." 
     623      return;; 
     624    5)  echo "rsync error : Error starting client-server protocol" 
     625      return;; 
     626    10) echo "rsync error : Error in socket I/O " 
     627      return;; 
     628    11) echo "rsync error : Error in file I/O " 
     629      return;; 
     630    12) echo "rsync error : Error in rsync protocol data stream " 
     631      return;; 
     632    13) echo "rsync error : Errors with program diagnostics " 
     633      return;; 
     634    14) echo "rsync error : Error in IPC code " 
     635      return;; 
     636    20) echo "rsync error : Received SIGUSR1 or SIGINT " 
     637      return;; 
     638    21) echo "rsync error : Some error returned by waitpid() " 
     639      return;; 
     640    22) echo "rsync error : Error allocating core memory buffers " 
     641      return;; 
     642    23) echo "rsync error : Partial transfer due to error" 
     643      return;; 
     644    24) echo "rsync error : Partial transfer due to vanished source files" 
     645      return;; 
     646    30) echo "rsync error : Timeout in data send/receive " 
     647      return;; 
     648    *)  echo "rsync error : return code of rsync unknown :" $RET 
     649      return;; 
     650    esac 
     651  else 
     652    echo "unknown language $MYLANG." 
     653    return 
     654  fi 
     655} 
     656 
    614657#D-#================================================== 
    615658#D-function IGCM_sys_Cp 
     
    618661#D- 
    619662function 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" 
     663  IGCM_debug_PushStack "IGCM_sys_Cp" $@ 
     664  if ( $DEBUG_sys ) ; then 
     665    echo "IGCM_sys_Cp :" $@ 
     666  fi 
     667 
     668  typeset RET 
     669 
     670  echo cp $@ > out_rsync 2>&1 
     671  \cp $@ >> out_rsync 2>&1 
     672  RET=$? 
     673 
     674  if [ ${RET} -gt 0 ] ; then 
     675    echo "IGCM_sys_Cp : error." 
     676    cat out_rsync 
     677    IGCM_debug_Exit "IGCM_sys_Cp" 
     678  else 
     679    \rm out_rsync 
     680  fi 
     681  IGCM_debug_PopStack "IGCM_sys_Cp" 
    639682} 
    640683 
     
    645688#D- 
    646689function 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" 
     690  IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 
     691  if ( $DEBUG_sys ) ; then 
     692    echo "IGCM_sys_Rm :" $@ 
     693  fi 
     694 
     695  typeset RET 
     696 
     697  echo rm $@ > out_rsync 2>&1 
     698  \rm $@ >> out_rsync 2>&1 
     699  RET=$? 
     700 
     701  if [ ${RET} -gt 0 ] ; then 
     702    echo "IGCM_sys_Rm : error." 
     703    cat out_rsync 
     704    IGCM_debug_Exit "IGCM_sys_Rm" 
     705  else 
     706    \rm out_rsync 
     707  fi 
     708  IGCM_debug_PopStack "IGCM_sys_Rm" 
    666709} 
    667710 
     
    673716#D- 
    674717function 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" 
     718  IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 
     719  if ( $DEBUG_sys ) ; then 
     720    echo "IGCM_sys_RmRunDir :" $@ 
     721  fi 
     722 
     723  typeset RET 
     724 
     725  echo rm $@ > out_rsync 2>&1 
     726  \rm $@ >> out_rsync 2>&1 
     727  RET=$? 
     728 
     729  if [ ${RET} -gt 0 ] ; then 
     730    echo "IGCM_sys_RmRunDir : error." 
     731    cat out_rsync 
     732    IGCM_debug_Exit "IGCM_sys_RmRunDir" 
     733  else 
     734    \rm out_rsync 
     735  fi 
     736  IGCM_debug_PopStack "IGCM_sys_RmRunDir" 
    694737} 
    695738 
     
    700743#D- 
    701744function 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=$? 
     745  IGCM_debug_PushStack "IGCM_sys_Mv" $@ 
     746  if ( $DEBUG_sys ) ; then 
     747    echo "IGCM_sys_Mv :" $@ 
     748  fi 
     749 
     750  if [ $DRYRUN = 0 ]; then 
     751 
     752    typeset RET 
    714753     
    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 
     754    echo mv $@ > out_rsync 2>&1 
     755    \mv $@ >> out_rsync 2>&1 
     756    RET=$? 
     757     
     758    if [ ${RET} -gt 0 ] ; then 
     759      echo "IGCM_sys_Mv : error in mv." 
     760      cat out_rsync 
     761      IGCM_debug_Exit "IGCM_sys_Mv" 
    722762    else 
    723         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    724     fi 
    725  
    726     IGCM_debug_PopStack "IGCM_sys_Mv" 
     763      \rm out_rsync 
     764    fi 
     765  else 
     766    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     767  fi 
     768 
     769  IGCM_debug_PopStack "IGCM_sys_Mv" 
    727770} 
    728771 
     
    733776#D- 
    734777function 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 
     778  IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 
     779  if ( $DEBUG_sys ) ; then 
     780    echo "IGCM_sys_Put_Dir :" $@ 
     781  fi 
     782  if [ $DRYRUN = 0 ]; then 
     783    if [ ! -d ${1} ] ; then 
     784      echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
     785      IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     786      return 
     787    fi 
     788 
     789    typeset RET 
     790 
     791    # Only if we use rsync 
     792    #IGCM_sys_TestDirArchive $( dirname $2 ) 
     793    # 
     794    #USUAL WAY 
     795    \cp -r $1 $2 > out_rsync 2>&1 
     796    RET=$? 
     797 
     798    if [ ${RET} -gt 0 ] ; then 
     799      echo "IGCM_sys_Put_Dir : error." 
     800      cat out_rsync 
     801      IGCM_debug_Exit "IGCM_sys_Put_Dir" 
    762802    else 
    763         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    764     fi 
    765     IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     803      \rm out_rsync 
     804    fi 
     805  else 
     806    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     807  fi 
     808  IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
    766809} 
    767810 
     
    772815#D- 
    773816function 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 
     817  IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 
     818  if ( $DEBUG_sys ) ; then 
     819    echo "IGCM_sys_Get_Dir :" $@ 
     820  fi 
     821  if [ $DRYRUN = 0 ]; then 
    779822#       if [ ! -d ${1} ] ; then 
    780823#           echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 
     
    783826#       fi 
    784827 
    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 
     828    typeset RET 
     829 
     830    # Only if we use rsync 
     831    #IGCM_sys_TestDirArchive $( dirname $2 ) 
     832    # 
     833    #USUAL WAY 
     834    # add dmget (to demigrate all offline files) to reduce time of this command : 
     835    dmget $1/* 
     836    \cp -r $1 $2 > out_rsync 2>&1 
     837    RET=$? 
     838 
     839    if [ ${RET} -gt 0 ] ; then 
     840      echo "IGCM_sys_Get_Dir : error." 
     841      cat out_rsync 
     842      IGCM_debug_Exit "IGCM_sys_Get_Dir" 
    803843    else 
    804         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    805     fi 
    806     IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
     844      \rm out_rsync 
     845    fi 
     846  else 
     847    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     848  fi 
     849  IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
    807850} 
    808851 
     
    813856#D- 
    814857function 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 
     858  IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 
     859  if ( $DEBUG_sys ) ; then 
     860    echo "IGCM_sys_Get_Master :" $@ 
     861  fi 
     862  if [ $DRYRUN = 0 ]; then 
     863    if [ ! -d ${1} ] ; then 
     864      echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 
     865      IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     866      return 
     867    fi 
     868 
     869    typeset RET 
     870 
     871    #USUAL WAY 
     872    \cp -r $1 $2 > out_rsync 2>&1 
     873    RET=$? 
     874 
     875    if [ ${RET} -gt 0 ] ; then 
     876      echo "IGCM_sys_Get_Master : error." 
     877      cat out_rsync 
     878      IGCM_debug_Exit "IGCM_sys_Get_Master" 
    839879    else 
    840         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    841     fi 
    842     IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     880      \rm out_rsync 
     881    fi 
     882  else 
     883    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     884  fi 
     885  IGCM_debug_PopStack "IGCM_sys_Get_Master" 
    843886} 
    844887 
    845888#D-#================================================== 
    846889#D-function IGCM_sys_Put_Rest 
    847 #D-* Purpose: Put computied restarts on $(ARCHIVE). 
     890#D-* Purpose: Put computied restarts on ${ARCHIVE}. 
    848891#D-           File and target directory must exist. 
    849892#D-* Examples: 
    850893#D- 
    851894function 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=$? 
     895  IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 
     896  if ( $DEBUG_sys ) ; then 
     897    echo "IGCM_sys_Put_Rest :" $@ 
     898  fi 
     899  if [ $DRYRUN = 0 ]; then 
     900    if [ ! -f ${1} ] ; then 
     901      echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
     902      IGCM_debug_Exit "IGCM_sys_Put_Rest" 
     903    fi 
     904 
     905    typeset RET 
     906    # 
     907    if [ X${JobType} = XRUN ] ; then 
     908      IGCM_sys_Chmod 444 ${1} 
     909    fi 
     910 
     911    # 
     912    # USUAL WAY 
     913    \cp $1 $2 > out_rsync 2>&1 
     914    RET=$? 
    873915 
    874916#       #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 
     917#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 
     918#       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 
    877919 
    878920#       #RSYNC WITH NFS USE 
     
    886928#       (( RET=RET+$? )) 
    887929 
    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 
     930    if [ ${RET} -gt 0 ] ; then 
     931      echo "IGCM_sys_Put_Rest : error." 
     932      cat out_rsync 
     933      IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    895934    else 
    896         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    897     fi 
    898     IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
     935      \rm out_rsync 
     936    fi 
     937  else 
     938    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     939  fi 
     940  IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
     941} 
     942 
     943#D-#================================================== 
     944#D-function IGCM_sys_PutBuffer_Rest 
     945#D-* Purpose: Put computied restarts on ${SCRATCHDIR}. 
     946#D-           File and target directory must exist. 
     947#D-* Examples: 
     948#D- 
     949function IGCM_sys_PutBuffer_Rest { 
     950  IGCM_debug_PushStack "IGCM_sys_PutBuffer_Rest" $@ 
     951  if ( $DEBUG_sys ) ; then 
     952    echo "IGCM_sys_PutBuffer_Rest :" $@ 
     953  fi 
     954  if [ $DRYRUN = 0 ]; then 
     955    if [ ! -f ${1} ] ; then 
     956      echo "ERROR : IGCM_sys_PutBuffer_Rest ${1} DOES NOT EXIST ." 
     957      IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 
     958    fi 
     959 
     960    typeset RET 
     961    # 
     962    if [ X${JobType} = XRUN ] ; then 
     963      IGCM_sys_Chmod 444 ${1} 
     964    fi 
     965 
     966    # 
     967    # USUAL WAY 
     968    \cp $1 $2 > out_rsync 2>&1 
     969    RET=$? 
     970 
     971    if [ ${RET} -gt 0 ] ; then 
     972      echo "IGCM_sys_PutBuffer_Rest : error." 
     973      cat out_rsync 
     974      IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 
     975    else 
     976      \rm out_rsync 
     977    fi 
     978  else 
     979    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     980  fi 
     981  IGCM_debug_PopStack "IGCM_sys_PutBuffer_Rest" 
    899982} 
    900983 
    901984#D-#================================================== 
    902985#D-function IGCM_sys_Put_Out 
    903 #D-* Purpose: Copy a file on $(ARCHIVE) after have chmod it in readonly 
     986#D-* Purpose: Copy a file on ${ARCHIVE} after having chmod it in readonly 
    904987#D-* Examples: 
    905988#D- 
    906989function 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 
     990  IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 
     991  if ( $DEBUG_sys ) ; then 
     992    echo "IGCM_sys_Put_Out :" $@ 
     993  fi 
     994  if [ $DRYRUN = 0 ]; then 
     995    if [ ! -f ${1} ] ; then 
     996      echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
     997      IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     998      return 1 
     999    fi 
     1000    # 
     1001    IGCM_sys_MkdirArchive $( dirname $2 ) 
     1002    # 
     1003    typeset RET exist skip 
     1004 
     1005    #===================================================== 
     1006    #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
     1007    #===================================================== 
     1008 
     1009    #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 
     1010    #if [ $? -eq 0 ] ; then 
     1011    #    typeset WORKPATH FILEPATH 
     1012    #    WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_BUF}|" ) 
     1013    #    IGCM_sys_MkdirWork ${WORKPATH}  
     1014    #    FILEPATH=${WORKPATH}/$( basename $2 ) 
     1015    #    # 
     1016    #    IGCM_sys_Cp ${1} ${FILEPATH} 
     1017    #fi 
     1018 
     1019    if [ X${JobType} = XRUN ] ; then 
     1020      if [ X${3} = X ] ; then 
     1021        IGCM_sys_Chmod 444 ${1} 
     1022      fi 
     1023    fi 
     1024 
     1025    exist=false 
     1026    skip=false 
     1027    if [ -f $2 ] ; then 
     1028      IGCM_debug_Print 1 "$2 already exist" 
     1029      dmget $2 
     1030      exist=true 
     1031      if [ "X$( diff $1 $2 )" = X ] ; then 
     1032        IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 
     1033        skip=true 
     1034      else 
     1035        IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 
    9431036        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 
     1037      fi 
     1038    fi 
     1039    #  
     1040    if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 
     1041      IGCM_sys_Chmod u+w $2 
     1042    fi 
     1043    # USUAL WAY 
     1044    if [ X${skip} = Xfalse ] ; then 
     1045      \cp $1 $2 > out_rsync 2>&1 
     1046      RET=$? 
     1047      if [ ${RET} -gt 0 ] ; then 
     1048        echo "IGCM_sys_Put_Out : error." 
     1049        cat out_rsync 
     1050        IGCM_debug_Exit "IGCM_sys_Put_Out" 
     1051      else 
     1052        \rm out_rsync 
     1053      fi 
     1054    fi 
     1055 
     1056#       #RSYNC WITH NETWORK SSH CALL 
     1057#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 
     1058#       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 
    9761059 
    9771060#       #RSYNC WITH NFS USE 
     
    9851068#       (( RET=RET+$? )) 
    9861069 
     1070  else 
     1071    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1072  fi 
     1073  IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     1074  return 0 
     1075} 
     1076 
     1077#D-#================================================== 
     1078#D-function IGCM_sys_PutBuffer_Out 
     1079#D-* Purpose: Copy a file on ${SCRATCHDIR} after having chmod it in readonly 
     1080#D-* Examples: 
     1081#D- 
     1082function IGCM_sys_PutBuffer_Out { 
     1083  IGCM_debug_PushStack "IGCM_sys_PutBuffer_Out" $@ 
     1084  if ( $DEBUG_sys ) ; then 
     1085    echo "IGCM_sys_PutBuffer_Out :" $@ 
     1086  fi 
     1087  if [ $DRYRUN = 0 ]; then 
     1088    if [ ! -f ${1} ] ; then 
     1089      echo "WARNING : IGCM_sys_PutBuffer_Out ${1} DOES NOT EXIST ." 
     1090      IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 
     1091      return 1 
     1092    fi 
     1093    # 
     1094    IGCM_sys_Mkdir $( dirname $2 ) 
     1095    # 
     1096    typeset RET 
     1097 
     1098    if [ X${JobType} = XRUN ] ; then 
     1099      if [ X${3} = X ] ; then 
     1100        IGCM_sys_Chmod 444 ${1} 
     1101      fi 
     1102    fi 
     1103    # 
     1104    # USUAL WAY 
     1105    \cp $1 $2 > out_rsync 2>&1 
     1106    RET=$? 
     1107 
     1108    if [ ${RET} -gt 0 ] ; then 
     1109      echo "IGCM_sys_PutBuffer_Out : error." 
     1110      cat out_rsync 
     1111      IGCM_debug_Exit "IGCM_sys_PutBuffer_Out" 
    9871112    else 
    988         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    989     fi 
    990     IGCM_debug_PopStack "IGCM_sys_Put_Out" 
    991     return 0 
     1113      \rm out_rsync 
     1114    fi 
     1115  else 
     1116    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1117  fi 
     1118  IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 
     1119  return 0 
    9921120} 
    9931121 
     
    9981126#D-            IGCM_sys_Get /l Array_contain_myfiles /destpath/ 
    9991127function 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 
     1128  IGCM_debug_PushStack "IGCM_sys_Get" $@ 
     1129 
     1130  typeset DEST RET dm_liste ifile target file_work  
     1131 
     1132  if ( $DEBUG_sys ) ; then 
     1133    echo "IGCM_sys_Get :" $@ 
     1134  fi 
     1135  if [ $DRYRUN -le 2 ]; then 
     1136    if [ X${1} = X'/l' ] ; then 
     1137      # test if the first file is present in the old computation : 
     1138      eval set +A dm_liste \${${2}} 
     1139    else 
     1140      eval set +A dm_liste ${1} 
     1141    fi 
     1142    eval DEST=\${${#}} 
     1143 
     1144    #===================================================== 
     1145    #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
     1146    #===================================================== 
     1147 
     1148    # Is it an R_OUT file (not R_IN) ? 
     1149    #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 
     1150    #if [ $? -eq 0 ] ; then 
     1151    #    # Yes  ? then we try to get it in SCRATCHDIR 
     1152    #    set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" ) 
     1153    #    if [ -f ${file_work[0]} ] ; then 
     1154    #   IGCM_sys_Cp ${file_work[*]} ${DEST} 
     1155    #   IGCM_debug_PopStack "IGCM_sys_Get" 
     1156    #   return 
     1157    #    fi 
     1158    #fi 
     1159 
     1160    # test if the (first) file is present in the old computation : 
     1161    IGCM_sys_TestFileArchive ${dm_liste[0]} 
     1162    RET=$? 
     1163    if [ ${RET} -gt 0 ] ; then 
     1164      echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
     1165      IGCM_debug_Exit "IGCM_sys_Get" 
     1166    fi 
     1167 
     1168    dmget ${dm_liste[*]} > out_rsync 2>&1 
     1169    RET=$? 
     1170    if [ ${RET} -gt 0 ] ; then 
     1171      echo "WARNING IGCM_sys_Get : demigration error." 
     1172      cat out_rsync 
     1173      echo "WARNING IGCM_sys_Get : will stop later if the cp fails." 
     1174    fi 
     1175 
     1176    #if [ ${RET} -gt 0 ] ; then 
     1177    #    if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 
     1178    #   cat out_rsync 
     1179    #   echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 
     1180    #   sleep 30 
     1181    #   echo "We try another time" 
     1182    #   dmget ${dm_liste[*]} > out_rsync 2>&1 
     1183    #   RET=$? 
     1184    #   if [ ${RET} -gt 0 ] ; then 
     1185    #       echo "ERROR IGCM_sys_Get : again demigration error :" 
     1186    #       cat out_rsync 
     1187    #       IGCM_debug_Exit "IGCM_sys_Get" 
     1188    #   fi 
     1189    #    else 
     1190    #   echo "ERROR IGCM_sys_Get : demigration error :" 
     1191    #   cat out_rsync 
     1192    #   IGCM_debug_Exit "IGCM_sys_Get" 
     1193    #    fi 
     1194    #fi 
     1195 
     1196    #USUAL WAY 
     1197    if [ X${1} = X'/l' ] ; then 
     1198      (( RET=0 )) 
     1199      for target in ${dm_liste[*]} ; do 
     1200        local_file=$( basename ${target} ) 
     1201        \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
     1202        (( RET = RET + $? )) 
     1203      done 
     1204    else 
     1205      \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 
     1206      RET=$? 
     1207    fi 
     1208 
     1209#       #RSYNC WITH NETWORK SSH CALL 
     1210#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 
     1211#       ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 
    10861212 
    10871213#       #RSYNC WITH NFS USE 
     
    10951221#       (( RET=RET+$? )) 
    10961222 
    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 
     1223    if [ ${RET} -gt 0 ] ; then 
     1224      echo "IGCM_sys_Get : copy error." 
     1225      cat out_rsync 
     1226#      IGCM_debug_Exit "IGCM_sys_Get" 
    11041227    else 
    1105         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1106     fi 
    1107     IGCM_debug_PopStack "IGCM_sys_Get" 
     1228      \rm out_rsync 
     1229    fi 
     1230  else 
     1231    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1232  fi 
     1233  IGCM_debug_PopStack "IGCM_sys_Get" 
     1234} 
     1235 
     1236#D-#================================================== 
     1237#D-function IGCM_sys_GetBuffer 
     1238#D-* Purpose: Get a file from ${SCRATCHDIR} 
     1239#D-* Examples: IGCM_sys_GetBuffer myfile /destpath/myfile_with_PREFIX 
     1240#D-            IGCM_sys_GetBuffer /l Array_contain_myfiles /destpath/ 
     1241function IGCM_sys_GetBuffer { 
     1242  IGCM_debug_PushStack "IGCM_sys_GetBuffer" $@ 
     1243 
     1244  typeset DEST RET buf_liste ifile target file_work  
     1245 
     1246  if ( $DEBUG_sys ) ; then 
     1247    echo "IGCM_sys_GetBuffer :" $@ 
     1248  fi 
     1249  if [ $DRYRUN -le 2 ]; then 
     1250    if [ X${1} = X'/l' ] ; then 
     1251      # test if the first file is present in the old computation : 
     1252      eval set +A buf_liste \${${2}} 
     1253    else 
     1254      eval set +A buf_liste ${1} 
     1255    fi 
     1256    eval DEST=\${${#}} 
     1257 
     1258    #USUAL WAY 
     1259    if [ X${1} = X'/l' ] ; then 
     1260      (( RET=0 )) 
     1261      for target in ${buf_liste[*]} ; do 
     1262        local_file=$( basename ${target} ) 
     1263        \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
     1264        (( RET = RET + $? )) 
     1265      done 
     1266    else 
     1267      \cp ${buf_liste} ${DEST} >> out_rsync 2>&1 
     1268      RET=$? 
     1269    fi 
     1270 
     1271    if [ ${RET} -gt 0 ] ; then 
     1272      echo "IGCM_sys_GetBuffer : copy error." 
     1273      cat out_rsync 
     1274      IGCM_debug_Exit "IGCM_sys_GetBuffer" 
     1275    else 
     1276      \rm out_rsync 
     1277    fi 
     1278  else 
     1279    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1280  fi 
     1281  IGCM_debug_PopStack "IGCM_sys_GetBuffer" 
     1282} 
     1283 
     1284#D-#================================================== 
     1285#D-function IGCM_sys_GetDate_FichWork 
     1286#D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 
     1287#D-* Examples: 
     1288#D- 
     1289function IGCM_sys_GetDate_FichWork { 
     1290  IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 
     1291  if ( $DEBUG_sys ) ; then 
     1292    echo "IGCM_sys_GetDate_FichWork :" $@ 
     1293  fi 
     1294  # donne la date filesys d'un fichier sur la machine work 
     1295  IGCM_debug_PopStack "IGCM_sys_FichWork" 
     1296} 
     1297 
     1298#D-#================================================== 
     1299#D-function IGCM_sys_GetDate_FichArchive 
     1300#D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE  
     1301#D-* Examples: 
     1302#D- 
     1303function IGCM_sys_GetDate_FichArchive { 
     1304  IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 
     1305  if ( $DEBUG_sys ) ; then 
     1306    echo "IGCM_sys_GetDate_FichArchive :" $@ 
     1307  fi 
     1308  IGCM_debug_PopStack "IGCM_sys_FichArchive" 
    11081309} 
    11091310 
     
    11141315#D- 
    11151316function 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          
     1317  if ( $DEBUG_sys ) ; then 
     1318    echo "IGCM_sys_Dods_Rm :" $@ 
     1319  fi 
     1320  typeset RET 
     1321  RET=0 
     1322  if [ $DRYRUN = 0 ]; then 
     1323    if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 
     1324      echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 
     1325      echo "Nothing has been done." 
     1326      return 
     1327    fi 
     1328    dods_rm public/${LOGIN}/${R_DODS}/${1} # > out_dods_rm 2>&1 
     1329    RET=$? 
     1330     
    11301331#       if [ ${RET} -gt 0 ] ; then 
    11311332#           echo "IGCM_sys_Dods_Rm : error." 
     
    11361337#       fi 
    11371338 
    1138     else 
    1139         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1140     fi 
    1141     return $RET 
    1142 } 
    1143  
     1339  else 
     1340    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1341  fi 
     1342  return $RET 
     1343} 
    11441344 
    11451345#D-#================================================== 
     
    11491349#D- 
    11501350function 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          
     1351  if ( $DEBUG_sys ) ; then 
     1352    echo "IGCM_sys_Dods_Cp :" $@ 
     1353  fi 
     1354  typeset RET 
     1355  RET=0 
     1356  if [ $DRYRUN = 0 ]; then 
     1357    if [ ! -d ${R_SAVE}/${1} ] ; then 
     1358      echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 
     1359      echo "Nothing has been done." 
     1360      return 
     1361    fi 
     1362    # 
     1363    dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 
     1364    RET=$? 
     1365 
    11661366#       if [ ${RET} -gt 0 ] ; then 
    11671367#           echo "IGCM_sys_Dods_Cp : error." 
     
    11721372#       fi 
    11731373 
    1174     else 
    1175         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1176     fi 
    1177     return $RET 
     1374  else 
     1375    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1376  fi 
     1377  return $RET 
    11781378} 
    11791379 
     
    11841384#D- 
    11851385function 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 
     1386  IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 
     1387  if ( $DEBUG_sys ) ; then 
     1388    echo "IGCM_sys_Put_Dods :" $@ 
     1389  fi 
     1390  if [ $DRYRUN = 0 ]; then 
     1391    if [ ! -d ${R_SAVE}/${1} ] ; then 
     1392      echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 
     1393      IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
     1394      return 
     1395    fi 
     1396 
     1397    typeset RET 
    11981398        # 
    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" 
     1399    cd ${R_SAVE} 
     1400    IGCM_sys_Dods_Rm ${1} 
     1401    IGCM_sys_Dods_Cp ${1} 
     1402    RET=0 
     1403     
     1404    if [ ${RET} -gt 0 ] ; then 
     1405      echo "IGCM_sys_Put_Dods : error." 
     1406      IGCM_debug_Exit "IGCM_sys_Put_Dods" 
     1407    fi 
     1408  else 
     1409    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1410  fi 
     1411  IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    12411412} 
    12421413 
     
    12451416 
    12461417function 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" 
     1418  IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 
     1419  if ( $DEBUG_sys ) ; then 
     1420    echo "IGCM_sys_rebuild :" $@ 
     1421  fi 
     1422  /home/cont003/p86ipsl/X86_64/bin/rebuild -f -o $@ 
     1423  if [ $? -gt 0 ] ; then 
     1424    echo "IGCM_sys_rebuild : erreur ${@}." 
     1425    IGCM_debug_Exit "rebuild" 
     1426  fi 
     1427 
     1428  IGCM_debug_PopStack "IGCM_sys_rebuild" 
    12581429} 
    12591430 
     
    12621433 
    12631434function 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" 
     1435  IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 
     1436  if ( $DEBUG_sys ) ; then 
     1437    echo "IGCM_sys_ncap2 :" $@ 
     1438  fi 
     1439  ncap2 "$@" 
     1440  if [ $? -gt 0 ] ; then 
     1441    echo "IGCM_sys_ncap2 : erreur ${@}." 
     1442    IGCM_debug_Exit "ncap2" 
     1443  fi 
     1444 
     1445  IGCM_debug_PopStack "IGCM_sys_ncap2" 
    12751446} 
    12761447 
    12771448function 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" 
     1449  IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 
     1450  if ( $DEBUG_sys ) ; then 
     1451    echo "IGCM_sys_ncatted :" $@ 
     1452  fi 
     1453  ncatted "$@" 
     1454  if [ $? -gt 0 ] ; then 
     1455    echo "IGCM_sys_ncatted : erreur ${@}." 
     1456    IGCM_debug_Exit "ncatted" 
     1457  fi 
     1458 
     1459  IGCM_debug_PopStack "IGCM_sys_ncatted" 
    12891460} 
    12901461 
    12911462function 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" 
     1463  IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 
     1464  if ( $DEBUG_sys ) ; then 
     1465    echo "IGCM_sys_ncbo :" $@ 
     1466  fi 
     1467  ncbo $@ 
     1468  if [ $? -gt 0 ] ; then 
     1469    echo "IGCM_sys_ncbo : erreur ${@}." 
     1470    IGCM_debug_Exit "ncbo" 
     1471  fi 
     1472 
     1473  IGCM_debug_PopStack "IGCM_sys_ncbo" 
    13031474} 
    13041475 
    13051476function 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" 
     1477  IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 
     1478  if ( $DEBUG_sys ) ; then 
     1479    echo "IGCM_sys_ncdiff :" $@ 
     1480  fi 
     1481  ncdiff $@ 
     1482  if [ $? -gt 0 ] ; then 
     1483    echo "IGCM_sys_ncdiff : erreur ${@}." 
     1484    IGCM_debug_Exit "ncdiff" 
     1485  fi 
     1486 
     1487  IGCM_debug_PopStack "IGCM_sys_ncdiff" 
    13171488} 
    13181489 
    13191490function 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" 
     1491  IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 
     1492  if ( $DEBUG_sys ) ; then 
     1493    echo "IGCM_sys_ncea :" $@ 
     1494  fi 
     1495  ncea $@ 
     1496  if [ $? -gt 0 ] ; then 
     1497    echo "IGCM_sys_ncea : erreur ${@}." 
     1498    IGCM_debug_Exit "ncea" 
     1499  fi 
     1500 
     1501  IGCM_debug_PopStack "IGCM_sys_ncea" 
    13311502} 
    13321503 
    13331504function 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" 
     1505  IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 
     1506  if ( $DEBUG_sys ) ; then 
     1507    echo "IGCM_sys_ncecat :" $@ 
     1508  fi 
     1509  ncecat $@ 
     1510  if [ $? -gt 0 ] ; then 
     1511    echo "IGCM_sys_ncecat : erreur ${@}." 
     1512    IGCM_debug_Exit "ncecat" 
     1513  fi 
     1514 
     1515  IGCM_debug_PopStack "IGCM_sys_ncecat" 
    13451516} 
    13461517 
    13471518function 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" 
     1519  IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 
     1520  if ( $DEBUG_sys ) ; then 
     1521    echo "IGCM_sys_ncflint :" $@ 
     1522  fi 
     1523  ncflint $@ 
     1524  if [ $? -gt 0 ] ; then 
     1525    echo "IGCM_sys_ncflint : erreur ${@}." 
     1526    IGCM_debug_Exit "ncflint" 
     1527  fi 
     1528 
     1529  IGCM_debug_PopStack "IGCM_sys_ncflint" 
    13591530} 
    13601531 
    13611532function 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" 
     1533  IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 
     1534  if ( $DEBUG_sys ) ; then 
     1535    echo "IGCM_sys_ncks :" $@ 
     1536  fi 
     1537  ncks $@ 
     1538  if [ $? -gt 0 ] ; then 
     1539    echo "IGCM_sys_ncks : erreur ${@}." 
     1540    IGCM_debug_Exit "ncks" 
     1541  fi 
     1542 
     1543  IGCM_debug_PopStack "IGCM_sys_ncks" 
    13731544} 
    13741545 
    13751546function 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" 
     1547  IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 
     1548  if ( $DEBUG_sys ) ; then 
     1549    echo "IGCM_sys_ncpdq :" $@ 
     1550  fi 
     1551  ncpdq $@ 
     1552  if [ $? -gt 0 ] ; then 
     1553    echo "IGCM_sys_ncpdq : erreur ${@}." 
     1554    IGCM_debug_Exit "ncpdq" 
     1555  fi 
     1556 
     1557  IGCM_debug_PopStack "IGCM_sys_ncpdq" 
    13871558} 
    13881559 
    13891560function 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" 
     1561  IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 
     1562  if ( $DEBUG_sys ) ; then 
     1563    echo "IGCM_sys_ncra :" $@ 
     1564  fi 
     1565  ncra $@ 
     1566  if [ $? -gt 0 ] ; then 
     1567    echo "IGCM_sys_ncra : erreur ${@}." 
     1568    IGCM_debug_Exit "ncra" 
     1569  fi 
     1570 
     1571  IGCM_debug_PopStack "IGCM_sys_ncra" 
    14011572} 
    14021573 
    14031574function 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 ${@}." 
     1575  IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 
     1576  if ( $DEBUG_sys ) ; then 
     1577    echo "IGCM_sys_ncrcat :" $@ 
     1578  fi 
     1579  ncrcat $@ 
     1580  if [ $? -gt 0 ] ; then 
     1581    echo "IGCM_sys_ncrcat : erreur ${@}." 
    14111582#       IGCM_debug_Exit "ncrcat" 
    1412     fi 
    1413  
    1414     IGCM_debug_PopStack "IGCM_sys_ncrcat" 
     1583  fi 
     1584 
     1585  IGCM_debug_PopStack "IGCM_sys_ncrcat" 
    14151586} 
    14161587 
    14171588function 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" 
     1589  IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 
     1590  if ( $DEBUG_sys ) ; then 
     1591    echo "IGCM_sys_ncrename :" $@ 
     1592  fi 
     1593  ncrename $@ 
     1594  if [ $? -gt 0 ] ; then 
     1595    echo "IGCM_sys_ncrename : erreur ${@}." 
     1596    IGCM_debug_Exit "ncrename" 
     1597  fi 
     1598 
     1599  IGCM_debug_PopStack "IGCM_sys_ncrename" 
    14291600} 
    14301601 
    14311602function 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" 
     1603  IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 
     1604  if ( $DEBUG_sys ) ; then 
     1605    echo "IGCM_sys_ncwa :" $@ 
     1606  fi 
     1607  ncwa $@ 
     1608  if [ $? -gt 0 ] ; then 
     1609    echo "IGCM_sys_ncwa : erreur ${@}." 
     1610    IGCM_debug_Exit "ncwa" 
     1611  fi 
     1612 
     1613  IGCM_debug_PopStack "IGCM_sys_ncwa" 
    14431614} 
    14441615 
     
    14471618 
    14481619function 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  
     1620  IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 
     1621  if ( $DEBUG_sys ) ; then 
     1622    echo "IGCM_sys_cdo :" $@ 
     1623  fi 
     1624  \cdo $@ 
     1625  if [ $? -gt 0 ] ; then 
     1626    echo "IGCM_sys_cdo : erreur ${@}." 
    14611627    IGCM_debug_PopStack "IGCM_sys_cdo" 
     1628    return 1 
     1629  else 
     1630    IGCM_debug_PopStack "IGCM_sys_cdo" 
     1631    return 0 
     1632  fi 
     1633 
     1634  IGCM_debug_PopStack "IGCM_sys_cdo" 
    14621635} 
    14631636 
     
    14661639 
    14671640function 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" 
     1641  IGCM_debug_PushStack "IGCM_sys_activ_variables" 
     1642  if ( $DEBUG_sys ) ; then 
     1643    echo "IGCM_sys_activ_variables" 
     1644  fi 
     1645  IGCM_debug_PopStack "IGCM_sys_activ_variables" 
    14731646} 
    14741647 
     
    14771650 
    14781651function 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" 
     1652  IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 
     1653  if ( $DEBUG_sys ) ; then 
     1654    echo "IGCM_sys_desactiv_variables" 
     1655  fi 
     1656  IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 
    14841657} 
    14851658 
     
    14881661 
    14891662function 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 } 
     1663  IGCM_debug_PushStack "IGCM_sys_build_run_file" 
     1664  if ( $DEBUG_sys ) ; then 
     1665    echo "IGCM_sys_build_run_file" 
     1666  fi 
     1667  IGCM_debug_PopStack "IGCM_sys_build_run_file" 
     1668} 
Note: See TracChangeset for help on using the changeset viewer.