source: TOOLS/PACK_IPSL/find_directory_simul.sh @ 1715

Last change on this file since 1715 was 1715, checked in by acosce, 12 years ago

Correct the particular case for lmdz simulation with create_etat0_limit

File size: 2.6 KB
Line 
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
12LISTE_SIMUL=${1}
13LISTE_DMNFS=${2}
14
15# ----
16export JOB_DIR=${JOB_DIR:-${PWD}}
17export IGCM_DEM=${IGCM_DEM:-${SCRATCHDIR}/IGCM_DEM}
18export IGCM_TMP=${IGCM_TMP:-${IGCM_DEM}/tmp}
19mkdir -p ${IGCM_DEM}
20mkdir -p ${IGCM_TMP}
21clean_tmp=${clean_tmp:-yes}
22EXE_DIR=$(dirname ${0})
23SCRIPT_NAME=$(basename ${0} )
24source ${EXE_DIR}/DEM_utilities.sh
25DEM_log -0 "Demmarrage de ${SCRIPT_NAME}"
26cd ${JOB_DIR}
27# ----
28
29LISTE_SIMUL=${1}
30LISTE_DMNFS=${2}
31
32LISTE_SIMUL_NAME=$(basename ${LISTE_SIMUL} )
33
34
35
36# Pour tous les fichiers ou repertoires contenus dans le fichier de parametres
37for DIR in $( awk '{print $0}' ${LISTE_SIMUL} ) ; do
38    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
41
42done
43 
44# On cherche le path (deux crans au dessus des repertoires Restart)
45DEM_log -1 "Recherche du path"
46
47for DIR in  $( awk '{print $0}' ${IGCM_TMP}/${$}.liste_Restart.txt ) ; do
48    DEM_log -3 ${SCRIPT_NAME} - Recherche path : ${DIR}
49
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
59done
60
61# On retire les doublons pour avoir la liste des simulations a tester
62DEM_log -1 "Suppression des doublons"
63
64awk '{if (x[$0] != "") next ; print $0 ; x[$0]=$0}' <${IGCM_TMP}/${$}.path_simul.txt  >> liste_simul_${LISTE_SIMUL_NAME}
65awk '{if (x[$0] != "") next ; print $0 ; x[$0]=$0}' <liste_simul_${LISTE_SIMUL_NAME}  >> liste_simul_${LISTE_SIMUL_NAME}.tmp${$}
66mv liste_simul_${LISTE_SIMUL_NAME}.tmp${$} liste_simul_${LISTE_SIMUL_NAME}
67
68DEM_log -1 "Fichier cree : liste_simul_${LISTE_SIMUL_NAME}"
69
70[[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.path_simul.txt
71[[ "${clean_tmp}" = "yes" ]] && rm -f ${IGCM_TMP}/${$}.liste_Restart.txt
72
73DEM_log -0 "Fin de ${SCRIPT_NAME}"
Note: See TracBrowser for help on using the repository browser.