Ignore:
Timestamp:
03/12/07 17:13:47 (17 years ago)
Author:
bellier
Message:

JB: svn now !

File:
1 edited

Legend:

Unmodified
Added
Removed
  • modipsl/trunk/util/model

    r2 r12  
    11#!/bin/ksh 
    2 #- $Id: model,v 2.8 2005/06/17 11:43:38 adm Exp $ 
     2#- $Id$ 
    33#--------------------------------------------------------------------- 
    4 # @(#)Actions relatives aux modeles IPSL 
     4# @(#)Actions concerning IPSL models 
    55#--------------------------------------------------------------------- 
    6 #- 
    76#set -xv 
    87MAIL_ADDRESS=patricia.cadule@ipsl.jussieu.fr 
    98MAIL_COM=mail 
    109#MAIL_COM=Mail 
    11 #------------------------------------------------------------ 
    12 #- Decomposition du nom d'appel de la procedure (d_n/b_n) --- 
    13 #------------------------------------------------------------ 
    14 d_n=$(dirname $0); b_n=$(basename $0); 
    15 #-------------------------------------- 
    16 #- Saisie et validation des options --- 
    17 #-------------------------------------- 
    18 m_n=""; m_a=""; m_v='silencious'; no_tag='false';  
     10#--- 
     11#- Dirname and Basename 
     12#--- 
     13d_n=${0%/*}; b_n=${0##*/}; 
     14#--- 
     15#- Retrieve and validate the options 
     16#--- 
     17m_n=""; m_a=""; m_v='silencious'; no_tag='false'; 
    1918while getopts :heudrvH V 
    2019  do 
     
    3433  done 
    3534shift $(($OPTIND-1)); 
    36 case ${m_a} in 
    37   ( checkout | update | diff | remove ) ;; 
    38   ("") m_a='checkout';; 
    39 esac 
    40 #----------------------------- 
    41 #- Saisie du nom du modele --- 
    42 #----------------------------- 
    43 if   [ ${#} -gt 1 ]; then 
    44   echo 'Only one model can be specified' 1>&2; 
    45   exit 3; 
    46 elif [ ${#} -eq 1 ]; then 
    47   m_n="${1}"; 
    48 elif [ ${m_a} != 'help' ]; then 
     35#--- 
     36#- Validate the action 
     37#--- 
     38[[ -z "${m_a}" ]] && { m_a='checkout'; } 
     39[[ ${m_a} = help || ${m_a} = checkout || ${m_a} = update || \ 
     40   ${m_a} = diff || ${m_a} = remove ]] || \ 
     41  { echo 'Action '"${m_a}"' not supported' 1>&2; exit 4; } 
     42#--- 
     43#- Retrieve the model name 
     44#--- 
     45[[ ${#} -gt 1 ]] && \ 
     46  { echo 'Only one model can be specified' 1>&2; exit 3; } 
     47[[ ${#} -eq 1 ]] && { m_n="${1}"; } 
     48[[ ${m_a} != 'help' && -z ${m_n} ]] && \ 
     49 { 
    4950  echo 'Model not specified' 1>&2; 
    5051  echo 'Try "'${b_n}' -h [model-name]"' 1>&2; 
    5152  exit 3; 
    52 fi 
    53 #----------------------------------------------- 
    54 #- Test d'existence du fichier de definition --- 
    55 #----------------------------------------------- 
     53 } 
     54#--- 
     55#- Test of presence of the definition file 
     56#--- 
    5657F_DEF=${d_n}'/mod.def' 
    57 [ ! -f "${F_DEF}" ] && { echo "${F_DEF} unreachable ..."; exit 3; } 
    58 #----------------------------------------------- 
    59 #- Extraction des noms des modeles supportes --- 
    60 #----------------------------------------------- 
    61 QQQ=$(sed -n -e "s/^#-C-  *\([^ ]*\).*$/\1/p" ${F_DEF}); 
    62 qi=0; for i in ${QQQ}; do ((qi=qi+1)); m_x[qi]=${i}; done 
    63 #------------------------------------------------------------- 
    64 #- Validation du nom du modele et saisie des informations  --- 
    65 #------------------------------------------------------------- 
    66 [ '\?'"${m_n}" != '\?' ] && \ 
     58[[ ! -f "${F_DEF}" ]] && { echo "${F_DEF} unreachable ..."; exit 3; } 
     59#--- 
     60#- Extract the names of the supported models 
     61#--- 
     62qi=0; 
     63while read v0 v1 v2 
     64  do 
     65    [[ -n "${v0}" && "${v0}" = '#-C-' ]] && \ 
     66     { ((qi=qi+1)); m_x[${qi}]=${v1}; } 
     67  done <${F_DEF} 
     68unset v0 v1 v2; 
     69#--- 
     70#- Model name validation and data retrieving 
     71#--- 
     72[[ -n "${m_n}" ]] && \ 
    6773  { 
     74    #- Validate the model name 
    6875    i_m=-1; 
    6976    qi=0; while (( ${qi} < ${#m_x[@]} )) 
    7077      do 
    7178        ((qi=qi+1)); 
    72         [ ${m_n} = ${m_x[qi]} ] && { i_m=${qi}; break; }; 
     79        [[ ${m_n} = ${m_x[${qi}]} ]] && { i_m=${qi}; break; }; 
    7380      done 
    7481    (( ${i_m} < 0 )) && \ 
    7582     { echo 'Model '"${m_n}"' unknown' 1>&2; 
    76        echo 'Try "'${b_n}' -h"' 1>&2; 
    77        exit 3; } 
    78     #- Recherche de l'adresse email a qui envoyer les infos 
    79     QQQ=$(sed -n -e "s/^#-M-  *${m_n}  *//p" ${F_DEF}); 
    80     [ '\?'"${QQQ}" = '\?' ] && \ 
    81       { echo 'Address mail not found for '${m_n}; exit 3; } 
    82     m_m=${QQQ} 
    83     #- Recherche des composants 
    84     QQQ=$(sed -n -e "s/^#-C-  *${m_n}  *//p" ${F_DEF}); 
    85     [ '\?'"${QQQ}" = '\?' ] && \ 
    86       { echo 'Components not found for '${m_n}; exit 3; } 
    87     qi=0; for i in ${QQQ}; do ((qi=qi+1)); m_c[qi]=${i}; done 
    88     #- Recherche des tags 
    89     QQQ=$(sed -n -e "s/^#-T-  *${m_n}  *//p" ${F_DEF}); 
    90     [ '\?'"${QQQ}" = '\?' ] && \ 
    91       { echo 'Tags not found for '${m_n}; exit 3; } 
    92     qi=0; for i in ${QQQ} 
    93       do  
    94         ((qi=qi+1));  
    95          if [ ${no_tag} = 'false' ]; then 
    96            m_t[qi]=${i};  
    97          else 
    98            m_t[qi]='?' 
    99          fi 
    100       done 
    101     #- Recherche des serveurs CVS 
    102     QQQ=$(sed -n -e "s/^#-I-  *${m_n}  *//p" ${F_DEF}); 
    103     [ '\?'"${QQQ}" = '\?' ] && \ 
    104       { echo 'Indexes not found for '${m_n}; exit 3; } 
    105     qi=0; for i in ${QQQ} 
     83       echo 'Try "'${b_n}' -h"' 1>&2; exit 3; } 
     84    #- Extract the repository informations 
     85    #- ( index, repository system, servers address ) 
     86    while read v0 v1 v2 v3 
    10687      do 
    107         ((qi=qi+1)); 
    108         QQS=$(sed -n -e "s/^#-S-  *${i}  *//p" ${F_DEF}); 
    109         [ '\?'"${QQS}" = '\?' ] && \ 
    110           { echo 'Server number '${i}' not found'; exit 3; } 
    111         m_s[qi]=${QQS}; 
    112       done 
    113     #- Recherche des directories 
    114     QQQ=$(sed -n -e "s/^#-D-  *${m_n}  *//p" ${F_DEF}); 
    115     [ '\?'"${QQQ}" = '\?' ] && \ 
     88        [[ -n "${v0}" && "${v0}" = '#-S-' ]] && \ 
     89         { r_p[${v1}]=${v2}; r_s[${v1}]=${v3}; } 
     90      done <${F_DEF} 
     91    unset v0 v1 v2 v3; 
     92    #- Extract the model informations 
     93    while read v0 v1 v2 
     94      do 
     95        [[ -n "${v1}" && "${v1}" = "${m_n}" ]] && \ 
     96         { 
     97          #- model manager email address 
     98          [[ "${v0}" = '#-M-' ]] && { m_m=${v2}; continue; } 
     99          #- model components 
     100          [[ "${v0}" = '#-C-' ]] && \ 
     101           { 
     102            qi=0; 
     103            for i in ${v2}; do ((qi=qi+1)); m_c[${qi}]=${i}; done; 
     104            continue; 
     105           } 
     106          #- model tags 
     107          [[ "${v0}" = '#-T-' ]] && \ 
     108           { 
     109            qi=0; 
     110            for i in ${v2} 
     111             do 
     112              ((qi=qi+1)); 
     113              [[ ${no_tag} = 'false' ]] && \ 
     114               { m_t[${qi}]=${i}; }     || \ 
     115               { m_t[${qi}]='?'; } 
     116             done 
     117            continue; 
     118           } 
     119          #- model repository information indexes 
     120          [[ "${v0}" = '#-I-' ]] && \ 
     121           { 
     122            qi=0; 
     123            for i in ${v2} 
     124             do 
     125               ((qi=qi+1)); 
     126               m_p[${qi}]=${r_p[${i}]}; 
     127               [[ ${m_p[${qi}]} = svn || ${m_p[${qi}]} = cvs ]] || \ 
     128                { 
     129                 echo 'System '"${m_p[${qi}]}"' not supported' 1>&2; 
     130                 exit 3; 
     131                } 
     132               m_s[${qi}]=${r_s[${i}]}; 
     133               [[ -z "${m_s[${qi}]}" ]] && \ 
     134                { 
     135                 echo 'Server '${i}'  not found for '${m_n}; 
     136                 exit 3; 
     137                } 
     138             done 
     139            continue; 
     140           } 
     141          #- model installation directories 
     142          [[ "${v0}" = '#-D-' ]] && \ 
     143           { 
     144            qi=0; 
     145            for i in ${v2}; 
     146             do 
     147              ((qi=qi+1)); 
     148              m_d[${qi}]=${i}; 
     149              [[ -z "${m_l[${qi}]}" ]] && { m_l[${qi}]="modeles"; } 
     150             done 
     151            continue; 
     152           } 
     153          #- model working local directories 
     154          [[ "${v0}" = '#-L-' ]] && \ 
     155           { 
     156            qi=0; 
     157            for i in ${v2}; 
     158             do 
     159              ((qi=qi+1)); 
     160              m_l[${qi}]=${i}; 
     161             done 
     162            continue; 
     163           } 
     164         } 
     165      done <${F_DEF} 
     166    unset v0 v1 v2 
     167    #- Validate the model informations 
     168    #- model manager email address 
     169    [[ -z "${m_m}" ]] && \ 
     170     { echo 'Manager email address not found for '${m_n}; exit 3; } 
     171    #- model components 
     172    [[ ${#m_c[@]} = 0 ]] && \ 
     173     { echo 'Components not found for '${m_n}; exit 3; } 
     174    #- model tags 
     175    [[ ${#m_t[@]} = 0 ]] && \ 
     176     { echo 'Tags not found for '${m_n}; exit 3; } 
     177    #- model repository information indexes 
     178    [[ ${#m_p[@]} = 0 || ${#m_s[@]} = 0 ]] && \ 
     179     { echo 'Indexes not found for '${m_n}; exit 3; } 
     180    #- model installation directories 
     181    [[ ${#m_d[@]} = 0 ]] && \ 
    116182      { echo 'Target Directories not found for '${m_n}; exit 3; } 
    117     qi=0; for i in ${QQQ}; do ((qi=qi+1)); m_d[qi]=${i}; m_l[qi]="modeles"; done      
    118     #- Recherche des local directories 
    119     QQQ=$(sed -n -e "s/^#-L-  *${m_n}  *//p" ${F_DEF}); 
    120     [ '\?'"${QQQ}" = '\?' ] || \ 
    121     qi=0; for i in ${QQQ}; do ((qi=qi+1)); m_l[qi]=${i}; done      
     183    #- model working local directories 
     184    # N/A 
    122185  } 
    123 #---------------------------------------------------------------- 
    124 # envoi d'un mail si c'est la premiere fois qu on utilise modipsl 
    125 #      ie directory ~/.modipsl do not exist 
    126 #---------------------------------------------------------------- 
     186#--- 
     187#- send an email at the first use of modipsl 
     188#- ie directory ~/.modipsl does not exist 
     189#--- 
    127190D_LOG=${HOME}/.modipsl 
    128 [ -d "${D_LOG}" ] || { mkdir "${D_LOG}" ; echo `date +"%D %T"` `whoami` `uname -m` first usage of model | ${MAIL_COM} -s "first usage of modipsl" ${MAIL_ADDRESS} >/dev/null 2>&1 ; echo `date +"%D %T"` creation >"${D_LOG}"/first ; } 
    129 #-------------------------- 
    130 #- Traitement du "help" --- 
    131 #-------------------------- 
    132 if [ ${m_a} = 'help' ]; then 
     191[[ -d "${D_LOG}" ]] || \ 
     192  { 
     193    mkdir "${D_LOG}"; 
     194    echo $(date +"%D %T") $(whoami) $(uname -m) \ 
     195     first use of model | \ 
     196    ${MAIL_COM} -s "first use of modipsl" \ 
     197     ${MAIL_ADDRESS} >/dev/null 2>&1; 
     198    echo $(date +"%D %T") creation >"${D_LOG}"/first; 
     199  } 
     200#--- 
     201#- "help" action 
     202#--- 
     203[[ ${m_a} = 'help' ]] && \ 
     204 { 
    133205  echo ' '; 
    134   if [ '\?'"${m_n}" = '\?' ]; then 
     206  if [ -z "${m_n}" ]; then 
     207    echo ${b_n} 'extracts the components of a model'; 
     208    echo ' '; 
    135209    echo 'Usage    :'; 
    136210    echo ${b_n} '[-h]'; 
     
    140214    echo 'h model-name : help on model'; 
    141215    echo 'e/u/d/r      : extract/update/diff/remove model'; 
    142     echo 'H            : suppreses the tags and takes the HEAD version'; 
     216    echo 'H            : suppress the tags and take the HEAD version'; 
    143217    echo 'v            : verbose mode'; 
    144218    echo 'Defaults     : -e'; 
     
    146220    echo 'model_name in :'; 
    147221    qi=0; while (( ${qi} < ${#m_x[@]} )); 
    148       do ((qi=qi+1)); echo ${m_x[qi]}; done 
     222      do ((qi=qi+1)); echo ${m_x[${qi}]}; done 
    149223  else 
    150     echo 'Modele      : '${m_n}; 
     224    echo 'model : '${m_n}; 
    151225    echo ' '; 
    152     sed -n -e "s/^#-H-  *${m_n}  *//p" ${F_DEF}; 
     226    while read v0 v1 v2 
     227     do 
     228       [[ -n "${v0}" && "${v0}" = '#-H-' && \ 
     229          -n "${v1}" && "${v1}" = "${m_n}" ]] && { echo ${v2}; } 
     230     done <${F_DEF} 
     231    unset v0 v1 v2; 
     232    echo ' '; 
     233    echo 'model manager email address : '${m_m}; 
    153234    echo ' '; 
    154235    qi=0; while (( ${qi} < ${#m_c[@]} )) 
    155236      do 
    156237        ((qi=qi+1)); 
    157         echo 'Component '${qi}' : '${m_c[qi]}; 
    158         echo 'Tag       '${qi}' : '${m_t[qi]}; 
    159         echo 'Server    '${qi}' : '${m_s[qi]}; 
    160         echo 'Directory '${qi}' : '${m_d[qi]}; 
    161         echo 'Local Dir '${qi}' : '${m_l[qi]}; 
     238        echo 'Component '${qi}' : '${m_c[${qi}]}; 
     239        echo 'Tag       '${qi}' : '${m_t[${qi}]}; 
     240        echo 'System    '${qi}' : '${m_p[${qi}]}; 
     241        echo 'Server    '${qi}' : '${m_s[${qi}]}; 
     242        echo 'Directory '${qi}' : '${m_d[${qi}]}; 
     243        echo 'Local Dir '${qi}' : '${m_l[${qi}]}; 
    162244      done 
    163245  fi 
    164246  echo ' '; 
    165247  exit 0; 
    166 fi 
    167 #---------------------------------------------------------- 
    168 # enregistrement de la commande dans une log 
    169 #---------------------------------------------------------- 
     248 } 
     249#--- 
     250#- Record information about the action in the "log" file 
     251#--- 
    170252F_LOG=${d_n}'/log' 
    171253echo "${F_LOG}" 
    172 echo `date +"%D %T"` $0 $* >>"${F_LOG}" 
    173 #------------- 
    174 #- VERBOSE --- 
    175 #------------- 
     254echo $(date +"%D %T") $0 $* >>"${F_LOG}" 
     255#--- 
     256#- Verbose mode 
     257#--- 
    176258[ ${m_v} = 'verbose' ] && \ 
    177259 { echo '--- Model        : '${m_n}; 
    178260   echo '--- Action       : '${m_a}; 
    179261   echo '--- Mode         : '${m_v}; } 
    180 #--------------------------------------------- 
    181 #- record in F_LOG file model information  --- 
    182 #--------------------------------------------- 
     262#--- 
     263#- Record information about the action in the "log" file 
     264#--- 
    183265{ echo '--- Model        : '${m_n}; 
    184266  echo '--- Action       : '${m_a}; 
    185   echo '--- Mode         : '${m_v};  
     267  echo '--- Mode         : '${m_v}; 
    186268  echo '--- Mail address : '${m_m}; } >>"${F_LOG}" 
    187 #----------------------------------------- 
    188 #- Repertoire d'accueil des composants --- 
    189 #----------------------------------------- 
    190 ###d_m=${d_n}'/../modeles'; 
    191 d_m=${d_n}'/../'; 
    192 #-------------------------------------------------------------------- 
    193 #- Envoi d'un mail la premiere fois  qu on appelle model de ce modele 
    194 #-    ie file ~/.modipsl/log.${m_n} 
    195 #-------------------------------------------------------------------- 
     269#--- 
     270#- Components root directory 
     271#--- 
     272d_m=${d_n}'/..'; 
     273#--- 
     274#- send an email at the first use of this IPSL model 
     275#- ie file ~/.modipsl/log.${m_n} does not exist 
     276#--- 
    196277M_LOG=${D_LOG}/log.${m_n} 
    197 [ -f "${M_LOG}" ] || { echo `date +"%D %T"` `whoami` `uname -m` first usage of model ${m_n} | ${MAIL_COM} -s "first usage of model ${m_n}" ${m_m} >/dev/null 2>&1 ; echo `date +"%D %T"` model ${m_n} >"${M_LOG}" ; } 
    198 #------------------------------- 
    199 #- Extraction des composants --- 
    200 #------------------------------- 
     278[[ -f "${M_LOG}" ]] || \ 
     279  { 
     280   echo $(date +"%D %T") $(whoami) $(uname -m) \ 
     281    first usage of model ${m_n} | \ 
     282   ${MAIL_COM} -s "first usage of model ${m_n}" \ 
     283    ${m_m} >/dev/null 2>&1; 
     284   echo $(date +"%D %T") model ${m_n} >"${M_LOG}"; 
     285  } 
     286#--- 
     287#- Extract the model components 
     288#--- 
    201289qi=0; while (( ${qi} < ${#m_c[@]} )) 
    202290  do 
    203     ((qi=qi+1)); zc=${m_c[qi]}; zt=${m_t[qi]}; zs=${m_s[qi]}; zd=${m_d[qi]}; zl=${m_l[qi]}; 
    204     [ ${m_v} = 'verbose' ] && \ 
     291    ((qi=qi+1)); 
     292    zc=${m_c[${qi}]}; zt=${m_t[${qi}]}; 
     293    zp=${m_p[${qi}]}; zs=${m_s[${qi}]}; 
     294    zd=${m_d[${qi}]}; zl=${m_l[${qi}]}; 
     295    [[ ${m_v} = 'verbose' ]] && \ 
    205296     { echo '---'; 
    206297       echo '--- Component  : '${zc}; 
    207298       echo '--- Tag        : '${zt}; 
    208        echo '--- CVS Server : '${zs};  
    209        echo '--- Directory  : '${zd};  
     299       echo '--- System     : '${zp}; 
     300       echo '--- Server     : '${zs}; 
     301       echo '--- Directory  : '${zd}; 
    210302       echo '--- Local Dir  : '${zl}; } 
    211 #--------------------------------------------- 
    212 #- record in F_LOG file model information  --- 
    213 #--------------------------------------------- 
     303#--- 
     304#-   Record information about the action in the "log" file 
     305#--- 
    214306     { echo '---'; 
    215307       echo '--- Component  : '${zc}; 
    216308       echo '--- Tag        : '${zt}; 
    217        echo '--- CVS Server : '${zs};  
    218        echo '--- Directory  : '${zd};  
     309       echo '--- System     : '${zp}; 
     310       echo '--- Server     : '${zs}; 
     311       echo '--- Directory  : '${zd}; 
    219312       echo '--- Local Dir  : '${zl}; } >>"${F_LOG}" 
    220     case ${m_a} in 
    221       ( checkout | update | diff ) 
    222         c_c='(cd '${d_m}/${zl}'; cvs -d :pserver:'${zs}' '${m_a}; 
    223         [ ${m_a} = 'checkout' -a ${zt} != '?' ] && \ 
    224          { c_c=${c_c}' -r '${zt}; } 
    225         [ ${m_a} = 'checkout' -a ${zd} != '.' ] && \ 
    226          { c_c=${c_c}' -d '${zd}; }   
    227         c_c=${c_c}' '${zc}')';; 
    228       ( remove ) 
    229         c_c='(cd '${d_m}/${zl}'; rm -rf '${zc}')';; 
    230       (*) 
    231         echo 'Action '"${m_a}"' not supported' 1>&2; 
    232         exit 4;; 
    233     esac 
    234     grep "${zs%%/*}"'.*/'"${zs#*/}" ~/.cvspass > /dev/null; 
    235     if [ ${?} != 0 ]; then 
    236       c_z='cvs -d :pserver:'${zs}' login'; 
    237       [ ${m_v} = 'verbose' ] && { echo ${c_z}; } 
    238       eval ${c_z}; 
    239     fi 
    240     [ ${m_v} = 'verbose' ] && { echo '--- Command    : '${c_c}; } 
     313#--- 
     314    [[ ${zp} = 'cvs' ]] && \ 
     315     { 
     316      case ${m_a} in 
     317        ( checkout | update | diff ) 
     318          c_c='(cd '${d_m}/${zl}'; '${zp}' -d :pserver:'${zs}' '${m_a}; 
     319          [[ ${m_a} = 'checkout' && ${zt} != '?' ]] && \ 
     320           { c_c=${c_c}' -r '${zt}; } 
     321          [[ ${m_a} = 'checkout' && ${zd} != '.' ]] && \ 
     322           { c_c=${c_c}' -d '${zd}; } 
     323          c_c=${c_c}' '${zc}')';; 
     324        ( remove ) 
     325          c_c='(cd '${d_m}/${zl}'; rm -rf '${zc}')';; 
     326      esac 
     327      grep "${zs%%/*}"'.*/'"${zs#*/}" ~/.cvspass > /dev/null; 
     328      [[ ${?} != 0 ]] && \ 
     329       { 
     330        c_z='cvs -d :pserver:'${zs}' login'; 
     331        [[ ${m_v} = 'verbose' ]] && { echo ${c_z}; } 
     332        eval ${c_z}; 
     333       } 
     334     } 
     335#--- 
     336    [[ ${zp} = 'svn' ]] && \ 
     337     { 
     338      case ${m_a} in 
     339        ( checkout | update | diff ) 
     340          c_c='(cd '${d_m}/${zl}'; '${zp}' '${m_a}; 
     341          [[ ${m_a} = 'checkout' && ${zt} != '?' ]] && \ 
     342           { c_c=${c_c}' -r '${zt}; } 
     343          c_c=${c_c}' '${zs}'/'${zc}; 
     344          [[ ${m_a} = 'checkout' && ${zd} != '.' ]] && \ 
     345           { c_c=${c_c}' '${zd}; } 
     346          c_c=${c_c}')';; 
     347        ( remove ) 
     348          c_c='(cd '${d_m}/${zl}'; rm -rf '${zc##*/}')';; 
     349      esac 
     350     } 
     351#--- 
     352    [[ ${m_v} = 'verbose' ]] && { echo '--- Command    : '${c_c}; } 
    241353    eval ${c_c}; 
    242354  done 
    243 #-------------------------------------------------------- 
    244 #- Traitement du repertoire WORK pour les modeles OPA --- 
    245 #-------------------------------------------------------- 
     355#--- 
     356#- Actions related to the WORK directory for the OPA models 
     357#--- 
    246358case ${m_n} in 
    247   ( EEL* |  ORCA* | OFF_TRC | IPSLCM* | ORCA_TOYATM | NEMO_ORCA2_LIM | GYRE ) 
     359  ( EEL* |  ORCA* | OFF_TRC | IPSLCM* | ORCA_TOYATM | \ 
     360    NEMO_ORCA2_LIM | GYRE ) 
    248361    d_m1=${d_m}/modeles/OPA  ; 
    249362    [ ${m_a} = 'checkout' -o ${m_a} = 'remove' ] && 
     
    252365   { 
    253366     [ -d ${d_m1}/WORK ] || mkdir ${d_m1}/WORK; 
    254      cd ${d_m1}/WORK;  
     367     cd ${d_m1}/WORK; 
    255368# Getting the configuration files to build the Makefile 
    256      ln -sf ../../../*/${m_n}/scripts/BB_make AA_make ;  
     369     ln -sf ../../../*/${m_n}/scripts/BB_make AA_make; 
    257370     ln -sf ../../../*/${m_n}/scripts/BB_make.ldef AA_make.ldef ; 
    258371     case ${m_n} in 
     
    266379         ln -sf ../SRC_ORCA/*.[Ffh] .;; 
    267380       ( ORCA*LIM | IPSLCM* | ORCA_TOYATM | ORCA*LMD* ) 
    268          [ "${m_n}" = "IPSLCM4_LOOP" ] && echo " Creation du catalogue OPA/WORK = ORCA + LIM + TRC" || echo " Creation du catalogue OPA/WORK = ORCA + LIM" 
     381         [ "${m_n}" = "IPSLCM4_LOOP" ] && \ 
     382          echo " Creation du catalogue OPA/WORK = ORCA + LIM + TRC" || \ 
     383          echo " Creation du catalogue OPA/WORK = ORCA + LIM" 
    269384         ln -sf ../SRC_ORCA/*.[Ffh] . 
    270385         [ "${m_n}" = "IPSLCM4_LOOP" ] && \rm *.passivetrc.h 
    271          [ "${m_n}" = "IPSLCM4_LOOP" ] && ln -sf ../SRC_TRC/*.[Ffh] ../SRC_TRC/trc_sms/*.[Ffh] . 
     386         [ "${m_n}" = "IPSLCM4_LOOP" ] && \ 
     387           ln -sf ../SRC_TRC/*.[Ffh] ../SRC_TRC/trc_sms/*.[Ffh] . 
    272388         ln -sf ../SRC_UCL/[a-z]* .;; 
    273389       ( ORCA*_LIM_TRC ) 
     
    288404     esac 
    289405# Building the standard list of source files 
    290      cat >.patron <<"EOF"  
     406     cat >.patron <<"EOF" 
    291407CVS 
    292408SRC_PARAM 
     
    307423thersf.f 
    308424EOF 
    309      ls -1 | fgrep -v -f .patron  >SRC_FILE_LIST ; cp SRC_FILE_LIST SRC_FILE_LIST.temp ; 
     425     ls -1 | fgrep -v -f .patron  >SRC_FILE_LIST; 
     426     cp SRC_FILE_LIST SRC_FILE_LIST.temp; 
    310427# 
    311428     KEY=$(grep P_P AA_make.ldef); 
     
    313430    };; 
    314431esac 
    315 #------------- 
    316 #- [EN]FIN --- 
    317 #------------- 
     432#--- 
     433#- That's all folks 
     434#--- 
    318435exit 0; 
Note: See TracChangeset for help on using the changeset viewer.