Index: BOL/script_install/LISMOI
===================================================================
--- BOL/script_install/LISMOI	(revision 1588)
+++ BOL/script_install/LISMOI	(revision 1588)
@@ -0,0 +1,228 @@
+Ce répertoire contient :
+=========================
+
+Un script d'installation de LMDZ pour plateformes Linux G95.
+Des versions successives du modèle LMDZ sous forme de fichiers tar.
+
+Utilisation :
+> wget http://www.lmd.jussieu.fr/~lmdz/DistribG95/install.sh
+> chmod +x install.sh
+
+Editer install.sh pour modifier eventuellement le chemin sur lequel vous
+voulez  installer le modele (par defaut MODEL=~/LMDZ4V4) et la version du 
+modele (version=...).
+
+> ./install.sh
+
+
+Les versions disponibles :
+==========================
+
+Les versions disponibles.
+Elles correspondent à des modifications un peu importantes.
+
+Par exemple modipsl.20080612.v4.tar.gz correspond à la version V4 du
+2008/06/12.
+
+
+
+A PARTIR DE FEVRIER 2009, DEUX BRANCHES SONT DISPONIBLES :
+==========================================================
+
+une branche .dev. de développement
+une branche .trunk. de production.
+
+2010/06/08: Nouveaux schema de nuages d'Arnaud Jam
+
+2010/04/28 : Nouveaux thermiques corriges et utilisables en 3D
+             correspondant aux articles Rio et al., 2010
+
+2010/03/22 : thermique optimises, convection corrigee, inclusion d'un
+             offset sur Alp en option
+
+2010/02/19 : apres un petit manque de documentation ...
+             Nouvelle version des thermiques en option.
+
+2009/06/24 : Nouvelle version de top_bound + corrections //
+             Version non convergente sequentiel / OpenMP. Depuis quand ?
+
+2009/06/18 : Pas mal de corrections un peu partout
+             Nettoyage de l'activation de IOIPSL par clefs CPP
+
+2009/06/11 : Corrections dans phys_output_mod
+             CFL en diag pour l'advection
+             Controle de la distribution verticale de la dissip en 39 niv
+
+2009/06/08 : Nouvelle version du guidage
+             Correction bug sur le filtre
+             Nouveau controle des fichiers hist par les .def (pour les regions
+                   notamment)
+             parametres de controle des drag
+             parametre de controle pour rugoros
+
+2009/05/29 : version compatible pgf90 + correction bug guidage parallèle
+
+2009/05/28 : Nouvelle grille verticale dans le cas ok_strato=y llm=19
+
+2009/05/20 : optimisation clouds_gno et add_phys_tend
+
+2009/05/15 : 
+
+2009/05/05 : inclusion de la lecture de l'ozone et de nouvelles routines
+             d'encapsulage de netcdf dans bibio
+
+2009/05/04 : version intermédiaire
+
+2009/04/09 trunk : Premiere version trunk
+------------------
+
+2009/04/09 : inclusion de q2m et T2m dans l'interface d'orchidee
+             bascule sur la version trunk
+
+2009/04/08 : portage vargas + recupération des modifs "V3_patch"
+
+2009/04/07 : version de transition (converge avec 2009/03/11)
+
+2009/03/11 : correction d'un gros byg sur le guidage
+
+2009/03/04 : gestion dynamique des dimensions des champs de traceurs.
+
+2009/03/03 : reprise des versions
+             possibilité de filtre par FFT
+             possibilité de controle des noms et flags de variables dans les
+                fichiers de sorties a partir des .def
+
+
+2008/11/13 : Modification de la routine bidon
+             ORCHIDEE/src_sechiba/init_intersurf.f90 pour compilation idris.
+
+2008/11/06 : Bug fix (en particulier cv3_routines), sorties grads, guidage
+
+2008/10/28 : Nouvelles options pour le schéma du thermique.
+             Quelques corrections liées au parallélisme.
+
+2008/10/21 : bugfix pour tourner avec INCA et Tiedtke + changement
+             de version de IOIPSL (correction d'un bug et utilisation d'une
+             version plus récente).
+
+2008/10/09 : modifications MPI/OpenMP, routines pour "cacher" le côté parallèle
+             notamment pour l'écriture et la lecture des start.
+
+2008/09/25 : Préparation au nouveau rayonnement (Marie-Pierre Lefebvre)
+
+2008/09/10 : nouvelle interface surfaces (Josefine Ghattas)
+
+2008/09/08 : mises à jour des versions MPI/OPENMP (Yann Meurdessoif)
+             A nécessité l'introduction d'une routine bidon Init_intersuf
+             dans orchidee_beton, pendant d'une nouvelle routine de orchidee9...
+
+2008/06/25 : nouvelle physique tournant avec les options de debug (nan, n'co)
+             wake vectorisees
+             bornes (max) sur ALE et ALP
+
+2008/03/12 : nouvelle version de modipsl compatible avec brodie.
+             nouvelle version de LMDZ avec des debug sur yamada4 et
+             thermcell_main
+
+
+
+Les versions successives de modipsl :
+=====================================
+le "N" dans modipsl.vN.tar.gz
+correspond à des modifications de modipsl, ioipsl ou orchidee
+Les modifications de modipsl.200.. correspondent à des versions successives 
+de LMDZ4.
+La version 3 correspond à l'ajout d'une routine bidon (Init_interfsurf) dans 
+ORCHIDEE/src_sechiba et la version 4 au fait de déclarer comme module cette
+routine pour la compatibilité avec le makefile d'orchidee
+
+version 5, modification dans ORCHIDEE/src_sechiba/intersurf.f90 pour pouvoir
+tourner avec ou sans q2m et T2m dans l'interface
+
+
+Tableau des correspondances avec les "releases" SVN
+===================================================
+
+20090623.dev -> Revision SVN 1190
+20090624.dev -> Revision SVN 1191
+20090627.dev -> Revision SVN 1196
+20090707.dev -> Revision SVN 1204
+20090707.dev -> Revision SVN 1205
+20090709.dev -> Revision SVN 1207
+20090718.dev -> Revision SVN 1211
+20090727.dev -> Revision SVN 1215
+20090824.dev -> Revision SVN 1229
+20090828.dev -> Revision SVN 1234
+20090909.dev -> Revision SVN 1242
+20090909.dev -> Revision SVN 1242
+20090917.dev -> Revision SVN 1244
+20090929.dev -> Revision SVN 1247
+20091021.dev -> Revision SVN 1249
+20091023.dev -> Revision SVN 1249
+20091029.dev -> Revision SVN 1250
+20091030.dev -> Revision SVN 1254
+20091102.dev -> Revision SVN 1255
+20091105.dev -> Revision SVN 1257
+20091110.dev -> Revision SVN 1258
+20091123.dev -> Revision SVN 1266
+20091124.dev -> Revision SVN 1269
+20091129.dev -> Revision SVN 1271
+20091207.dev -> Revision SVN 1275
+20091210.dev -> Revision SVN 1279
+20091210.trunk -> Revision SVN 1279
+20100106.dev -> Revision SVN 1293
+20100114.dev -> Revision SVN 1297
+20100115.dev -> Revision SVN 1298
+20100201.dev -> Revision SVN 1308
+20100201.dev -> Revision SVN 1308
+20100219.dev -> Revision SVN 1312
+20100223.dev -> Revision SVN 1317
+20100225.dev -> Revision SVN 1320
+20100322.dev -> Revision SVN 1329
+20100428.dev -> Revision SVN 1373
+20100507.dev -> Revision SVN 1386
+20100511.dev -> Revision SVN 1388
+20100520.dev -> Revision SVN 1392
+20100604.dev -> Revision SVN 1397
+20100608.dev -> Revision SVN 1399
+20100621.dev -> Revision SVN 1399
+20100713.trunk -> Revision SVN 1413
+20100902.trunk -> Revision SVN 
+20100928.trunk -> Revision SVN 1436
+20101021.dev -> Revision SVN 1444
+20101110.dev -> Revision SVN 1450
+20101118.trunk -> Revision SVN 1455
+20101213.dev -> Revision SVN 1463
+20110103.dev -> Revision SVN 1472
+20110112.dev -> Revision SVN 1473
+20110112.dev -> Revision SVN 1473
+20110112.dev -> Revision SVN 1473
+20110127.dev -> Revision SVN de
+20110218.dev -> Revision SVN 1490
+20110222.dev -> Revision SVN 1490
+20110223.dev -> Revision SVN 1491
+20110310.trunk -> Revision SVN 1495
+20110311.trunk -> Revision SVN 1498
+20110313.trunk -> Revision SVN 1499
+20110322.trunk -> Revision SVN 1502
+20110323.trunk -> Revision SVN 1504
+20110411.trunk -> Revision SVN 1506
+20110415.trunk -> Revision SVN 1507
+20110426.trunk -> Revision SVN 1510
+20110506a.trunk -> Revision SVN 1515
+20110506.trunk -> Revision SVN 1516
+20110512.trunk -> Revision SVN 1517
+20110513.trunk -> Revision SVN 1518
+20110516.trunk -> Revision SVN 1519
+20110524a.trunk -> Revision SVN 1521
+20110524.trunk -> Revision SVN 1523
+20110525A.trunk -> Revision SVN 1524
+20110525.trunk -> Revision SVN 1525
+20110526.trunk -> Revision SVN 1529
+20110530.trunk -> Revision SVN 1530
+20110609.trunk -> Revision SVN 1540
+20110622.trunk -> Revision SVN 1545
+20110713.trunk -> Revision SVN 1555
+20110921.trunk -> Revision SVN 1575 testing, NPv3
+20111007.trunk -> Revision SVN 1576
+20111103.trunk -> Revision SVN 1578 first version including FCM
Index: BOL/script_install/install.sh
===================================================================
--- BOL/script_install/install.sh	(revision 1588)
+++ BOL/script_install/install.sh	(revision 1588)
@@ -0,0 +1,523 @@
+#!/bin/bash
+
+###########################################################################
+# Auteur : Frédéric Hourdin/LMD/hourdin@lmd.jussieu.fr
+# Usage  : install.sh
+#
+# Script bash d'installation du modele LMDZ sur un ordinateur PC/Linux
+# en utilisant le compilateur g95.
+# Le modele est récupéré dans une arborescence
+# $MODEL/modipsl/modeles/...
+# en utilisant l'infrastructure "modipsl" mise au point à l'"IPSL" pour
+#les besoins de la modélisation couplée du climat
+#(atmosphere/ocean/vegetation/chimie)
+# On ne récupère ici que les composantes atmosphériques (LMDZ4)
+# et végétation (ORCHIDEE).
+#
+# Sous le répertoire "modeles", on trouve en fait les sources de différents
+# modèles. Ici, LMDZ4, ORCHIDEEet IOIPSL, ensemble de programmes
+# d'entrée/sortie faisant appel à la librairie netcdf.
+#
+# Le script récupères les différents jeux de sources (y compris une
+# version de netcdf) et utilitaires, compile le modèle, et lance une
+# simulation de test dans une configuration très légère sur
+# $MODEL/modipsl/modeles/LMDZ4/INI
+#
+# Pré-requis : g95/pgf90/gfortran, ksh, wget , gunzip, tar, ... (à compléter)
+#
+###########################################################################
+
+echo '################################################################'
+echo  Choix des options d installation
+echo '################################################################'
+
+
+# ATTENTION !!!! Pour des versions anterieures a octobre 2009, utiliser
+# install.v2.sh au lieu de install.sh
+
+version=20110921.trunk
+#Chemin pour placer le modele
+MODEL=./LMDZ$version
+
+getlmdzor=1
+netcdf=1   #  1 for automatic installation
+           #  0 for no installation
+           #  /.../../netcdf-4.0.1 if wanting to link with an already
+           #  compiled netcdf library (implies to check option compatibility)
+check_linux=1
+ioipsl=1
+veget=0
+bench=1
+## compilo=pgf90 ou g95 ou gfortran sur PC linux
+compilo=gfortran
+pclinux=1
+
+## compile_with_fcm=1 : utilise makelmdz_fcm, possible a partir de la version 20111103.trunk (LMDZ5/trunk rev 1578)
+## compile_with_fcm=0 : utilise makegcm (default)
+compile_with_fcm=0
+
+echo '################################################################'
+echo  Choix des options de compilation
+echo '################################################################'
+if [ $compilo = g95 ] ; then
+   OPTIM='-i4 -r8 -O3'
+elif [ $compilo = gfortran ] ; then
+   OPTIM='-O3 -fdefault-real-8'
+else #pgf90
+   OPTIM='-O2 -Munroll -Mnoframe -Mautoinline -Mcache_align'
+fi
+
+# choix de la resolution pour le bench
+# grid_resolution= 32x24x11 for test (test without ORCHIDEE)
+#                  96x71x19  standard configuration
+grid_resolution=48x36x19
+
+hostname=`hostname`
+
+##########################################################################
+# Dans le cas où on installe sur des machines connues comme la NEC
+# brodie
+# de l'IDRIS, on ne verifie pas les logiciels existants et on n'installe
+# pas netcdf.
+if [ $hostname = brodie ] ; then
+netcdf=0
+check_linux=0
+pclinux=0
+fi
+##########################################################################
+
+
+mkdir -p $MODEL
+echo $MODEL
+MODEL=`( cd $MODEL ; pwd )` # transformation en chemin absolu si necessaire
+
+
+
+# Le -fendian=big n'est à utiliser vraiment utile que pour ARPEGE1D.
+# Le -r8 doit sans doute être éviter si on veut tourner rapidement sur
+# des machines 32 bits.
+# L'option r8 n'est pas forcement indispensable et elle produit
+# des executables plus gros.
+# Elles est indispensable cependant pour ARPEGE1D
+# On doit pouvoir aussi utiliser des optimisations plus fortes (-O3 par
+# exemple).
+
+
+echo '################################################################'
+if [ "$check_linux" = 1 ] ; then
+echo   Test sur les logiciels requis
+echo '################################################################'
+
+#### Ehouarn: test if ksh and/or bash are available
+use_shell="ksh" # default: use ksh
+if [ "`which ksh`" = "" ] ; then
+  echo "pas de ksh ... on va utiliser bash"
+  use_shell="bash"
+  if [ "`which bash`" = "" ] ; then
+    echo "Il faut d\'abord installer ksh (ou bash)"
+  fi
+fi
+
+
+for logiciel in csh wget tar gzip make $compilo gcc ; do
+if [ "`which $logiciel`" = "" ] ; then
+echo Il faut installer d\'abord $logiciel
+exit
+fi
+done
+
+if [ $pclinux = 1 ] ; then
+cd $MODEL
+cat <<eod> tt.f90
+print*,'coucou'
+end
+eod
+$compilo tt.f90
+./a.out >| tt
+if [ "`cat tt | sed -e 's/ //g' `" != "coucou" ] ; then
+echo probleme avec installation de $compilo ; exit ; fi
+\rm tt a.out tt.f90
+fi
+fi
+
+###########################################################################
+
+
+
+if [ $getlmdzor = 1 ] ; then
+echo '##########################################################'
+echo  On recupere une version un peu modifiee de LMDZ
+echo '##########################################################'
+cd $MODEL
+wget http://www.lmd.jussieu.fr/~lmdz/DistribG95/modipsl.$version.tar.gz
+gunzip modipsl.$version.tar.gz
+tar xvf modipsl.$version.tar
+\rm modipsl.$version.tar
+
+# On recupere en fait une version du 01 10 2006 obtenue
+# Par un cvs get
+# Puis modifiees pour etre compatible avec la compilation $compilo.
+# et pour betoner ORCHIDEE
+# Cette version est recuperable avec le script
+# wget http://www.lmd.jussieu.fr/~lmdz/DistribG95/getlmdzor.x
+fi
+
+echo OK1
+
+if [ $netcdf = 1 ] ; then
+echo '##########################################################'
+echo Compilation de netcdf
+echo '##########################################################'
+cd $MODEL
+wget http://www.lmd.jussieu.fr/~lmdz/DistribG95/netcdf-4.0.1.tar.gz
+gunzip netcdf-4.0.1.tar.gz
+tar xvf netcdf-4.0.1.tar
+\rm -f netcdf-4.0.1.tar
+
+cd netcdf-4.0.1
+
+if [ $compilo = g95 ] ; then
+# On modifie les options de compilation
+   export FC=g95
+   export F90=g95
+   export F90FLAGS=" -cpp -ffree-form $OPTIM"
+   export FFLAGS=" -cpp $OPTIM"
+   export CPPFLAGS=-Df2cFortran
+   export CC=gcc
+   export CXX=g++
+elif [ $compilo = gfortran ] ; then
+   export FC=gfortran
+   export F90=gfortran
+   export F90FLAGS=" -ffree-form $OPTIM"
+   export FFLAGS=" $OPTIM"
+   export CPPFLAGS=
+   export CC=gcc
+   export CXX=g++
+elif [ $compilo = pgf90 ] ; then
+   export CPPFLAGS="-DNDEBUG -DpgiFortran"
+   export CC=pgcc
+   export CFLAGS="-Msignextend"
+   export CXX=pgCC
+   export CXXFLAGS="-Msignextend"
+   export FC=pgf90
+   export FFLAGS="$OPTIM"
+   export F90=pgf90
+   export F90FLAGS="$OPTIM"
+else
+   echo Le compilateur $compilo pas prevu ; exit
+fi
+## end of if [ $netcdf = 1 ]
+cd src
+
+### Correction d'un petit probleme de netcdf
+##sed -e '83s/^$/\#define f2cFortran/' cfortran.h >| tmp ; \mv tmp cfortran.h
+
+# Compilation
+# Modif du 6 juillet 2009. Plantage quand on essaie de compiler netcdf avec
+# gcc plutÃ´t que c++
+##sed -e 's/ c++/ gcc/g' configure >| tmp ; mv -f tmp configure ; chmod +x configure
+localdir=`pwd -P`
+./configure --prefix=$localdir
+make check
+make install
+fi
+
+echo OK2 ioipsl=$ioipsl
+echo '##########################################################'
+echo Installation de MODIPSL, la procedure d\'installation des
+echo modeles de l\'IPSL
+echo '##########################################################'
+
+if [ $netcdf = 0 -o $netcdf = 1 ] ; then
+ncdfdir=$MODEL/netcdf-4.0.1
+else
+ncdfdir=$netcdf
+fi
+
+if [ $ioipsl = 1 ] ; then
+cd $MODEL/modipsl
+\rm -r lib/*
+
+cd util
+
+if [ $compilo = pgf90 ] ; then 
+  fmod='module '
+elif [ $compilo = g95 ] ; then
+  fmod='fmod='
+else # gfortran
+  fmod='I '
+fi
+cp AA_make.gdef AA_make.orig
+sed -e 's/^\#.*.g95.*.\#.*.$/\#/' AA_make.gdef > tmp
+sed -e "s:F_L = g95:F_L = $compilo:" -e "s:F_C = g95 -c:F_C = $compilo -c": \
+-e 's/g95.*.w_w.*.(F_D)/g95      w_w = '"$OPTIM"'/' \
+-e 's:g95.*.NCDF_INC.*.$:g95      NCDF_INC='"$ncdfdir"'/include:' \
+-e 's:g95.*.NCDF_LIB.*.$:g95      NCDF_LIB='"$ncdfdir"'/lib:' \
+-e "s:-fmod=:-$fmod:" -e 's/-fno-second-underscore//' \
+-e 's:#-Q- g95      M_K = gmake:#-Q- g95      M_K = make:' \
+tmp >| AA_make.gdef
+
+
+if [ "$use_shell" = "ksh" ] ; then
+  if [ "$pclinux" = 1 ] ; then
+     ./ins_make -t g95 # On utilise les lignes g95 meme pour les autres compilo
+  fi
+else # bash
+  sed -e s:/bin/ksh:/bin/bash:g ins_make > ins_make.bash
+  chmod u=rwx ins_make.bash
+  if [ "$pclinux" = 1 ] ; then
+  ./ins_make.bash -t g95 # On utilise les lignes g95 meme pour les autres compilo
+  else
+  ./ins_make.bash
+  fi
+fi
+
+echo '##########################################################'
+echo Compilation de IOIPSL, bibliotheque d\'interface avec Netcd
+echo '##########################################################'
+
+cd $MODEL/modipsl/modeles/IOIPSL/src
+if [ "$use_shell" = "bash" ] ; then
+  cp Makefile Makefile.ksh
+  sed -e s:/bin/ksh:/bin/bash:g Makefile.ksh > Makefile
+fi
+if [ "$pclinux" = 1 ] ; then
+  make clean
+  make
+  if [ $compilo = gfortran ] ; then # copy module files to lib
+    cp -f *.mod ../../../lib
+  fi
+else
+  # we're on brodie
+  sxgmake clean
+  sxgmake
+fi
+
+if [ "$veget" = 1 ] ; then
+echo '########################################################'
+echo Compilation de ORCHIDEE, modele des surface continentales
+echo '########################################################'
+cd $MODEL/modipsl/modeles/ORCHIDEE
+cd src_parameters
+# Une petite astuce pour ORCHIDEE suivant qu'on est en real*4 ou real*8
+if [ $compilo = gfortran ] ; then
+  if [ "`echo $OPTIM | grep real-8`" = "" ] ; then real=r4 ; else real=r8 ; fi
+else # g95 ou pgf90
+  if [ "`echo $OPTIM | grep r8`" = "" ] ; then real=r4 ; else real=r8 ; fi
+fi
+\cp reqdprec.$real reqdprec.f90
+make
+if [ $compilo = gfortran ] ; then # copy module files to lib
+  cp -f *.mod ../../../lib
+fi
+cd ../src_stomate
+make
+if [ $compilo = gfortran ] ; then # copy module files to lib
+  cp -f *.mod ../../../lib
+fi
+cd ../src_sechiba
+make
+if [ $compilo = gfortran ] ; then # copy module files to lib
+  cp -f *.mod ../../../lib
+fi
+fi
+fi
+
+
+# Ehouarn: it may be directory LMDZ4 or LMDZ5 depending on tar file...
+if [[ -d $MODEL/modipsl/modeles/LMDZ4 ]] ; then
+  echo '##########################################################'
+  echo 'Compilation de LMDZ4'
+  echo '##########################################################'
+  cd $MODEL/modipsl/modeles/LMDZ4
+else
+  if [[ -d $MODEL/modipsl/modeles/LMDZ5 ]] ; then
+    echo '##########################################################'
+    echo 'Compilation de LMDZ5'
+    echo '##########################################################'
+    cd $MODEL/modipsl/modeles/LMDZ5
+  else
+    echo "ERROR: No LMDZ4 (or LMDZ5) directory !!!"
+    exit
+  fi
+fi
+
+if [ "$pclinux" = 1 ] ; then
+  if [ $compilo = gfortran ] ; then
+sed \
+-e 's:\#setenv NCDFINC.*.$:setenv NCDFINC '"$ncdfdir"'/include:' \
+-e 's:\#setenv NCDFLIB.*.$:setenv NCDFLIB '"$ncdfdir"'/lib:' \
+-e 's:setenv NCDFINC.*.$:setenv NCDFINC '"$ncdfdir"'/include:' \
+-e 's:setenv NCDFLIB.*.$:setenv NCDFLIB '"$ncdfdir"'/lib:' \
+-e 's/set FC_LINUX.*.$/set FC_LINUX='$compilo'/' \
+-e 's/g95/gfortran/g' \
+-e 's/-fmod=/-I/g' \
+-e 's/-fno-second-underscore//' -e 's/-fstatic//' \
+-e 's/-lparallel//' \
+-e 's/-lorglob//' \
+-e 's/-ffixed-form//' -e 's/-ffree-form//' \
+-e 's/set OPT_LINUX.*.$/set OPT_LINUX=\"'"$OPTIM"\"'/' makegcm.orig >| makegcm
+  else # g95 or pgf90
+sed \
+-e 's:\#setenv NCDFINC.*.$:setenv NCDFINC '"$ncdfdir"'/include:' \
+-e 's:\#setenv NCDFLIB.*.$:setenv NCDFLIB '"$ncdfdir"'/lib:' \
+-e 's:setenv NCDFINC.*.$:setenv NCDFINC '"$ncdfdir"'/include:' \
+-e 's:setenv NCDFLIB.*.$:setenv NCDFLIB '"$ncdfdir"'/lib:' \
+-e 's/set FC_LINUX.*.$/set FC_LINUX='$compilo'/' \
+-e 's/-fno-second-underscore//' -e 's/-fstatic//' \
+-e 's/-lparallel//' \
+-e 's/-lorglob//' \
+-e 's/-ffixed-form//' -e 's/-ffree-form//' \
+-e 's/set OPT_LINUX.*.$/set OPT_LINUX=\"'"$OPTIM"\"'/' makegcm.orig >| makegcm
+  fi
+else
+sed \
+-e 's/-lparallel//' \
+-e 's/-lorglob//' \
+-e 's/-lsxorglob//' \
+-e 's/-lsxparallel//' \
+-e 's/-lsxioipsl/-lioipsl/g' \
+makegcm.orig >| makegcm
+fi
+
+chmod +x makegcm
+
+###########################################################
+# Pour ceux qui voudraient utiliser fcm et pouvoir faire :
+#  makelmdz_fcm -arch local .....
+############################################################
+
+if [ "$pclinux" = 1 ] ; then
+# creation de fichiers 'arch' locaux (si sur PC Linx):
+cd arch
+# fichier arch-local.path
+echo "NETCDF_LIBDIR=\"-L/${ncdfdir}/lib -lnetcdf\"" > arch-local.path
+echo "NETCDF_INCDIR=-I/${ncdfdir}/include" >> arch-local.path
+echo 'IOIPSL_INCDIR=$LMDGCM/../../lib' >> arch-local.path
+echo 'IOIPSL_LIBDIR=$LMDGCM/../../lib' >> arch-local.path
+echo 'ORCH_INCDIR=$LMDGCM/../../lib' >> arch-local.path
+echo 'ORCH_LIBDIR=$LMDGCM/../../lib' >> arch-local.path
+# fichier arch-local.fcm (adaptation de arch-linux-32bit.fcm)
+if [ $compilo = g95 ] ; then
+sed -e s:"%COMPILER            pgf95":"%COMPILER            g95":1 \
+    -e s:"%LINK                pgf95":"%LINK                g95":1 \
+    -e s:"%PROD_FFLAGS         -fast":"%PROD_FFLAGS         ":1 \
+    -e s:"%BASE_FFLAGS         ":"%BASE_FFLAGS         $OPTIM":1 \
+   arch-linux-32bit.fcm > arch-local.fcm
+   if [ "`echo $OPTIM | grep r8`" != "" ] ; then
+     sed -e s:"%FPP_DEF             ":"%FPP_DEF             NC_DOUBLE":1 \
+     arch-local.fcm > arch-local.fcm.new
+     mv -f arch-local.fcm.new arch-local.fcm
+   fi
+elif [ $compilo = gfortran ] ; then
+sed -e s:"%COMPILER            pgf95":"%COMPILER            gfortran":1 \
+    -e s:"%LINK                pgf95":"%LINK                gfortran":1 \
+    -e s:"%PROD_FFLAGS         -fast":"%PROD_FFLAGS         ":1 \
+    -e s:"%BASE_FFLAGS         ":"%BASE_FFLAGS         $OPTIM":1 \
+   arch-linux-32bit.fcm > arch-local.fcm
+   if [ "`echo $OPTIM | grep real-8`" != "" ] ; then
+     sed -e s:"%FPP_DEF             ":"%FPP_DEF             NC_DOUBLE":1 \
+     arch-local.fcm > arch-local.fcm.new
+     mv -f arch-local.fcm.new arch-local.fcm
+   fi
+elif [ $compilo = pgf90 ] ; then
+sed -e s:"-Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2":" ":1 \
+    -e s:"%PROD_FFLAGS         -fast":"%PROD_FFLAGS         ":1 \
+    -e s:"%BASE_FFLAGS         ":"%BASE_FFLAGS         $OPTIM":1 \
+   arch-linux-32bit.fcm > arch-local.fcm
+   if [ "`echo $OPTIM | grep r8`" != "" ] ; then
+     sed -e s:"%FPP_DEF             ":"%FPP_DEF             NC_DOUBLE":1 \
+     arch-local.fcm > arch-local.fcm.new
+     mv -f arch-local.fcm.new arch-local.fcm
+   fi
+else
+   echo Le compilateur $compilo pas prevu ; exit
+fi # of if [ $compilo = g95 ] elif [ $compilo = pgf90 ]
+cd ..
+### Adaptation de "bld.cfg" (ajout du shell):
+whereisthatshell=$(which ${use_shell})
+echo "bld::tool::SHELL   $whereisthatshell" >> bld.cfg
+
+### Modification de makelmdz_fcm pour utilisation de ORCHIDEE dans cette bench:
+### on enleve liborglob.a et libparallel.a
+cp makelmdz_fcm makelmdz_fcm.orig
+sed -e "s/-l\${LIBPREFIX}parallel//" \
+sed -e "s/-l\${LIBPREFIX}orglob//" \
+    makelmdz_fcm.orig > makelmdz_fcm
+
+fi # of if [ "$pclinux" = 1 ]
+
+##################################################################
+# Lance compilation de LMDZ
+##################################################################
+ok_veget=false
+if [ "$veget" = 1 ] ; then ok_veget = true; fi
+if [ $compile_with_fcm = 1 ] ; then
+# Compilation avec makelmdz_fcm
+	./makelmdz_fcm -d ${grid_resolution} -arch local -v $ok_veget gcm
+else
+# Compilation avec makegcm
+	./makegcm -d ${grid_resolution} -v $ok_veget gcm
+	./makegcm -d ${grid_resolution} -v $ok_veget gcm
+	./makegcm -d ${grid_resolution} -v $ok_veget gcm
+fi
+
+if [ -f gcm.e ] || [ -f bin/gcm_${grid_resolution}_phylmd_seq_orch.e ] || [ -f bin/gcm_${grid_resolution}_phylmd_seq.e ]  ; then
+echo '##########################################################'
+echo Compilation reussie
+echo '##########################################################'
+else
+echo Probleme de compilation
+exit
+fi
+
+##################################################################
+# Ci dessous le lancement eventuel d'un cas test (si bench=0)
+##################################################################
+if [ $bench = 0 ] ; then
+		exit
+fi
+
+echo '##########################################################'
+echo Lancement d\'une simulation de test
+echo '##########################################################'
+
+\rm -r BENCH${grid_resolution}
+bench=bench_lmdz_${grid_resolution}
+wget http://www.lmd.jussieu.fr/~lmdz/DistribG95/$bench.tar.gz
+gunzip $bench.tar.gz
+tar xvf $bench.tar
+
+if [ -f gcm.e ] ; then 
+    cp gcm.e BENCH${grid_resolution}/
+elif [ -f bin/gcm_${grid_resolution}_phylmd_seq_orch.e ] ; then
+    cp bin/gcm_${grid_resolution}_phylmd_seq_orch.e  BENCH${grid_resolution}/gcm.e
+elif [ -f bin/gcm_${grid_resolution}_phylmd_seq.e ] ; then
+    cp bin/gcm_${grid_resolution}_phylmd_seq.e  BENCH${grid_resolution}/gcm.e
+else
+    echo "No gcm.e found"
+    exit
+fi
+
+if [ $hostname = brodie ] ; then
+echo POUR LANCER LE BENCH, IL FAUT SE LOGUER SUR BRODIE01
+echo puis aller sur `pwd`/BENCH${grid_resolution}
+echo et lancer le gcm
+exit
+fi
+
+cd BENCH${grid_resolution}
+./bench.sh > bench.out  2>&1
+
+echo '##########################################################'
+echo ' Resultat du bench '
+echo '##########################################################'
+
+cat ./bench.out
+
+echo '##########################################################'
+echo 'La simulation test est terminee sur' `pwd`
+echo 'vous pouvez la relancer : cd ' `pwd` ' ; gcm.e'
+echo 'ou ./bench.sh'
+echo '##########################################################'
+
