Changeset 1822 for TOOLS


Ignore:
Timestamp:
07/19/12 16:02:21 (12 years ago)
Author:
aclsce
Message:

Modifications done by Guillaume P :

  • error handling for the whole script
  • check of nco version
  • restart tool for list script
  • progress visualization for both scripts
  • "force" option -f added for both scripts
  • timing information added for pack script
Location:
TOOLS/PACK_IPSL
Files:
2 added
12 edited

Legend:

Unmodified
Added
Removed
  • TOOLS/PACK_IPSL/DEM_utilities.sh

    r1729 r1822  
    132132} 
    133133 
     134# gpdebug : fonctions de gestion des erreurs ######################################################## 
     135function DEM_errorSend { 
     136    # Envoi d'un msg d'erreur au programme principal.  
     137    # Suppression des processus du programme principal au fils emetteur de l'erreur 
     138     
     139    echo "########## DEM_errorSend : Error detected ==> Sending an error..." 
     140     
     141    msgToSend=${1} 
     142    listPIDtoKill=${2} 
     143    if [ "x${listPIDtoKill}" == "x" ] 
     144    then 
     145        listPIDtoKill=${listPID} 
     146    fi 
     147    # -------------------------------- 
     148    # Verif du format de listPIDtoKill 
     149    # -------------------------------- 
     150    listPIDformat='^[[:digit:]]*\([[:blank:]][[:digit:]]*\)*$' 
     151    isListPIDformatOK=`echo ${listPIDtoKill} | grep -e ${listPIDformat} | wc -l ` 
     152    if [ "x$isListPIDformatOK" == "x0" ] 
     153    then 
     154       echo "      Attention : le format de la liste de PID est incorrecte :" 
     155       echo "      $listPIDtoKill" 
     156       kill -TERM ${listPID} 
     157    fi 
     158 
     159     
     160    # ----------------------------------- 
     161    # Verif du Format du ${msgToSend} 
     162    # ----------------------------------- 
     163    errorFormat='^[^:]*\.sh:[[:digit:]]*:.*$' 
     164    isErrorFormatOK=`echo ${msgToSend} | grep -e ${errorFormat} | wc -l ` 
     165    if [ "x$isErrorFormatOK" == "x0" ] 
     166    then 
     167       echo "      Attention : le format du message d'erreur est incorrect :" 
     168       echo "      $msgToSend" 
     169    fi 
     170     
     171    # Envoi du msg dans le fichier d'erreur 
     172    # ------------------------------------- 
     173    #    test sur la var contenant le nom du fichier d'erreur 
     174    if [ "x${errorMsgFile}" != "x${PWD}/errorMsg.txt" ] 
     175    then 
     176        echo "      Le fichier d'erreur a un nom incorrect" 
     177    fi 
     178     
     179    echo $msgToSend > $errorMsgFile 
     180     
     181    echo "killing ${listPIDtoKill}" 
     182    kill -TERM ${listPIDtoKill} 
     183     
     184    exit -1 # utile : sinon le script qui appelle cette fonction continue un peu l'exec --> pas propre 
     185} 
     186 
     187function DEM_errorReceive { 
     188    # Récupération et affichage du msg d'erreur emis par un processus fils  
     189     
     190    # Lecture du msg dans le fichier d'erreur 
     191    # --------------------------------------- 
     192    #    test sur la var contenant le nom du fichier d'erreur 
     193    if [ "x${errorMsgFile}" != "x${PWD}/errorMsg.txt" ] 
     194    then 
     195       echo "      Le fichier d'erreur a un nom incorrect" 
     196       exit -1   
     197    fi 
     198     
     199    #    Lecture     
     200    errorReceived=`cat $errorMsgFile ` 
     201     
     202    # ----------------------------------- 
     203    # Verif du Format du ${errorReceived} 
     204    # ----------------------------------- 
     205    errorFormat='^[^:]*\.sh:[[:digit:]]*:.*$' 
     206    isErrorFormatOK=`echo ${errorReceived} | grep -e ${errorFormat} | wc -l ` 
     207    if [ "x$isErrorFormatOK" == "x0" ] 
     208    then 
     209       echo "      Attention : le format du message d'erreur est incorrect :" 
     210       echo "      $errorReceived" 
     211       exit -1 
     212    fi 
     213     
     214    echo "########## DEM_errorReceive : $SCRIPT_NAME received an error..." 
     215    echo $errorReceived 
     216     
     217    # echo "Current PID:$$" 
     218    # echo "FatherPID:$FatherPID" 
     219    # On fait un bilan de la progression seulement si c'est une erreur bloquante : lorsque le proc pere est tue. 
     220    if [ "x${FatherPID}" == "x$$" ] 
     221    then 
     222        ./showListsProgress.sh $FileParam 
     223    fi 
     224        
     225    exit -1  
     226} 
     227 
     228# Verification de la version de nco chargee 
     229function check_nco_version 
     230{ 
     231   # nom du présent prog (pour gestion des erreurs)  
     232   PROGNAME="DEM_utilities.sh" ######### 
     233   . /etc/profile  
     234   module list >& myModuleList.txt 
     235    
     236   if [ "x$?" != "x0" ] 
     237   then 
     238       # echo "La commande module list a rencontre un pb !" 
     239       DEM_errorSend "${PROGNAME}:${LINENO}:La commande module list a rencontre un pb !" 
     240   fi 
     241    
     242   if [ ! -e myModuleList.txt ] 
     243   then 
     244       # echo "Le fichier 'myModuleList.txt'  n existe pas" 
     245       DEM_errorSend "${PROGNAME}:${LINENO}:Le fichier 'myModuleList.txt' n'existe pas." 
     246   fi    
     247    
     248   # Presence de la chaine "n) nco/" ou n est un nombre   
     249   ncoLines=` grep -e '[[:digit:]]*) nco/' myModuleList.txt ` 
     250   # ncoLines=` grep -e '[[:digit:]]*) nco/' moduleList.txt ` 
     251   # echo "ncoLines=${ncoLines}|" 
     252   # echo "----------------------------------------" 
     253 
     254   # Plus besoin du myModuleList.txt 
     255   rm -f myModuleList.txt 
     256  
     257   # La chaine "nco" est remplacee par le caractere "#" 
     258   temp1=`echo $ncoLines | sed 's;nco;#;g' ` 
     259   # echo "$temp1" 
     260   # echo "----------------------------------------" 
     261 
     262   # On supprime tout ce qui n'est pas "n) #/..." avec n un nombre et "..." une chaine sans blanc  
     263   temp2=`echo $temp1 | sed 's;[[:blank:]]*[[:digit:]]*) [^#][^[:blank:]]*;;g' ` 
     264   # echo "$temp2" 
     265   # echo "----------------------------------------" 
     266 
     267 
     268   # Recuperation du numero de version du nco au format x.y.z 
     269   # C'est une liste de num de version (a priori ici, il pourrait y en avoir plusieurs,  
     270   # mais dans les faits, les nco s'excluent les uns les autres) 
     271   temp3=`echo $temp2 | sed 's;[[:blank:]]*[[:digit:]]*) #/;|;g' ` 
     272   temp3=`echo $temp3 | sed 's;^|;;g' ` 
     273   temp3=`echo $temp3 | sed 's;|; ;g' ` 
     274   # echo "$temp3" 
     275   # echo "----------------------------------------" 
     276    
     277   # comptage du nombre de nco 
     278   versionNCO= 
     279   count=0 
     280   for ver in $temp3 
     281   do 
     282     # echo "ver=$ver" 
     283     versionNCO=$ver 
     284     count=$(( $count + 1 )) 
     285   done 
     286   # echo "count=$count" 
     287    
     288   # si aucun nco n'est charge, on sort. 
     289   if [ $count -eq 0 ] 
     290   then 
     291     # echo "nco pas charge" 
     292     DEM_errorSend "${PROGNAME}:${LINENO}:Aucun nco n'est charge" 
     293   fi 
     294    
     295   # si plus d'un nco sont charges, on sort (n'arrive jamais en pratique). 
     296   if [ $count -gt 1 ] 
     297   then 
     298     DEM_errorSend "${PROGNAME}:${LINENO}:Au moins 2 versions de nco sont chargees" 
     299   fi 
     300    
     301   # Si un seul nco est charge, on supprime les "." de son numero de version (x.y.z ==> xyz) 
     302   verNCOnumber=`echo $versionNCO | sed 's;[^[:digit:]];;g' ` 
     303   # echo "versionNCO=$versionNCO" 
     304    
     305   # On verifie que xyz est un nombre a 3 chiffres 
     306   if ! [[ "$verNCOnumber" =~ ^[0-9]\{3\}$ ]] 
     307   then 
     308      # echo "verNCOnumber is not a number" 
     309      DEM_errorSend "${PROGNAME}:${LINENO}:La variable verNCOnumber n'est pas un nombre --> $verNCOnumber" 
     310   fi 
     311    
     312    
     313   # On verifie que le num de version est >= 4.1.0 
     314   if [ $verNCOnumber -lt 410 ] 
     315   then 
     316       # echo "version < 4.1.0 . STOP." 
     317       DEM_errorSend "${PROGNAME}:${LINENO}:La version de nco < 4.1.0 ==> $versionNCO" 
     318   fi 
     319    
     320   echo "La version de nco chargee est : $versionNCO" 
     321    
     322} 
     323 
     324function prepareMonitoringDir 
     325{ 
     326   # nom du présent prog (pour gestion des erreurs)  
     327   PROGNAME="DEM_utilities.sh" ######### 
     328    
     329   MonitoringDirDefined=`echo $MonitoringDir | grep "SuiviListes" | wc -l ` 
     330   if [ "x${workFlowDirDefined}" == "x0" ] 
     331   then 
     332      DEM_errorSend "${PROGNAME}:${LINENO}:Le repertoire de suivi est mal defini." 
     333   fi 
     334    
     335   #  Si l'option de forcage de toute les etapes est activee, 
     336   #  on vide le fichier 
     337   if [ "x${execEveryStep}" == "x1" ] 
     338   then 
     339      echo "${MonitoringDir}:destruction..." 
     340      rm -rf ${MonitoringDir} 
     341   fi 
     342    
     343   # Si le rep de suivi n'existe pas, on le créé. 
     344   if [ ! -d ${MonitoringDir} ] 
     345   then 
     346      mkdir ${MonitoringDir} 
     347   fi 
     348 
     349} 
     350 
     351function generalMonitoring 
     352 
     353   # Si l'etape courante a ete executee (correctement), on sort du script appelant cette fonction 
     354    
     355   # nom du présent prog (pour gestion des erreurs)  
     356   PROGNAME="DEM_utilities.sh" ######### 
     357    
     358   currentStep=${1} 
     359    
     360   stepMsg=`echo $currentStep | grep -e '^.*\.sh-->OK$' | wc -l ` 
     361   if [ "x{stepMsg}" == "x0" ] 
     362   then 
     363      DEM_errorSend "${PROGNAME}:${LINENO}:Le nom de l'etape courante n'est pas au bon format !" 
     364   fi 
     365    
     366   currentStepScriptName=`echo $currentStep | sed 's;\.sh-->OK;;' ` 
     367    
     368   # si le fichier de suivi general n'existe pas, il n'y a pas eu de passage de script de liste avant. 
     369   # ==> on sort normalement 
     370   if [ ! -e ${generalMonitorFile} ] 
     371   then 
     372      return 0 
     373   fi 
     374    
     375   currentStepPassed=`grep ${currentStep} ${generalMonitorFile} | wc -l ` 
     376       
     377   if [ "x${currentStepPassed}" != "x0" ] 
     378   then 
     379      echo "${currentStepScriptName} a deja ete passee ..." 
     380      exit 0 
     381   fi 
     382 
     383} 
     384 
     385function createListingMonitoring_Check 
     386{ 
     387    
     388   # La presence de createListingOK.txt dans le sous rep (associe a un rep de param_AC.txt) du rep de suivi 
     389   # indique que le bon deroulement de l'action de create_listing.sh sur le repertoire de param_AC.txt 
     390   DIR=$(basename ${1})    
     391   MonitSubDir=${MonitoringDir}/${DIR} 
     392    
     393   createListingOK=${MonitSubDir}/createListingOK.txt 
     394    
     395   if [ -e $createListingOK ] 
     396   then 
     397      echo "create_listing a deja ete passe pour ${DIR}..." 
     398      exit 0       
     399   fi    
     400 
     401} 
     402 
     403function createListingMonitoring_OK 
     404{ 
     405    
     406   # A partir du nom du rep courant (contenant des res de simulation), creation d'un sous rep de suivi 
     407   DIR=$(basename ${1}) 
     408   MonitSubDir=${MonitoringDir}/${DIR} 
     409   mkdir $MonitSubDir 
     410    
     411   # dans ce sous rep de suivi, creation d'un fichier dont la presence indique le bon deroulement 
     412   # de l'action de create_listing.sh sur le repertoire en argument (celui contenant des simus)  
     413   createListingOK=${MonitSubDir}/createListingOK.txt   
     414   touch $createListingOK   
     415 
     416} 
     417 
     418function simuMonitoring_check 
     419{ 
     420   # nom du présent prog (pour gestion des erreurs)  
     421   PROGNAME="DEM_utilities.sh" ######### 
     422    
     423   currentStep=${1} 
     424   config=${2} 
     425   # echo "######### simuMonitoring_check --> config:$config" 
     426   # former le nom du fichier de suivi de la simu a partir de "config" 
     427   getSimuMonitFileName $config 
     428    
     429   # si le fichier de suivi de simu n'existe pas, il n'y a pas eu de passage de script de liste avant. 
     430   # ==> on sort normalement 
     431   if [ ! -e ${simuMonitoringFile} ] 
     432   then 
     433      return 0 
     434   fi 
     435    
     436   stepMsg=`echo $currentStep | grep -e '^.*\.sh-->OK$' | wc -l ` 
     437   if [ "x{stepMsg}" == "x0" ] 
     438   then 
     439      DEM_errorSend "${PROGNAME}:${LINENO}:Le nom de l'etape courante n'est pas au bon format !" 
     440   fi 
     441    
     442   currentStepScriptName=`echo $currentStep | sed 's;\.sh-->OK;;' ` 
     443    
     444   currentStepPassed=`grep ${currentStep} ${simuMonitoringFile} | wc -l ` 
     445    
     446   # echo "######### simuMonitoring_check --> currentStep:$currentStep" 
     447   # echo "######### simuMonitoring_check --> simuMonitoringFile:$simuMonitoringFile" 
     448   # echo "######### simuMonitoring_check --> currentStepPassed:$currentStepPassed" 
     449   if [ "x${currentStepPassed}" != "x0" ] 
     450   then 
     451      echo "${currentStepScriptName} a deja ete passee ..." 
     452      # echo "-----------------------------------------------------------------------------" 
     453      exit 0 
     454   fi 
     455    
     456} 
     457 
     458function simuMonitoring_OK 
     459{ 
     460   currentStep=${1} 
     461   config=${2} 
     462   # echo "######### simuMonitoring_OK --> config:$config" 
     463   # former le nom du fichier de suivi de la simu a partir de "config" 
     464   getSimuMonitFileName $config 
     465    
     466   echo $currentStep >> $simuMonitoringFile 
     467} 
     468 
     469function getSimuMonitFileName 
     470{ 
     471   # nom du présent prog (pour gestion des erreurs)  
     472   PROGNAME="DEM_utilities.sh" ######### 
     473    
     474   config=${1} 
     475   # echo "######### getSimuMonitFileName --> config:$config" 
     476   configBaseName=$(basename ${config}) 
     477       
     478   # On cherche dans quel sous rep du rep de suivi on va chercher le fichier de suivi de la simu 
     479   listMonitSubDir=`ls -l ${MonitoringDir} | grep -e '^d' | awk '{print $NF}' ` 
     480    
     481   # echo "######### getSimuMonitFileName --> listMonitSubDir:$listMonitSubDir" 
     482    
     483   searchedDir= 
     484   for dir in $listMonitSubDir 
     485   do 
     486       found=`echo $config | grep "/${dir}/" | wc -l ` 
     487       if [ "x${found}" != "x0" ] 
     488       then 
     489          searchedDir=$dir 
     490          break 
     491       fi 
     492   done 
     493    
     494   if [ "x$searchedDir" == "x" ] 
     495   then 
     496      DEM_errorSend "${PROGNAME}:${LINENO}:Sous rep de suivi non trouve !" 
     497   fi 
     498    
     499   # On forme le nom du fichier de suivi pour la simu courante 
     500   # ... on debarasse config du fichier de config 
     501   repConfig=$(dirname $config) 
     502   # ... on supprime du path tout ce qui est devant le nom du sous rep 
     503   simu=`echo $repConfig | sed "s;^.*/$searchedDir;$searchedDir;" ` 
     504   # ... remplacement des "/" par des "_#_" (les "/" ne sont pas acceptes dans les noms de fichiers) 
     505   simuMonitoringFile=`echo $simu | sed 's;/;_#_;g' ` 
     506   # ... On rajoute un ".txt" a la fin du nom de fichier 
     507   simuMonitoringFile="${simuMonitoringFile}.txt" 
     508    
     509   simuMonitoringFile="${MonitoringDir}/${searchedDir}/${simuMonitoringFile}" 
     510} 
     511 
     512# gpdebug : fin ##################################################################################### 
     513 
  • TOOLS/PACK_IPSL/archive_debug.sh

    r1763 r1822  
    2222 
    2323source ${EXE_DIR}/DEM_utilities.sh 
     24 
     25# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     26MonitoringInfo="${SCRIPT_NAME}-->OK" 
     27simuMonitoring_check "$MonitoringInfo" "$config_card" 
    2428 
    2529DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
     
    167171 
    168172cd ${EXE_DIR} 
     173 
     174# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     175simuMonitoring_OK "$MonitoringInfo" "$config_card" 
  • TOOLS/PACK_IPSL/archive_restart.sh

    r1774 r1822  
    3939 
    4040source ${EXE_DIR}/DEM_utilities.sh 
     41 
     42# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     43MonitoringInfo="${SCRIPT_NAME}-->OK" 
     44simuMonitoring_check "$MonitoringInfo" "$config_card" 
    4145 
    4246DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
     
    160164 
    161165cd ${EXE_DIR} 
     166 
     167# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     168simuMonitoring_OK "$MonitoringInfo" "$config_card" 
  • TOOLS/PACK_IPSL/calcul_size_simul.sh

    r1714 r1822  
    1717SCRIPT_NAME=$(basename ${0} ) 
    1818source ${EXE_DIR}/DEM_utilities.sh 
     19 
     20# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     21MonitoringInfo="${SCRIPT_NAME}-->OK" 
     22simuMonitoring_check "$MonitoringInfo" "$config_card" 
     23 
    1924DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
    2025 
     
    4449 
    4550fi 
     51 
     52# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     53simuMonitoring_OK "$MonitoringInfo" "$config_card" 
     54 
    4655DEM_log -0 "Fin de ${SCRIPT_NAME}" 
  • TOOLS/PACK_IPSL/create_config_card.sh

    r1764 r1822  
    2525SCRIPT_NAME=$(basename ${0} ) 
    2626source ${EXE_DIR}/DEM_utilities.sh 
     27 
     28# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     29MonitoringInfo="${SCRIPT_NAME}-->OK" 
     30generalMonitoring "$MonitoringInfo" 
     31 
    2732DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
     33 
     34# gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc 
     35export listPID="$$ ${listPID}" ######### 
     36 
    2837cd ${JOB_DIR} 
    2938# ---- 
     
    212221done 
    213222 
     223# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     224echo $MonitoringInfo >> $generalMonitorFile 
     225 
    214226DEM_log -0 "Fin de ${SCRIPT_NAME}" 
    215227 
  • TOOLS/PACK_IPSL/create_listing.sh

    r1773 r1822  
    1414 
    1515source ${EXE_DIR}/DEM_utilities.sh 
     16 
     17# gpdebug : verif si le present script a ete execute jusqu'au bout, sinon on sort ######### 
     18createListingMonitoring_Check "$REPtoList" 
     19 
    1620DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
    1721 
     22# gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc 
     23export listPID="$$ ${listPID}" ######### 
     24 
     25echo "gpdebug : REPtoList=$REPtoList" # gpdebug : a virer 
    1826find $REPtoList -printf "%y %s %p \n" >> ${IGCM_DEM}/Listing.txt 
    1927 
     
    3139 
    3240 
     41# gpdebug : le script n'a pas rencontre d'erreur. On créé un fichier de suivi pour create_listing dans le rep de suivi ########## 
     42createListingMonitoring_OK "$REPtoList" 
     43 
    3344DEM_log -0 "Fin de ${SCRIPT_NAME}" 
    3445 
  • TOOLS/PACK_IPSL/enlarge_my_files.sh

    r1768 r1822  
    8989} 
    9090 
     91# gpdebug : pour test showPackProgress.sh ************************* 
     92export RANDOM=$$ 
     93 
     94function gives_0_or_1 
     95{ 
     96   bit=-1 
     97   let "bit = RANDOM % 2" 
     98   echo $bit 
     99} 
     100 
     101resultCmd= 
     102# gpdebug : ****************************** fin ******************** 
     103 
     104 
     105#********** gpdebug : mesure d'intervalles de temps *************** 
     106function getDateMilliSeconds 
     107{ 
     108   test=`date +%s%N` 
     109   testnum=${#test} 
     110   millisec=${test:0:$testnum-6} 
     111   echo "$millisec" 
     112} 
     113 
     114function getTimeDiffSeconds 
     115{ 
     116   startTimeMilliSec=$1 
     117   endTimeMilliSec=$( getDateMilliSeconds ) 
     118    
     119   diffMilliSec=$(( $endTimeMilliSec - $startTimeMilliSec )) 
     120    
     121   diffSeconds=$(awk 'BEGIN { print '$diffMilliSec'/'1000' }') 
     122   echo "$diffSeconds"   
     123 
     124} 
     125# gpdebug : ****************************** fin ******************** 
    91126#------------------------------------------------------ 
    92127for set in $( ls $PATH_SIMU/output_ncrcat/*list ) ; do 
     
    158193        # Try 2 times before fire "FAILED" 
    159194        ncrcatcmd=ncrcat 
    160         ncrcatoptions="--md5_digest" 
    161 #       ncrcatoptions="" 
    162  
    163         cat $set | $ncrcatcmd $ncrcatoptions -O -x -v $varstoexclude -o $outputfile > $logfile 2>&1 
     195#       ncrcatoptions="--md5_digest" 
     196        ncrcatoptions="" 
     197 
     198        startTime=$( getDateMilliSeconds ) # gpdebug : time 
     199        cat $set | $ncrcatcmd $ncrcatoptions -O -x -v $varstoexclude -o $outputfile > $logfile 2>&1 # gpdebug : a retablir 
     200        meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : time 
     201         
     202        # resultCmd=$( gives_0_or_1 ) 
     203        # resultCmd=1 
     204        # if [ $resultCmd -eq 0 ] ; then 
    164205        if [ $? -eq 0 ] ; then 
     206                sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    165207                datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    166208                echo "DONE ; $datestr1 ; $datestr2 ; cat $set | $ncrcatcmd $ncrcatoptions -O -x -v '$varstoexclude' -o $outputfile ; $logfile ; $extratar" >> $statusfile 
     
    169211        else 
    170212                # Add --md5_digest 
    171                 cat $set | $ncrcatcmd $ncrcatoptions -O -x -v $varstoexclude -o $outputfile > $logfile 2>&1 
     213                startTime=$( getDateMilliSeconds ) # gpdebug : time 
     214                cat $set | $ncrcatcmd $ncrcatoptions -O -x -v $varstoexclude -o $outputfile > $logfile 2>&1 # gpdebug : a retablir 
     215                meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : time 
     216                # resultCmd=$( gives_0_or_1 ) 
     217                # resultCmd=1 
     218                # if [ $resultCmd -eq 0 ] ; then 
    172219                if [ $? -eq 0 ] ; then 
     220                        sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    173221                        datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    174222                        echo "DONE ; $datestr1 ; $datestr2 ; cat $set | $ncrcatcmd $ncrcatoptions -O -x -v '$varstoexclude' -o $outputfile ; $logfile ; $extratar" >> $statusfile 
     
    178226                        datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    179227                        echo "====> FAILED at try #$nbtries"  
    180                         echo "FAILED ; $datestr1 ; $datestr2 ; cat $set | $ncrcatcmd $ncrcatoptions -O -x -v '$varstoexclude' -o $outputfile ; $logfile ; $extratar" >> $statusfile 
     228                        echo "FAILED at try #$nbtries ; $datestr1 ; $datestr2 ; cat $set | $ncrcatcmd $ncrcatoptions -O -x -v '$varstoexclude' -o $outputfile ; $logfile ; $extratar" >> $statusfile 
    181229                        if [ $nbtries -ge $maxtries ] ; then 
    182230                                echo "====> DELEGATE to tar command after $nbtries tries (maxtries=$maxtries)" 
    183231                                echo "DELEGATE to tar command after $nbtries tries (maxtries=$maxtries)" >> $statusfile 
    184                                 cp $set $PATH_SIMU/output_tar 
     232                                # cp $set $PATH_SIMU/output_tar # gpdebug : a retablir 
    185233                        fi 
    186234                fi 
     
    238286        # Waiting for CCRT command 
    239287        tarcmd=tar 
    240         taroptions="--format=posix -W -cf" 
    241          
     288#       taroptions="--format=posix -W -cf" 
     289        taroptions="--format=posix -cf" 
    242290        cd $dirinputfile 
    243291 
     
    248296             
    249297#       #----------------------------------- 
    250  
    251         $tarcmd $taroptions $outputfile --dereference --files-from $set.local > $logfile 2>&1 
     298        startTime=$( getDateMilliSeconds ) # gpdebug : time 
     299        $tarcmd $taroptions $outputfile --dereference --files-from $set.local > $logfile 2>&1 # gpdebug : a retablir 
     300        meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : time 
     301         
     302        # resultCmd=$( gives_0_or_1 ) 
     303        # if [ $resultCmd -eq 0 ] ; then 
    252304        if [ $? -eq 0 ] ; then 
     305            sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    253306            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    254307            echo "DONE ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set); $logfile" >> $statusfile 
     
    258311            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    259312            echo "====> FAILED at try #$nbtries"  
    260             echo "FAILED ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set) ; $logfile" >> $statusfile 
     313            echo "FAILED at try #$nbtries ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set) ; $logfile" >> $statusfile 
    261314 
    262315        fi 
     
    314367        # Waiting for CCRT command 
    315368        tarcmd=tar 
    316         taroptions="--format=posix -W -cf" 
    317          
     369#       taroptions="--format=posix -W -cf" 
     370        taroptions="--format=posix -cf" 
    318371        cd $dirin1 
    319372#       ls 
    320373         
    321         $tarcmd $taroptions $outputfile --dereference --files-from $set > $logfile 2>&1 
     374        startTime=$( getDateMilliSeconds ) # gpdebug : time 
     375        $tarcmd $taroptions $outputfile --dereference --files-from $set > $logfile 2>&1 # gpdebug : a retablir 
     376        meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : time 
     377         
     378        # resultCmd=$( gives_0_or_1 ) 
     379        # if [ $resultCmd -eq 0 ] ; then 
    322380        if [ $? -eq 0 ] ; then 
     381            sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    323382            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    324383            echo "DONE ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set); $logfile" >> $statusfile 
     
    328387            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    329388            echo "====> FAILED at try #$nbtries"  
    330             echo "FAILED ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set) ; $logfile" >> $statusfile 
     389            echo "FAILED at try #$nbtries ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set) ; $logfile" >> $statusfile 
    331390 
    332391        fi 
     
    382441        # Waiting for CCRT command 
    383442        tarcmd=tar 
    384         taroptions="--format=posix -W -cf" 
    385          
     443#       taroptions="--format=posix -W -cf" 
     444        taroptions="--format=posix -cf" 
    386445        cd $dirin1 
    387446#       ls 
    388          
    389         $tarcmd $taroptions $outputfile --dereference --files-from $set > $logfile 2>&1 
     447 
     448        startTime=$( getDateMilliSeconds ) # gpdebug : time 
     449        $tarcmd $taroptions $outputfile --dereference --files-from $set > $logfile 2>&1 # gpdebug : a retablir 
     450        meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : time 
     451         
     452        # resultCmd=$( gives_0_or_1 ) 
     453        # if [ $resultCmd -eq 0 ] ; then 
    390454        if [ $? -eq 0 ] ; then 
     455            sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    391456            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    392457            echo "DONE ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set); $logfile" >> $statusfile 
     
    396461            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    397462            echo "====> FAILED at try #$nbtries"  
    398             echo "FAILED ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set) ; $logfile" >> $statusfile 
     463            echo "FAILED at try #$nbtries ; $datestr1 ; $datestr2 ; $tarcmd $taroptions $outputfile $(cat $set) ; $logfile" >> $statusfile 
    399464 
    400465        fi 
     
    447512            cpcmd="cp " 
    448513            cpoptions="-rf" 
    449             $cpcmd $cpoptions $file $diroutputfile > $logfile 2>&1 
     514            startTime=$( getDateMilliSeconds ) # gpdebug : time 
     515            $cpcmd $cpoptions $file $diroutputfile > $logfile 2>&1 # gpdebug : a retablir 
     516            meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : time 
    450517        done 
    451  
     518         
     519        # resultCmd=$( gives_0_or_1 ) 
     520        # if [ $resultCmd -eq 0 ] ; then 
    452521        if [ $? -eq 0 ] ; then 
     522            sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    453523            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    454524            echo "DONE ; $datestr1 ; $datestr2 ; $cpcmd $cpoptions $file $diroutputfile ; $logfile" >> $statusfile 
     
    458528            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    459529            echo "====> FAILED at try #$nbtries"  
    460             echo "FAILED ; $datestr1 ; $datestr2 ; $cpcmd $cpoptions $file $diroutputfile ; $logfile" >> $statusfile 
     530            echo "FAILED at try #$nbtries ; $datestr1 ; $datestr2 ; $cpcmd $cpoptions $file $diroutputfile ; $logfile" >> $statusfile 
    461531 
    462532        fi 
     
    509579            cpcmd="cp " 
    510580            cpoptions="-rf" 
    511             $cpcmd $cpoptions $file $diroutputfile > $logfile 2>&1 
     581            startTime=$( getDateMilliSeconds ) # gpdebug : time 
     582            $cpcmd $cpoptions $file $diroutputfile > $logfile 2>&1  # gpdebug : a retablir 
     583            meantime=$( getTimeDiffSeconds $startTime ) # gpdebug : timeS 
    512584        done 
    513  
     585         
     586        # resultCmd=$( gives_0_or_1 ) 
     587        # if [ $resultCmd -eq 0 ] ; then 
    514588        if [ $? -eq 0 ] ; then 
     589            sed -i "1i\meantime:${meantime}" $statusfile # gpdebug : time 
    515590            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    516591            echo "DONE ; $datestr1 ; $datestr2 ; $cpcmd $cpoptions $file $diroutputfile ; $logfile" >> $statusfile 
     
    520595            datestr2=`LC_ALL=C date +"%Y-%m-%dT%H:%M:%S"` 
    521596            echo "====> FAILED at try #$nbtries"  
    522             echo "FAILED ; $datestr1 ; $datestr2 ; $cpcmd $cpoptions $file $diroutputfile ; $logfile" >> $statusfile 
     597            echo "FAILED at try #$nbtries ; $datestr1 ; $datestr2 ; $cpcmd $cpoptions $file $diroutputfile ; $logfile" >> $statusfile 
    523598 
    524599        fi 
  • TOOLS/PACK_IPSL/find_directory_simul.sh

    r1717 r1822  
    11#!/bin/bash 
    2  
     2# set -vx # gpdebug : a virer ######## 
    33# prend en argument le path et le nom d'un fichier param (argument de la commande 
    44# ccc_archive avec option ipsl_pack)  
     
    2323SCRIPT_NAME=$(basename ${0} ) 
    2424source ${EXE_DIR}/DEM_utilities.sh 
     25 
     26# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     27MonitoringInfo="${SCRIPT_NAME}-->OK" 
     28generalMonitoring "$MonitoringInfo" 
     29 
    2530DEM_log -0 "Demmarrage de ${SCRIPT_NAME}" 
     31 
    2632cd ${JOB_DIR} 
    2733# ---- 
     34# gpdebug : Execute la function errorReceive() si reception d'un signal TERM 
     35trap 'DEM_errorReceive' TERM ######## 
     36 
     37# gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc 
     38export listPID="$$ ${listPID}" ######### 
    2839 
    2940LISTE_SIMUL=${1} 
     
    3243LISTE_SIMUL_NAME=$(basename ${LISTE_SIMUL} ) 
    3344 
    34  
     45echo "gpdebug : ${IGCM_TMP}/${$}.liste_Restart.txt" # gpdebug : a virer  ####### 
    3546 
    3647# Pour tous les fichiers ou repertoires contenus dans le fichier de parametres  
    3748for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do  
    3849    DEM_log -1 ${SCRIPT_NAME} - Inspection de ${DIR}"/" 
    39     # trouve la liste des répertoires restart sous l'arborescence 
    40     grep ${DIR}"/" ${LISTE_DMNFS} | grep Restart | awk '{print $3}' | sed 's%/Restart.*%%'  >> ${IGCM_TMP}/${$}.liste_Restart.txt 
     50    # trouve la liste des repertoires restart sous l'arborescence     
     51     
     52    # grep ${DIR}"/" ${LISTE_DMNFS} | grep Restart | awk '{print $3}' | sed 's%/Restart.*%%'  >> ${IGCM_TMP}/${$}.liste_Restart.txt # gpdebug : suppr 
     53     
     54    # gpdebug : s'il n'y a pas de rep Restart, on saute ############################################################################### 
     55    listRestart=`grep ${DIR}"/" ${LISTE_DMNFS} | grep Restart | awk '{print $3}' | sed 's%/Restart.*%%' ` 
     56    # arnaud : on teste si il y a des fichiers dans les repertoires Restart 
     57    nb_restart_non_vide=0 
     58    for irestart in $listRestart 
     59    do 
     60        if [ `find $irestart/Restart -type f | wc -l` -ne 0 ] ; 
     61        then 
     62            ((  nb_restart_non_vide = nb_restart_non_vide + 1 )) 
     63            continue 
     64        fi 
     65    done 
     66     
     67    if ( [ "x${listRestart}" == "x" ] || [ $nb_restart_non_vide -eq 0 ] ) ; 
     68    then 
     69        # DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Pas de Repertoire Restart dans ${DIR}" "${$}" # gpdebug : a virer ######## 
     70        echo "########## Attention :" 
     71        echo "${SCRIPT_NAME}:${LINENO}:Pas de Repertoire Restart ou de fichiers Restart dans ${DIR}" 
     72        continue 
     73    fi 
     74    echo "${listRestart}" >> ${IGCM_TMP}/${$}.liste_Restart.txt 
     75    # gpdebug : fin #########################################################################################################################     
     76done 
     77# DEM_errorSend "${SCRIPT_NAME}:${LINENO}:On arrete expres !" $$ # gpdebug : a virer ######## 
    4178 
    42 done 
     79# Pour le cas ou aucune simu n aurait ete detectee 
     80if [ -e  ${IGCM_TMP}/${$}.liste_Restart.txt ] 
     81then 
     82   listRestartNbLines=`cat ${IGCM_TMP}/${$}.liste_Restart.txt | wc -l ` 
     83   if [ "x${listRestartNbLines}" == "x0" ] 
     84   then 
     85      DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Il n existe aucune simulation !" # "${$}" 
     86   fi 
     87else 
     88   DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Il n existe aucune simulation !" # "${$}" 
     89fi 
     90 
     91 
    4392  
    4493# On cherche le path (deux crans au dessus des repertoires Restart)  
     
    67116rm -f liste_simul_${LISTE_SIMUL_NAME} 
    68117 
     118# gpdebug : envoi du nombre de simu dans un "nbSimu.txt" du rep de suivi 
     119echo `cat ${IGCM_DEM}/liste_simul_${LISTE_SIMUL_NAME} | wc -l ` > $nbSimuFile 
     120 
    69121DEM_log -1 "Fichier cree : liste_simul_${LISTE_SIMUL_NAME}" 
     122 
    70123 
    71124[[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.path_simul.txt 
    72125[[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.liste_Restart.txt 
    73126 
     127# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     128echo $MonitoringInfo >> $generalMonitorFile 
     129 
    74130DEM_log -0 "Fin de ${SCRIPT_NAME}" 
  • TOOLS/PACK_IPSL/find_size_pack.sh

    r1736 r1822  
    2626SCRIPT_NAME=$(basename ${0} ) 
    2727source ${EXE_DIR}/DEM_utilities.sh 
     28 
     29# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     30MonitoringInfo="${SCRIPT_NAME}-->OK" 
     31simuMonitoring_check "$MonitoringInfo" "$config_card" 
     32 
     33# gpdebug : Execute la function errorReceive() si reception d'un signal TERM 
     34trap 'DEM_errorReceive' TERM ######## 
     35 
     36# gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc 
     37export listPID="$$ ${listPID}" ######### 
     38 
    2839DEM_log -0 "Demmarrage de ${SCRIPT_NAME}" 
    2940cd ${JOB_DIR} 
     
    3748 
    3849DEM_state=$( DEM_read_state ${IGCM_DEM}/config_card.liste ${config_card} ) 
    39 if [[ "${DEM_state}" != "ListToBeDone" ]] ; then 
    40     DEM_log -0 "Attention : Etat incorrect dans ${IGCM_DEM}/config_card.liste" 
    41     exit -1 
     50# gpdebug : si c'est une premiere exec (pas une reprise) 
     51if [[ "x${execEveryStep}" == "1" ]] && [[ "${DEM_state}" != "ListToBeDone" ]] ; then 
     52    echo "gpdebug : DEM_state=${DEM_state}" 
     53    DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Etat incorrect dans ${IGCM_DEM}/config_card.liste" 
    4254fi 
    4355 
     
    242254DEM_write_state ${IGCM_DEM}/config_card.liste ${config_card} FindSizePackDone 
    243255 
     256# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     257simuMonitoring_OK "$MonitoringInfo" "$config_card" 
     258 
    244259DEM_log -0 "Fin de ${SCRIPT_NAME}" 
    245260 
  • TOOLS/PACK_IPSL/launch_ipsl_enlarge.sh

    r1766 r1822  
    1111 
    1212# ex : ./launch_ipsl_enlarge.sh 
     13 
     14# gpdebug : pour option -f 
     15restartExecFromZero=0 
     16while [ $# -gt 0 ] 
     17do 
     18   echo "boucle sur les arguments du script ..." 
     19   echo "@=$@" 
     20   case $1 in 
     21   -f)  restartExecFromZero=1  
     22        echo "force restart from the beginning ..." 
     23        ;; 
     24   esac 
     25   shift 
     26done 
     27export restartExecFromZero=${restartExecFromZero} 
     28# gpdebug : end 
    1329 
    1430export JOB_DIR=${LS_SUBCWD:-${PWD}} 
     
    2945export config_card=${IGCM_DEM}/config_card.liste 
    3046 
     47 
     48############## gpdebug : Pour gestion des erreurs #########################################  
     49# Execute la function errorReceive() si reception d'un signal TERM 
     50trap 'DEM_errorReceive' TERM 
     51# liste des processus à détruire en cas d'erreur bloquante 
     52export listPID=$$ 
     53# fichier pour la transmission des messages d'erreur d'un fils au prog principal 
     54export errorMsgFile="${PWD}/errorMsg.txt" 
     55############## gpdebug : fin ##############################################################  
     56 
    3157source ${EXE_DIR}/DEM_utilities.sh 
    3258 
    3359DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
     60 
     61check_nco_version # gpdebug : verification de la version de nco ####################### 
     62 
     63# gpdebug : si l'option -f est activee, on detruit tous les fichiers status 
     64if [ "x$restartExecFromZero" == "x1" ] 
     65then 
     66    echo "Deleting  all status files ..." 
     67    for CONFIG in $( awk '{print $1}' ${IGCM_DEM}/config_card.liste ) 
     68    do 
     69       PATH_SIMU=$( dirname $CONFIG ) 
     70       ListStatFileInSimu=`find $PATH_SIMU -type f -name "*status" ` 
     71       if [ "x$ListStatFileInSimu" != "x" ] 
     72       then 
     73           for file in $ListStatFileInSimu 
     74           do 
     75              if [ -e $file ] 
     76              then 
     77                 rm -f $file 
     78              fi 
     79        
     80           done       
     81       fi    
     82    done 
     83    echo "Deletion done." 
     84fi 
     85# gpdebug : end 
    3486 
    3587for CONFIG in $( awk '{print $1}' ${IGCM_DEM}/config_card.liste ) ; do  
  • TOOLS/PACK_IPSL/launch_ipsl_pack.sh

    r1728 r1822  
    1717export EXE_DIR=${JOB_DIR} 
    1818 
    19 LISTE_SIMUL=${1} 
     19##### gpdebug : addition ################################## 
     20# Boucle qui gere les parametres du script (permet l'introduction d'une option -f  
     21# qui force l'execution de toute les etapes du script de listes) 
     22execEveryStep=0 
     23LISTE_SIMUL= 
     24while [ $# -gt 0 ] 
     25do 
     26   echo "boucle sur les arguments du script ..." 
     27   echo "@=$@" 
     28   case $1 in 
     29   -f)  execEveryStep=1  
     30        echo "force..." 
     31        ;; 
     32   *)  LISTE_SIMUL=${1}  
     33       echo "autres..." 
     34       ;; 
     35    
     36   esac 
     37   shift 
     38done 
     39echo "Fin boucle sur arguments" 
     40export execEveryStep=${execEveryStep} 
     41 
     42# fichier de progression d'execution 
     43extSuiviListes=`echo ${LISTE_SIMUL} | sed 's;\.[[:alnum:]]*$;;' ` 
     44# echo "extSuiviListes=$extSuiviListes" # gpdebug : a virer 
     45export MonitoringDir="${PWD}/SuiviListes_${extSuiviListes}" 
     46# echo "MonitoringDir=$MonitoringDir" # gpdebug : a virer 
     47# exit 0  # gpdebug : a virer 
     48 
     49export generalMonitorFile=${MonitoringDir}/general.txt 
     50export nbSimuFile=${MonitoringDir}/nbSimu.txt 
     51 
     52##### gpdebug : fin ##################################### 
     53 
     54# LISTE_SIMUL=${1} # gpdebug : suppr --> cette affectation est maintenant faite dans la boucle while des arg du script ################ 
    2055 
    2156#LISTE_SIMUL=${JOB_DIR}/param_SL.txt  
     
    3368export DEM_LOG=${JOB_DIR}/dem_${LSB_JOBID:-${$}}.log 
    3469export LOG_LEV=2 
     70export FileParam=${LISTE_SIMUL} # gpdebug : pour appel (dans DEM_utilities.sh) a showListsProgress.sh 
     71export FatherPID=$$ # gpdebug : pour appel (dans DEM_utilities.sh) a showListsProgress.sh 
    3572 
    3673source ${EXE_DIR}/DEM_utilities.sh 
     74 
     75# gpdebug : prepare le fichier de suivi de la progression 
     76prepareMonitoringDir 
     77# exit 0 # gpdebug : a virer ############## 
     78 
     79# gpdebug : Execute la function errorReceive() si reception d'un signal TERM 
     80trap 'DEM_errorReceive' TERM ######## 
     81 
     82# gpdebug : liste des processus à détruire en cas d'erreur bloquante 
     83export listPID=$$ ######## 
     84 
     85# gpdebug : fichier pour la transmission des messages d'erreur d'un fils au prog principal 
     86export errorMsgFile="${PWD}/errorMsg.txt" ######## 
    3787 
    3888DEM_log -0 "Demarrage de ${SCRIPT_NAME}" 
     
    4696# 0- on cree le listing correspondant au fichier param  
    4797# on efface les tests precedents 
    48 rm -f ${IGCM_DEM}/Listing.txt 
     98 
     99# rm -f ${IGCM_DEM}/Listing.txt # gpdebug : en cas de reprise, on ne peut pas laisser ca en l'etat --> suppr 
     100# gpdebug : Donc on rajoute le if qui suit 
     101if [ "x${execEveryStep}" == "x1" ] 
     102then 
     103    rm -f ${IGCM_DEM}/Listing.txt 
     104fi 
     105 
    49106for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do  
    50107    ./create_listing.sh $DIR 
     
    58115${EXE_DIR}/find_directory_simul.sh ${LISTE_SIMUL} ${LISTE_DMNFS} 
    59116 
     117# sleep 2 # gpdebug : a virer 
     118# echo "Le script principal continue..." # gpdebug : a virer 
     119# exit 0 # gpdebug : a virer  
     120 
     121#################################################################### 
     122# gpdebug : partie vidée pour simplifier.  Voir le fichier original. 
     123 
    60124# 2- Pour chacune des simulations listees on cree un fichier config.card correspondant 
    61125# ces fichiers seront stockes dans ${IGCM_DEM}/arborescence/ 
     
    63127 
    64128${EXE_DIR}/create_config_card.sh ${IGCM_DEM}/liste_simul_${LISTE_SIMUL_NAME}  ${LISTE_DMNFS} 
     129 
     130# exit 0 # gpdebug : a virer ######### 
    65131 
    66132#3- recherche de la taille ideale de pack pour chacune des simulations - puis creation des listes 
     
    72138    eval $(grep IGCM_DEM_SIMU ${CONFIG}) 
    73139    ${EXE_DIR}/calcul_size_simul.sh ${CONFIG} ${LISTE_DMNFS} 
    74  
     140    # exit 0 # gpdebug : a virer ######### 
    75141    DEM_state=$( DEM_read_state ${IGCM_DEM}/config_card.liste ${CONFIG} ) 
    76142    if [[ "${DEM_state}" != "WriteListTarDone" ]] ; then 
     
    80146        ${EXE_DIR}/write_liste_pack.sh ${CONFIG} ${LISTE_DMNFS} 
    81147        ${EXE_DIR}/archive_restart.sh ${CONFIG} ${LISTE_DMNFS} 
     148        # DEM_errorSend "${SCRIPT_NAME}:${LINENO}:On arrete expres !" # gpdebug : a virer ######## 
    82149        ${EXE_DIR}/archive_debug.sh ${CONFIG} ${LISTE_DMNFS} 
    83150 
    84151    fi 
    85152done 
     153#################################################################### 
    86154 
    87155DEM_log -0 "Fin de ${SCRIPT_NAME}" 
  • TOOLS/PACK_IPSL/write_liste_pack.sh

    r1769 r1822  
    2828SCRIPT_NAME=$(basename ${0} ) 
    2929source ${EXE_DIR}/DEM_utilities.sh 
     30 
     31# gpdebug : verif si le present script a ete execute jusqu'au bout ######### 
     32MonitoringInfo="${SCRIPT_NAME}-->OK" 
     33simuMonitoring_check "$MonitoringInfo" "$config_card" 
     34 
     35# gpdebug : Execute la function errorReceive() si reception d'un signal TERM 
     36trap 'DEM_errorReceive' TERM ######## 
     37 
     38# gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc 
     39export listPID="$$ ${listPID}" ######### 
     40 
    3041DEM_log -0 "Demmarrage de ${SCRIPT_NAME}" 
    3142cd ${JOB_DIR} 
     
    4354SIMUL=${PATH_SIMUL_FULL}/${JobName} 
    4455 
     56 
    4557DEM_state=$( DEM_read_state ${IGCM_DEM}/config_card.liste ${config_card} ) 
    46 if [[ "${DEM_state}" != "FindSizePackDone" ]] ; then 
    47     DEM_log -0 "Attention : Etat incorrect dans ${IGCM_DEM}/config_card.liste" 
    48     exit -1 
     58# gpdebug : si c'est une premiere exec (pas une reprise) 
     59if [[ "x${execEveryStep}" == "1" ]] && [[ "${DEM_state}" != "FindSizePackDone" ]] ; then 
     60    DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Etat incorrect dans ${IGCM_DEM}/config_card.liste" 
    4961fi 
     62 
    5063 
    5164DEM_write_state ${IGCM_DEM}/config_card.liste ${config_card} WriteListPackRunning 
     
    244257DEM_write_state ${IGCM_DEM}/config_card.liste ${config_card} WriteListPackDone 
    245258 
     259# gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi 
     260simuMonitoring_OK "$MonitoringInfo" "$config_card" 
     261 
    246262DEM_log -0 "Fin de ${SCRIPT_NAME}" 
    247263 
Note: See TracChangeset for help on using the changeset viewer.