1 | #!/bin/bash |
---|
2 | # set -vx # gpdebug : a virer ######## |
---|
3 | # prend en argument le path et le nom d'un fichier param (argument de la commande |
---|
4 | # ccc_archive avec option ipsl_pack) |
---|
5 | # ex : ./find_directory_simul.job fichier_param_test1.txt liste_fichier_dmnfs |
---|
6 | # ex : find_directory_simul.job param_SL.txt /cscratch/cont003/labetoul/FROM_CCRT_INFORMATIONS_DMNFS/information_dmnfs_2012-03-21 |
---|
7 | |
---|
8 | #------------------------------- |
---|
9 | # A modifier avant utilisation : |
---|
10 | #-------------------------------- |
---|
11 | |
---|
12 | LISTE_SIMUL=${1} |
---|
13 | LISTE_DMNFS=${2} |
---|
14 | echo $LISTE_SIMUL $LISTE_DMNFS |
---|
15 | # ---- |
---|
16 | export JOB_DIR=${JOB_DIR:-${TMP_MIGR_DATA}} |
---|
17 | export IGCM_DEM=${IGCM_DEM:-${SCRATCHDIR}/IGCM_DEM} |
---|
18 | export IGCM_TMP=${IGCM_TMP:-${IGCM_DEM}/tmp} |
---|
19 | mkdir -p ${IGCM_DEM} |
---|
20 | mkdir -p ${IGCM_TMP} |
---|
21 | clean_tmp=${clean_tmp:-yes} |
---|
22 | EXE_DIR=$(dirname ${0}) |
---|
23 | SCRIPT_NAME=$(basename ${0} ) |
---|
24 | source ${EXE_DIR}/DEM_utilities.sh |
---|
25 | |
---|
26 | echo "apres sources" ${SCRIPT_NAME} |
---|
27 | |
---|
28 | # gpdebug : verif si le present script a ete execute jusqu'au bout ######### |
---|
29 | MonitoringInfo="${SCRIPT_NAME}-->OK" |
---|
30 | generalMonitoring "$MonitoringInfo" |
---|
31 | |
---|
32 | DEM_log -0 "Demmarrage de ${SCRIPT_NAME}" |
---|
33 | |
---|
34 | cd ${EXE_DIR} |
---|
35 | # ---- |
---|
36 | # gpdebug : Execute la function errorReceive() si reception d'un signal TERM |
---|
37 | trap 'DEM_errorReceive' TERM ######## |
---|
38 | |
---|
39 | # gpdebug : on augmente la liste des proc à détruire en cas d'erreur bloquante du présent proc |
---|
40 | export listPID="$$ ${listPID}" ######### |
---|
41 | |
---|
42 | LISTE_SIMUL=${1} |
---|
43 | LISTE_DMNFS=${2} |
---|
44 | |
---|
45 | LISTE_SIMUL_NAME=$(basename ${LISTE_SIMUL} ) |
---|
46 | |
---|
47 | echo "gpdebug : ${IGCM_TMP}/${$}.liste_Restart.txt" # gpdebug : a virer ####### |
---|
48 | |
---|
49 | # Pour tous les fichiers ou repertoires contenus dans le fichier de parametres |
---|
50 | for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do |
---|
51 | eval DIR_FINAL=$DIR |
---|
52 | DEM_log -1 ${SCRIPT_NAME} - Inspection de ${DIR}"/" |
---|
53 | # trouve la liste des repertoires restart sous l'arborescence |
---|
54 | |
---|
55 | # gpdebug : s'il n'y a pas de rep Restart, on saute ############################################################################### |
---|
56 | listRestart=`grep ${DIR_FINAL}"/" ${LISTE_DMNFS} | grep RESTART |grep -v ".tar" | awk '{print $3}' | sed 's%/RESTART.*%%' ` |
---|
57 | |
---|
58 | if [ "x${listRestart}" == "x" ] ; |
---|
59 | then |
---|
60 | echo "########## Attention :" |
---|
61 | echo "${SCRIPT_NAME}:${LINENO}:Pas de Repertoire RESTART ou de fichiers Restart dans ${DIR_FINAL}" |
---|
62 | continue |
---|
63 | fi |
---|
64 | echo "${listRestart}" >> ${IGCM_TMP}/${$}.liste_Restart.txt |
---|
65 | # gpdebug : fin ######################################################################################################################### |
---|
66 | done |
---|
67 | |
---|
68 | # Pour le cas ou aucune simu n aurait ete detectee |
---|
69 | if [ -e ${IGCM_TMP}/${$}.liste_Restart.txt ] |
---|
70 | then |
---|
71 | listRestartNbLines=`cat ${IGCM_TMP}/${$}.liste_Restart.txt | wc -l ` |
---|
72 | if [ "x${listRestartNbLines}" == "x0" ] |
---|
73 | then |
---|
74 | DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Il n existe aucune simulation !" # "${$}" |
---|
75 | fi |
---|
76 | else |
---|
77 | DEM_errorSend "${SCRIPT_NAME}:${LINENO}:Il n existe aucune simulation !" # "${$}" |
---|
78 | fi |
---|
79 | |
---|
80 | # il n'y a qu'un seul path par simu dans le fichier (un repertoire RESTART par simul) |
---|
81 | mv ${IGCM_TMP}/${$}.liste_Restart.txt ${IGCM_DEM}/liste_simul_${LISTE_SIMUL_NAME} |
---|
82 | |
---|
83 | # gpdebug : envoi du nombre de simu dans un "nbSimu.txt" du rep de suivi |
---|
84 | echo `cat ${IGCM_DEM}/liste_simul_${LISTE_SIMUL_NAME} | wc -l ` > $nbSimuFile |
---|
85 | |
---|
86 | DEM_log -1 "Fichier cree : liste_simul_${LISTE_SIMUL_NAME}" |
---|
87 | |
---|
88 | |
---|
89 | [[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.path_simul.txt |
---|
90 | [[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.liste_Restart.txt |
---|
91 | |
---|
92 | # gpdebug : le script n'a pas rencontre d'erreur. On l'inscrit dans le fichier de suivi |
---|
93 | echo $MonitoringInfo >> $generalMonitorFile |
---|
94 | |
---|
95 | DEM_log -0 "Fin de ${SCRIPT_NAME}" |
---|