Index: trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F
===================================================================
--- trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F	(revision 134)
+++ trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F	(revision 270)
@@ -1,4 +1,4 @@
 !
-! $Id: conf_gcm.F 1438 2010-10-08 10:19:34Z jghattas $
+! $Id: conf_gcm.F 1418 2010-07-19 15:11:24Z jghattas $
 !
 c
@@ -6,4 +6,5 @@
       SUBROUTINE conf_gcm( tapedef, etatinit )
 c
+      USE control_mod
 #ifdef CPP_IOIPSL
       use IOIPSL
@@ -12,9 +13,4 @@
       use ioipsl_getincom
 #endif
-      use misc_mod
-      use mod_filtre_fft, ONLY : use_filtre_fft
-      use mod_hallo, ONLY : use_mpi_alloc
-      use parallel, ONLY : omp_chunk
-      USE control_mod
       IMPLICIT NONE
 c-----------------------------------------------------------------------
@@ -37,10 +33,10 @@
 #include "serre.h"
 #include "comdissnew.h"
-!#include "clesphys.h"
-#include "iniprint.h"
 #include "temps.h"
 #include "comconst.h"
 
 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
+! #include "clesphys.h"
+#include "iniprint.h"
 c
 c
@@ -53,5 +49,5 @@
       LOGICAL  fxyhypbb, ysinuss
       INTEGER i
-      
+      LOGICAL use_filtre_fft
 c
 c  -------------------------------------------------------------------
@@ -82,11 +78,5 @@
 c   initialisations:
 c   ----------------
-      adjust=.false.
-      call getin('adjust',adjust)
-      
-      itaumax=0
-      call getin('itaumax',itaumax);
-      if (itaumax<=0) itaumax=HUGE(itaumax)
-      
+
 !Config  Key  = lunout
 !Config  Desc = unite de fichier pour les impressions
@@ -190,8 +180,7 @@
 
 !Config  Key  = nsplit_phys
-!Config  Desc = nombre d'iteration de la physique
-!Config  Def  = 240 
-!Config  Help = nombre d'itration de la physique
-!
+!Config  Desc = nombre de subdivisions par pas physique
+!Config  Def  = 1 
+!Config  Help = nombre de subdivisions par pas physique
        nsplit_phys = 1 
        CALL getin('nsplit_phys',nsplit_phys)
@@ -241,11 +230,12 @@
        CALL getin('output_grads_dyn',output_grads_dyn)
 
-!Config  Key  = idissip
+!Config  Key  = dissip_period
 !Config  Desc = periode de la dissipation 
-!Config  Def  = 10
+!Config  Def  = 0
 !Config  Help = periode de la dissipation 
-!Config         (en pas) ... a completer !
-       idissip = 10
-       CALL getin('idissip',idissip)
+!Config  dissip_period=0 => la valeur sera calcule dans inidissip       
+!Config  dissip_period>0 => on prend cette valeur
+       dissip_period = 0
+       CALL getin('dissip_period',dissip_period)
 
 ccc  ....   P. Le Van , modif le 29/04/97 .pour la dissipation  ...
@@ -340,5 +330,4 @@
        CALL getin('tau_top_bound',tau_top_bound)
 
-!
 !Config  Key  = coefdis
 !Config  Desc = coefficient pour gamdissip
@@ -407,6 +396,4 @@
        ip_ebil_dyn = 0
        CALL getin('ip_ebil_dyn',ip_ebil_dyn)
-!
-
 
 ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
@@ -613,13 +600,5 @@
        offline = .FALSE.
        CALL getin('offline',offline)
-       IF (offline .AND. adjust) THEN
-          WRITE(lunout,*) 
-     &         'WARNING : option offline does not work with adjust=y :'
-          WRITE(lunout,*) 'the files defstoke.nc, fluxstoke.nc ', 
-     &         'and fluxstokev.nc will not be created'
-          WRITE(lunout,*) 
-     &         'only the file phystoke.nc will still be created ' 
-       END IF
-       
+
 !Config  Key  = config_inca
 !Config  Desc = Choix de configuration de INCA
@@ -655,4 +634,5 @@
       ok_dyn_ave = .FALSE. 
       CALL getin('ok_dyn_ave',ok_dyn_ave) 
+
 
       write(lunout,*)' #########################################'
@@ -669,10 +649,9 @@
       write(lunout,*)' day_step = ', day_step
       write(lunout,*)' iperiod = ', iperiod
-      write(lunout,*)' nsplit_phys = ', nsplit_phys
       write(lunout,*)' iconser = ', iconser
       write(lunout,*)' iecri = ', iecri
       write(lunout,*)' periodav = ', periodav 
       write(lunout,*)' output_grads_dyn = ', output_grads_dyn
-      write(lunout,*)' idissip = ', idissip
+      write(lunout,*)' dissip_period = ', dissip_period
       write(lunout,*)' lstardis = ', lstardis
       write(lunout,*)' nitergdiv = ', nitergdiv
@@ -816,12 +795,4 @@
        offline = .FALSE.
        CALL getin('offline',offline)
-       IF (offline .AND. adjust) THEN
-          WRITE(lunout,*) 
-     &         'WARNING : option offline does not work with adjust=y :'
-          WRITE(lunout,*) 'the files defstoke.nc, fluxstoke.nc ', 
-     &         'and fluxstokev.nc will not be created'
-          WRITE(lunout,*) 
-     &         'only the file phystoke.nc will still be created ' 
-       END IF
 
 !Config  Key  = config_inca
@@ -836,10 +807,10 @@
 
 !Config  Key  = ok_dynzon 
-!Config  Desc = calcul et sortie des transports 
+!Config  Desc = sortie des transports zonaux dans la dynamique
 !Config  Def  = n 
-!Config  Help = Permet de mettre en route le calcul des transports 
+!Config  Help =  
 !Config          
-      ok_dynzon = .FALSE. 
-      CALL getin('ok_dynzon',ok_dynzon) 
+       ok_dynzon = .FALSE.
+       CALL getin('ok_dynzon',ok_dynzon) 
 
 !Config  Key  = ok_dyn_ins
@@ -863,38 +834,15 @@
 !Config  Def  = false
 !Config  Help = permet d'activer l'utilisation des FFT pour effectuer
-!Config         le filtrage aux poles. 
+!Config         le filtrage aux poles.
+! Le filtre fft n'est pas implemente dans dyn3d 
       use_filtre_fft=.FALSE.
       CALL getin('use_filtre_fft',use_filtre_fft)
 
-      IF (use_filtre_fft .AND. grossismx /= 1.0) THEN
-        write(lunout,*)'WARNING !!! '
-        write(lunout,*)"Le zoom en longitude est incompatible",
-     &                 " avec l'utilisation du filtre FFT ",
-     &                 "---> filtre FFT dÃ©sactivÃ© "
-       use_filtre_fft=.FALSE.
+      IF (use_filtre_fft) THEN
+        write(lunout,*)'STOP !!!'
+        write(lunout,*)'use_filtre_fft n est pas implemente dans dyn3d'
+        STOP
       ENDIF
       
- 
-      
-!Config  Key  = use_mpi_alloc
-!Config  Desc = Utilise un buffer MPI en mï¿½moire globale
-!Config  Def  = false
-!Config  Help = permet d'activer l'utilisation d'un buffer MPI
-!Config         en mï¿½moire globale a l'aide de la fonction MPI_ALLOC.
-!Config         Cela peut amï¿½liorer la bande passante des transferts MPI
-!Config         d'un facteur 2  
-      use_mpi_alloc=.FALSE.
-      CALL getin('use_mpi_alloc',use_mpi_alloc)
-
-!Config  Key  = omp_chunk
-!Config  Desc = taille des blocs openmp
-!Config  Def  = 1
-!Config  Help = defini la taille des packets d'itï¿½ration openmp
-!Config         distribuï¿½e ï¿½ chaque tï¿½che lors de l'entrï¿½e dans une
-!Config         boucle parallï¿½lisï¿½e
-  
-      omp_chunk=1
-      CALL getin('omp_chunk',omp_chunk)
-
 !Config key = ok_strato
 !Config  Desc = activation de la version strato
@@ -902,5 +850,5 @@
 !Config  Help = active la version stratosphérique de LMDZ de F. Lott
 
-      ok_strato=.FALSE.
+      ok_strato=.TRUE.
       CALL getin('ok_strato',ok_strato)
 
@@ -928,4 +876,10 @@
       ok_etat0 = .TRUE.
       CALL getin('ok_etat0',ok_etat0)
+
+!Config  Key  = grilles_gcm_netcdf
+!Config  Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit
+!Config  Def  = n
+      grilles_gcm_netcdf = .FALSE.
+      CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf)
 
       write(lunout,*)' #########################################'
@@ -943,5 +897,5 @@
       write(lunout,*)' periodav = ', periodav 
       write(lunout,*)' output_grads_dyn = ', output_grads_dyn
-      write(lunout,*)' idissip = ', idissip
+      write(lunout,*)' dissip_period = ', dissip_period
       write(lunout,*)' lstardis = ', lstardis
       write(lunout,*)' nitergdiv = ', nitergdiv
@@ -968,14 +922,12 @@
       write(lunout,*)' offline = ', offline
       write(lunout,*)' config_inca = ', config_inca
-      write(lunout,*)' ok_dynzon = ', ok_dynzon 
+      write(lunout,*)' ok_dynzon = ', ok_dynzon
       write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins 
       write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave 
-      write(lunout,*)' use_filtre_fft = ', use_filtre_fft
-      write(lunout,*)' use_mpi_alloc = ', use_mpi_alloc
-      write(lunout,*)' omp_chunk = ', omp_chunk
       write(lunout,*)' ok_strato = ', ok_strato
       write(lunout,*)' ok_gradsfile = ', ok_gradsfile
       write(lunout,*)' ok_limit = ', ok_limit
       write(lunout,*)' ok_etat0 = ', ok_etat0
+      write(lunout,*)' grilles_gcm_netcdf = ', grilles_gcm_netcdf
 c
       RETURN
