Index: /BOL/script_install/check_version.sh
===================================================================
--- /BOL/script_install/check_version.sh	(revision 3926)
+++ /BOL/script_install/check_version.sh	(revision 3926)
@@ -0,0 +1,270 @@
+#!/bin/bash
+# $Id$
+
+#########################################################################
+# Verification de a convergence du modele par rapport aux versions
+# precedentes
+# + 1+1=2
+#########################################################################
+
+
+version_ref=latest
+resolution=48x36x19
+resolution=48x36x39 #20160622 : nouveau bench avec deux versions de la physique
+compilo=gfortran
+parallel=none
+parallel=mpi_omp
+tmpdir=/tmp/`whoami` ; mkdir -p $tmpdir
+
+if [ `whoami` = lmdz ] ; then
+   get="ln -sf /u/lmdz/WWW/pub"
+   getold="ln -sf /u/lmdz/WWW/Distrib"
+else
+   get="wget https://www.lmd.jussieu.fr/~lmdz/pub"
+   getold="wget https://www.lmd.jussieu.fr/~lmdz/Distrib"
+fi
+
+if [ `hostname` != cameron.lmd.jussieu.fr ] ; then
+    echo Machine non prevu
+fi
+
+
+# Option pour le debug du script check_version lui meme qui consiste a ne
+# pars reexecuter l'installation et les simulations mais a simplement
+# refaire les diff sur des simulations existantes.
+diagonly=0
+
+
+
+while (($# > 0))
+  do
+  case $1 in
+      "-h") cat <<fin
+check_version.sh [-h] version [version_ref]
+version is the name of the version of LMDZ to be checked modipsl.version.tar.gz
+version_ref is the version to be compared with.
+Default "latest".
+enfo
+fin
+          exit;;
+
+      "-c")
+          compilo="$2" ; shift ; shift ;;
+      *)
+          version="$1" ; shift ; if [ "$#" = 1 ] ; then version_ref=$1 ; shift ; fi ;;
+   esac
+done
+
+
+# branche=`echo $version | cut -d. -f2`
+branche=`echo $version |cut -c 10-`
+datelmdz=`echo $version | cut -d. -f1`
+echo version $version $branche $datelmdz
+
+RESU_D=~/WWW/RESUBENCH/$branche/$compilo
+mkdir -p $RESU_D
+resubench=$RESU_D/$datelmdz
+latest=$RESU_D/$version_ref
+echo version_ref $version_ref $latest
+ls -l  $latest
+
+# recuperation de la version a laquelle on compare pour le message final :
+comparea=`ls -l $RESU_D/$version_ref | awk -F/ ' { print $NF } '`
+
+#  LANCEMENT D UN CERTAIN NOMBRE DE TESTS
+
+
+# Edition de install.sh, install.sh avec bench 48x36x19
+cd $tmpdir
+MODEL=$tmpdir/LMDZ$version
+if [ $diagonly = 0 ] ; then
+  \rm -f install_lmdz.sh ; $get/install_lmdz.sh ; chmod +x install_lmdz.sh
+  ./install_lmdz.sh -v $version -d $resolution -SCM -parallel $parallel
+fi
+
+######################################################
+# Sauvegarde du 1D
+######################################################
+outf=$MODEL/1D/EXEC/NPv6.1L79/ARMCU/REF/restartphy.nc
+if [ -f $outf ] ; then
+   mkdir -p $resubench/ARMCU/REF
+   cp $MODEL/1D/EXEC/NPv6.1L79/ARMCU/REF/restartphy.nc $resubench/ARMCU/REF/
+   cmp -s $resubench/ARMCU/REF/restartphy.nc $latest/ARMCU/REF/restartphy.nc
+   if [ $? = 0 ] ; then converge1D=U ; else converge1D=u ; fi
+else
+   converge1D=-
+fi
+
+
+######################################################
+BENCH=BENCH$resolution
+cd $MODEL/modipsl/mod*/LMD*/$BENCH
+echo BENCH FINI
+ls -lrt
+pwd
+
+
+
+
+
+if [ -f restartphy.nc ] ; then
+#########################################################################
+   echo Verification de la convergence avec la version precedente
+#########################################################################
+# Faite soit sur les restart.nc soit sur une exctraction de ps.nc
+# A une epoque, ne marchait paps avec les restart a cause des traceurs.
+# Le 2014/01/30, ne marchait plus avec ps.nc car les axes de lattiudes
+# s'étaient inversés pour une raison inconnue.
+# 2016/06/21 : on utilise deux versions de la physique pour le test.
+
+# Aide a l'interpretation de resultats problematiques
+#    Les resultats de la simu ancienne physique sont directement 
+#      dans BENC*
+#    Les resultats de la nouvelle physique sont dans SIM1 utilise
+#      pour 1+1=2
+#    Les resultats de la simulation debug sont dans SIMD
+
+   mkdir -p $resubench/$BENCH
+   if [ -f restartphy.nc ] ; then
+      ncks -M -m -h -v ps -O restart.nc $resubench/$BENCH/ps.nc
+      cp restart.nc $resubench/$BENCH/restart.nc
+      cmp -s $resubench/$BENCH/restart.nc $latest/$BENCH/restart.nc
+      if [ $? = 0 ] ; then converge=S ; else converge=s ; fi
+   else
+      converge=-
+   fi
+
+#########################################################################
+   echo Verification de 1+1=2
+#########################################################################
+# 2016/06/21 : 1+1=2 est fait sur la nouvelle physique
+# Permet de tester aussi la convergence numérique
+
+   suf=NPv5.5
+   suf=NPv6.0.14splith
+   cp -f config.def_oraer config.def
+   if [ -f physiq.def_$suf ] ; then \cp -f physiq.def_$suf physiq.def ; fi
+   if [ $diagonly = 0 ] ; then 
+       $getold/unpun.sh
+       chmod +x unpun.sh ; ./unpun.sh -parallel $parallel
+   fi
+   cmp -s SIM2/ps_end.nc SIM1+1/ps_end.nc
+   if [ $? = 0 ] ; then
+       unpun=OK
+   else
+       unpun=-
+   fi
+
+#########################################################################
+   echo Test en fonction du nombre de processeurs
+#########################################################################
+   if [ "$parallel" == "mpi_omp" ] ; then
+      mkdir SIM1_41
+      cd SIM1_41
+      ln -s ../SIM1/start* ../SIM1/limit* ../SIM1/sechiba_rest_in.nc ../SIM1/aer*nc ../SIM1/*def .
+      ../run_local.sh 4 1 ../gcm.e > listing
+      cd ..
+      cmp -s SIM1/restart.nc SIM1_41/restart.nc
+      if [ $? = 0 ] ; then
+          if [ "$unpun" = "OK" ] ; then
+             unpun=OK2
+          else
+             unpun=-OK
+          fi
+      else
+          unpun=${unpun}-
+      fi
+   fi
+
+# 2016/06/21 : comparaison des versions nouvelles physique (dans SIM1)
+#   if [ -f restartphy.nc ] ; then  Correction 2017/04/26
+   if [ -f SIM1/restartphy.nc ] ; then
+      ncks -M -m -h -v ps -O SIM1/restart.nc $resubench/$BENCH/ps$suf.nc
+      cp SIM1/restart.nc $resubench/$BENCH/restart$suf.nc
+      \rm sechiba_out_2.nc sechiba_history.nc sechiba_rest_out.nc
+      cmp -s $resubench/$BENCH/restart$suf.nc $latest/$BENCH/restart$suf.nc
+      if [ $? = 0 ] ; then convergeNP=N ; else convergeNP=n ; fi
+   else
+      convergeNP=-
+   fi
+
+#########################################################################
+   echo Verification en mode debug + parallele
+#########################################################################
+   if [ -f compilegcm.sh ] ; then
+      mv gcm.e gcm.install
+      ./compilegcm.sh -debug
+      mkdir SIMD
+      cd SIMD
+      ln -s ../SIM1/start* ../SIM1/limit* ../SIM1/sechiba_rest_in.nc ../SIM1/aer*nc ../SIM1/*def .
+      ../run_local.sh 2 2 ../gcm.e > listing 2>&1
+      cd ../
+      suf=D
+      if [ -f SIMD/restartphy.nc ] ; then
+         ncks -M -m -h -v ps -O SIMD/restart.nc $resubench/$BENCH/ps$suf.nc
+         cp SIMD/restart.nc $resubench/$BENCH/restart$suf.nc
+         cmp -s $resubench/$BENCH/restart$suf.nc $latest/$BENCH/restart$suf.nc
+         if [ $? = 0 ] ; then convergeD=D ; else convergeD=d ; fi
+      else
+         convergeD=-
+      fi
+   fi
+
+#########################################################################
+   echo Verification de initialisation
+#########################################################################
+   rm -rf ../INIT
+   mkdir ../INIT
+   cp *def ../INIT
+   cd ../INIT
+   pwd
+   $getold/initialisation.sh
+   sed -e 's/grid_resolution=48x36x39/grid_resolution='$resolution'/' initialisation.sh > ini.sh
+   chmod +x ini.sh ; ./ini.sh
+   if [ -f limit.nc ] ; then
+      var=Tsoil01srf01
+      mkdir -p $resubench/START$resolution
+      ncks -M -m -h -v $var startphy.nc -O  $resubench/START$resolution/$var.nc
+      cp startphy.nc $resubench/START$resolution/
+#!     cmp -s  $resubench/START$resolution/$var.nc  $latest/START$resolution/$var.nc
+      cmp -s  $resubench/START$resolution/startphy.nc  $latest/START$resolution/startphy.nc
+      if [ $? = 0 ] ; then
+          init=OK
+      else
+          init=noc
+      fi
+   else
+      init=-
+   fi
+   bench=OK
+else
+   echo PROBLEME : LE BENCH N EST PAS ALLE AU BOUT
+   bench=-
+fi
+
+latest=$RESU_D/latest
+\rm -f $latest
+ln -sf  $resubench $latest
+
+cd $MODEL/m*/m*/
+LMDZ=`\ls -d LMD*` #Nom du modele LMDZ sur modeles/ : LMDZ4, LMDZ5, LMDZ
+
+svn upgrade # Il faut mettre à jour le svn si la version sur 
+            # laquelle le checkout a ete fait est plus ancienne
+            # ce qu'on souhaite par ailleurs pour pouvoir ensuite
+            # commettre depuis une version ancienne de svn (comme celles
+            # des SL du réseau local
+svnrel=`svn info $LMDZ | grep 'Changed Rev' | head -1 | awk ' { print $4 } '`
+#FH 20160822
+if [ "$svnrel" = "" ] ; then
+  svnrel=`svn info $LMDZ | grep vision | head -1 | awk ' { print $2 } '`
+fi
+
+ccc=$converge$convergeNP$convergeD$converge1D
+if [ "$ccc" = "SNDU" ] ; then ccc="OK " ;  fi
+
+
+echo $version'		'$svnrel'	'$bench'	'$ccc '	'$unpun'	'$init'   (ref:' $comparea ')'
+
+exit
+rm -fr $MODEL
Index: /BOL/script_install/creation_modipsl.sh
===================================================================
--- /BOL/script_install/creation_modipsl.sh	(revision 3926)
+++ /BOL/script_install/creation_modipsl.sh	(revision 3926)
@@ -0,0 +1,250 @@
+#!/bin/bash
+
+set -vx
+
+#####################################################################
+# Choix eventuel de la version : branche ou trunk et svn particuliere
+#####################################################################
+
+branche=IPSLCM6.0.15
+branche=trunk
+rev="-r r3258"
+rev=""
+latest=""
+#latest=20210512 # Pour imposer de tester la convergence avec une version passee
+
+TMP_D=/tmp/lmdz ; mkdir -p $TMP_D
+
+if [ $branche != trunk ] ; then
+    echo cas non prevu
+#     exit
+fi
+
+check=1 # On verifie un certain nombre de choses.
+force=0
+
+optionnel=" -cpp ORCHIDEE_NOZ0H "
+
+local=`pwd`
+while (($# > 0)) ; do
+  case $1 in
+      "-h") cat <<fin
+USAGE creation_modipsl.sh
+Crée les archives du modele pour installation par install.sh
+-force : pour créeer une seconde version le meme jour
+fin
+        exit ;;
+      "-force") force=1 ; shift ;;
+      "-r") rev="-r $2" ; shift ; shift ;;
+      "-b") branche="$2" ; shift ; shift ;;
+      "-latest") latest=$2 ; shift ; shift ;;
+      *) echo option non prevue ; ./creation_modipsl.sh -h ; exit
+  esac
+done
+
+# machine_cible=erskine.lmd.jussieu.fr
+#machine_cible=carey
+machine_cible=lmdz-cq
+if [ "`hostname`" != "$machine_cible" ] ; then echo Lancer sur $machine_cible ; exit ; fi
+set -ex
+
+###########################################################################
+# localisation svn
+###########################################################################
+# cvs -d :pserver:lmdzbrowse@cvs.lmd.jussieu.fr:/home/cvsroot checkout LMDZ5 
+LMDZv=LMDZ6
+if [ $LMDZv = LMDZ6 ] ; then
+   LMDZ=LMDZ
+else
+   LMDZ=LMDZ5
+fi
+
+if [ $branche == trunk ] ; then
+   branchepath=trunk
+else
+   branchepath=branches/$branche
+fi
+svnmodel=http://svn.lmd.jussieu.fr/LMDZ/$LMDZv/$branchepath
+
+
+##########################################################################
+# Recuperation des infos svn pour le choix du nom du modele
+##########################################################################
+echo svn info $rev $svnmodel :
+svn info $rev $svnmodel
+datesvn=`svn info $rev $svnmodel | grep "Last Changed Date" | awk ' { print $4 } ' | sed -e 's/-//g'`
+echo DATESVN $datesvn
+
+if [  "$datesvn" = "" ] ; then
+#    DATESVN vide
+    datesvn=`svn info http://svn.lmd.jussieu.fr/LMDZ/$LMDZv/$branchepath $rev | grep 'Date de la dern' | awk ' { print $6 } '  | sed -e 's/-//g'`
+fi
+echo datesvn $datesvn
+version=$datesvn.$branche
+echo version $version
+
+##########################################################################
+# Sauvegarde eventuelle de la version precedente si deux versions
+# sont creees le meme jour
+##########################################################################
+if [ -f modipsl.$version.tar.gz ] ; then
+   if [ $force = 1 ] ; then
+      if [ -d $TMP_D/LMDZ$version ] ; then mv -f $TMP_D/LMDZ$version $TMP_D/LMDZ${version}_$$ ; fi
+      cd /home/users/lmdz/WWW/RESUBENCH/$branche/gfortran
+      if [ -f ${datesvn} ] ; then mv -f ${datesvn} ${datesvn}_$$ ; fi
+      ln -sf ${datesvn}_$$ latest
+      cd $local
+      if [ -f modipsl.$version.tar.gz ] ; then mv modipsl.$version.tar.gz modipsl.${version}_$$.tar.gz ; fi
+      echo ${datesvn} ${datesvn}_$$
+    else
+      echo Le fichier modipsl.$version.tar.gz existe deja
+      echo Preparer un changement automatique de nom pour automatiser
+      echo la creation de plusieurs versions dans la journee
+      exit
+    fi
+fi
+
+if [ "$latest" != "" ] ; then
+   cd /home/users/lmdz/WWW/RESUBENCH/$branche/gfortran
+   \rm -f latest
+   ln -s $latest latest
+fi
+
+#####################################################################
+# Les fichiers modipsl.vN.tar.gz contiennent des versions successives
+# de IOIPSL
+# Les versions modipsl.20080305.v5.tar.gz contiennent des versions
+# successives avec de modipsl les dates correspondant a des versions
+# successives de LMDZ4 puis LMDZ5
+#####################################################################
+vorig=v8  # updated version of IOIPSL 04/04/2012, including 'rebuild' script
+vorig=v9  # updated version of IOIPSL 07/08/2013, modfication de AA_male.ldef pour g95
+vorig=v10 # 'rebuild' is reintroduced in v9 . Was lost even in v8 ... (FH)
+vorig=v11 # update ORCHIDEE version to r2247, changes needed in install.sh for ORCHIDEE compilation
+vorig=v12 # modification AA_make.gdef pour ada. on garde g95 pour install alors qu'il a disparu dans modipsl
+vorig=v13 # mise a jour ORCHIDEE (r3013) pour problème d'interface après le rajout de sinang=rmu0 dans surf_land_orchidee_mod.F90
+vorig=v14 # dans ioipsl/histcom.f9, nb_var_max : 600 -> 1OOO, nb_zax_max : 5 -> 100, flio_max_dims : 15 -> 50 pour rebuild cosp
+vorig=v15 # modifications pour tenir compte de jean-zay nouvelle machine Idris
+
+modipsltar=modipsl.$vorig.tar
+
+##### tmpdir=/tmp/tmpmodipsl$$
+tmpdir=$local/tmpmodipsl$$
+mkdir -p $tmpdir
+cd $tmpdir
+if [ -f /u/lmdz/WWW/Distrib/$modipsltar.gz ] ; then
+   cp /u/lmdz/WWW/Distrib/$modipsltar.gz .
+else
+   wget http://www.lmd.jussieu.fr/~lmdz/Distrib/$modipsltar.gz
+fi
+
+tar xvf $modipsltar.gz
+#gzip -9 $modipsltar
+
+cd modipsl/modeles
+
+
+
+###########################################################################
+# On effectue le svn checkout sur une machine avec un ancien svn
+# pour eviter que les utilisateurs se retrouvent avec un svn plus ancien
+# que celui sur lequel la version a été créée.
+echo Premier svn checkout $rev $svnmodel $LMDZ
+ssh butler ' ( cd '`pwd`' ; svn checkout '$rev' '$svnmodel' '$LMDZ' ) '
+###########################################################################
+
+
+## Modif Ehouarn: on garde les sources d'IOIPSL de $modipsltar 
+#mkdir -p IOIPSL
+#cd IOIPSL
+#\rm -r src
+# cp -r /u/lmdz/WWW/Distrib/IOIPSL/src_fairhead_v3c src
+# A partir du  13/10/2008
+#cp -r /u/lmdz/WWW/Distrib/IOIPSL/src_20081014 src
+#cd ../../..
+
+cd ../..
+echo $version
+tar cvf modipsl.$version.tar modipsl
+
+
+gzip modipsl.$version.tar
+mv modipsl.$version.tar.gz ~/WWW/Distrib
+
+## en attendant la bascule sur orchide CMIP, on fait un modipsl.tar avec la nouvelle version d'orchidee
+modipsltar=modipsl_orc_cmip6.$vorig.tar
+tmpdir=$local/tmpmodipslcmip6$$
+mkdir -p $tmpdir
+cd $tmpdir
+if [ -f /u/lmdz/WWW/Distrib/$modipsltar.gz ] ; then
+   cp /u/lmdz/WWW/Distrib/$modipsltar.gz .
+else
+   wget http://www.lmd.jussieu.fr/~lmdz/Distrib/$modipsltar.gz
+fi
+tar xvf $modipsltar.gz
+cd modipsl/modeles
+
+echo Second svn checkout $rev $svnmodel $LMDZ
+ssh butler ' ( cd '`pwd`' ; svn checkout '$rev' '$svnmodel' '$LMDZ' ) '
+cd ../..
+echo $version
+tar cvf modipsl_orc_cmip6.$version.tar modipsl
+
+
+gzip modipsl_orc_cmip6.$version.tar
+mv modipsl_orc_cmip6.$version.tar.gz ~/WWW/Distrib
+
+#######
+
+cd  ~/WWW/Distrib
+ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
+ln -sf modipsl_orc_cmip6.$version.tar.gz modipsl_orc_cmip6.$branche.tar.gz
+cd ~/WWW/pub/src
+
+# Ajout pour la nouvelle arborescence
+ln -sf ../../Distrib/modipsl.$version.tar.gz .
+ln -sf modipsl.$version.tar.gz modipsl.$branche.tar.gz
+ln -sf ../../Distrib/modipsl_orc_cmip6.$version.tar.gz .
+ln -sf modipsl_orc_cmip6.$version.tar.gz modipsl_orc_cmip6.$branche.tar.gz
+cd  ~/WWW/Distrib
+
+
+if [ $check = 1 ] ; then
+./check_version.sh $version >| WORK/check.out 2>&1
+#./check_version_old.sh $version >| WORK/check.out 2>&1
+tmpcheck=`tail -1 WORK/check.out`
+echo "$tmpcheck" >> Correspondance
+echo "$tmpcheck" >> LISMOI.$branche
+
+\cp -f LISMOI.trunk ../pub/src/Readme
+
+
+# mail -r lmdz-owner -s "Nouvelle version pour install.sh" poihl@lmd.jussieu.fr <<eod
+ssh lmdz@django "mail -s 'Nouvelle version pour install.sh' lmdz-commit@listes.lmd.ipsl.fr <<eod
+
+disponible sur
+https://www.lmd.jussieu.fr/~lmdz/Distrib/modipsl.$version.tar.gz
+
+      Test local LMD network, gfortran, 48x36x19
+      ==========================================
+
+install version         SVN     Bench   Conv.   1+1=2   Init
+                                run     Nnum.      &
+                                        /prev.  mpiXomp
+
+$tmpcheck
+
+
+                                        ||
+                                        \/
+
+S/s/-: 3D standard physics  Converging/runing/not runing
+N/n/-: -  new        -                  -
+D/d/-: new with debug                   -
+U/u/-: unicolonne                       -
+OK <=> SNDU
+
+eod
+"
+
+fi
