source: BOL/script_install/creation_modipsl.sh @ 5461

Last change on this file since 5461 was 5461, checked in by fhourdin, 3 days ago

Quality control improvements

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