source: BOL/script_install/creation_modipsl.sh @ 4417

Last change on this file since 4417 was 4417, checked in by fhourdin, 16 months ago

Poursuite nettoyage ~lmdz/pub

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 7.5 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_archives/unstable/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_archives/unstable/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_archives/unstable/
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_archives/netcdf/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.