source: BOL/script_install/creation_modipsl.sh @ 4459

Last change on this file since 4459 was 4459, checked in by Laurent Fairhead, 15 months ago

Modification needed to be compatible with IOIPSL before and after revision 6272 on IOPSL/trunk :
In IOIPSL, calendar attribute changed from "360d" to "360_day". Now in ORCHIDEE, check both attributes.

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 7.6 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
140vorig=v18 # 2023/03/09 modification ORCHIDEE pour compatibilité IOIPSL: on rajoute 360_day comme attribut
141
142modipsltar=modipsl.$vorig.tar
143
144##### tmpdir=/tmp/tmpmodipsl$$
145tmpdir=$local/tmpmodipsl$$
146mkdir -p $tmpdir
147cd $tmpdir
148if [ -f /u/lmdz/WWW/Distrib/$modipsltar.gz ] ; then
149   cp /u/lmdz/WWW/Distrib/$modipsltar.gz .
150else
151   wget http://www.lmd.jussieu.fr/~lmdz/Distrib/$modipsltar.gz
152fi
153
154tar xvf $modipsltar.gz
155#gzip -9 $modipsltar
156
157readme_file=Readme_LMDZ$version.md
158
159cat > $readme_file <<eod
160This model was downloaded from
161http://www.lmd.jussieu.fr/~lmdz/pub/src_archives/unstable/modipsl.$version.tar.gz
162
163It was insalled with the \`install_lmdz.sh\` soft
164
165In order to see all the available versions, check
166http://www.lmd.jussieu.fr/~lmdz/pub/src_archives/unstable/Readme
167
168``
169eod
170
171cd modipsl/modeles
172
173###########################################################################
174# On effectue le svn checkout sur une machine avec un ancien svn
175# pour eviter que les utilisateurs se retrouvent avec un svn plus ancien
176# que celui sur lequel la version a été créée.
177echo Premier svn checkout $rev $svnmodel $LMDZ
178#ssh butler ' ( cd '`pwd`' ; svn checkout '$rev' '$svnmodel' '$LMDZ' ) '
179echo svn checkout $rev $svnmodel $LMDZ 
180svn checkout $rev $svnmodel $LMDZ 
181svn info LMDZ   >> ../../$readme_file
182echo '``'       >> ../../$readme_file
183
184###########################################################################
185
186cd -
187echo $version
188tar cvf modipsl.$version.tar modipsl $readme_file
189
190gzip modipsl.$version.tar
191mv modipsl.$version.tar.gz ~/WWW/Distrib
192
193cd  ~/WWW/Distrib
194ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
195cd ~/WWW/pub/src_archives/unstable/
196
197# Ajout pour la nouvelle arborescence
198ln -sf ../../../Distrib/modipsl.$version.tar.gz .
199ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
200cd  ~/WWW/Distrib
201
202
203####################################################################
204# La partie ci-dessous concerne le check des versions.
205# On devrait sans doute appeler rechech.sh
206####################################################################
207
208if [ $check = 1 ] ; then
209   ./check_version.sh $version  >| WORK/check.out.$version 2>&1
210   cat tmp.resu >> Correspondance
211   cat tmp.resu >> LISMOI.$branche
212   \cp -f LISMOI.trunk ../pub/src_archives/Readme
213###
214### clean up of /tmp/lmdz if everything went smoothly
215###
216grep -q 'OK     OK      OK2     OK' tmp.resu
217RET=$?
218   if [ ${RET} -eq 0 ] ; then
219      echo "Quality control checks out for version $version"
220      echo "We could cleanup /tmp/lmdz/LMDZ$version" 
221      echo "\rm -rf /tmp/lmdz/LMDZ$version" 
222      \rm -rf /tmp/lmdz/LMDZ$version
223   fi
224fi
Note: See TracBrowser for help on using the repository browser.