
version_ref=latest
+ version_ref=latest
svn_rel=""
+ svn_rel=
resolution=48x36x19
+ resolution=48x36x19
resolution=48x36x39 #20160622 : nouveau bench avec deux versions de la physique
+ resolution=48x36x39
compilo=gfortran
+ compilo=gfortran
parallel=none
+ parallel=none
parallel=mpi_omp
+ parallel=mpi_omp
tmpdir=/tmp/`whoami`/LMDZ_Optim ; mkdir -p $tmpdir
++ whoami
+ tmpdir=/tmp/lmdz/LMDZ_Optim
+ mkdir -p /tmp/lmdz/LMDZ_Optim
tmpdir=./
+ tmpdir=./

#if [ `whoami` = lmdz ] ; then
#   get="ln -sf /u/lmdz/WWW/pub"
#   getold="ln -sf /u/lmdz/WWW/Distrib"
#else
   get="wget http://www.lmd.jussieu.fr/~lmdz/pub"
+ get='wget http://www.lmd.jussieu.fr/~lmdz/pub'
   getold="wget http://www.lmd.jussieu.fr/~lmdz/Distrib"
+ getold='wget http://www.lmd.jussieu.fr/~lmdz/Distrib'
#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
+ diagonly=0
init=0
+ init=0


while (($# > 0))
  do
  case $1 in
      "-h") cat <<fin
check_version.sh [-h] [-r revision number] version [version_ref]
version is the name of the version of LMDZ to be checked modipsl.version.tar.gz
version_ref is the date of the version to be compared with.
Default "latest".
enfo
fin
          exit;;

      "-c")
          compilo="$2" ; shift ; shift ;;
      "-r")
          svn_rel="$2" ; shift ; shift ;;
      "-init")
	  init=1 ; shift ;;     
      *)
          version="$1" ; shift ; if [ "$#" = 1 ] ; then version_ref=$1 ; shift ; fi ;;
   esac
done
+ (( 0 > 0 ))


# branche=`echo $version | cut -d. -f2`
branche=`echo $version |cut -c 10-`
++ echo
++ cut -c 10-
+ branche=
datelmdz=`echo $version | cut -d. -f1` 
++ echo
++ cut -d. -f1
+ datelmdz=
#branche=trunk
#version=trunk
dateref=`echo $version_ref| cut -d. -f1`
++ echo latest
++ cut -d. -f1
+ dateref=latest
echo version $version $branche $datelmdz
+ echo version
version
echo version_ref $version_ref $dateref
+ echo version_ref latest latest
version_ref latest latest

RESU_D=/u/lmdz/WWW/RESUBENCH/$branche/$compilo
+ RESU_D=/u/lmdz/WWW/RESUBENCH//gfortran
#mkdir -p $RESU_D
#resubench=$RESU_D/$datelmdz
latest=$RESU_D/$dateref
+ latest=/u/lmdz/WWW/RESUBENCH//gfortran/latest
MODEL=$tmpdir/LMDZ$version$svn_rel
+ MODEL=.//LMDZ

set +vx
+ set +vx

# Edition de install.sh, install.sh avec bench 48x36x19
cd $tmpdir
+ cd ./

if [ $diagonly = 0 ] ; then
    sed -e 's/^getlmdzor=.*/getlmdzor=0/' -e 's/^netcdf=.*/netcdf=0/' install_lmdz.sh > tmpinstall
    mv tmpinstall ./install_lmdz.sh
    chmod 755 install_lmdz.sh
    ./install_lmdz.sh -v $version -d $resolution -SCM -parallel $parallel
fi
+ '[' 0 = 0 ']'
+ sed -e 's/^getlmdzor=.*/getlmdzor=0/' -e 's/^netcdf=.*/netcdf=0/' install_lmdz.sh
sed: can't read install_lmdz.sh: No such file or directory
+ mv tmpinstall ./install_lmdz.sh
+ chmod 755 install_lmdz.sh
+ ./install_lmdz.sh -v -d 48x36x39 -SCM -parallel mpi_omp

set -vx
+ set -vx

######################################################
# Sauvegarde du 1D
######################################################
outf=$MODEL/1D/EXEC/NPv6.1L79/ARMCU/REF/restartphy.nc
+ outf=.//LMDZ/1D/EXEC/NPv6.1L79/ARMCU/REF/restartphy.nc
if [ -f $outf ] ; then
#   mkdir -p $resubench/arm_cu
#   cp $MODEL/1D/RESU/NPv6.1L79/arm_cu/restartphy.nc $resubench/arm_cu/
   cmp -s $outf $latest/ARMCU/REF/restartphy.nc
   if [ $? = 0 ] ; then converge1D=U ; else converge1D=u ; fi
else
   converge1D=-
fi
+ '[' -f .//LMDZ/1D/EXEC/NPv6.1L79/ARMCU/REF/restartphy.nc ']'
+ converge1D=-


######################################################
BENCH=BENCH$resolution
+ BENCH=BENCH48x36x39
cd $MODEL/modipsl/mod*/LMD*/$BENCH
+ cd './/LMDZ/modipsl/mod*/LMD*/BENCH48x36x39'
./cf_version.sh: line 115: cd: .//LMDZ/modipsl/mod*/LMD*/BENCH48x36x39: No such file or directory
echo BENCH FINI
+ echo BENCH FINI
BENCH FINI
ls -lrt
+ ls -lrt
total 60
-rw-r--r-- 1 lmdz lmdjus 44539 juin   1 17:57 install_lmdz.sh.1
-rwxr-xr-x 1 lmdz lmdjus  8783 juin   1 18:50 cf_version.sh
-rwxr-xr-x 1 lmdz lmdjus     0 juin   1  2021 install_lmdz.sh
-rw-r--r-- 1 lmdz lmdjus  3913 juin   1  2021 log
pwd
+ pwd
/u/lmdz/WWW/Distrib/Chgt_install





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 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 ./ps$suf.nc
      cp SIM1/restart.nc ./restart$suf.nc
      \rm sechiba_out_2.nc sechiba_history.nc sechiba_rest_out.nc
      cmp -s ./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 > compile-debug.out 2 >& 1
      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 ./ps$suf.nc
         cp SIMD/restart.nc ./restart$suf.nc
         cmp -s ./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  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
+ '[' -f restartphy.nc ']'
+ echo PROBLEME : LE BENCH N EST PAS ALLE AU BOUT
PROBLEME : LE BENCH N EST PAS ALLE AU BOUT
+ bench=-

#latest=$RESU_D/latest
#\rm -f $latest
#ln -sf  $resubench $latest

cd $MODEL/m*/m*/
+ cd './/LMDZ/m*/m*/'
./cf_version.sh: line 263: cd: .//LMDZ/m*/m*/: No such file or directory
LMDZ=`\ls -d LMD*` #Nom du modele LMDZ sur modeles/ : LMDZ4, LMDZ5, LMDZ
++ ls -d 'LMD*'
ls: cannot access 'LMD*': No such file or directory
+ LMDZ=

svn upgrade # Il faut mettre à jour le svn si la version sur 
+ svn upgrade
svn: E155019: Can't upgrade '/home/users/lmdz/WWW/Distrib/Chgt_install' as it is not a working copy root
svn: E000002: La base de donnée de la copie de travail '/home/users/lmdz/WWW/Distrib/Chgt_install/.svn/wc.db' n'a pas été trouvée
svn: E200042: Additional errors:
svn: E000002: Impossible d'ouvrir le fichier '/home/users/lmdz/WWW/Distrib/Chgt_install/.svn/entries': No such file or directory
            # 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 } '`
++ svn info
++ grep 'Changed Rev'
++ head -1
++ awk ' { print $4 } '
svn: E155007: '/home/users/lmdz/WWW/Distrib/Chgt_install' n'est pas une copie de travail
+ svnrel=
#FH 20160822
if [ "$svnrel" = "" ] ; then
  svnrel=`svn info $LMDZ | grep vision | head -1 | awk ' { print $2 } '`
fi
+ '[' '' = '' ']'
++ svn info
++ grep vision
++ head -1
++ awk ' { print $2 } '
svn: E155007: '/home/users/lmdz/WWW/Distrib/Chgt_install' n'est pas une copie de travail
+ svnrel=

ccc=$converge$convergeNP$convergeD$converge1D
+ ccc=-
if [ "$ccc" = "SNDU" ] ; then ccc="OK " ;  fi
+ '[' - = SNDU ']'

echo $version'		'$svnrel'	'$bench'	'$ccc '	'$unpun'	'$init
+ echo '			-	-' '		0'
			-	- 		0

exit
+ exit
