[1709] | 1 | #!/bin/bash |
---|
| 2 | |
---|
| 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 | |
---|
| 15 | # ---- |
---|
| 16 | export JOB_DIR=${JOB_DIR:-${PWD}} |
---|
| 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 | DEM_log -0 "Demmarrage de ${SCRIPT_NAME}" |
---|
| 26 | cd ${JOB_DIR} |
---|
| 27 | # ---- |
---|
| 28 | |
---|
| 29 | LISTE_SIMUL=${1} |
---|
| 30 | LISTE_DMNFS=${2} |
---|
| 31 | |
---|
| 32 | LISTE_SIMUL_NAME=$(basename ${LISTE_SIMUL} ) |
---|
| 33 | |
---|
| 34 | |
---|
| 35 | |
---|
| 36 | # Pour tous les fichiers ou repertoires contenus dans le fichier de parametres |
---|
| 37 | for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do |
---|
[1715] | 38 | DEM_log -1 ${SCRIPT_NAME} - Inspection de ${DIR}"/" |
---|
[1709] | 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 |
---|
| 41 | |
---|
| 42 | done |
---|
| 43 | |
---|
| 44 | # On cherche le path (deux crans au dessus des repertoires Restart) |
---|
| 45 | DEM_log -1 "Recherche du path" |
---|
| 46 | |
---|
| 47 | for DIR in $( awk '{print $0}' ${IGCM_TMP}/${$}.liste_Restart.txt ) ; do |
---|
| 48 | DEM_log -3 ${SCRIPT_NAME} - Recherche path : ${DIR} |
---|
| 49 | |
---|
[1715] | 50 | #gestion des cas particulier tels que la creation de l'etat initial avec lmdz (JobName/ATM/Output/Restart/ au lieu de JobName/ATM/Restart/) |
---|
| 51 | PATH_SIM=$( dirname ${DIR} ) |
---|
| 52 | lastdir=$( echo $PATH_SIM | sed -e "s%.*/%%") |
---|
| 53 | if [ $lastdir != "ATM" ]; then |
---|
| 54 | dirname ${DIR} >> ${IGCM_TMP}/${$}.path_simul.txt |
---|
| 55 | else |
---|
| 56 | dirname ${PATH_SIM} >> ${IGCM_TMP}/${$}.path_simul.txt |
---|
| 57 | fi |
---|
| 58 | |
---|
[1709] | 59 | done |
---|
| 60 | |
---|
| 61 | # On retire les doublons pour avoir la liste des simulations a tester |
---|
| 62 | DEM_log -1 "Suppression des doublons" |
---|
| 63 | |
---|
| 64 | awk '{if (x[$0] != "") next ; print $0 ; x[$0]=$0}' <${IGCM_TMP}/${$}.path_simul.txt >> liste_simul_${LISTE_SIMUL_NAME} |
---|
| 65 | awk '{if (x[$0] != "") next ; print $0 ; x[$0]=$0}' <liste_simul_${LISTE_SIMUL_NAME} >> liste_simul_${LISTE_SIMUL_NAME}.tmp${$} |
---|
[1717] | 66 | mv liste_simul_${LISTE_SIMUL_NAME}.tmp${$} ${IGCM_DEM}/liste_simul_${LISTE_SIMUL_NAME} |
---|
| 67 | rm -f liste_simul_${LISTE_SIMUL_NAME} |
---|
[1709] | 68 | |
---|
| 69 | DEM_log -1 "Fichier cree : liste_simul_${LISTE_SIMUL_NAME}" |
---|
| 70 | |
---|
| 71 | [[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.path_simul.txt |
---|
| 72 | [[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.liste_Restart.txt |
---|
| 73 | |
---|
| 74 | DEM_log -0 "Fin de ${SCRIPT_NAME}" |
---|