source: BOL/script_install/creation_modipsl.sh @ 5096

Last change on this file since 5096 was 4793, checked in by Laurent Fairhead, 9 months ago

Change in target for convergence tests

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