source: BOL/script_install/creation_modipsl.sh @ 4445

Last change on this file since 4445 was 4423, checked in by Laurent Fairhead, 22 months ago

copy in wrong directory

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 7.5 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=""
[4372]20latest="20221201"
[3926]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
[4101]31check=0
[3926]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
[4101]76svnmodel=https://svn.lmd.jussieu.fr/LMDZ/$LMDZv/$branchepath
[3926]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
[4101]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'`
[3926]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
[4372]116
[3926]117if [ "$latest" != "" ] ; then
118   cd /home/users/lmdz/WWW/RESUBENCH/$branche/gfortran
119   \rm -f latest
[4372]120   ln -s `pwd`/$latest latest
121   cd -
[3926]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
[4080]139vorig=v16 # 2022/02/17 on bascule sur orchidee CMIP6
[3926]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
[4372]156readme_file=Readme_LMDZ$version.md
[3926]157
[4372]158cat > $readme_file <<eod
159This model was downloaded from
[4417]160http://www.lmd.jussieu.fr/~lmdz/pub/src_archives/unstable/modipsl.$version.tar.gz
[3926]161
[4372]162It was insalled with the \`install_lmdz.sh\` soft
[3926]163
[4372]164In order to see all the available versions, check
[4417]165http://www.lmd.jussieu.fr/~lmdz/pub/src_archives/unstable/Readme
[4372]166
167``
168eod
169
170cd modipsl/modeles
171
[3926]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
[4080]177#ssh butler ' ( cd '`pwd`' ; svn checkout '$rev' '$svnmodel' '$LMDZ' ) '
[4372]178echo svn checkout $rev $svnmodel $LMDZ 
[4080]179svn checkout $rev $svnmodel $LMDZ 
[4372]180svn info LMDZ   >> ../../$readme_file
181echo '``'       >> ../../$readme_file
[4080]182
[3926]183###########################################################################
184
[4372]185cd -
[3926]186echo $version
[4372]187tar cvf modipsl.$version.tar modipsl $readme_file
[3926]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
[4417]194cd ~/WWW/pub/src_archives/unstable/
[3926]195
196# Ajout pour la nouvelle arborescence
[4417]197ln -sf ../../../Distrib/modipsl.$version.tar.gz .
[3926]198ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
199cd  ~/WWW/Distrib
200
201
[4101]202####################################################################
203# La partie ci-dessous concerne le check des versions.
204# On devrait sans doute appeler rechech.sh
205####################################################################
206
[3926]207if [ $check = 1 ] ; then
[4372]208   ./check_version.sh $version  >| WORK/check.out.$version 2>&1
[4101]209   cat tmp.resu >> Correspondance
210   cat tmp.resu >> LISMOI.$branche
[4423]211   \cp -f LISMOI.trunk ../pub/src_archives/Readme
[4197]212###
213### clean up of /tmp/lmdz if everything went smoothly
214###
[4372]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
[3926]223fi
Note: See TracBrowser for help on using the repository browser.