1 | #!/bin/ksh |
---|
2 | # $Header: /home/ssipsl/CVSREP/ORCHIDEE_OL/EXP00/job.run,v 1.3 2004/10/22 14:48:49 ssipsl Exp $ |
---|
3 | ## @$-q test |
---|
4 | ## @$-lT 3600 |
---|
5 | ## @$-lM 0mb |
---|
6 | ## @$-eo |
---|
7 | ## Job de soumission de ORCHIDEE_OL |
---|
8 | ## |
---|
9 | ## |
---|
10 | ## Rachid BENSHILA & Patricia CADULE |
---|
11 | ########################################################## |
---|
12 | # |
---|
13 | # DEFINITIONS DES OPTIONS |
---|
14 | # |
---|
15 | ########################################################## |
---|
16 | ## |
---|
17 | #- Saisie et validation des options |
---|
18 | x_q=''; |
---|
19 | x_t=""; |
---|
20 | x_s="Cabauw"; |
---|
21 | x_f="SECHIBA"; |
---|
22 | x_n="0"; |
---|
23 | x_e="Test"; |
---|
24 | while getopts :hqt:s:f:n:d:e: V |
---|
25 | do |
---|
26 | case $V in |
---|
27 | (h) echo "Usage : "${b_n} \ |
---|
28 | " [-h] [-q] [-t h] [-s x] [-f y] [-n nbre] [-e exp]"; |
---|
29 | echo " -h : help"; |
---|
30 | echo " -q : quiet"; |
---|
31 | echo " -t h : target host_name"; |
---|
32 | echo " -s x : Site"; |
---|
33 | echo " -f y : Flag"; |
---|
34 | echo " -n nbre : Initialization"; |
---|
35 | echo " -e exp : Experience name"; |
---|
36 | echo "Defaults : -t local_host"; |
---|
37 | echo "Defaults : -s Cabauw"; |
---|
38 | echo "Defaults : -f SECHIBA"; |
---|
39 | echo "Defaults : -n 0"; |
---|
40 | echo "Defaults : -e Test "; |
---|
41 | exit 0;; |
---|
42 | (q) x_q=1;; |
---|
43 | (t) x_t=${OPTARG};; |
---|
44 | (s) x_s=${OPTARG};; |
---|
45 | (f) x_f=${OPTARG};; |
---|
46 | (n) x_n=${OPTARG};; |
---|
47 | (e) x_e=${OPTARG};; |
---|
48 | (:) echo ${b_n}" : -"${OPTARG}" option : missing value" 1>&2; |
---|
49 | exit 2;; |
---|
50 | (\?) echo ${b_n}" : -"${OPTARG}" option : not supported" 1>&2; |
---|
51 | exit 2;; |
---|
52 | esac |
---|
53 | done |
---|
54 | ## |
---|
55 | ######################################################################### |
---|
56 | ## |
---|
57 | ## Initialisation |
---|
58 | ## |
---|
59 | ######################################################################### |
---|
60 | ## |
---|
61 | ## BEGINING OF USER MODIFICATIONS |
---|
62 | ## |
---|
63 | #################### |
---|
64 | # Experience dates # |
---|
65 | #################### |
---|
66 | ## |
---|
67 | ##-- First day of experience |
---|
68 | #JOUR_DEBUT_EXP=1 ; MOIS_DEBUT_EXP=1 ; AN_DEBUT_EXP=1987 |
---|
69 | ##-- |
---|
70 | ##-- Last day of experience |
---|
71 | #JOUR_FINAL_EXP=31 ; MOIS_FINAL_EXP=12 ; AN_FINAL_EXP=1987 |
---|
72 | ##-- |
---|
73 | ##-- Job lenght |
---|
74 | #JOURS=0 ; MOIS=0 ; ANS=1 |
---|
75 | ## |
---|
76 | #################### |
---|
77 | # Job iteration # |
---|
78 | #################### |
---|
79 | ## |
---|
80 | #NITER_MAX=5 |
---|
81 | ## |
---|
82 | ######################## |
---|
83 | # Nom du repertoire # |
---|
84 | ######################## |
---|
85 | ## |
---|
86 | #D_NAME=Test |
---|
87 | ## |
---|
88 | ############################## |
---|
89 | ## # |
---|
90 | ## END OF USER MODIFICATIONS # |
---|
91 | ## # |
---|
92 | ############################## |
---|
93 | D_NAME=${x_e} |
---|
94 | ##-- fichier de forcage |
---|
95 | F_FILE=${x_s} |
---|
96 | export F_FILE=${F_FILE} |
---|
97 | ##-- iteration |
---|
98 | NITER_MAX=${x_n} |
---|
99 | ##-- flag |
---|
100 | if [ ${x_f} = all ]; then |
---|
101 | x_f="SECHIBA OK_CO2 OK_STOMATE" |
---|
102 | fi; |
---|
103 | typeset -R rach |
---|
104 | set -A rach 3 ${x_f} |
---|
105 | |
---|
106 | ##-- repertoire de stockage et de lancement, plate-forme |
---|
107 | R_STOCKAGE="" |
---|
108 | |
---|
109 | if [ '\?'${x_t} = '\?' ]; then |
---|
110 | x_t=`../../../util/w_i_h` ; |
---|
111 | fi |
---|
112 | |
---|
113 | if [ "${x_t}" = "sxnec" ]; then |
---|
114 | rsh uqbar mkdir ${WORKDIR}/${D_NAME} |
---|
115 | R_STOCKAGE="/u/rech/ces/rces803/FORCAGE_OL" |
---|
116 | R_SH="rsh uqbar -n " |
---|
117 | R_SUB=${WORKDIR}/${D_NAME} |
---|
118 | QSUB="qsub -x" |
---|
119 | elif [ "${x_t}" = "fjvpp" ]; then |
---|
120 | R_STOCKAGE="/G/nymphea0/dmnfs/p86bensh/FORCAGE_OL" |
---|
121 | R_SH="remsh nymphea0 -n " |
---|
122 | R_SUB=${QSUB_WORKDIR:-${PWD}} |
---|
123 | QSUB="qsub -x" |
---|
124 | elif [ "${x_t}" = "sx6nec" ]; then |
---|
125 | R_STOCKAGE="/dmnfs/p86bensh/FORCAGE_OL" |
---|
126 | R_SH="rsh mercure0 " |
---|
127 | R_SUB=${QSUB_WORKDIR:-${PWD}} |
---|
128 | QSUB="/usr/bin/nqsII/qsub -q prod -V" |
---|
129 | fi |
---|
130 | export R_STOCKAGE=${R_STOCKAGE} |
---|
131 | |
---|
132 | ##Scripts d'Atlas |
---|
133 | if [ ! -f ../Utilitaire/Job_atlas ]; then |
---|
134 | sed -e "s,^#-Q- "${x_t}" *,," ../Utilitaire/AA_atlas | grep -v '^#-Q- ' > ../Utilitaire/Job_atlas |
---|
135 | fi |
---|
136 | |
---|
137 | ##-- repertoire de controle des enchainements |
---|
138 | x_m=$(pwd) |
---|
139 | for i in 1 2 3 |
---|
140 | do |
---|
141 | if [ -n "${rach[i]}" ] |
---|
142 | then |
---|
143 | ../../../util/ins_script -t ${x_t} -n ${F_FILE}_${rach[i]} |
---|
144 | make -f make_ORCHIDEE ${rach[i]} || exit 1 |
---|
145 | sed -e "s/F_FILE=WG_cru/F_FILE=${F_FILE}/g" -e "s/#FLAG=/FLAG=${rach[i]}/g" -e "s/OK_SITE=n/OK_SITE=y/g" -e "s/F_RUN=orchidee/F_RUN=${F_FILE}_${rach[i]}/g" -e "s/CEXPER=${F_FILE}_${rach[i]}/CEXPER=${D_NAME}/g" -e "s/OK_WEATHER=y/OK_WEATHER=n/g" -e "s/duree_sechiba=0/duree_sechiba=1/g" -e "s/n_iter=0/n_iter=${x_n}/g" Job_${F_FILE}_${rach[i]} >Job_${rach[i]}.tmp |
---|
146 | mv Job_${rach[i]}.tmp Job_${F_FILE}_${rach[i]} |
---|
147 | if [ "${x_q}" != 1 ]; then |
---|
148 | if [ "${x_t}" = "sxnec" ]; then |
---|
149 | ftput -h uqbar $(pwd)/Job_${F_FILE}_${rach[i]} ${WORKDIR}/${D_NAME}/Job_${F_FILE}_${rach[i]} || exit 1 |
---|
150 | ftput -h uqbar $(pwd)/${F_FILE}_${rach[i]}.def ${WORKDIR}/${D_NAME}/${F_FILE}_${rach[i]}.def || exit 1 |
---|
151 | fi |
---|
152 | ${R_SH} "export F_FILE=${F_FILE} ; export FLAG=${rach[i]} ; export JOUR_DEBUT_EXP=${JOUR_DEBUT_EXP} ; export MOIS_DEBUT_EXP=${MOIS_DEBUT_EXP} ; export AN_DEBUT_EXP=${AN_DEBUT_EXP} ; export JOUR_FINAL_EXP=${JOUR_FINAL_EXP} ; export MOIS_FINAL_EXP=${MOIS_FINAL_EXP} ; export AN_FINAL_EXP=${AN_FINAL_EXP} ; export JOURS=${JOURS} ; export MOIS=${MOIS} ; export ANS=${ANS} ; export NITER_MAX=${NITER_MAX} ; export D_NAME=${D_NAME} ; export F_RUN=${F_FILE}_${rach[i]} ; cd ${R_SUB} ; ${QSUB} Job_${F_FILE}_${rach[i]}" |
---|
153 | fi |
---|
154 | fi |
---|
155 | done |
---|
156 | |
---|