Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-ES_MOON.fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-ES_MOON.fcm	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-ES_MOON.fcm	(revision 1137)
@@ -0,0 +1,17 @@
+%COMPILER            esmpif90
+%LINK                esmpif90
+%AR                  esar
+%MAKE                gmake
+%FPP_FLAGS           -P -traditional
+%FPP_DEF             NC_DOUBLE BLAS SGEMV=DGEMV SGEMM=DGEMM FFT_MATHKEISAN
+%BASE_FFLAGS         -P stack -Wf,-pvctl res=whole,-A dbl4,-ptr byte -EP -R5 -float0 -dw -Wf,"-pvctl loopcnt=999999 fullmsg noassume"
+%PROD_FFLAGS         -C vopt
+%DEV_FFLAGS          -C vsafe -gv -Wf,-init stack=nan,-init heap=nan
+%DEBUG_FFLAGS        -C debug -eC -Wf,-init stack=nan,-init heap=nan
+%MPI_FFLAGS
+%OMP_FFLAGS          -P openmp
+%BASE_LD             -lblas -lfft
+%MPI_LD
+%OMP_LD              -P openmp  -Wl,"-ZL 3G"
+
+
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-ES_MOON.path
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-ES_MOON.path	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-ES_MOON.path	(revision 1137)
@@ -0,0 +1,11 @@
+set NETCDF_LIBDIR=/S/home010/c0010/ES/lib
+set NETCDF_INCDIR=/S/home010/c0010/ES/include
+set IOIPSL_INCDIR=$LMDGCM/../../lib
+set IOIPSL_LIBDIR=$LMDGCM/../../lib
+set ORCH_INCDIR=$LMDGCM/../../lib
+set ORCH_LIBDIR=$LMDGCM/../../lib
+set OASIS_INCDIR=$LMDGCM/../../prism/ES/build/lib/psmile.$couple
+set OASIS_LIBDIR=$LMDGCM/../../prism/ES/lib
+set INCA_LIBDIR=$LMDGCM/../INCA3/config/lib
+set INCA_INCDIR=$LMDGCM/../INCA3/config/lib
+set LIBPREFIX=sx
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-IA64_PLATINE.fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-IA64_PLATINE.fcm	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-IA64_PLATINE.fcm	(revision 1137)
@@ -0,0 +1,15 @@
+%COMPILER            mpif90
+%LINK                mpif90
+%AR                  ar
+%MAKE                gmake
+%FPP_FLAGS           -P -traditional
+%FPP_DEF             NC_DOUBLE BLAS SGEMV=DGEMV SGEMM=DGEMM FFT_MKL
+%BASE_FFLAGS         -i4 -r8 -automatic -align all -I/applications/intel/cmkl/10.0.1.014/include
+%PROD_FFLAGS         -O3
+%DEV_FFLAGS          -O3 -traceback
+%DEBUG_FFLAGS        -g -traceback
+%MPI_FFLAGS
+%OMP_FFLAGS          -openmp
+%BASE_LD             -i4 -r8 -automatic -L/applications/intel/cmkl/10.0.1.014/lib/64 -lmkl_ipf -lguide
+%MPI_LD
+%OMP_LD              -openmp
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-IA64_PLATINE.path
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-IA64_PLATINE.path	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-IA64_PLATINE.path	(revision 1137)
@@ -0,0 +1,11 @@
+set NETCDF_LIBDIR='/usr/lib -lnetcdff'
+set NETCDF_INCDIR=/usr/include
+set IOIPSL_INCDIR=$LMDGCM/../../lib
+set IOIPSL_LIBDIR=$LMDGCM/../../lib
+set ORCH_INCDIR=$LMDGCM/../../lib
+set ORCH_LIBDIR=$LMDGCM/../../lib
+set OASIS_INCDIR=$LMDGCM/../../prism/IA64/build/lib/psmile.$couple
+set OASIS_LIBDIR=$LMDGCM/../../prism/IA64/lib
+set INCA_LIBDIR=$LMDGCM/../INCA3/config/lib
+set INCA_INCDIR=$LMDGCM/../INCA3/config/lib
+
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_BRODIE.fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_BRODIE.fcm	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_BRODIE.fcm	(revision 1137)
@@ -0,0 +1,16 @@
+%COMPILER            sxmpif90
+%LINK                sxmpif90
+%AR                  sxar
+%MAKE                make
+%FPP_FLAGS           -P -traditional
+%FPP_DEF             NC_DOUBLE BLAS SGEMV=DGEMV SGEMM=DGEMM FFT_MATHKEISAN
+%BASE_FFLAGS         -P stack -Wf,-pvctl res=whole,-A dbl4,-ptr byte -EP -R5 -float0 -dw -Wf,"-pvctl loopcnt=999999 fullmsg noassume"
+%PROD_FFLAGS         -C vopt
+%DEV_FFLAGS          -C vsafe -gv -Wf,-init stack=nan,-init heap=nan
+%DEBUG_FFLAGS        -C debug -eC -Wf,-init stack=nan,-init heap=nan
+%MPI_FFLAGS
+%OMP_FFLAGS          -P openmp
+%BASE_LD             -lblas -lfft
+%MPI_LD
+%OMP_LD              -P openmp  -Wl,"-ZL 3G"
+
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_BRODIE.path
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_BRODIE.path	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_BRODIE.path	(revision 1137)
@@ -0,0 +1,11 @@
+set NETCDF_LIBDIR=/SXlocal/pub/netCDF/netCDF-3.6.1/lib
+set NETCDF_INCDIR=/SXlocal/pub/netCDF/netCDF-3.6.1/include
+set IOIPSL_INCDIR=$LMDGCM/../../lib
+set IOIPSL_LIBDIR=$LMDGCM/../../lib
+set ORCH_INCDIR=$LMDGCM/../../lib
+set ORCH_LIBDIR=$LMDGCM/../../lib
+set OASIS_INCDIR=$LMDGCM/../../prism/SX/build/lib/psmile.$couple
+set OASIS_LIBDIR=$LMDGCM/../../prism/SX/lib
+set INCA_LIBDIR=$LMDGCM/../INCA3/config/lib
+set INCA_INCDIR=$LMDGCM/../INCA3/config/lib
+
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_MERCURE.fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_MERCURE.fcm	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_MERCURE.fcm	(revision 1137)
@@ -0,0 +1,15 @@
+%COMPILER            sxmpif90
+%LINK                sxmpif90
+%AR                  sxar
+%MAKE                make
+%FPP_FLAGS           -P -traditional
+%FPP_DEF             NC_DOUBLE BLAS SGEMV=DGEMV SGEMM=DGEMM FFT_MATHKEISAN
+%BASE_FFLAGS         -P stack -Wf,-pvctl res=whole,-A dbl4,-ptr byte -EP -R5 -float0 -size_t64 -dw -Wf,"-pvctl loopcnt=999999 fullmsg noassume"
+%PROD_FFLAGS         -C vopt
+%DEV_FFLAGS          -C vsafe -gv -Wf,-init stack=nan,-init heap=nan
+%DEBUG_FFLAGS        -C debug -eC -Wf,-init stack=nan,-init heap=nan
+%MPI_FFLAGS
+%OMP_FFLAGS          -P openmp
+%BASE_LD             -size_t64 -lblas -lfft
+%MPI_LD
+%OMP_LD              -P openmp  -Wl,"-ZL 3G"
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_MERCURE.path
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_MERCURE.path	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-SX8_MERCURE.path	(revision 1137)
@@ -0,0 +1,10 @@
+set NETCDF_LIBDIR=/usr/local/SX8/soft/netcdf/lib
+set NETCDF_INCDIR=/usr/local/SX8/soft/netcdf/include
+set IOIPSL_INCDIR=$LMDGCM/../../lib
+set IOIPSL_LIBDIR=$LMDGCM/../../lib
+set ORCH_INCDIR=$LMDGCM/../../lib
+set ORCH_LIBDIR=$LMDGCM/../../lib
+set OASIS_INCDIR=$LMDGCM/../../prism/SX/build/lib/psmile.$couple
+set OASIS_LIBDIR=$LMDGCM/../../prism/SX/lib
+set INCA_LIBDIR=$LMDGCM/../INCA3/config/lib
+set INCA_INCDIR=$LMDGCM/../INCA3/config/lib
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-linux-32bit.fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-linux-32bit.fcm	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-linux-32bit.fcm	(revision 1137)
@@ -0,0 +1,15 @@
+%COMPILER            pgf90
+%LINK                pgf90
+%AR                  ar
+%MAKE                make
+%FPP_FLAGS           -P -traditional
+%FPP_DEF             
+%BASE_FFLAGS         
+%PROD_FFLAGS         -fast
+%DEV_FFLAGS          -g
+%DEBUG_FFLAGS        -g
+%MPI_FFLAGS
+%OMP_FFLAGS          
+%BASE_LD             -Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2 
+%MPI_LD
+%OMP_LD              
Index: /LMDZ4/branches/LMDZ4-dev/arch/arch-linux-32bit.path
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/arch/arch-linux-32bit.path	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/arch/arch-linux-32bit.path	(revision 1137)
@@ -0,0 +1,6 @@
+set NETCDF_LIBDIR=/distrib/local/netcdf/pgi_32bits/lib/
+set NETCDF_INCDIR=/distrib/local/netcdf/pgi_32bits/include
+set IOIPSL_INCDIR=/u/fairhead/modipsl_ioipsl_3/lib
+set IOIPSL_LIBDIR=/u/fairhead/modipsl_ioipsl_3/lib
+set ORCH_INCDIR=/u/fairhead/modipsl_ioipsl_3/lib
+set ORCH_LIBDIR=/u/fairhead/modipsl_ioipsl_3/lib
Index: DZ4/branches/LMDZ4-dev/makegcm_fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/makegcm_fcm	(revision 1136)
+++ 	(revision )
@@ -1,362 +1,0 @@
-#!/bin/csh
-#
-# $Header$
-#
-# FH : on ne cr�e plus le fichier arch.mk qui est suppos� exister par
-# FH : ailleurs.
-# FH : ult�rieurement, ce fichier sera pr�-existant pour une s�rie
-# FH : de configurations en versions optimis�es et debug qui seront
-# FH : li�s (ln -s) avec arch.mk en fonction de l'architecture.
-# FH : Pour le moment, cette version est en test et on peut cr�er les
-# FH : arch.mk en lan�ant une premi�re fois makegcm7.
-#
-set verbose echo
-########################################################################
-# options par defaut pour la commande make
-########################################################################
-
-set dim="96x72x19"
-set physique=lmd
-set filtre=filtrez
-set grille=reg
-set couple=false
-set veget=false
-set chimie=false
-set parallel=none
-set compil_mod=prod
-set io=ioipsl
-set LIBPREFIX=""
-set fcm_path=none
-
-set LMDGCM=`/bin/pwd`
-set LIBOGCM=$LMDGCM/libo
-set LIBFGCM=$LMDGCM/libf
-
-########################################################################
-#  Quelques initialisations de variables du shell.
-########################################################################
-
-set CPP_KEY="" 
-set INCLUDE=""
-set LIB=""
-set adjnt=""
-set COMPIL_FFLAGS="%PROD_FFLAGS"
-set PARA_FFLAGS=""
-set PARA_LD=""
-
-########################################################################
-# lecture des options de mymake
-########################################################################
-
-top:
-if ($#argv > 0) then
-    switch ($1:q)
-
-    case -h:
-cat <<fin
-manuel complet sur http://...
-Usage :
-makegcm [options] -m arch exec
-[-h]                       : manuel abrégé
-[-d [[IMx]JMx]LM]          : IM, JM, LM sont les dims en x, y, z (def: $dim)
-[-p PHYS]                  : compilation avec la physique libf/phyPHYS, (def: lmd)
-[-prod / -dev / -debug]    : compilation en mode production (default) / developpement / debug .
-[-c false/MPI1/MPI2]       : couplé océan : MPI1/MPI2/false (def: false)
-[-v false/true]            : avec ou sans végétation (def: false)
-[-chimie INCA/false]       : avec ou sans model de chimie INCA (def: false)
-[-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp
-[-g GRI]                   : conf. grille dans dyn3d/GRI_xy.h  (def: reg inclue un zoom)
-[-io IO]                   : choix d'une librairie I/O, experts (def: ioipsl)
-[-include INCLUDES]        : variables supplementaires pour include
-[-cpp CPP_KEY]             : cle cpp supplementaires
-[-adjnt]                   : adjoint, a remettre en route ...
-[-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez)
-[-link LINKS]              : liens optionels avec d'autres librairies
-[-fcm_path path]           : chemin pour fcm (def: le chemin est suppose deja exister dans le PATH)
- -m arch                   : nom de l'architecture cible
- exec                      : exécutable généré
-fin
-	exit
-
-    case -d:
-        set dim=$2 ; shift ; shift ; goto top
-                        
-    case -O:
-        echo "option obsolete dans cette version intermediaire de makegcm"
-	exit
-
-     case -p
-        set physique="$2" ;  shift ; shift ; goto top
-
-     case -g
-        set grille="$2" ; shift ; shift ; goto top
-
-     case -c
-	set couple="$2" ; shift ; shift ; goto top
-
-     case -prod
-        set compil_mod="prod" ; shift ; goto top
-
-     case -dev
-       set compil_mod="dev" ; shift ; goto top
-
-     case -debug
-       set compil_mod="debug" ; shift ; goto top
-
-     case -io
-        set io="$2" ; shift ; shift ; goto top
-
-     case -v
-        set veget="$2" ; shift ; shift ; goto top
-
-     case -chimie
-	set chimie="$2" ; shift ; shift ; goto top
-
-     case -parallel
-        set parallel="$2" ; shift ; shift ; goto top
-  
-     case -include
-        set INCLUDE="$INCLUDE -I$2" ; shift ; shift ; goto top
-
-     case -cpp
-        set CPP_KEY="$CPP_KEY $2" ; shift ; shift ; goto top
-
-     case -adjnt
-	echo 'otpion a reactiver ';exit
-        set opt_dep="$opt_dep adjnt" ; set adjnt="-ladjnt -ldyn3d "
-        set optim="$optim -Dadj" ; shift ; goto top
-
-
-     case -filtre
-        set filtre=$2 ; shift ; shift ; goto top
-
-     case -link
-        set LIB="$LIB $2" ; shift ; shift ; goto top
-
-     case -fcm_path
-       set fcm_path=$2 ; shift ; shift ; goto top
-
-     case -m
-       set arch=$2 ; shift ; shift ; goto top
-
-     default
-        set code="$1" ; shift ; goto top
-
-   endsw
-endif
-
-###############################################################
-# mettre le chemin du fcm dans le path
-###############################################################
-if  ( "$fcm_path" != 'none' ) then
-    setenv PATH ${fcm_path}:${PATH}
-endif
-
-echo "Chemin du fcm utlise :" 
-which fcm
-
-###############################################################
-# lecture des chemins propres � l'architecture  de la machine #
-###############################################################
-
-rm -f ./arch.path
-ln -s ./machine/arch-${arch}.path ./arch.path
-source arch.path
-
-########################################################################
-# Definition des clefs CPP, des chemins des includes et modules
-#  et des libraries
-########################################################################
-
-if ( "$compil_mod" == 'prod' ) then
-  set COMPIL_FFLAGS="%PROD_FFLAGS"
-else if ( "$compil_mod" == 'dev' ) then
-  set COMPIL_FFLAGS="%DEV_FFLAGS"
-else if ( "$compil_mod" == 'debug' ) then
-  set COMPIL_FFLAGS="%DEBUG_FFLAGS"
-endif
-
-if ( "$physique" == 'nophys' ) then
-   
-else
-   set CPP_KEY="$CPP_KEY CPP_PHYS"
-endif
-
-if ( "$chimie" == 'INCA' ) then
-   set CPP_KEY="$CPP_KEY INCA"
-   set INCLUDE="$INCLUDE -I${INCA_INCDIR}"
-   set LIB="$LIB -L${INCA_LIBDIR} -lchimie"
-endif
-
-if ( "$couple" != 'false' ) then
-   set CPP_KEY="$CPP_KEY CPP_COUPLE"
-   set INCLUDE="$INCLUDE -I${OASIS_INCDIR}"
-   set LIB="$LIB -L${OASIS_LIBDIR} -lpsmile.${couple} -lmpp_io"
-endif
-
-if ( "$parallel" == 'mpi' ) then
-   set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI"
-   set PARA_FFLAGS="%MPI_FFLAGS"
-   set PARA_LD="%MPI_LD"
-else if ("$parallel" == 'omp' ) then
-   set CPP_KEY="$CPP_KEY CPP_PARA CPP_OMP"
-   set PARA_FFLAGS="%OMP_FFLAGS"
-   set PARA_LD="%OMP_LD"
-else if ("$parallel" == 'mpi_omp' ) then
-   set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI CPP_OMP"
-   set PARA_FFLAGS="%MPI_FFLAGS %OMP_FFLAGS"
-   set PARA_LD="%MPI_LD %OMP_LD"
-endif
-
-if ( "$veget" == 'true' ) then
-   set CPP_KEY="$CPP_KEY CPP_VEGET"
-   set INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
-   set LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob"
-endif
-
-if ( $io == ioipsl ) then
-   set CPP_KEY="$CPP_KEY CPP_IOIPSL"
-   set INCLUDE="$INCLUDE -I${IOIPSL_INCDIR}"
-   set LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl"
-endif
-
-set INCLUDE="$INCLUDE -I${NETCDF_INCDIR}"
-set LIB="$LIB -L${NETCDF_LIBDIR} -lnetcdf"
-
-########################################################################
-# calcul du nombre de dimensions
-########################################################################
-
-
-set dim_full=$dim
-set dim=`echo $dim | sed -e 's/[^0-9]/ /g'` 
-set dimc=`echo $dim | wc -w`
-
-echo calcul de la dimension
-echo dim $dim
-echo dimc $dimc
-
-
-########################################################################
-# Gestion des dimensions du modele.
-# on cree ou remplace le fichier des dimensions
-########################################################################
-
-cd $LIBFGCM/grid/dimension
-./makdim $dim
-cat $LIBFGCM/grid/dimensions.h
-cd $LMDGCM
-
-
-########################################################################
-# Differentes dynamiques (3d, 2d, 1d)
-########################################################################
-
-set dimension=`echo $dim | wc -w`
-echo dimension $dimension
-
-if ( $dimension != 3 ) then
-  echo "Probleme dans les dimensions de la dynamique !!"
-  echo "Non reactive pour l'instant !!!"
-endif
-
-if ( $dimension == 3 ) then
-  cd $LIBFGCM/grid
-  \rm fxyprim.h
-  cp -p fxy_${grille}.h fxyprim.h
-endif
-
-######################################################################
-#   Traitement special pour le nouveau rayonnement de Laurent Li.
-#   ---> YM desactive pour le traitemement en parallele
-######################################################################
-
-#if ( -f $libf/phy$physique/raddim.h ) then
-# if ( -f $libf/phy$physique/raddim.$dimh.h ) then
-#  \rm -f $libf/phy$physique/raddim.h
-#  cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h
-#  echo $libf/phy$physique/raddim.$dimh.h 
-#  cat $libf/phy$physique/raddim.h
-# else
-#  echo On peut diminuer la taille de l executable en creant
-#  echo le fichier $libf/phy$physique/raddim.$dimh.h
-#  \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h
-# endif
-#endif
-
-######################################################################
-# Gestion du filtre qui n'existe qu'en 3d.
-######################################################################
-
-if ( `expr $dimc \> 2` == 1 ) then
-   set filtre="FILTRE=$filtre"
-else
-   set filtre="FILTRE= L_FILTRE= "
-endif
-echo MACRO FILTRE $filtre
-
-echo $dimc
-
-
-
-######################################################################
-# Creation du suffixe de la configuration
-######################################################################
-
-
-set SUFF_NAME=_${dim_full}
-set SUFF_NAME=${SUFF_NAME}_phy${physique}
-
-if ( "$parallel" != 'none' ) then
-  set SUFF_NAME=${SUFF_NAME}_para
-  set DYN=dyn${dimc}dpar
-else
-  set SUFF_NAME=${SUFF_NAME}_seq
-  set DYN=dyn${dimc}d
-endif
-
-if ( $veget == "true" ) then
-  set SUFF_NAME=${SUFF_NAME}_orch
-endif
-
-if ( $couple != "false" ) then
-  set SUFF_NAME=${SUFF_NAME}_couple
-endif
-
-if ( $chimie == 'INCA' ) then
-  set SUFF_NAME=${SUFF_NAME}_inca
-endif
-
-cd $LMDGCM
-set config_fcm="config.fcm"
-rm -f $config_fcm
-touch $config_fcm
-rm -f bin/${code}${SUFF_NAME}.e
-rm -f arch.fcm
-
-echo "%ARCH          $arch"          >> $config_fcm
-echo "%INCDIR        $INCLUDE"       >> $config_fcm 
-echo "%LIB           $LIB"           >> $config_fcm
-echo "%ROOT_PATH     $PWD"           >> $config_fcm
-echo "%LIBF          $LIBFGCM"       >> $config_fcm
-echo "%LIBO          $LIBOGCM"       >> $config_fcm
-echo "%DYN           $DYN"           >> $config_fcm
-echo "%PHYS          phy${physique}" >> $config_fcm
-echo "%CPP_KEY       $CPP_KEY"       >> $config_fcm
-echo "%EXEC          $code"          >> $config_fcm
-echo "%SUFF_NAME     $SUFF_NAME"     >> $config_fcm
-echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> $config_fcm
-echo "%PARA_FFLAGS   $PARA_FFLAGS"   >> $config_fcm
-echo "%PARA_LD       $PARA_LD"       >> $config_fcm
-
-
-
-ln -s machine/arch-${arch}.fcm arch.fcm
-rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock
-./build_gcm
-
-rm -f tmp_src
-rm -f config
-ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config config
-ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config/tmp tmp_src
-#\rm -f $libf/grid/dimensions.h
Index: /LMDZ4/branches/LMDZ4-dev/makelmdz_fcm
===================================================================
--- /LMDZ4/branches/LMDZ4-dev/makelmdz_fcm	(revision 1137)
+++ /LMDZ4/branches/LMDZ4-dev/makelmdz_fcm	(revision 1137)
@@ -0,0 +1,362 @@
+#!/bin/csh
+#
+# $Header$
+#
+# FH : on ne cr�e plus le fichier arch.mk qui est suppos� exister par
+# FH : ailleurs.
+# FH : ult�rieurement, ce fichier sera pr�-existant pour une s�rie
+# FH : de configurations en versions optimis�es et debug qui seront
+# FH : li�s (ln -s) avec arch.mk en fonction de l'architecture.
+# FH : Pour le moment, cette version est en test et on peut cr�er les
+# FH : arch.mk en lan�ant une premi�re fois makegcm7.
+#
+set verbose echo
+########################################################################
+# options par defaut pour la commande make
+########################################################################
+
+set dim="96x72x19"
+set physique=lmd
+set filtre=filtrez
+set grille=reg
+set couple=false
+set veget=false
+set chimie=false
+set parallel=none
+set compil_mod=prod
+set io=ioipsl
+set LIBPREFIX=""
+set fcm_path=none
+
+set LMDGCM=`/bin/pwd`
+set LIBOGCM=$LMDGCM/libo
+set LIBFGCM=$LMDGCM/libf
+
+########################################################################
+#  Quelques initialisations de variables du shell.
+########################################################################
+
+set CPP_KEY="" 
+set INCLUDE=""
+set LIB=""
+set adjnt=""
+set COMPIL_FFLAGS="%PROD_FFLAGS"
+set PARA_FFLAGS=""
+set PARA_LD=""
+
+########################################################################
+# lecture des options de mymake
+########################################################################
+
+top:
+if ($#argv > 0) then
+    switch ($1:q)
+
+    case -h:
+cat <<fin
+manuel complet sur http://...
+Usage :
+makegcm [options] -m arch exec
+[-h]                       : manuel abrégé
+[-d [[IMx]JMx]LM]          : IM, JM, LM sont les dims en x, y, z (def: $dim)
+[-p PHYS]                  : compilation avec la physique libf/phyPHYS, (def: lmd)
+[-prod / -dev / -debug]    : compilation en mode production (default) / developpement / debug .
+[-c false/MPI1/MPI2]       : couplé océan : MPI1/MPI2/false (def: false)
+[-v false/true]            : avec ou sans végétation (def: false)
+[-chimie INCA/false]       : avec ou sans model de chimie INCA (def: false)
+[-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp
+[-g GRI]                   : conf. grille dans dyn3d/GRI_xy.h  (def: reg inclue un zoom)
+[-io IO]                   : choix d'une librairie I/O, experts (def: ioipsl)
+[-include INCLUDES]        : variables supplementaires pour include
+[-cpp CPP_KEY]             : cle cpp supplementaires
+[-adjnt]                   : adjoint, a remettre en route ...
+[-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez)
+[-link LINKS]              : liens optionels avec d'autres librairies
+[-fcm_path path]           : chemin pour fcm (def: le chemin est suppose deja exister dans le PATH)
+ -arch nom_arch            : nom de l'architecture cible
+ exec                      : exécutable généré
+fin
+	exit
+
+    case -d:
+        set dim=$2 ; shift ; shift ; goto top
+                        
+    case -O:
+        echo "option obsolete dans cette version intermediaire de makegcm"
+	exit
+
+     case -p
+        set physique="$2" ;  shift ; shift ; goto top
+
+     case -g
+        set grille="$2" ; shift ; shift ; goto top
+
+     case -c
+	set couple="$2" ; shift ; shift ; goto top
+
+     case -prod
+        set compil_mod="prod" ; shift ; goto top
+
+     case -dev
+       set compil_mod="dev" ; shift ; goto top
+
+     case -debug
+       set compil_mod="debug" ; shift ; goto top
+
+     case -io
+        set io="$2" ; shift ; shift ; goto top
+
+     case -v
+        set veget="$2" ; shift ; shift ; goto top
+
+     case -chimie
+	set chimie="$2" ; shift ; shift ; goto top
+
+     case -parallel
+        set parallel="$2" ; shift ; shift ; goto top
+  
+     case -include
+        set INCLUDE="$INCLUDE -I$2" ; shift ; shift ; goto top
+
+     case -cpp
+        set CPP_KEY="$CPP_KEY $2" ; shift ; shift ; goto top
+
+     case -adjnt
+	echo 'otpion a reactiver ';exit
+        set opt_dep="$opt_dep adjnt" ; set adjnt="-ladjnt -ldyn3d "
+        set optim="$optim -Dadj" ; shift ; goto top
+
+
+     case -filtre
+        set filtre=$2 ; shift ; shift ; goto top
+
+     case -link
+        set LIB="$LIB $2" ; shift ; shift ; goto top
+
+     case -fcm_path
+       set fcm_path=$2 ; shift ; shift ; goto top
+
+     case -arch
+       set arch=$2 ; shift ; shift ; goto top
+
+     default
+        set code="$1" ; shift ; goto top
+
+   endsw
+endif
+
+###############################################################
+# mettre le chemin du fcm dans le path
+###############################################################
+if  ( "$fcm_path" != 'none' ) then
+    setenv PATH ${fcm_path}:${PATH}
+endif
+
+echo "Chemin du fcm utlise :" 
+which fcm
+
+###############################################################
+# lecture des chemins propres a l'architecture de la machine #
+###############################################################
+
+rm -f ./arch.path
+ln -s ./arch/arch-${arch}.path ./arch.path
+source arch.path
+
+########################################################################
+# Definition des clefs CPP, des chemins des includes et modules
+#  et des libraries
+########################################################################
+
+if ( "$compil_mod" == 'prod' ) then
+  set COMPIL_FFLAGS="%PROD_FFLAGS"
+else if ( "$compil_mod" == 'dev' ) then
+  set COMPIL_FFLAGS="%DEV_FFLAGS"
+else if ( "$compil_mod" == 'debug' ) then
+  set COMPIL_FFLAGS="%DEBUG_FFLAGS"
+endif
+
+if ( "$physique" == 'nophys' ) then
+   
+else
+   set CPP_KEY="$CPP_KEY CPP_PHYS"
+endif
+
+if ( "$chimie" == 'INCA' ) then
+   set CPP_KEY="$CPP_KEY INCA"
+   set INCLUDE="$INCLUDE -I${INCA_INCDIR}"
+   set LIB="$LIB -L${INCA_LIBDIR} -lchimie"
+endif
+
+if ( "$couple" != 'false' ) then
+   set CPP_KEY="$CPP_KEY CPP_COUPLE"
+   set INCLUDE="$INCLUDE -I${OASIS_INCDIR}"
+   set LIB="$LIB -L${OASIS_LIBDIR} -lpsmile.${couple} -lmpp_io"
+endif
+
+if ( "$parallel" == 'mpi' ) then
+   set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI"
+   set PARA_FFLAGS="%MPI_FFLAGS"
+   set PARA_LD="%MPI_LD"
+else if ("$parallel" == 'omp' ) then
+   set CPP_KEY="$CPP_KEY CPP_PARA CPP_OMP"
+   set PARA_FFLAGS="%OMP_FFLAGS"
+   set PARA_LD="%OMP_LD"
+else if ("$parallel" == 'mpi_omp' ) then
+   set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI CPP_OMP"
+   set PARA_FFLAGS="%MPI_FFLAGS %OMP_FFLAGS"
+   set PARA_LD="%MPI_LD %OMP_LD"
+endif
+
+if ( "$veget" == 'true' ) then
+   set CPP_KEY="$CPP_KEY CPP_VEGET"
+   set INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
+   set LIB="${LIB} -L${ORCH_LIBDIR} -l${LIBPREFIX}sechiba -l${LIBPREFIX}parameters -l${LIBPREFIX}stomate -l${LIBPREFIX}parallel -l${LIBPREFIX}orglob"
+endif
+
+if ( $io == ioipsl ) then
+   set CPP_KEY="$CPP_KEY CPP_IOIPSL"
+   set INCLUDE="$INCLUDE -I${IOIPSL_INCDIR}"
+   set LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl"
+endif
+
+set INCLUDE="$INCLUDE -I${NETCDF_INCDIR}"
+set LIB="$LIB -L${NETCDF_LIBDIR} -lnetcdf"
+
+########################################################################
+# calcul du nombre de dimensions
+########################################################################
+
+
+set dim_full=$dim
+set dim=`echo $dim | sed -e 's/[^0-9]/ /g'` 
+set dimc=`echo $dim | wc -w`
+
+echo calcul de la dimension
+echo dim $dim
+echo dimc $dimc
+
+
+########################################################################
+# Gestion des dimensions du modele.
+# on cree ou remplace le fichier des dimensions
+########################################################################
+
+cd $LIBFGCM/grid/dimension
+./makdim $dim
+cat $LIBFGCM/grid/dimensions.h
+cd $LMDGCM
+
+
+########################################################################
+# Differentes dynamiques (3d, 2d, 1d)
+########################################################################
+
+set dimension=`echo $dim | wc -w`
+echo dimension $dimension
+
+if ( $dimension != 3 ) then
+  echo "Probleme dans les dimensions de la dynamique !!"
+  echo "Non reactive pour l'instant !!!"
+endif
+
+if ( $dimension == 3 ) then
+  cd $LIBFGCM/grid
+  \rm fxyprim.h
+  cp -p fxy_${grille}.h fxyprim.h
+endif
+
+######################################################################
+#   Traitement special pour le nouveau rayonnement de Laurent Li.
+#   ---> YM desactive pour le traitemement en parallele
+######################################################################
+
+#if ( -f $libf/phy$physique/raddim.h ) then
+# if ( -f $libf/phy$physique/raddim.$dimh.h ) then
+#  \rm -f $libf/phy$physique/raddim.h
+#  cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h
+#  echo $libf/phy$physique/raddim.$dimh.h 
+#  cat $libf/phy$physique/raddim.h
+# else
+#  echo On peut diminuer la taille de l executable en creant
+#  echo le fichier $libf/phy$physique/raddim.$dimh.h
+#  \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h
+# endif
+#endif
+
+######################################################################
+# Gestion du filtre qui n'existe qu'en 3d.
+######################################################################
+
+if ( `expr $dimc \> 2` == 1 ) then
+   set filtre="FILTRE=$filtre"
+else
+   set filtre="FILTRE= L_FILTRE= "
+endif
+echo MACRO FILTRE $filtre
+
+echo $dimc
+
+
+
+######################################################################
+# Creation du suffixe de la configuration
+######################################################################
+
+
+set SUFF_NAME=_${dim_full}
+set SUFF_NAME=${SUFF_NAME}_phy${physique}
+
+if ( "$parallel" != 'none' ) then
+  set SUFF_NAME=${SUFF_NAME}_para
+  set DYN=dyn${dimc}dpar
+else
+  set SUFF_NAME=${SUFF_NAME}_seq
+  set DYN=dyn${dimc}d
+endif
+
+if ( $veget == "true" ) then
+  set SUFF_NAME=${SUFF_NAME}_orch
+endif
+
+if ( $couple != "false" ) then
+  set SUFF_NAME=${SUFF_NAME}_couple
+endif
+
+if ( $chimie == 'INCA' ) then
+  set SUFF_NAME=${SUFF_NAME}_inca
+endif
+
+cd $LMDGCM
+set config_fcm="config.fcm"
+rm -f $config_fcm
+touch $config_fcm
+rm -f bin/${code}${SUFF_NAME}.e
+rm -f arch.fcm
+
+echo "%ARCH          $arch"          >> $config_fcm
+echo "%INCDIR        $INCLUDE"       >> $config_fcm 
+echo "%LIB           $LIB"           >> $config_fcm
+echo "%ROOT_PATH     $PWD"           >> $config_fcm
+echo "%LIBF          $LIBFGCM"       >> $config_fcm
+echo "%LIBO          $LIBOGCM"       >> $config_fcm
+echo "%DYN           $DYN"           >> $config_fcm
+echo "%PHYS          phy${physique}" >> $config_fcm
+echo "%CPP_KEY       $CPP_KEY"       >> $config_fcm
+echo "%EXEC          $code"          >> $config_fcm
+echo "%SUFF_NAME     $SUFF_NAME"     >> $config_fcm
+echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> $config_fcm
+echo "%PARA_FFLAGS   $PARA_FFLAGS"   >> $config_fcm
+echo "%PARA_LD       $PARA_LD"       >> $config_fcm
+
+
+
+ln -s arch/arch-${arch}.fcm arch.fcm
+rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock
+./build_gcm
+
+rm -f tmp_src
+rm -f config
+ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config config
+ln -s $LIBOGCM/${arch}${SUFF_NAME}/.config/tmp tmp_src
+#\rm -f $libf/grid/dimensions.h
