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_cesium.ksh

    r521 r571  
    117117#==================================================== 
    118118#- IN 
    119 typeset -r R_IN=${R_IN:=/dmnfs/cont003/p86ipsl/IGCM} 
     119typeset -r R_IN=${R_IN:=/ccc/work/cont003/dsm/p86ipsl/IGCM} 
    120120typeset -r R_IN_ECMWF=${R_IN_ECMWF:=/dmnfs/cont003/p24data} 
    121121 
    122122#==================================================== 
    123 #- OUT 
     123#- R_OUT 
    124124typeset -r R_OUT=${ARCHIVE}/IGCM_OUT 
    125125 
    126126#==================================================== 
    127 #- OUT_SCR (ONLY FOR double copy an scratch) 
    128 typeset -r R_OUT_SCR=${SCRATCHDIR}/IGCM_OUT 
     127#- R_BUF (ONLY FOR double copy an scratch) 
     128typeset -r R_BUF=${SCRATCHDIR}/IGCM_OUT 
    129129 
    130130#==================================================== 
     
    151151#D- 
    152152function IGCM_sys_RshMaster { 
    153     IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 
    154     typeset NB_ESSAI DELAI status i 
    155     # number of tentative 
    156     NB_ESSAI=10 
    157     # time delay between tentative 
    158     DELAI=10 
    159     # 
    160     (( i = 0 )) 
    161     while [ $i -lt $NB_ESSAI ] ; do 
    162         ssh ${MASTER} exec /bin/ksh <<-EOF 
     153  IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 
     154  typeset NB_ESSAI DELAI status i 
     155  # number of tentative 
     156  NB_ESSAI=10 
     157  # time delay between tentative 
     158  DELAI=10 
     159  # 
     160  (( i = 0 )) 
     161  while [ $i -lt $NB_ESSAI ] ; do 
     162    ssh ${MASTER} exec /bin/ksh <<-EOF 
    163163    export libIGCM=${libIGCM_SX} 
    164164    export DEBUG_debug=${DEBUG_debug} 
     
    167167    ${@} 
    168168EOF 
    169         status=$? 
    170         if [ ${status} -gt 0 ]; then 
    171             IGCM_debug_Print 2 "IGCM_sys_RshMaster : ssh failed ${i}/${NB_ESSAI}" 
    172             IGCM_debug_Print 2 "IGCM_sys_RshMaster : sleep ${DELAI} seconds and try again." 
    173             sleep $DELAI 
    174         else 
    175             break 
    176         fi 
    177         (( i = i + 1 )) 
    178     done 
    179  
    180     IGCM_debug_PopStack "IGCM_sys_RshMaster" 
     169    status=$? 
     170    if [ ${status} -gt 0 ]; then 
     171      IGCM_debug_Print 2 "IGCM_sys_RshMaster : ssh failed ${i}/${NB_ESSAI}" 
     172      IGCM_debug_Print 2 "IGCM_sys_RshMaster : sleep ${DELAI} seconds and try again." 
     173      sleep $DELAI 
     174    else 
     175      break 
     176    fi 
     177    (( i = i + 1 )) 
     178  done 
     179 
     180  IGCM_debug_PopStack "IGCM_sys_RshMaster" 
    181181} 
    182182 
     
    187187#D- 
    188188function IGCM_sys_RshArchive { 
    189     IGCM_debug_PushStack "IGCM_sys_RshArchive" $@ 
    190     /bin/ksh <<-EOF 
     189  IGCM_debug_PushStack "IGCM_sys_RshArchive" $@ 
     190  /bin/ksh <<-EOF 
    191191    ${@} 
    192192EOF 
    193     if [ $? -gt 0 ] ; then 
    194         echo "IGCM_sys_RshArchive : erreur." 
    195         IGCM_debug_Exit "IGCM_sys_RshArchive" 
    196     fi 
    197     IGCM_debug_PopStack "IGCM_sys_RshArchive" 
     193  if [ $? -gt 0 ] ; then 
     194    echo "IGCM_sys_RshArchive : erreur." 
     195    IGCM_debug_Exit "IGCM_sys_RshArchive" 
     196  fi 
     197  IGCM_debug_PopStack "IGCM_sys_RshArchive" 
    198198} 
    199199 
     
    204204#D- 
    205205function IGCM_sys_RshPost { 
    206     IGCM_debug_PushStack "IGCM_sys_RshPost" $@ 
    207     if ( $DEBUG_sys ) ; then 
    208         echo "IGCM_sys_RshPost :" $@ 
    209     fi 
    210     /bin/ksh ${@} 
    211     if [ $? -gt 0 ] ; then 
    212         echo "IGCM_sys_RshPost : erreur." 
    213         IGCM_debug_Exit "IGCM_sys_RshPost" 
    214     fi 
    215     IGCM_debug_PopStack "IGCM_sys_RshPost" 
     206  IGCM_debug_PushStack "IGCM_sys_RshPost" $@ 
     207  if ( $DEBUG_sys ) ; then 
     208    echo "IGCM_sys_RshPost :" $@ 
     209  fi 
     210 
     211  #echo cat tmp_IGCM_sys_RshPost_$$ INITIAL 
     212  #cat tmp_IGCM_sys_RshPost_$$ 
     213  # keep standard input (stdin) for the loop onto temporary file 
     214  cat >tmp_IGCM_sys_RshPost_$$ 
     215 
     216  /bin/ksh <tmp_IGCM_sys_RshPost_$$ 
     217  if [ $? -gt 0 ] ; then 
     218    echo "IGCM_sys_RshPost : erreur." 
     219    IGCM_debug_Exit "IGCM_sys_RshPost" 
     220    cat tmp_IGCM_sys_RshPost_$$ 
     221  fi 
     222  # delete temporary file 
     223  \rm tmp_IGCM_sys_RshPost_$$ 
     224 
     225  IGCM_debug_PopStack "IGCM_sys_RshPost" 
    216226} 
    217227 
     
    222232#D- 
    223233function IGCM_sys_SendMail { 
    224     IGCM_debug_PushStack "IGCM_sys_SendMail" $@ 
    225     if ( $DEBUG_sys ) ; then 
    226         echo "IGCM_sys_SendMail :" $@ 
    227     fi 
    228  
    229     if ( ${ExitFlag} ) ; then 
    230         status=failed 
    231     else 
    232         status=completed 
    233     fi 
    234  
    235     ssh mercure <<-EOF 
     234  IGCM_debug_PushStack "IGCM_sys_SendMail" $@ 
     235  if ( $DEBUG_sys ) ; then 
     236    echo "IGCM_sys_SendMail :" $@ 
     237  fi 
     238 
     239  if ( ${ExitFlag} ) ; then 
     240    status=failed 
     241  else 
     242    status=completed 
     243  fi 
     244 
     245  ssh mercure <<-EOF 
    236246    export LOGIN=${LOGIN} 
    237247    export config_UserChoices_JobName=${config_UserChoices_JobName} 
     
    262272EOF 
    263273 
    264     if [ $? -gt 0 ] ; then 
    265         echo "IGCM_sys_SendMail : erreur." 
    266         IGCM_debug_Exit "IGCM_sys_SendMail" 
    267     fi 
    268     IGCM_debug_PopStack "IGCM_sys_SendMail" 
     274  if [ $? -gt 0 ] ; then 
     275    echo "IGCM_sys_SendMail : erreur." 
     276    IGCM_debug_Exit "IGCM_sys_SendMail" 
     277  fi 
     278  IGCM_debug_PopStack "IGCM_sys_SendMail" 
    269279} 
    270280 
     
    275285#D- 
    276286function IGCM_sys_Mkdir { 
    277     IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 
    278     if ( $DEBUG_sys ) ; then 
    279         echo "IGCM_sys_Mkdir :" $@ 
    280     fi 
    281     if [ ! -d ${1} ]; then 
    282         \mkdir -p $1 
    283         if [ $? -gt 0 ] ; then 
    284             echo "IGCM_sys_Mkdir : erreur." 
    285             IGCM_debug_Exit "IGCM_sys_Mkdir" 
    286         fi 
    287     fi 
    288     # vérification : 
    289     if [ ! -d ${1} ] ; then 
    290         echo "IGCM_sys_Mkdir : erreur." 
    291         IGCM_debug_Exit "IGCM_sys_Mkdir" 
    292     fi 
    293     IGCM_debug_PopStack "IGCM_sys_Mkdir" 
     287  IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 
     288  if ( $DEBUG_sys ) ; then 
     289    echo "IGCM_sys_Mkdir :" $@ 
     290  fi 
     291  if [ ! -d ${1} ]; then 
     292    \mkdir -p $1 
     293    if [ $? -gt 0 ] ; then 
     294      echo "IGCM_sys_Mkdir : erreur." 
     295      IGCM_debug_Exit "IGCM_sys_Mkdir" 
     296    fi 
     297  fi 
     298  # vérification : 
     299  if [ ! -d ${1} ] ; then 
     300    echo "IGCM_sys_Mkdir : erreur." 
     301    IGCM_debug_Exit "IGCM_sys_Mkdir" 
     302  fi 
     303  IGCM_debug_PopStack "IGCM_sys_Mkdir" 
    294304} 
    295305 
     
    300310#D- 
    301311function IGCM_sys_MkdirArchive { 
    302     IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 
    303     if ( $DEBUG_sys ) ; then 
    304         echo "IGCM_sys_MkdirArchive :" $@ 
    305     fi 
    306     #- creation de repertoire sur le serveur fichier 
    307     if [ ! -d ${1} ]; then  
    308         \mkdir -p $1 
    309         if [ $? -gt 0 ] ; then 
    310             echo "IGCM_sys_MkdirArchive : erreur." 
    311             IGCM_debug_Exit "IGCM_sys_MkdirArchive" 
    312         fi 
    313     fi 
    314     IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 
     312  IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 
     313  if ( $DEBUG_sys ) ; then 
     314    echo "IGCM_sys_MkdirArchive :" $@ 
     315  fi 
     316  #- creation de repertoire sur le serveur fichier 
     317  if [ ! -d ${1} ]; then  
     318    \mkdir -p $1 
     319    if [ $? -gt 0 ] ; then 
     320      echo "IGCM_sys_MkdirArchive : erreur." 
     321      IGCM_debug_Exit "IGCM_sys_MkdirArchive" 
     322    fi 
     323  fi 
     324  IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 
    315325} 
    316326 
     
    321331#D- 
    322332function IGCM_sys_MkdirWork { 
    323     IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 
    324     if ( $DEBUG_sys ) ; then 
    325         echo "IGCM_sys_MkdirWork :" $@ 
    326     fi 
    327     #- creation de repertoire sur le serveur fichier 
    328     if [ ! -d ${1} ]; then  
    329         \mkdir -p $1 
    330         if [ $? -gt 0 ] ; then 
    331             echo "IGCM_sys_MkdirWork : erreur." 
    332             IGCM_debug_Exit "IGCM_sys_MkdirWork" 
    333         fi 
    334     fi 
    335     IGCM_debug_PopStack "IGCM_sys_MkdirWork" 
     333  IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 
     334  if ( $DEBUG_sys ) ; then 
     335    echo "IGCM_sys_MkdirWork :" $@ 
     336  fi 
     337  #- creation de repertoire sur le serveur fichier 
     338  if [ ! -d ${1} ]; then  
     339    \mkdir -p $1 
     340    if [ $? -gt 0 ] ; then 
     341      echo "IGCM_sys_MkdirWork : erreur." 
     342      IGCM_debug_Exit "IGCM_sys_MkdirWork" 
     343    fi 
     344  fi 
     345  IGCM_debug_PopStack "IGCM_sys_MkdirWork" 
    336346} 
    337347 
     
    342352#D- 
    343353function IGCM_sys_Cd { 
    344     IGCM_debug_PushStack "IGCM_sys_Cd" $@ 
    345     if ( $DEBUG_sys ) ; then 
    346         echo "IGCM_sys_Cd :" $@ 
    347     fi 
    348     \cd $1 
    349     if [ $? -gt 0 ] ; then 
    350         echo "IGCM_sys_Cd : erreur." 
    351         IGCM_debug_Exit "IGCM_sys_Cd" 
    352     fi 
    353     IGCM_debug_PopStack "IGCM_sys_Cd" 
     354  IGCM_debug_PushStack "IGCM_sys_Cd" $@ 
     355  if ( $DEBUG_sys ) ; then 
     356    echo "IGCM_sys_Cd :" $@ 
     357  fi 
     358  \cd $1 
     359  if [ $? -gt 0 ] ; then 
     360    echo "IGCM_sys_Cd : erreur." 
     361    IGCM_debug_Exit "IGCM_sys_Cd" 
     362  fi 
     363  IGCM_debug_PopStack "IGCM_sys_Cd" 
    354364} 
    355365 
     
    360370#D- 
    361371function IGCM_sys_Chmod { 
    362     IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 
    363     if ( $DEBUG_sys ) ; then 
    364         echo "IGCM_sys_Chmod :" $@ 
    365     fi 
    366     if [ $DRYRUN -le 1 ]; then 
    367         \chmod $@ 
    368         if [ $? -gt 0 ] ; then 
    369             echo "IGCM_sys_Chmod : erreur." 
    370             IGCM_debug_Exit "IGCM_sys_Chmod" 
    371         fi 
    372     else 
    373         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    374     fi 
    375     IGCM_debug_PopStack "IGCM_sys_Chmod" 
     372  IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 
     373  if ( $DEBUG_sys ) ; then 
     374    echo "IGCM_sys_Chmod :" $@ 
     375  fi 
     376  if [ $DRYRUN -le 1 ]; then 
     377    \chmod $@ 
     378    if [ $? -gt 0 ] ; then 
     379      echo "IGCM_sys_Chmod : erreur." 
     380      IGCM_debug_Exit "IGCM_sys_Chmod" 
     381    fi 
     382  else 
     383    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     384  fi 
     385  IGCM_debug_PopStack "IGCM_sys_Chmod" 
    376386} 
    377387 
     
    382392#D- 
    383393function IGCM_sys_FileSize { 
    384     IGCM_debug_PushStack "IGCM_sys_FileSize" $@ 
    385  
    386     typeset sizeF 
    387     set +A sizeF -- $( ls -la ${1} ) 
    388     if [ $? -gt 0 ] ; then 
    389         IGCM_debug_Exit "IGCM_sys_FileSize" 
    390     fi 
    391     eval ${2}=${sizeF[4]} 
    392  
    393     IGCM_debug_PopStack "IGCM_sys_FileSize" 
     394  IGCM_debug_PushStack "IGCM_sys_FileSize" $@ 
     395 
     396  typeset sizeF 
     397  set +A sizeF -- $( ls -la ${1} ) 
     398  if [ $? -gt 0 ] ; then 
     399    IGCM_debug_Exit "IGCM_sys_FileSize" 
     400  fi 
     401  eval ${2}=${sizeF[4]} 
     402 
     403  IGCM_debug_PopStack "IGCM_sys_FileSize" 
    394404} 
    395405 
     
    400410#D- 
    401411function IGCM_sys_TestDir { 
    402     IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 
    403     if ( $DEBUG_sys ) ; then 
    404         echo "IGCM_sys_TestDir :" $@ 
    405     fi 
    406     typeset ExistFlag 
    407     ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
    408     IGCM_debug_PopStack "IGCM_sys_TestDir" 
    409  
    410     return ${ExistFlag} 
     412  IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 
     413  if ( $DEBUG_sys ) ; then 
     414    echo "IGCM_sys_TestDir :" $@ 
     415  fi 
     416  typeset ExistFlag 
     417  ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
     418  IGCM_debug_PopStack "IGCM_sys_TestDir" 
     419 
     420  return ${ExistFlag} 
    411421} 
    412422 
     
    417427#D- 
    418428function IGCM_sys_TestDirArchive { 
    419     IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 
    420     if ( $DEBUG_sys ) ; then 
    421         echo "IGCM_sys_TestDirArchive :" $@ 
    422     fi 
    423     typeset ExistFlag 
    424     ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
    425     IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 
    426  
    427     return ${ExistFlag} 
     429  IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 
     430  if ( $DEBUG_sys ) ; then 
     431    echo "IGCM_sys_TestDirArchive :" $@ 
     432  fi 
     433  typeset ExistFlag 
     434  ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 
     435  IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 
     436 
     437  return ${ExistFlag} 
     438} 
     439 
     440#D-#================================================== 
     441#D-function IGCM_sys_IsFileArchived 
     442#D-* Purpose: Test file that must NOT EXISTS on Archive 
     443#D-* Examples: 
     444#D- 
     445function IGCM_sys_IsFileArchived { 
     446  IGCM_debug_PushStack "IGCM_sys_IsFileArchived" $@ 
     447  if ( $DEBUG_sys ) ; then 
     448    echo "IGCM_sys_IsFileArchived :" $@ 
     449  fi 
     450  typeset IsArchivedFlag 
     451  IsArchivedFlag=$( [ X$( echo $1 | grep ^\/dmnfs ) != X ] && echo 0 || echo 1 ) 
     452  IGCM_debug_PopStack "IGCM_sys_IsFileArchived" 
     453 
     454  return ${IsArchivedFlag} 
    428455} 
    429456 
     
    434461#D- 
    435462function IGCM_sys_TestFileArchive { 
    436     IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 
    437     if ( $DEBUG_sys ) ; then 
    438         echo "IGCM_sys_TestFileArchive :" $@ 
    439     fi 
    440     typeset ExistFlag 
    441     ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
    442     IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 
    443  
    444     return ${ExistFlag} 
     463  IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 
     464  if ( $DEBUG_sys ) ; then 
     465    echo "IGCM_sys_TestFileArchive :" $@ 
     466  fi 
     467  typeset ExistFlag 
     468  ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
     469  IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 
     470 
     471  return ${ExistFlag} 
     472} 
     473 
     474#D-#================================================== 
     475#D-function IGCM_sys_TestFileBuffer 
     476#D-* Purpose: Test file that must NOT EXISTS on Buffer 
     477#D-* Examples: 
     478#D- 
     479function IGCM_sys_TestFileBuffer { 
     480  IGCM_debug_PushStack "IGCM_sys_TestFileBuffer" $@ 
     481  typeset ExistFlag 
     482  ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 
     483  IGCM_debug_PopStack "IGCM_sys_TestFileBuffer" 
     484 
     485  return ${ExistFlag} 
    445486} 
    446487 
     
    451492#D- 
    452493function IGCM_sys_CountFileArchive { 
    453     IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 
    454     ls ${@} 2>/dev/null | wc -l 
    455     if [ $? -gt 0 ] ; then 
    456         echo "IGCM_sys_CountFileArchive : erreur." 
    457     fi 
    458     IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 
     494  IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 
     495  ls ${@} 2>/dev/null | wc -l 
     496  if [ $? -gt 0 ] ; then 
     497    echo "IGCM_sys_CountFileArchive : erreur." 
     498  fi 
     499  IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 
     500} 
     501 
     502#D-#================================================== 
     503#D-function IGCM_sys_CountFileBuffer 
     504#D-* Purpose: Count files on Master Scratch filesystem 
     505#D-* Examples: 
     506#D- 
     507function IGCM_sys_CountFileBuffer { 
     508  IGCM_debug_PushStack "IGCM_sys_CountFileBuffer" $@ 
     509  ls ${@} 2>/dev/null | wc -l 
     510  if [ $? -gt 0 ] ; then 
     511    echo "IGCM_sys_CountFileBuffer : erreur." 
     512  fi 
     513  IGCM_debug_PopStack "IGCM_sys_CountFileBuffer" 
    459514} 
    460515 
     
    465520#D- 
    466521function IGCM_sys_Tree { 
    467     IGCM_debug_PushStack "IGCM_sys_Tree" $@ 
    468     if ( $DEBUG_sys ) ; then 
    469         echo "IGCM_sys_Tree :" $@ 
    470     fi 
    471  
    472     \tree -f $@ 
    473  
    474     IGCM_debug_PopStack "IGCM_sys_Tree" 
     522  IGCM_debug_PushStack "IGCM_sys_Tree" $@ 
     523  if ( $DEBUG_sys ) ; then 
     524    echo "IGCM_sys_Tree :" $@ 
     525  fi 
     526 
     527  \tree -f $@ 
     528 
     529  IGCM_debug_PopStack "IGCM_sys_Tree" 
    475530} 
    476531 
    477532#D-#================================================== 
    478533#D-function IGCM_sys_Tar 
    479 #D-* Purpose: master un-tar command 
     534#D-* Purpose: master tar command 
    480535#D-* Examples: 
    481536#D- 
    482537function IGCM_sys_Tar { 
    483     IGCM_debug_PushStack "IGCM_sys_Tar" $@ 
    484     if ( $DEBUG_sys ) ; then 
    485         echo "IGCM_sys_Tar :" $@ 
    486     fi 
    487     \tar cvf $@ 
    488     if [ $? -gt 0 ] ; then 
    489         echo "IGCM_sys_Tar : erreur." 
    490         IGCM_debug_Exit "IGCM_sys_Tar" 
    491     fi 
    492     \tar tvf $1 
    493  
    494     IGCM_debug_PopStack "IGCM_sys_Tar" 
     538  IGCM_debug_PushStack "IGCM_sys_Tar" $@ 
     539  if ( $DEBUG_sys ) ; then 
     540    echo "IGCM_sys_Tar :" $@ 
     541  fi 
     542  \tar cf $@ 
     543  if [ $? -gt 0 ] ; then 
     544    echo "IGCM_sys_Tar : erreur." 
     545    IGCM_debug_Exit "IGCM_sys_Tar" 
     546  fi 
     547  IGCM_debug_PopStack "IGCM_sys_Tar" 
    495548} 
    496549 
     
    501554#D- 
    502555function IGCM_sys_UnTar { 
    503     IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 
    504     if ( $DEBUG_sys ) ; then 
    505         echo "IGCM_sys_UnTar :" $@ 
    506     fi 
    507     \tar xvf $1 
    508     if [ $? -gt 0 ] ; then 
    509         echo "IGCM_sys_UnTar : erreur." 
    510         IGCM_debug_Exit "IGCM_sys_UnTar" 
    511     fi 
    512     IGCM_debug_PopStack "IGCM_sys_UnTar" 
     556  IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 
     557  if ( $DEBUG_sys ) ; then 
     558    echo "IGCM_sys_UnTar :" $@ 
     559  fi 
     560  \tar xvf $1 
     561  if [ $? -gt 0 ] ; then 
     562    echo "IGCM_sys_UnTar : erreur." 
     563    IGCM_debug_Exit "IGCM_sys_UnTar" 
     564  fi 
     565  IGCM_debug_PopStack "IGCM_sys_UnTar" 
    513566} 
    514567 
     
    519572#D- 
    520573function IGCM_sys_Qsub { 
    521     IGCM_debug_PushStack "IGCM_sys_Qsub" $@ 
    522     if ( $DEBUG_sys ) ; then 
    523         echo "IGCM_sys_Qsub :" $@ 
    524     fi 
    525     /usr/local/bin/ccc_msub -o ${Script_Output} -e ${Script_Output}.e < $1 
    526     if [ $? -gt 0 ] ; then 
    527         echo "IGCM_sys_Qsub : erreur  -o ${Script_Output} -e ${Script_Output}.e $@" 
    528         IGCM_debug_Exit "IGCM_sys_Qsub" 
    529     fi 
    530     IGCM_debug_PopStack "IGCM_sys_Qsub" 
     574  IGCM_debug_PushStack "IGCM_sys_Qsub" $@ 
     575  if ( $DEBUG_sys ) ; then 
     576    echo "IGCM_sys_Qsub :" $@ 
     577  fi 
     578  /usr/local/bin/ccc_msub -o ${Script_Output} -e ${Script_Output}.e < $1 
     579  if [ $? -gt 0 ] ; then 
     580    echo "IGCM_sys_Qsub : erreur  -o ${Script_Output} -e ${Script_Output}.e $@" 
     581    IGCM_debug_Exit "IGCM_sys_Qsub" 
     582  fi 
     583  IGCM_debug_PopStack "IGCM_sys_Qsub" 
    531584} 
    532585 
     
    537590#D- 
    538591function IGCM_sys_QsubPost { 
    539     IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 
    540     if ( $DEBUG_sys ) ; then 
    541         echo "IGCM_sys_QsubPost :" $@ 
    542     fi 
    543     /usr/local/bin/ccc_msub -o ${POST_DIR}/${Script_Post_Output}.out -e ${POST_DIR}/${Script_Post_Output}.e.out -E "-v ${listVarEnv}" ${libIGCM}/$1.job 
    544     if [ $? -gt 0 ] ; then 
    545         echo "IGCM_sys_QsubPost : erreur " $@ 
    546         IGCM_debug_Exit "IGCM_sys_QsubPost" 
    547     fi 
    548     IGCM_debug_PopStack "IGCM_sys_QsubPost" 
     592  IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 
     593  if ( $DEBUG_sys ) ; then 
     594    echo "IGCM_sys_QsubPost :" $@ 
     595  fi 
     596  /usr/local/bin/ccc_msub -o ${POST_DIR}/${Script_Post_Output}.out -e ${POST_DIR}/${Script_Post_Output}.e.out -E "-v ${listVarEnv}" ${libIGCM}/$1.job 
     597  if [ $? -gt 0 ] ; then 
     598    echo "IGCM_sys_QsubPost : erreur " $@ 
     599    IGCM_debug_Exit "IGCM_sys_QsubPost" 
     600  fi 
     601  IGCM_debug_PopStack "IGCM_sys_QsubPost" 
    549602} 
    550603 
     
    560613#D-  Error values and explanations can depend on your system version. 
    561614function IGCM_sys_Rsync_out { 
    562     RET=$1 
    563     if [ ! $RET ] ; then 
    564         echo "rsync error !" 
    565     fi 
    566  
    567     if [ $MYLANG = "fr" ]; then 
    568         case $RET in 
    569             0)  return ;; 
    570             1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
    571                 echo "Erreur de syntaxe ou d'utilisation." 
    572                 return;; 
    573             2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
    574                 echo "Incompatibilité de protocole." 
    575                 return;; 
    576             3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
    577                 echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
    578                 echo "répertoires" 
    579                 return;; 
    580             4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
    581                 echo "Action demandée non supportée : une tentative de manipulation de" 
    582                 echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
    583                 echo "été faite ; ou une option qui est supportée par le  client  mais" 
    584                 echo "pas par le serveur a été spécifiée." 
    585                 return;; 
    586             10) echo "Erreur de rsync ; RERR_SOCKETIO" 
    587                 echo "Erreur dans le socket d'entrée sortie" 
    588                 return;; 
    589             11) echo "Erreur de rsync ; RERR_FILEIO" 
    590                 echo "Erreur d'entrée sortie fichier" 
    591                 return;; 
    592             12) echo "Erreur de rsync ; RERR_STREAMIO" 
    593                 echo "Erreur dans flux de donnée du protocole rsync" 
    594                 return;; 
    595             13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
    596                 echo "Erreur avec les diagnostics du programme" 
    597                 return;; 
    598             14) echo "Erreur de rsync ; RERR_IPC" 
    599                 echo "Erreur dans le code IPC" 
    600                 return;; 
    601             20) echo "Erreur de rsync ; RERR_SIGNAL" 
    602                 echo "SIGUSR1 ou SIGINT reçu" 
    603                 return;; 
    604             21) echo "Erreur de rsync ; RERR_WAITCHILD" 
    605                 echo "Une erreur retournée par waitpid()" 
    606                 return;; 
    607             22) echo "Erreur de rsync ; RERR_MALLOC" 
    608                 echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
    609                 return;; 
    610             23) echo "" 
    611                 echo "Erreur fichier inexistant" 
    612                 return;; 
    613             30) echo "Erreur de rsync ; RERR_TIMEOUT" 
    614                 echo "Temps d'attente écoulé dans l'envoi/réception de données" 
    615                 return;; 
    616             *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
    617                 return;; 
    618         esac 
    619     elif [ $MYLANG = "en" ] ; then 
    620         case $RET in 
    621             0)  return;;                 
    622             1)  echo "rsync error : Syntax or usage error " 
    623                 return;; 
    624             2)  echo "rsync error : Protocol incompatibility " 
    625                 return;; 
    626             3)  echo "rsync error : Errors selecting input/output files, dirs" 
    627                 return;; 
    628             4)  echo "rsync error : Requested action not supported: an attempt" 
    629                 echo "was made to manipulate 64-bit files on a platform that cannot support" 
    630                 echo "them; or an option was specified that is supported by the client and" 
    631                 echo "not by the server." 
    632                 return;; 
    633             5)  echo "rsync error : Error starting client-server protocol" 
    634                 return;; 
    635             10) echo "rsync error : Error in socket I/O " 
    636                 return;; 
    637             11) echo "rsync error : Error in file I/O " 
    638                 return;; 
    639             12) echo "rsync error : Error in rsync protocol data stream " 
    640                 return;; 
    641             13) echo "rsync error : Errors with program diagnostics " 
    642                 return;; 
    643             14) echo "rsync error : Error in IPC code " 
    644                 return;; 
    645             20) echo "rsync error : Received SIGUSR1 or SIGINT " 
    646                 return;; 
    647             21) echo "rsync error : Some error returned by waitpid() " 
    648                 return;; 
    649             22) echo "rsync error : Error allocating core memory buffers " 
    650                 return;; 
    651             23) echo "rsync error : Partial transfer due to error" 
    652                 return;; 
    653             24) echo "rsync error : Partial transfer due to vanished source files" 
    654                 return;; 
    655             30) echo "rsync error : Timeout in data send/receive " 
    656                 return;; 
    657             *)  echo "rsync error : return code of rsync unknown :" $RET 
    658                 return;; 
    659         esac 
    660     else 
    661         echo "unknown language $MYLANG." 
    662         return 
    663     fi 
    664 } 
    665      
     615  RET=$1 
     616  if [ ! $RET ] ; then 
     617    echo "rsync error !" 
     618  fi 
     619 
     620  if [ $MYLANG = "fr" ]; then 
     621    case $RET in 
     622    0)  return ;; 
     623    1)  echo "Erreur de rsync ; RERR_SYNTAX : " 
     624      echo "Erreur de syntaxe ou d'utilisation." 
     625      return;; 
     626    2)  echo "Erreur de rsync ; RERR_PROTOCOL : " 
     627      echo "Incompatibilité de protocole." 
     628      return;; 
     629    3)  echo "Erreur de rsync ; RERR_FILESELECT 3" 
     630      echo "Erreurs  lors  de  la  sélection des fichiers d'entrée sortie et" 
     631      echo "répertoires" 
     632      return;; 
     633    4)  echo "Erreur de rsync ; RERR_UNSUPPORTED" 
     634      echo "Action demandée non supportée : une tentative de manipulation de" 
     635      echo "fichiers  64-bits  sur une plate-forme qui ne les supporte pas a" 
     636      echo "été faite ; ou une option qui est supportée par le  client  mais" 
     637      echo "pas par le serveur a été spécifiée." 
     638      return;; 
     639    10) echo "Erreur de rsync ; RERR_SOCKETIO" 
     640      echo "Erreur dans le socket d'entrée sortie" 
     641      return;; 
     642    11) echo "Erreur de rsync ; RERR_FILEIO" 
     643      echo "Erreur d'entrée sortie fichier" 
     644      return;; 
     645    12) echo "Erreur de rsync ; RERR_STREAMIO" 
     646      echo "Erreur dans flux de donnée du protocole rsync" 
     647      return;; 
     648    13) echo "Erreur de rsync ; RERR_MESSAGEIO" 
     649      echo "Erreur avec les diagnostics du programme" 
     650      return;; 
     651    14) echo "Erreur de rsync ; RERR_IPC" 
     652      echo "Erreur dans le code IPC" 
     653      return;; 
     654    20) echo "Erreur de rsync ; RERR_SIGNAL" 
     655      echo "SIGUSR1 ou SIGINT reçu" 
     656      return;; 
     657    21) echo "Erreur de rsync ; RERR_WAITCHILD" 
     658      echo "Une erreur retournée par waitpid()" 
     659      return;; 
     660    22) echo "Erreur de rsync ; RERR_MALLOC" 
     661      echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 
     662      return;; 
     663    23) echo "" 
     664      echo "Erreur fichier inexistant" 
     665      return;; 
     666    30) echo "Erreur de rsync ; RERR_TIMEOUT" 
     667      echo "Temps d'attente écoulé dans l'envoi/réception de données" 
     668      return;; 
     669    *)  echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 
     670      return;; 
     671    esac 
     672  elif [ $MYLANG = "en" ] ; then 
     673    case $RET in 
     674    0)  return;;                 
     675    1)  echo "rsync error : Syntax or usage error " 
     676      return;; 
     677    2)  echo "rsync error : Protocol incompatibility " 
     678      return;; 
     679    3)  echo "rsync error : Errors selecting input/output files, dirs" 
     680      return;; 
     681    4)  echo "rsync error : Requested action not supported: an attempt" 
     682      echo "was made to manipulate 64-bit files on a platform that cannot support" 
     683      echo "them; or an option was specified that is supported by the client and" 
     684      echo "not by the server." 
     685      return;; 
     686    5)  echo "rsync error : Error starting client-server protocol" 
     687      return;; 
     688    10) echo "rsync error : Error in socket I/O " 
     689      return;; 
     690    11) echo "rsync error : Error in file I/O " 
     691      return;; 
     692    12) echo "rsync error : Error in rsync protocol data stream " 
     693      return;; 
     694    13) echo "rsync error : Errors with program diagnostics " 
     695      return;; 
     696    14) echo "rsync error : Error in IPC code " 
     697      return;; 
     698    20) echo "rsync error : Received SIGUSR1 or SIGINT " 
     699      return;; 
     700    21) echo "rsync error : Some error returned by waitpid() " 
     701      return;; 
     702    22) echo "rsync error : Error allocating core memory buffers " 
     703      return;; 
     704    23) echo "rsync error : Partial transfer due to error" 
     705      return;; 
     706    24) echo "rsync error : Partial transfer due to vanished source files" 
     707      return;; 
     708    30) echo "rsync error : Timeout in data send/receive " 
     709      return;; 
     710    *)  echo "rsync error : return code of rsync unknown :" $RET 
     711      return;; 
     712    esac 
     713  else 
     714    echo "unknown language $MYLANG." 
     715    return 
     716  fi 
     717} 
     718 
    666719#D-#================================================== 
    667720#D-function IGCM_sys_Cp 
     
    670723#D- 
    671724function IGCM_sys_Cp { 
    672     IGCM_debug_PushStack "IGCM_sys_Cp" $@ 
    673     if ( $DEBUG_sys ) ; then 
    674         echo "IGCM_sys_Cp :" $@ 
    675     fi 
    676  
    677     typeset RET 
    678  
    679     echo cp $@ > out_rsync 2>&1 
    680     \cp $@ >> out_rsync 2>&1 
    681     RET=$? 
    682  
    683     if [ ${RET} -gt 0 ] ; then 
    684         echo "IGCM_sys_Cp : error." 
    685         cat out_rsync 
    686         IGCM_debug_Exit "IGCM_sys_Cp" 
    687      else 
    688         \rm out_rsync 
    689     fi 
    690     IGCM_debug_PopStack "IGCM_sys_Cp" 
     725  IGCM_debug_PushStack "IGCM_sys_Cp" $@ 
     726  if ( $DEBUG_sys ) ; then 
     727    echo "IGCM_sys_Cp :" $@ 
     728  fi 
     729 
     730  typeset RET 
     731 
     732  echo cp $@ > out_rsync 2>&1 
     733  \cp $@ >> out_rsync 2>&1 
     734  RET=$? 
     735 
     736  if [ ${RET} -gt 0 ] ; then 
     737    echo "IGCM_sys_Cp : error." 
     738    cat out_rsync 
     739    IGCM_debug_Exit "IGCM_sys_Cp" 
     740  else 
     741    \rm out_rsync 
     742  fi 
     743  IGCM_debug_PopStack "IGCM_sys_Cp" 
    691744} 
    692745 
     
    697750#D- 
    698751function IGCM_sys_Rm { 
    699     IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 
    700     if ( $DEBUG_sys ) ; then 
    701         echo "IGCM_sys_Rm :" $@ 
    702     fi 
    703  
    704     typeset RET 
    705  
    706     echo rm $@ > out_rsync 2>&1 
    707     \rm $@ >> out_rsync 2>&1 
    708     RET=$? 
    709  
    710     if [ ${RET} -gt 0 ] ; then 
    711         echo "IGCM_sys_Rm : error." 
    712         cat out_rsync 
    713         IGCM_debug_Exit "IGCM_sys_Rm" 
    714     else 
    715         \rm out_rsync 
    716     fi 
    717     IGCM_debug_PopStack "IGCM_sys_Rm" 
     752  IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 
     753  if ( $DEBUG_sys ) ; then 
     754    echo "IGCM_sys_Rm :" $@ 
     755  fi 
     756 
     757  typeset RET 
     758 
     759  echo rm $@ > out_rsync 2>&1 
     760  \rm $@ >> out_rsync 2>&1 
     761  RET=$? 
     762 
     763  if [ ${RET} -gt 0 ] ; then 
     764    echo "IGCM_sys_Rm : error." 
     765    cat out_rsync 
     766    IGCM_debug_Exit "IGCM_sys_Rm" 
     767  else 
     768    \rm out_rsync 
     769  fi 
     770  IGCM_debug_PopStack "IGCM_sys_Rm" 
    718771} 
    719772 
     
    725778#D- 
    726779function IGCM_sys_RmRunDir { 
    727     IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 
    728     if ( $DEBUG_sys ) ; then 
    729         echo "IGCM_sys_RmRunDir :" $@ 
    730     fi 
    731  
    732     typeset RET 
    733  
    734     echo rm $@ > out_rsync 2>&1 
    735     \rm $@ >> out_rsync 2>&1 
    736     RET=$? 
    737  
    738     if [ ${RET} -gt 0 ] ; then 
    739         echo "IGCM_sys_RmRunDir : error." 
    740         cat out_rsync 
    741         IGCM_debug_Exit "IGCM_sys_RmRunDir" 
    742     else 
    743         \rm out_rsync 
    744     fi 
    745  
    746     IGCM_debug_PopStack "IGCM_sys_RmRunDir" 
     780  IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 
     781  if ( $DEBUG_sys ) ; then 
     782    echo "IGCM_sys_RmRunDir :" $@ 
     783  fi 
     784 
     785  typeset RET 
     786 
     787  echo rm $@ > out_rsync 2>&1 
     788  \rm $@ >> out_rsync 2>&1 
     789  RET=$? 
     790 
     791  if [ ${RET} -gt 0 ] ; then 
     792    echo "IGCM_sys_RmRunDir : error." 
     793    cat out_rsync 
     794    IGCM_debug_Exit "IGCM_sys_RmRunDir" 
     795  else 
     796    \rm out_rsync 
     797  fi 
     798  IGCM_debug_PopStack "IGCM_sys_RmRunDir" 
    747799} 
    748800 
     
    753805#D- 
    754806function IGCM_sys_Mv { 
    755     IGCM_debug_PushStack "IGCM_sys_Mv" $@ 
    756     if ( $DEBUG_sys ) ; then 
    757         echo "IGCM_sys_Mv :" $@ 
    758     fi 
    759  
    760     if [ $DRYRUN = 0 ]; then 
    761  
    762         typeset RET 
    763              
    764         echo mv $@ > out_rsync 2>&1 
    765         \mv $@ >> out_rsync 2>&1 
    766         RET=$? 
     807  IGCM_debug_PushStack "IGCM_sys_Mv" $@ 
     808  if ( $DEBUG_sys ) ; then 
     809    echo "IGCM_sys_Mv :" $@ 
     810  fi 
     811 
     812  if [ $DRYRUN = 0 ]; then 
     813 
     814    typeset RET 
    767815     
    768         if [ ${RET} -gt 0 ] ; then 
    769             echo "IGCM_sys_Mv : error in mv." 
    770             cat out_rsync 
    771             IGCM_debug_Exit "IGCM_sys_Mv" 
    772         else 
    773             \rm out_rsync 
    774         fi 
     816    echo mv $@ > out_rsync 2>&1 
     817    \mv $@ >> out_rsync 2>&1 
     818    RET=$? 
     819     
     820    if [ ${RET} -gt 0 ] ; then 
     821      echo "IGCM_sys_Mv : error in mv." 
     822      cat out_rsync 
     823      IGCM_debug_Exit "IGCM_sys_Mv" 
    775824    else 
    776         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    777     fi 
    778  
    779     IGCM_debug_PopStack "IGCM_sys_Mv" 
     825      \rm out_rsync 
     826    fi 
     827  else 
     828    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     829  fi 
     830 
     831  IGCM_debug_PopStack "IGCM_sys_Mv" 
    780832} 
    781833 
     
    786838#D- 
    787839function IGCM_sys_Put_Dir { 
    788     IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 
    789     if ( $DEBUG_sys ) ; then 
    790         echo "IGCM_sys_Put_Dir :" $@ 
    791     fi 
    792     if [ $DRYRUN = 0 ]; then 
    793         if [ ! -d ${1} ] ; then 
    794             echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
    795             IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
    796             return 
    797         fi 
    798  
    799         typeset RET 
    800  
    801         # Only if we use rsync 
    802         #IGCM_sys_TestDirArchive $( dirname $2 ) 
    803         # 
    804         #USUAL WAY 
    805         \cp -r $1 $2 > out_rsync 2>&1 
    806         RET=$? 
    807  
    808         if [ ${RET} -gt 0 ] ; then 
    809             echo "IGCM_sys_Put_Dir : error." 
    810             cat out_rsync 
    811             IGCM_debug_Exit "IGCM_sys_Put_Dir" 
    812         else 
    813             \rm out_rsync 
    814         fi 
     840  IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 
     841  if ( $DEBUG_sys ) ; then 
     842    echo "IGCM_sys_Put_Dir :" $@ 
     843  fi 
     844  if [ $DRYRUN = 0 ]; then 
     845    if [ ! -d ${1} ] ; then 
     846      echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 
     847      IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     848      return 
     849    fi 
     850 
     851    typeset RET 
     852 
     853    # Only if we use rsync 
     854    #IGCM_sys_TestDirArchive $( dirname $2 ) 
     855    # 
     856    #USUAL WAY 
     857    \cp -r $1 $2 > out_rsync 2>&1 
     858    RET=$? 
     859 
     860    if [ ${RET} -gt 0 ] ; then 
     861      echo "IGCM_sys_Put_Dir : error." 
     862      cat out_rsync 
     863      IGCM_debug_Exit "IGCM_sys_Put_Dir" 
    815864    else 
    816         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    817     fi 
    818     IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
     865      \rm out_rsync 
     866    fi 
     867  else 
     868    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     869  fi 
     870  IGCM_debug_PopStack "IGCM_sys_Put_Dir" 
    819871} 
    820872 
    821873#D-#================================================== 
    822874#D-function IGCM_sys_Get_Dir 
    823 #D-* Purpose: Copy a complete directory from $(ARCHIVE) 
     875#D-* Purpose: Copy a complete directory from ${ARCHIVE} 
    824876#D-* Examples: 
    825877#D- 
    826878function IGCM_sys_Get_Dir { 
    827     IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 
    828     if ( $DEBUG_sys ) ; then 
    829         echo "IGCM_sys_Get_Dir :" $@ 
    830     fi 
    831     if [ $DRYRUN = 0 ]; then 
    832 #       if [ ! -d ${1} ] ; then 
    833 #           echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 
    834 #           IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
    835 #           return 
    836 #       fi 
    837  
    838         typeset RET 
    839  
    840         # Only if we use rsync 
    841         #IGCM_sys_TestDirArchive $( dirname $2 ) 
    842         # 
    843         #USUAL WAY 
    844         # add dmget (to demigrate all offline files) to reduce time of this command : 
    845         dmget $1/* 
    846         \cp -r $1 $2 > out_rsync 2>&1 
    847         RET=$? 
    848  
    849         if [ ${RET} -gt 0 ] ; then 
    850             echo "IGCM_sys_Get_Dir : error." 
    851             cat out_rsync 
    852             IGCM_debug_Exit "IGCM_sys_Get_Dir" 
    853         else 
    854             \rm out_rsync 
    855         fi 
     879  IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 
     880  if ( $DEBUG_sys ) ; then 
     881    echo "IGCM_sys_Get_Dir :" $@ 
     882  fi 
     883  if [ $DRYRUN = 0 ]; then 
     884#    if [ ! -d ${1} ] ; then 
     885#      echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 
     886#      IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
     887#      return 
     888#    fi 
     889 
     890    typeset RET 
     891 
     892    # Only if we use rsync 
     893    #IGCM_sys_TestDirArchive $( dirname $2 ) 
     894    # 
     895    # USUAL WAY 
     896    # add dmfind/dmget (to demigrate all offline files) : 
     897    dmfind $1 -state MIG -o -state OFL -o -state PAR | dmget 
     898    \cp -r $1 $2 > out_rsync 2>&1 
     899    RET=$? 
     900 
     901    if [ ${RET} -gt 0 ] ; then 
     902      echo "IGCM_sys_Get_Dir : error." 
     903      cat out_rsync 
     904      IGCM_debug_Exit "IGCM_sys_Get_Dir" 
    856905    else 
    857         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    858     fi 
    859     IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
     906      \rm out_rsync 
     907    fi 
     908  else 
     909    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     910  fi 
     911  IGCM_debug_PopStack "IGCM_sys_Get_Dir" 
    860912} 
    861913 
     
    866918#D- 
    867919function IGCM_sys_Get_Master { 
    868     IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 
    869     if ( $DEBUG_sys ) ; then 
    870         echo "IGCM_sys_Get_Master :" $@ 
    871     fi 
    872     if [ $DRYRUN = 0 ]; then 
    873  
    874         typeset TEST NB_ESSAI DELAI status i 
    875          
    876         TEST=$( IGCM_sys_RshMaster [ -d $1 ] && echo 1 || echo 0 ) 
    877         if [ ${TEST} -ne 1 ] ; then 
    878             echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ON ${MASTER}." 
    879             IGCM_debug_PopStack "IGCM_sys_Get_Master" 
    880             return 
    881         fi 
    882  
    883         # number of tentative 
    884         NB_ESSAI=10 
    885         # time delay between tentative 
    886         DELAI=10 
    887         # 
    888         (( i = 0 )) 
    889         while [ $i -lt $NB_ESSAI ] ; do 
     920  IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 
     921  if ( $DEBUG_sys ) ; then 
     922    echo "IGCM_sys_Get_Master :" $@ 
     923  fi 
     924  if [ $DRYRUN = 0 ]; then 
     925 
     926    typeset TEST NB_ESSAI DELAI status i 
     927     
     928    TEST=$( IGCM_sys_RshMaster [ -d $1 ] && echo 1 || echo 0 ) 
     929    if [ ${TEST} -ne 1 ] ; then 
     930      echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ON ${MASTER}." 
     931      IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     932      return 
     933    fi 
     934 
     935    # number of tentative 
     936    NB_ESSAI=10 
     937    # time delay between tentative 
     938    DELAI=10 
     939    # 
     940    (( i = 0 )) 
     941    while [ $i -lt $NB_ESSAI ] ; do 
    890942            #USUAL WAY 
    891             scp -r ${MASTER}:$1 $2 > out_rsync 2>&1 
    892             status=$? 
    893             if [ ${status} -gt 0 ]; then 
    894                 IGCM_debug_Print 2 "IGCM_sys_Get_Master : scp failed ${i}/${NB_ESSAI}" 
    895                 IGCM_debug_Print 2 "IGCM_sys_Get_Master : sleep ${DELAI} seconds and try again." 
    896                 sleep $DELAI 
    897             else 
    898                 break 
    899             fi 
    900             (( i = i + 1 )) 
    901         done 
    902  
    903         if [ ${status} -gt 0 ] ; then 
    904             echo "IGCM_sys_Get_Master : error." 
    905             cat out_rsync 
    906             IGCM_debug_Exit "IGCM_sys_Get_Master" 
    907         else 
    908             \rm out_rsync 
    909         fi 
     943      scp -r ${MASTER}:$1 $2 > out_rsync 2>&1 
     944      status=$? 
     945      if [ ${status} -gt 0 ]; then 
     946        IGCM_debug_Print 2 "IGCM_sys_Get_Master : scp failed ${i}/${NB_ESSAI}" 
     947        IGCM_debug_Print 2 "IGCM_sys_Get_Master : sleep ${DELAI} seconds and try again." 
     948        sleep $DELAI 
     949      else 
     950        break 
     951      fi 
     952      (( i = i + 1 )) 
     953    done 
     954 
     955    if [ ${status} -gt 0 ] ; then 
     956      echo "IGCM_sys_Get_Master : error." 
     957      cat out_rsync 
     958      IGCM_debug_Exit "IGCM_sys_Get_Master" 
    910959    else 
    911         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    912     fi 
    913     IGCM_debug_PopStack "IGCM_sys_Get_Master" 
     960      \rm out_rsync 
     961    fi 
     962  else 
     963    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     964  fi 
     965  IGCM_debug_PopStack "IGCM_sys_Get_Master" 
    914966} 
    915967 
    916968#D-#================================================== 
    917969#D-function IGCM_sys_Put_Rest 
    918 #D-* Purpose: Put computied restarts on $(ARCHIVE). 
     970#D-* Purpose: Put computied restarts on ${ARCHIVE}. 
    919971#D-           File and target directory must exist. 
    920972#D-* Examples: 
    921973#D- 
    922974function IGCM_sys_Put_Rest { 
    923     IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 
    924     if ( $DEBUG_sys ) ; then 
    925         echo "IGCM_sys_Put_Rest :" $@ 
    926     fi 
    927     if [ $DRYRUN = 0 ]; then 
    928         if [ ! -f ${1} ] ; then 
    929             echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
    930             IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    931         fi 
    932  
    933         typeset RET 
    934         # 
    935         if [ X${JobType} = XRUN ] ; then 
    936             IGCM_sys_Chmod 444 ${1} 
    937         fi 
    938         # 
    939         IGCM_sys_TestDirArchive $( dirname $2 ) 
    940         # 
    941         # USUAL WAY 
    942         \cp $1 $2 > out_rsync 2>&1 
    943         RET=$? 
     975  IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 
     976  if ( $DEBUG_sys ) ; then 
     977    echo "IGCM_sys_Put_Rest :" $@ 
     978  fi 
     979  if [ $DRYRUN = 0 ]; then 
     980    if [ ! -f ${1} ] ; then 
     981      echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 
     982      IGCM_debug_Exit "IGCM_sys_Put_Rest" 
     983    fi 
     984 
     985    typeset RET 
     986    # 
     987    if [ X${JobType} = XRUN ] ; then 
     988      IGCM_sys_Chmod 444 ${1} 
     989    fi 
     990 
     991    # 
     992    # USUAL WAY 
     993    \cp $1 $2 > out_rsync 2>&1 
     994    RET=$? 
    944995 
    945996#       #RSYNC WITH NETWORK SSH CALL 
    946 #       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} > out_rsync 2>&1 
    947 #       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} >> out_rsync 2>&1 
     997#       echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 
     998#       ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 
    948999 
    9491000#       #RSYNC WITH NFS USE 
     
    9571008#       (( RET=RET+$? )) 
    9581009 
    959         if [ ${RET} -gt 0 ] ; then 
    960             echo "IGCM_sys_Put_Rest : error." 
    961             cat out_rsync 
    962             IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    963         else 
    964             \rm out_rsync 
    965         fi 
     1010    if [ ${RET} -gt 0 ] ; then 
     1011      echo "IGCM_sys_Put_Rest : error." 
     1012      cat out_rsync 
     1013      IGCM_debug_Exit "IGCM_sys_Put_Rest" 
    9661014    else 
    967         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    968     fi 
    969     IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
     1015      \rm out_rsync 
     1016    fi 
     1017  else 
     1018    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1019  fi 
     1020  IGCM_debug_PopStack "IGCM_sys_Put_Rest" 
    9701021} 
    9711022 
    9721023#D-#================================================== 
    9731024#D-function IGCM_sys_Put_Out 
    974 #D-* Purpose: Copy a file on $(ARCHIVE) after have chmod it in readonly 
     1025#D-* Purpose: Copy a file on ${ARCHIVE} after having chmod it in readonly 
    9751026#D-* Examples: 
    9761027#D- 
    9771028function IGCM_sys_Put_Out { 
    978     IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 
    979     if ( $DEBUG_sys ) ; then 
    980         echo "IGCM_sys_Put_Out :" $@ 
    981     fi 
    982     if [ $DRYRUN = 0 ]; then 
    983         if [ ! -f ${1} ] ; then 
    984             echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
    985             IGCM_debug_PopStack "IGCM_sys_Put_Out" 
    986             return 1 
    987         fi 
    988         # 
    989         IGCM_sys_MkdirArchive $( dirname $2 ) 
    990         # 
    991         typeset RET exist skip 
    992  
    993         #===================================================== 
    994         #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
    995         #===================================================== 
    996  
    997         #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 
    998         #if [ $? -eq 0 ] ; then 
    999         #    typeset WORKPATH FILEPATH 
    1000         #    WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_OUT_SCR}|" ) 
    1001         #    IGCM_sys_MkdirWork ${WORKPATH}  
    1002         #    FILEPATH=${WORKPATH}/$( basename $2 ) 
    1003         #    # 
    1004         #    IGCM_sys_Cp ${1} ${FILEPATH} 
    1005         #fi 
    1006  
    1007         if [ X${JobType} = XRUN ] ; then 
    1008             if [ X${3} = X ] ; then 
    1009                 IGCM_sys_Chmod 444 ${1} 
    1010             fi 
    1011         fi 
    1012  
    1013         exist=false 
     1029  IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 
     1030  if ( $DEBUG_sys ) ; then 
     1031    echo "IGCM_sys_Put_Out :" $@ 
     1032  fi 
     1033  if [ $DRYRUN = 0 ]; then 
     1034    if [ ! -f ${1} ] ; then 
     1035      echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 
     1036      IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     1037      return 1 
     1038    fi 
     1039    # 
     1040    IGCM_sys_MkdirArchive $( dirname $2 ) 
     1041    # 
     1042    typeset RET exist skip 
     1043 
     1044    #===================================================== 
     1045    #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
     1046    #===================================================== 
     1047 
     1048    #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 
     1049    #if [ $? -eq 0 ] ; then 
     1050    #    typeset WORKPATH FILEPATH 
     1051    #    WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_BUF}|" ) 
     1052    #    IGCM_sys_MkdirWork ${WORKPATH}  
     1053    #    FILEPATH=${WORKPATH}/$( basename $2 ) 
     1054    #    # 
     1055    #    IGCM_sys_Cp ${1} ${FILEPATH} 
     1056    #fi 
     1057 
     1058    if [ X${JobType} = XRUN ] ; then 
     1059      if [ X${3} = X ] ; then 
     1060        IGCM_sys_Chmod 444 ${1} 
     1061      fi 
     1062    fi 
     1063 
     1064    exist=false 
     1065    skip=false 
     1066    if [ -f $2 ] ; then 
     1067      IGCM_debug_Print 1 "$2 already exist" 
     1068      dmget $2 
     1069      exist=true 
     1070      if [ "X$( diff $1 $2 )" = X ] ; then 
     1071        IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 
     1072        skip=true 
     1073      else 
     1074        IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 
    10141075        skip=false 
    1015         if [ -f $2 ] ; then 
    1016             IGCM_debug_Print 1 "$2 already exist" 
    1017             dmget $2 
    1018             exist=true 
    1019             if [ "X$( diff $1 $2 )" = X ] ; then 
    1020                 IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 
    1021                 skip=true 
    1022             else 
    1023                 IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 
    1024                 skip=false 
    1025             fi 
    1026         fi 
     1076      fi 
     1077    fi 
    10271078        #  
    1028         if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 
    1029             IGCM_sys_Chmod u+w $2 
    1030         fi 
     1079    if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 
     1080      IGCM_sys_Chmod u+w $2 
     1081    fi 
    10311082        # USUAL WAY 
    1032         if [ X${skip} = Xfalse ] ; then 
    1033             cp $1 $2 > out_rsync 2>&1 
    1034             RET=$? 
    1035             if [ ${RET} -gt 0 ] ; then 
    1036                 echo "IGCM_sys_Put_Out : error." 
    1037                 cat out_rsync 
    1038                 IGCM_debug_Exit "IGCM_sys_Put_Out" 
    1039             else 
    1040                 \rm out_rsync 
    1041             fi 
    1042         fi 
     1083    if [ X${skip} = Xfalse ] ; then 
     1084      cp $1 $2 > out_rsync 2>&1 
     1085      RET=$? 
     1086      if [ ${RET} -gt 0 ] ; then 
     1087        echo "IGCM_sys_Put_Out : error." 
     1088        cat out_rsync 
     1089        IGCM_debug_Exit "IGCM_sys_Put_Out" 
     1090      else 
     1091        \rm out_rsync 
     1092      fi 
     1093    fi 
    10431094 
    10441095#       #RSYNC WITH NETWORK RSH CALL 
     
    10571108 
    10581109 
    1059     else 
    1060         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1061     fi 
    1062     IGCM_debug_PopStack "IGCM_sys_Put_Out" 
    1063     return 0 
     1110  else 
     1111    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1112  fi 
     1113  IGCM_debug_PopStack "IGCM_sys_Put_Out" 
     1114  return 0 
    10641115} 
    10651116 
     
    10701121#D-            IGCM_sys_Get /l Array_contain_myfiles /destpath/ 
    10711122function IGCM_sys_Get { 
    1072     IGCM_debug_PushStack "IGCM_sys_Get" $@ 
    1073  
    1074     typeset DEST RET dm_liste ifile target file_work  
    1075  
    1076     if ( $DEBUG_sys ) ; then 
    1077         echo "IGCM_sys_Get :" $@ 
    1078     fi 
    1079     if [ $DRYRUN -le 2 ]; then 
    1080         if [ X${1} = X'/l' ] ; then 
    1081             # test if the first file is present in the old computation : 
    1082             eval set +A dm_liste \${${2}} 
    1083         else 
    1084             eval set +A dm_liste ${1} 
    1085         fi 
    1086         eval DEST=\${${#}} 
    1087  
    1088         #===================================================== 
    1089         #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
    1090         #===================================================== 
    1091  
    1092         # Is it an R_OUT file (not R_IN) ? 
    1093         #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 
    1094         #if [ $? -eq 0 ] ; then 
    1095         #    # Yes  ? then we try to get it in SCRATCHDIR 
    1096         #    set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_OUT_SCR}|g" ) 
    1097         #    if [ -f ${file_work[0]} ] ; then 
    1098         #       IGCM_sys_Cp ${file_work[*]} ${DEST} 
    1099         #       IGCM_debug_PopStack "IGCM_sys_Get" 
    1100         #       return 
    1101         #    fi 
    1102         #fi 
    1103  
    1104         # test if the (first) file is present in the old computation : 
    1105         IGCM_sys_TestFileArchive ${dm_liste[0]} 
    1106         RET=$? 
    1107         if [ ${RET} -gt 0 ] ; then 
    1108             echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
    1109             IGCM_debug_Exit "IGCM_sys_Get" 
    1110         fi 
    1111  
    1112         dmget ${dm_liste[*]} > out_rsync 2>&1 
    1113         RET=$? 
    1114  
    1115         if [ ${RET} -gt 0 ] ; then 
    1116             echo "WARNING IGCM_sys_Get : demigration error." 
    1117             cat out_rsync 
    1118             echo "WARNING IGCM_sys_Get : will stop later if the cp fails." 
    1119         fi 
    1120  
    1121         #if [ ${RET} -gt 0 ] ; then 
    1122         #    if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 
    1123         #       cat out_rsync 
    1124         #       echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 
    1125         #       sleep 30 
    1126         #       echo "We try another time" 
    1127         #       dmget ${dm_liste[*]} > out_rsync 2>&1 
    1128         #       RET=$? 
    1129         #       if [ ${RET} -gt 0 ] ; then 
    1130         #           echo "ERROR IGCM_sys_Get : again demigration error :" 
    1131         #           cat out_rsync 
    1132         #           IGCM_debug_Exit "IGCM_sys_Get" 
    1133         #       fi 
    1134         #    else 
    1135         #       echo "ERROR IGCM_sys_Get : demigration error :" 
    1136         #       cat out_rsync 
    1137         #       IGCM_debug_Exit "IGCM_sys_Get" 
    1138         #    fi 
    1139         #fi 
    1140  
    1141         #USUAL WAY 
    1142         (( RET=0 )) 
    1143         if [ X${1} = X'/l' ] ; then 
    1144             (( RET=0 )) 
    1145             for target in ${dm_liste[*]} ; do 
    1146                 local_file=$( basename ${target} ) 
    1147                 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
    1148                 (( RET = RET + $? )) 
    1149             done 
    1150         else 
    1151             \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 
    1152             RET=$? 
    1153         fi 
     1123  IGCM_debug_PushStack "IGCM_sys_Get" $@ 
     1124 
     1125  typeset DEST RET dm_liste ifile target file_work  
     1126 
     1127  if ( $DEBUG_sys ) ; then 
     1128    echo "IGCM_sys_Get :" $@ 
     1129  fi 
     1130  if [ $DRYRUN -le 2 ]; then 
     1131    if [ X${1} = X'/l' ] ; then 
     1132      # test if the first file is present in the old computation : 
     1133      eval set +A dm_liste \${${2}} 
     1134    else 
     1135      eval set +A dm_liste ${1} 
     1136    fi 
     1137    eval DEST=\${${#}} 
     1138 
     1139    #===================================================== 
     1140    #         COMMENT OUT DOUBLE COPY ON SCRATCHDIR 
     1141    #===================================================== 
     1142 
     1143    # Is it an R_OUT file (not R_IN) ? 
     1144    #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 
     1145    #if [ $? -eq 0 ] ; then 
     1146    #    # Yes  ? then we try to get it in SCRATCHDIR 
     1147    #    set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" ) 
     1148    #    if [ -f ${file_work[0]} ] ; then 
     1149    #   IGCM_sys_Cp ${file_work[*]} ${DEST} 
     1150    #   IGCM_debug_PopStack "IGCM_sys_Get" 
     1151    #   return 
     1152    #    fi 
     1153    #fi 
     1154 
     1155    # test if the (first) file is present in the old computation : 
     1156    IGCM_sys_TestFileArchive ${dm_liste[0]} 
     1157    RET=$? 
     1158    if [ ${RET} -gt 0 ] ; then 
     1159      echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 
     1160      IGCM_debug_Exit "IGCM_sys_Get" 
     1161    fi 
     1162 
     1163    dmget ${dm_liste[*]} > out_rsync 2>&1 
     1164    RET=$? 
     1165    if [ ${RET} -gt 0 ] ; then 
     1166      echo "WARNING IGCM_sys_Get : demigration error." 
     1167      cat out_rsync 
     1168      echo "WARNING IGCM_sys_Get : will stop later if the cp fails." 
     1169    fi 
     1170    #if [ ${RET} -gt 0 ] ; then 
     1171    #    if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 
     1172    #   cat out_rsync 
     1173    #   echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 
     1174    #   sleep 30 
     1175    #   echo "We try another time" 
     1176    #   dmget ${dm_liste[*]} > out_rsync 2>&1 
     1177    #   RET=$? 
     1178    #   if [ ${RET} -gt 0 ] ; then 
     1179    #       echo "ERROR IGCM_sys_Get : again demigration error :" 
     1180    #       cat out_rsync 
     1181    #       IGCM_debug_Exit "IGCM_sys_Get" 
     1182    #   fi 
     1183    #    else 
     1184    #   echo "ERROR IGCM_sys_Get : demigration error :" 
     1185    #   cat out_rsync 
     1186    #   IGCM_debug_Exit "IGCM_sys_Get" 
     1187    #    fi 
     1188    #fi 
     1189 
     1190    #USUAL WAY 
     1191    if [ X${1} = X'/l' ] ; then 
     1192      (( RET=0 )) 
     1193      for target in ${dm_liste[*]} ; do 
     1194        local_file=$( basename ${target} ) 
     1195        \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
     1196        (( RET = RET + $? )) 
     1197      done 
     1198    else 
     1199      \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 
     1200      RET=$? 
     1201    fi 
    11541202 
    11551203#       #RSYNC WITH NETWORK SSH CALL 
     
    11671215#       (( RET=RET+$? )) 
    11681216 
    1169         if [ ${RET} -gt 0 ] ; then 
    1170             echo "IGCM_sys_Get : copy error." 
    1171             cat out_rsync 
    1172             IGCM_debug_Exit "IGCM_sys_Get" 
    1173         else 
    1174             \rm out_rsync 
    1175         fi 
     1217    if [ ${RET} -gt 0 ] ; then 
     1218      echo "IGCM_sys_Get : copy error." 
     1219      cat out_rsync 
     1220      IGCM_debug_Exit "IGCM_sys_Get" 
    11761221    else 
    1177         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1178     fi 
    1179     IGCM_debug_PopStack "IGCM_sys_Get" 
     1222      \rm out_rsync 
     1223    fi 
     1224  else 
     1225    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1226  fi 
     1227  IGCM_debug_PopStack "IGCM_sys_Get" 
     1228} 
     1229 
     1230#D-#================================================== 
     1231#D-function IGCM_sys_GetBuffer 
     1232#D-* Purpose: Get a file from ${SCRATCHDIR} 
     1233#D-* Examples: IGCM_sys_GetBuffer myfile /destpath/myfile_with_PREFIX 
     1234#D-            IGCM_sys_GetBuffer /l Array_contain_myfiles /destpath/ 
     1235function IGCM_sys_GetBuffer { 
     1236  IGCM_debug_PushStack "IGCM_sys_GetBuffer" $@ 
     1237 
     1238  typeset DEST RET buf_liste ifile target file_work  
     1239 
     1240  if ( $DEBUG_sys ) ; then 
     1241    echo "IGCM_sys_GetBuffer :" $@ 
     1242  fi 
     1243  if [ $DRYRUN -le 2 ]; then 
     1244    if [ X${1} = X'/l' ] ; then 
     1245      # test if the first file is present in the old computation : 
     1246      eval set +A buf_liste \${${2}} 
     1247    else 
     1248      eval set +A buf_liste ${1} 
     1249    fi 
     1250    eval DEST=\${${#}} 
     1251 
     1252    #USUAL WAY 
     1253    if [ X${1} = X'/l' ] ; then 
     1254      (( RET=0 )) 
     1255      for target in ${buf_liste[*]} ; do 
     1256        local_file=$( basename ${target} ) 
     1257        \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 
     1258        (( RET = RET + $? )) 
     1259      done 
     1260    else 
     1261      \cp ${buf_liste} ${DEST} >> out_rsync 2>&1 
     1262      RET=$? 
     1263    fi 
     1264 
     1265    if [ ${RET} -gt 0 ] ; then 
     1266      echo "IGCM_sys_GetBuffer : copy error." 
     1267      cat out_rsync 
     1268      IGCM_debug_Exit "IGCM_sys_GetBuffer" 
     1269    else 
     1270      \rm out_rsync 
     1271    fi 
     1272  else 
     1273    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1274  fi 
     1275  IGCM_debug_PopStack "IGCM_sys_GetBuffer" 
     1276} 
     1277 
     1278#D-#================================================== 
     1279#D-function IGCM_sys_GetDate_FichWork 
     1280#D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 
     1281#D-* Examples: 
     1282#D- 
     1283function IGCM_sys_GetDate_FichWork { 
     1284  IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 
     1285  if ( $DEBUG_sys ) ; then 
     1286    echo "IGCM_sys_GetDate_FichWork :" $@ 
     1287  fi 
     1288    # donne la date filesys d'un fichier sur la machine work 
     1289  IGCM_debug_PopStack "IGCM_sys_FichWork" 
     1290} 
     1291 
     1292#D-#================================================== 
     1293#D-function IGCM_sys_GetDate_FichArchive 
     1294#D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE  
     1295#D-* Examples: 
     1296#D- 
     1297function IGCM_sys_GetDate_FichArchive { 
     1298  IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 
     1299  if ( $DEBUG_sys ) ; then 
     1300    echo "IGCM_sys_GetDate_FichArchive :" $@ 
     1301  fi 
     1302  IGCM_debug_PopStack "IGCM_sys_FichArchive" 
    11801303} 
    11811304 
    11821305#D-#================================================== 
    11831306#D-function IGCM_sys_Dods_Rm 
    1184 #D-* Purpose: DO NOTHING ! Put $(ARCHIVE) files on DODS internet protocole. 
     1307#D-* Purpose: DO NOTHING ! Put ${ARCHIVE} files on DODS internet protocole. 
    11851308#D-* Examples: 
    11861309#D- 
    11871310function IGCM_sys_Dods_Rm { 
    1188     if ( $DEBUG_sys ) ; then 
    1189         echo "IGCM_sys_Dods_Rm :" $@ 
    1190     fi 
    1191     typeset RET 
    1192     RET=0 
    1193     if [ $DRYRUN = 0 ]; then 
    1194         if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 
    1195             echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 
    1196             echo "Nothing has been done." 
    1197             return 
    1198         fi 
    1199         dods_rm public/${LOGIN}/${R_DODS}/${1} #> out_dods_rm 2>&1 
    1200         RET=$? 
    1201          
     1311  if ( $DEBUG_sys ) ; then 
     1312    echo "IGCM_sys_Dods_Rm :" $@ 
     1313  fi 
     1314  typeset RET 
     1315  RET=0 
     1316  if [ $DRYRUN = 0 ]; then 
     1317    if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 
     1318      echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 
     1319      echo "Nothing has been done." 
     1320      return 
     1321    fi 
     1322    dods_rm public/${LOGIN}/${R_DODS}/${1} # > out_dods_rm 2>&1 
     1323    RET=$? 
     1324     
    12021325#       if [ ${RET} -gt 0 ] ; then 
    12031326#           echo "IGCM_sys_Dods_Rm : error." 
     
    12081331#       fi 
    12091332 
    1210     else 
    1211         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1212     fi 
    1213     return $RET 
    1214 } 
    1215  
     1333  else 
     1334    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1335  fi 
     1336  return $RET 
     1337} 
    12161338 
    12171339#D-#================================================== 
     
    12211343#D- 
    12221344function IGCM_sys_Dods_Cp { 
    1223     if ( $DEBUG_sys ) ; then 
    1224         echo "IGCM_sys_Dods_Cp :" $@ 
    1225     fi 
    1226     typeset RET 
    1227     RET=0 
    1228     if [ $DRYRUN = 0 ]; then 
    1229         if [ ! -d ${R_SAVE}/${1} ] ; then 
    1230             echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 
    1231             echo "Nothing has been done." 
    1232             return 
    1233         fi 
    1234         # 
    1235         dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 
    1236         RET=$? 
    1237          
     1345  if ( $DEBUG_sys ) ; then 
     1346    echo "IGCM_sys_Dods_Cp :" $@ 
     1347  fi 
     1348  typeset RET 
     1349  RET=0 
     1350  if [ $DRYRUN = 0 ]; then 
     1351    if [ ! -d ${R_SAVE}/${1} ] ; then 
     1352      echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 
     1353      echo "Nothing has been done." 
     1354      return 
     1355    fi 
     1356    # 
     1357    dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 
     1358    RET=$? 
     1359 
    12381360#       if [ ${RET} -gt 0 ] ; then 
    12391361#           echo "IGCM_sys_Dods_Cp : error." 
     
    12441366#       fi 
    12451367 
    1246     else 
    1247         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1248     fi 
    1249     return $RET 
     1368  else 
     1369    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1370  fi 
     1371  return $RET 
    12501372} 
    12511373 
     
    12561378#D- 
    12571379function IGCM_sys_Put_Dods { 
    1258     IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 
    1259     if ( $DEBUG_sys ) ; then 
    1260         echo "IGCM_sys_Put_Dods :" $@ 
    1261     fi 
    1262     if [ $DRYRUN = 0 ]; then 
    1263         if [ ! -d ${R_SAVE}/${1} ] ; then 
    1264             echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 
    1265             IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    1266             return 
    1267         fi 
    1268  
    1269         typeset RET 
     1380  IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 
     1381  if ( $DEBUG_sys ) ; then 
     1382    echo "IGCM_sys_Put_Dods :" $@ 
     1383  fi 
     1384  if [ $DRYRUN = 0 ]; then 
     1385    if [ ! -d ${R_SAVE}/${1} ] ; then 
     1386      echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 
     1387      IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
     1388      return 
     1389    fi 
     1390 
     1391    typeset RET 
    12701392        # 
    1271         cd ${R_SAVE} 
    1272         IGCM_sys_Dods_Rm ${1} 
    1273         IGCM_sys_Dods_Cp ${1} 
    1274         RET=0 
    1275          
    1276         if [ ${RET} -gt 0 ] ; then 
    1277             echo "IGCM_sys_Put_Dods : error." 
    1278             IGCM_debug_Exit "IGCM_sys_Put_Dods" 
    1279         fi 
    1280     else 
    1281         ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
    1282     fi 
    1283     IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    1284 } 
    1285  
    1286 ############################################################## A FINIR !! 
    1287  
    1288 #D-#================================================== 
    1289 #D-function IGCM_sys_GetDate_FichWork 
    1290 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 
    1291 #D-* Examples: 
    1292 #D- 
    1293 function IGCM_sys_GetDate_FichWork { 
    1294     IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 
    1295     if ( $DEBUG_sys ) ; then 
    1296         echo "IGCM_sys_GetDate_FichWork :" $@ 
    1297     fi 
    1298     # donne la date filesys d'un fichier sur la machine work 
    1299     IGCM_debug_PopStack "IGCM_sys_FichWork" 
    1300 } 
    1301  
    1302 #D-#================================================== 
    1303 #D-function IGCM_sys_GetDate_FichArchive 
    1304 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE  
    1305 #D-* Examples: 
    1306 #D- 
    1307 function IGCM_sys_GetDate_FichArchive { 
    1308     IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 
    1309     if ( $DEBUG_sys ) ; then 
    1310         echo "IGCM_sys_GetDate_FichArchive :" $@ 
    1311     fi 
    1312     IGCM_debug_PopStack "IGCM_sys_FichArchive" 
     1393    cd ${R_SAVE} 
     1394    IGCM_sys_Dods_Rm ${1} 
     1395    IGCM_sys_Dods_Cp ${1} 
     1396    RET=0 
     1397     
     1398    if [ ${RET} -gt 0 ] ; then 
     1399      echo "IGCM_sys_Put_Dods : error." 
     1400      IGCM_debug_Exit "IGCM_sys_Put_Dods" 
     1401    fi 
     1402  else 
     1403    ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 
     1404  fi 
     1405  IGCM_debug_PopStack "IGCM_sys_Put_Dods" 
    13131406} 
    13141407 
     
    13171410 
    13181411function IGCM_sys_rebuild { 
    1319     IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 
    1320     if ( $DEBUG_sys ) ; then 
    1321         echo "IGCM_sys_rebuild :" $@ 
    1322     fi 
    1323     /home/cont003/p86ipsl/CESIUM/bin/rebuild -f -o $@ 
    1324     if [ $? -gt 0 ] ; then 
    1325        echo "IGCM_sys_rebuild : erreur ${@}." 
    1326        IGCM_debug_Exit "rebuild" 
    1327     fi 
    1328  
    1329     IGCM_debug_PopStack "IGCM_sys_rebuild" 
     1412  IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 
     1413  if ( $DEBUG_sys ) ; then 
     1414    echo "IGCM_sys_rebuild :" $@ 
     1415  fi 
     1416  /home/cont003/p86ipsl/CESIUM/bin/rebuild -f -o $@ 
     1417  if [ $? -gt 0 ] ; then 
     1418    echo "IGCM_sys_rebuild : erreur ${@}." 
     1419    IGCM_debug_Exit "rebuild" 
     1420  fi 
     1421 
     1422  IGCM_debug_PopStack "IGCM_sys_rebuild" 
     1423} 
     1424 
     1425 
     1426############################################################ 
     1427# Activate Running Environnment Variables 
     1428 
     1429function IGCM_sys_activ_variables { 
     1430  IGCM_debug_PushStack "IGCM_sys_activ_variables" 
     1431  if ( $DEBUG_sys ) ; then 
     1432    echo "IGCM_sys_activ_variables" 
     1433  fi 
     1434  IGCM_debug_PopStack "IGCM_sys_activ_variables" 
     1435} 
     1436 
     1437############################################################ 
     1438# Desactivate Running Environnment Variables 
     1439 
     1440function IGCM_sys_desactiv_variables { 
     1441  IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 
     1442  if ( $DEBUG_sys ) ; then 
     1443    echo "IGCM_sys_desactiv_variables" 
     1444  fi 
     1445  IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 
     1446} 
     1447 
     1448############################################################ 
     1449# Build run file 
     1450 
     1451function IGCM_sys_build_run_file { 
     1452  IGCM_debug_PushStack "IGCM_sys_build_run_file" $@ 
     1453  if ( $DEBUG_sys ) ; then 
     1454    echo "IGCM_sys_build_run_file" 
     1455  fi 
     1456  IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    13301457} 
    13311458 
     
    13341461 
    13351462function IGCM_sys_ncap2 { 
    1336     IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 
    1337     if ( $DEBUG_sys ) ; then 
    1338         echo "IGCM_sys_ncap2 :" $@ 
    1339     fi 
    1340     ncap2 "$@" 
    1341     if [ $? -gt 0 ] ; then 
    1342        echo "IGCM_sys_ncap2 : erreur ${@}." 
    1343        IGCM_debug_Exit "ncap2" 
    1344     fi 
    1345  
    1346     IGCM_debug_PopStack "IGCM_sys_ncap2" 
     1463  IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 
     1464  if ( $DEBUG_sys ) ; then 
     1465    echo "IGCM_sys_ncap2 :" $@ 
     1466  fi 
     1467  ncap2 "$@" 
     1468  if [ $? -gt 0 ] ; then 
     1469    echo "IGCM_sys_ncap2 : erreur ${@}." 
     1470    IGCM_debug_Exit "ncap2" 
     1471  fi 
     1472 
     1473  IGCM_debug_PopStack "IGCM_sys_ncap2" 
    13471474} 
    13481475 
    13491476function IGCM_sys_ncatted { 
    1350     IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 
    1351     if ( $DEBUG_sys ) ; then 
    1352         echo "IGCM_sys_ncatted :" $@ 
    1353     fi 
    1354     ncatted "$@" 
    1355     if [ $? -gt 0 ] ; then 
    1356        echo "IGCM_sys_ncatted : erreur ${@}." 
    1357        IGCM_debug_Exit "ncatted" 
    1358     fi 
    1359  
    1360     IGCM_debug_PopStack "IGCM_sys_ncatted" 
     1477  IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 
     1478  if ( $DEBUG_sys ) ; then 
     1479    echo "IGCM_sys_ncatted :" $@ 
     1480  fi 
     1481  ncatted "$@" 
     1482  if [ $? -gt 0 ] ; then 
     1483    echo "IGCM_sys_ncatted : erreur ${@}." 
     1484    IGCM_debug_Exit "ncatted" 
     1485  fi 
     1486 
     1487  IGCM_debug_PopStack "IGCM_sys_ncatted" 
    13611488} 
    13621489 
    13631490function IGCM_sys_ncbo { 
    1364     IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 
    1365     if ( $DEBUG_sys ) ; then 
    1366         echo "IGCM_sys_ncbo :" $@ 
    1367     fi 
    1368     ncbo $@ 
    1369     if [ $? -gt 0 ] ; then 
    1370        echo "IGCM_sys_ncbo : erreur ${@}." 
    1371        IGCM_debug_Exit "ncbo" 
    1372     fi 
    1373  
    1374     IGCM_debug_PopStack "IGCM_sys_ncbo" 
     1491  IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 
     1492  if ( $DEBUG_sys ) ; then 
     1493    echo "IGCM_sys_ncbo :" $@ 
     1494  fi 
     1495  ncbo $@ 
     1496  if [ $? -gt 0 ] ; then 
     1497    echo "IGCM_sys_ncbo : erreur ${@}." 
     1498    IGCM_debug_Exit "ncbo" 
     1499  fi 
     1500 
     1501  IGCM_debug_PopStack "IGCM_sys_ncbo" 
    13751502} 
    13761503 
    13771504function IGCM_sys_ncdiff { 
    1378     IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 
    1379     if ( $DEBUG_sys ) ; then 
    1380         echo "IGCM_sys_ncdiff :" $@ 
    1381     fi 
    1382     ncdiff $@ 
    1383     if [ $? -gt 0 ] ; then 
    1384        echo "IGCM_sys_ncdiff : erreur ${@}." 
    1385        IGCM_debug_Exit "ncdiff" 
    1386     fi 
    1387  
    1388     IGCM_debug_PopStack "IGCM_sys_ncdiff" 
     1505  IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 
     1506  if ( $DEBUG_sys ) ; then 
     1507    echo "IGCM_sys_ncdiff :" $@ 
     1508  fi 
     1509  ncdiff $@ 
     1510  if [ $? -gt 0 ] ; then 
     1511    echo "IGCM_sys_ncdiff : erreur ${@}." 
     1512    IGCM_debug_Exit "ncdiff" 
     1513  fi 
     1514 
     1515  IGCM_debug_PopStack "IGCM_sys_ncdiff" 
    13891516} 
    13901517 
    13911518function IGCM_sys_ncea { 
    1392     IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 
    1393     if ( $DEBUG_sys ) ; then 
    1394         echo "IGCM_sys_ncea :" $@ 
    1395     fi 
    1396     ncea $@ 
    1397     if [ $? -gt 0 ] ; then 
    1398        echo "IGCM_sys_ncea : erreur ${@}." 
    1399        IGCM_debug_Exit "ncea" 
    1400     fi 
    1401  
    1402     IGCM_debug_PopStack "IGCM_sys_ncea" 
     1519  IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 
     1520  if ( $DEBUG_sys ) ; then 
     1521    echo "IGCM_sys_ncea :" $@ 
     1522  fi 
     1523  ncea $@ 
     1524  if [ $? -gt 0 ] ; then 
     1525    echo "IGCM_sys_ncea : erreur ${@}." 
     1526    IGCM_debug_Exit "ncea" 
     1527  fi 
     1528 
     1529  IGCM_debug_PopStack "IGCM_sys_ncea" 
    14031530} 
    14041531 
    14051532function IGCM_sys_ncecat { 
    1406     IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 
    1407     if ( $DEBUG_sys ) ; then 
    1408         echo "IGCM_sys_ncecat :" $@ 
    1409     fi 
    1410     ncecat $@ 
    1411     if [ $? -gt 0 ] ; then 
    1412        echo "IGCM_sys_ncecat : erreur ${@}." 
    1413        IGCM_debug_Exit "ncecat" 
    1414     fi 
    1415  
    1416     IGCM_debug_PopStack "IGCM_sys_ncecat" 
     1533  IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 
     1534  if ( $DEBUG_sys ) ; then 
     1535    echo "IGCM_sys_ncecat :" $@ 
     1536  fi 
     1537  ncecat $@ 
     1538  if [ $? -gt 0 ] ; then 
     1539    echo "IGCM_sys_ncecat : erreur ${@}." 
     1540    IGCM_debug_Exit "ncecat" 
     1541  fi 
     1542 
     1543  IGCM_debug_PopStack "IGCM_sys_ncecat" 
    14171544} 
    14181545 
    14191546function IGCM_sys_ncflint { 
    1420     IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 
    1421     if ( $DEBUG_sys ) ; then 
    1422         echo "IGCM_sys_ncflint :" $@ 
    1423     fi 
    1424     ncflint $@ 
    1425     if [ $? -gt 0 ] ; then 
    1426        echo "IGCM_sys_ncflint : erreur ${@}." 
    1427        IGCM_debug_Exit "ncflint" 
    1428     fi 
    1429  
    1430     IGCM_debug_PopStack "IGCM_sys_ncflint" 
     1547  IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 
     1548  if ( $DEBUG_sys ) ; then 
     1549    echo "IGCM_sys_ncflint :" $@ 
     1550  fi 
     1551  ncflint $@ 
     1552  if [ $? -gt 0 ] ; then 
     1553    echo "IGCM_sys_ncflint : erreur ${@}." 
     1554    IGCM_debug_Exit "ncflint" 
     1555  fi 
     1556 
     1557  IGCM_debug_PopStack "IGCM_sys_ncflint" 
    14311558} 
    14321559 
    14331560function IGCM_sys_ncks { 
    1434     IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 
    1435     if ( $DEBUG_sys ) ; then 
    1436         echo "IGCM_sys_ncks :" $@ 
    1437     fi 
    1438     ncks $@ 
    1439     if [ $? -gt 0 ] ; then 
    1440        echo "IGCM_sys_ncks : erreur ${@}." 
    1441        IGCM_debug_Exit "ncks" 
    1442     fi 
    1443  
    1444     IGCM_debug_PopStack "IGCM_sys_ncks" 
     1561  IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 
     1562  if ( $DEBUG_sys ) ; then 
     1563    echo "IGCM_sys_ncks :" $@ 
     1564  fi 
     1565  ncks $@ 
     1566  if [ $? -gt 0 ] ; then 
     1567    echo "IGCM_sys_ncks : erreur ${@}." 
     1568    IGCM_debug_Exit "ncks" 
     1569  fi 
     1570 
     1571  IGCM_debug_PopStack "IGCM_sys_ncks" 
    14451572} 
    14461573 
    14471574function IGCM_sys_ncpdq { 
    1448     IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 
    1449     if ( $DEBUG_sys ) ; then 
    1450         echo "IGCM_sys_ncpdq :" $@ 
    1451     fi 
    1452     ncpdq $@ 
    1453     if [ $? -gt 0 ] ; then 
    1454        echo "IGCM_sys_ncpdq : erreur ${@}." 
    1455        IGCM_debug_Exit "ncpdq" 
    1456     fi 
    1457  
    1458     IGCM_debug_PopStack "IGCM_sys_ncpdq" 
     1575  IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 
     1576  if ( $DEBUG_sys ) ; then 
     1577    echo "IGCM_sys_ncpdq :" $@ 
     1578  fi 
     1579  ncpdq $@ 
     1580  if [ $? -gt 0 ] ; then 
     1581    echo "IGCM_sys_ncpdq : erreur ${@}." 
     1582    IGCM_debug_Exit "ncpdq" 
     1583  fi 
     1584 
     1585  IGCM_debug_PopStack "IGCM_sys_ncpdq" 
    14591586} 
    14601587 
    14611588function IGCM_sys_ncra { 
    1462     IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 
    1463     if ( $DEBUG_sys ) ; then 
    1464         echo "IGCM_sys_ncra :" $@ 
    1465     fi 
    1466     ncra $@ 
    1467     if [ $? -gt 0 ] ; then 
    1468        echo "IGCM_sys_ncra : erreur ${@}." 
    1469        IGCM_debug_Exit "ncra" 
    1470     fi 
    1471  
    1472     IGCM_debug_PopStack "IGCM_sys_ncra" 
     1589  IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 
     1590  if ( $DEBUG_sys ) ; then 
     1591    echo "IGCM_sys_ncra :" $@ 
     1592  fi 
     1593  ncra $@ 
     1594  if [ $? -gt 0 ] ; then 
     1595    echo "IGCM_sys_ncra : erreur ${@}." 
     1596    IGCM_debug_Exit "ncra" 
     1597  fi 
     1598 
     1599  IGCM_debug_PopStack "IGCM_sys_ncra" 
    14731600} 
    14741601 
    14751602function IGCM_sys_ncrcat { 
    1476     IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 
    1477     if ( $DEBUG_sys ) ; then 
    1478         echo "IGCM_sys_ncrcat :" $@ 
    1479     fi 
    1480     ncrcat $@ 
    1481     if [ $? -gt 0 ] ; then 
    1482        echo "IGCM_sys_ncrcat : erreur ${@}." 
     1603  IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 
     1604  if ( $DEBUG_sys ) ; then 
     1605    echo "IGCM_sys_ncrcat :" $@ 
     1606  fi 
     1607  ncrcat $@ 
     1608  if [ $? -gt 0 ] ; then 
     1609    echo "IGCM_sys_ncrcat : erreur ${@}." 
    14831610#       IGCM_debug_Exit "ncrcat" 
    1484     fi 
    1485  
    1486     IGCM_debug_PopStack "IGCM_sys_ncrcat" 
     1611  fi 
     1612 
     1613  IGCM_debug_PopStack "IGCM_sys_ncrcat" 
    14871614} 
    14881615 
    14891616function IGCM_sys_ncrename { 
    1490     IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 
    1491     if ( $DEBUG_sys ) ; then 
    1492         echo "IGCM_sys_ncrename :" $@ 
    1493     fi 
    1494     ncrename $@ 
    1495     if [ $? -gt 0 ] ; then 
    1496        echo "IGCM_sys_ncrename : erreur ${@}." 
    1497        IGCM_debug_Exit "ncrename" 
    1498     fi 
    1499  
    1500     IGCM_debug_PopStack "IGCM_sys_ncrename" 
     1617  IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 
     1618  if ( $DEBUG_sys ) ; then 
     1619    echo "IGCM_sys_ncrename :" $@ 
     1620  fi 
     1621  ncrename $@ 
     1622  if [ $? -gt 0 ] ; then 
     1623    echo "IGCM_sys_ncrename : erreur ${@}." 
     1624    IGCM_debug_Exit "ncrename" 
     1625  fi 
     1626 
     1627  IGCM_debug_PopStack "IGCM_sys_ncrename" 
    15011628} 
    15021629 
    15031630function IGCM_sys_ncwa { 
    1504     IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 
    1505     if ( $DEBUG_sys ) ; then 
    1506         echo "IGCM_sys_ncwa :" $@ 
    1507     fi 
    1508     ncwa $@ 
    1509     if [ $? -gt 0 ] ; then 
    1510        echo "IGCM_sys_ncwa : erreur ${@}." 
    1511        IGCM_debug_Exit "ncwa" 
    1512     fi 
    1513  
    1514     IGCM_debug_PopStack "IGCM_sys_ncwa" 
     1631  IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 
     1632  if ( $DEBUG_sys ) ; then 
     1633    echo "IGCM_sys_ncwa :" $@ 
     1634  fi 
     1635  ncwa $@ 
     1636  if [ $? -gt 0 ] ; then 
     1637    echo "IGCM_sys_ncwa : erreur ${@}." 
     1638    IGCM_debug_Exit "ncwa" 
     1639  fi 
     1640 
     1641  IGCM_debug_PopStack "IGCM_sys_ncwa" 
    15151642} 
    15161643 
     
    15191646 
    15201647function IGCM_sys_cdo { 
    1521     IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 
    1522  
    1523     \cdo $@ 
    1524     if [ $? -gt 0 ] ; then 
    1525        echo "IGCM_sys_cdo : erreur ${@}." 
    1526        IGCM_debug_PopStack "IGCM_sys_cdo" 
    1527        return 1 
    1528     else 
    1529         IGCM_debug_PopStack "IGCM_sys_cdo" 
    1530         return 0 
    1531     fi 
    1532  
     1648  IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 
     1649  if ( $DEBUG_sys ) ; then 
     1650    echo "IGCM_sys_cdo :" $@ 
     1651  fi 
     1652  \cdo $@ 
     1653  if [ $? -gt 0 ] ; then 
     1654    echo "IGCM_sys_cdo : erreur ${@}." 
    15331655    IGCM_debug_PopStack "IGCM_sys_cdo" 
    1534 } 
    1535  
    1536 ############################################################ 
    1537 # Activate Running Environnment Variables 
    1538  
    1539 function IGCM_sys_activ_variables { 
    1540     IGCM_debug_PushStack "IGCM_sys_activ_variables" 
    1541     if ( $DEBUG_sys ) ; then 
    1542         echo "IGCM_sys_activ_variables" 
    1543     fi 
    1544     IGCM_debug_PopStack "IGCM_sys_activ_variables" 
    1545 } 
    1546  
    1547 ############################################################ 
    1548 # Desactivate Running Environnment Variables 
    1549  
    1550 function IGCM_sys_desactiv_variables { 
    1551     IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 
    1552     if ( $DEBUG_sys ) ; then 
    1553         echo "IGCM_sys_desactiv_variables" 
    1554     fi 
    1555     IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 
    1556 } 
    1557  
    1558 ############################################################ 
    1559 # Build run file 
    1560  
    1561 function IGCM_sys_build_run_file { 
    1562     IGCM_debug_PushStack "IGCM_sys_build_run_file" $@ 
    1563     if ( $DEBUG_sys ) ; then 
    1564         echo "IGCM_sys_build_run_file" 
    1565     fi 
    1566     IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    1567 } 
     1656    return 1 
     1657  else 
     1658    IGCM_debug_PopStack "IGCM_sys_cdo" 
     1659    return 0 
     1660  fi 
     1661 
     1662  IGCM_debug_PopStack "IGCM_sys_cdo" 
     1663} 
Note: See TracChangeset for help on using the changeset viewer.