source: BOL/script_install/creation_modipsl.sh @ 4372

Last change on this file since 4372 was 4372, checked in by fhourdin, 19 months ago

Ajout d'un Readme dans le tar contenant la svn

La nouvelle version de install_lmdz.sh fonctionne sans svn.
Quelques dépendances supplémentaires aussi dans install_lmdz.sh

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 7.4 KB
Line 
1#!/bin/bash
2
3#set -vx
4unset LANG
5
6#####################################################################
7# Choix eventuel de la version : branche ou trunk et svn particuliere
8# Le script est lancé tous les soirs par un script sur lmdz-cq par lmdz
9# On peut aussi le relancé depuis la même machine en interactif
10# si le trusting de la nuit a échoué, soit que la raison soit extérieure
11# au modèle, soit qu'on fasse une correction svn entre temps :
12#   ./creation_modipsl.sh -force -latest 20221004
13# où la dernière version ayant marché est 20221004.trunk
14#####################################################################
15
16branche=IPSLCM6.0.15
17branche=trunk
18rev="-r 4370"
19rev=""
20latest="20221201"
21latest=""
22#latest=20210512 # Pour imposer de tester la convergence avec une version passee
23
24TMP_D=/tmp/lmdz ; mkdir -p $TMP_D
25
26if [ $branche != trunk ] ; then
27    echo cas non prevu
28#     exit
29fi
30
31check=0
32check=1 # On verifie un certain nombre de choses.
33force=0
34
35optionnel=" -cpp ORCHIDEE_NOZ0H "
36
37local=`pwd`
38while (($# > 0)) ; do
39  case $1 in
40      "-h") cat <<fin
41USAGE creation_modipsl.sh
42Crée les archives du modele pour installation par install.sh
43-force : pour créeer une seconde version le meme jour
44fin
45        exit ;;
46      "-force") force=1 ; shift ;;
47      "-r") rev="-r $2" ; shift ; shift ;;
48      "-b") branche="$2" ; shift ; shift ;;
49      "-latest") latest=$2 ; shift ; shift ;;
50      *) echo option non prevue ; ./creation_modipsl.sh -h ; exit
51  esac
52done
53
54# machine_cible=erskine.lmd.jussieu.fr
55#machine_cible=carey
56machine_cible=lmdz-cq
57if [ "`hostname`" != "$machine_cible" ] ; then echo Lancer sur $machine_cible ; exit ; fi
58set -ex
59
60###########################################################################
61# localisation svn
62###########################################################################
63# cvs -d :pserver:lmdzbrowse@cvs.lmd.jussieu.fr:/home/cvsroot checkout LMDZ5
64LMDZv=LMDZ6
65if [ $LMDZv = LMDZ6 ] ; then
66   LMDZ=LMDZ
67else
68   LMDZ=LMDZ5
69fi
70
71if [ $branche == trunk ] ; then
72   branchepath=trunk
73else
74   branchepath=branches/$branche
75fi
76svnmodel=https://svn.lmd.jussieu.fr/LMDZ/$LMDZv/$branchepath
77
78
79##########################################################################
80# Recuperation des infos svn pour le choix du nom du modele
81##########################################################################
82echo svn info $rev $svnmodel :
83svn info $rev $svnmodel
84datesvn=`svn info $rev $svnmodel | grep "Last Changed Date" | awk ' { print $4 } ' | sed -e 's/-//g'`
85echo DATESVN $datesvn
86
87if [  "$datesvn" = "" ] ; then
88#    DATESVN vide
89    datesvn=`svn info https://svn.lmd.jussieu.fr/LMDZ/$LMDZv/$branchepath $rev | grep 'Date de la dern' | awk ' { print $6 } '  | sed -e 's/-//g'`
90fi
91echo datesvn $datesvn
92version=$datesvn.$branche
93echo version $version
94
95##########################################################################
96# Sauvegarde eventuelle de la version precedente si deux versions
97# sont creees le meme jour
98##########################################################################
99if [ -f modipsl.$version.tar.gz ] ; then
100   if [ $force = 1 ] ; then
101      if [ -d $TMP_D/LMDZ$version ] ; then mv -f $TMP_D/LMDZ$version $TMP_D/LMDZ${version}_$$ ; fi
102      cd /home/users/lmdz/WWW/RESUBENCH/$branche/gfortran
103      if [ -f ${datesvn} ] ; then mv -f ${datesvn} ${datesvn}_$$ ; fi
104      ln -sf ${datesvn}_$$ latest
105      cd $local
106      if [ -f modipsl.$version.tar.gz ] ; then mv modipsl.$version.tar.gz modipsl.${version}_$$.tar.gz ; fi
107      echo ${datesvn} ${datesvn}_$$
108    else
109      echo Le fichier modipsl.$version.tar.gz existe deja
110      echo Preparer un changement automatique de nom pour automatiser
111      echo la creation de plusieurs versions dans la journee
112      exit
113    fi
114fi
115
116
117if [ "$latest" != "" ] ; then
118   cd /home/users/lmdz/WWW/RESUBENCH/$branche/gfortran
119   \rm -f latest
120   ln -s `pwd`/$latest latest
121   cd -
122fi
123
124#####################################################################
125# Les fichiers modipsl.vN.tar.gz contiennent des versions successives
126# de IOIPSL
127# Les versions modipsl.20080305.v5.tar.gz contiennent des versions
128# successives avec de modipsl les dates correspondant a des versions
129# successives de LMDZ4 puis LMDZ5
130#####################################################################
131vorig=v8  # updated version of IOIPSL 04/04/2012, including 'rebuild' script
132vorig=v9  # updated version of IOIPSL 07/08/2013, modfication de AA_male.ldef pour g95
133vorig=v10 # 'rebuild' is reintroduced in v9 . Was lost even in v8 ... (FH)
134vorig=v11 # update ORCHIDEE version to r2247, changes needed in install.sh for ORCHIDEE compilation
135vorig=v12 # modification AA_make.gdef pour ada. on garde g95 pour install alors qu'il a disparu dans modipsl
136vorig=v13 # mise a jour ORCHIDEE (r3013) pour problème d'interface après le rajout de sinang=rmu0 dans surf_land_orchidee_mod.F90
137vorig=v14 # dans ioipsl/histcom.f9, nb_var_max : 600 -> 1OOO, nb_zax_max : 5 -> 100, flio_max_dims : 15 -> 50 pour rebuild cosp
138vorig=v15 # modifications pour tenir compte de jean-zay nouvelle machine Idris
139vorig=v16 # 2022/02/17 on bascule sur orchidee CMIP6
140
141modipsltar=modipsl.$vorig.tar
142
143##### tmpdir=/tmp/tmpmodipsl$$
144tmpdir=$local/tmpmodipsl$$
145mkdir -p $tmpdir
146cd $tmpdir
147if [ -f /u/lmdz/WWW/Distrib/$modipsltar.gz ] ; then
148   cp /u/lmdz/WWW/Distrib/$modipsltar.gz .
149else
150   wget http://www.lmd.jussieu.fr/~lmdz/Distrib/$modipsltar.gz
151fi
152
153tar xvf $modipsltar.gz
154#gzip -9 $modipsltar
155
156readme_file=Readme_LMDZ$version.md
157
158cat > $readme_file <<eod
159This model was downloaded from
160http://www.lmd.jussieu.fr/~lmdz/pub/src/modipsl.$version.tar.gz
161
162It was insalled with the \`install_lmdz.sh\` soft
163
164In order to see all the available versions, check
165http://www.lmd.jussieu.fr/~lmdz/pub/src/Readme
166
167``
168eod
169
170cd modipsl/modeles
171
172###########################################################################
173# On effectue le svn checkout sur une machine avec un ancien svn
174# pour eviter que les utilisateurs se retrouvent avec un svn plus ancien
175# que celui sur lequel la version a été créée.
176echo Premier svn checkout $rev $svnmodel $LMDZ
177#ssh butler ' ( cd '`pwd`' ; svn checkout '$rev' '$svnmodel' '$LMDZ' ) '
178echo svn checkout $rev $svnmodel $LMDZ 
179svn checkout $rev $svnmodel $LMDZ 
180svn info LMDZ   >> ../../$readme_file
181echo '``'       >> ../../$readme_file
182
183###########################################################################
184
185cd -
186echo $version
187tar cvf modipsl.$version.tar modipsl $readme_file
188
189gzip modipsl.$version.tar
190mv modipsl.$version.tar.gz ~/WWW/Distrib
191
192cd  ~/WWW/Distrib
193ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
194cd ~/WWW/pub/src
195
196# Ajout pour la nouvelle arborescence
197ln -sf ../../Distrib/modipsl.$version.tar.gz .
198ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
199cd  ~/WWW/Distrib
200
201
202####################################################################
203# La partie ci-dessous concerne le check des versions.
204# On devrait sans doute appeler rechech.sh
205####################################################################
206
207if [ $check = 1 ] ; then
208   ./check_version.sh $version  >| WORK/check.out.$version 2>&1
209   cat tmp.resu >> Correspondance
210   cat tmp.resu >> LISMOI.$branche
211   \cp -f LISMOI.trunk ../pub/src/Readme
212###
213### clean up of /tmp/lmdz if everything went smoothly
214###
215grep -q 'OK     OK      OK2     OK' tmp.resu
216RET=$?
217   if [ ${RET} -eq 0 ] ; then
218      echo "Quality control checks out for version $version"
219      echo "We could cleanup /tmp/lmdz/LMDZ$version" 
220      echo "\rm -rf /tmp/lmdz/LMDZ$version" 
221      \rm -rf /tmp/lmdz/LMDZ$version
222   fi
223fi
Note: See TracBrowser for help on using the repository browser.