[8] | 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 | |
---|