Index: /LMDZ6/trunk/libf/dyn3d/replay3d.F90
===================================================================
--- /LMDZ6/trunk/libf/dyn3d/replay3d.F90	(revision 4112)
+++ /LMDZ6/trunk/libf/dyn3d/replay3d.F90	(revision 4112)
@@ -0,0 +1,193 @@
+!
+! $Id: gcm.F90 3579 2019-10-09 13:11:07Z fairhead $
+!
+!
+!
+PROGRAM replay3d
+
+
+
+USE comvert_mod, only :  preff, pa
+USE inigeomphy_mod, ONLY: inigeomphy
+
+
+  USE control_mod
+  USE temps_mod, ONLY: calend,start_time,annee_ref,day_ref, &
+                     itau_dyn,itau_phy,day_ini,jD_ref,jH_ref,day_end
+  USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, g, r, rad
+  USE logic_mod, ONLY: ecripar, iflag_phys, read_start
+
+  USE serre_mod, ONLY : clon,clat,transx,transy,alphax,alphay,pxo,pyo,              &
+        grossismx, grossismy, dzoomx, dzoomy,taux,tauy
+  USE mod_const_mpi, ONLY: comm_lmdz
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+  ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
+  ! A nettoyer. On ne veut qu'une ou deux routines d'interface 
+  ! dynamique -> physique pour l'initialisation
+#ifdef CPP_PHYS
+  USE iniphysiq_mod, ONLY: iniphysiq
+#endif
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+  IMPLICIT NONE
+
+  !      ......   Version  du 10/01/98    ..........
+
+  !             avec  coordonnees  verticales hybrides 
+  !   avec nouveaux operat. dissipation * ( gradiv2,divgrad2,nxgraro2 )
+
+  !=======================================================================
+  !
+  !   Auteur:  P. Le Van /L. Fairhead/F.Hourdin
+  !   -------
+  !
+  !   Objet:
+  !   ------
+  !
+  !   GCM LMD nouvelle grille
+  !
+  !=======================================================================
+  !
+  !  ... Dans inigeom , nouveaux calculs pour les elongations  cu , cv
+  !      et possibilite d'appeler une fonction f(y)  a derivee tangente
+  !      hyperbolique a la  place de la fonction a derivee sinusoidale.
+  !  ... Possibilite de choisir le schema pour l'advection de
+  !        q  , en modifiant iadv dans traceur.def  (MAF,10/02) .
+  !
+  !      Pour Van-Leer + Vapeur d'eau saturee, iadv(1)=4. (F.Codron,10/99)
+  !      Pour Van-Leer iadv=10
+  !
+  !-----------------------------------------------------------------------
+  !   Declarations:
+  !   -------------
+
+  include "dimensions.h"
+  include "paramet.h"
+  include "comdissnew.h"
+  include "comgeom2.h"
+
+  REAL zdtvr
+
+
+  ! variables dynamiques intermediaire pour le transport
+
+  !   variables pour le fichier histoire
+  REAL dtav      ! intervalle de temps elementaire
+
+  REAL time_0
+
+  LOGICAL lafin
+
+  integer :: ntime=10000,it,klon,klev
+
+
+  ! locales pour gestion du temps
+  INTEGER :: an, mois, jour
+  REAL :: heure
+
+  !   Initialisations:
+  !   ----------------
+
+
+  !----------------------------------------------------------------------
+  !  lecture des fichiers gcm.def ou run.def
+  !  ---------------------------------------
+  !
+preff=101325.
+ pa=50000.
+ clon=0.
+ clat=0.
+ taux=3.
+ tauy=3.
+ dzoomx=0.1
+ dzoomy=0.1
+ grossismx=1.
+ grossismx=1.
+ transx=0.
+ transy=0.
+
+  CALL conf_gcm( 99, .TRUE.)
+
+  if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", &
+       "iphysiq must be a multiple of iperiod", 1)
+
+ rad=6400000
+g=9.81
+
+
+
+  !-----------------------------------------------------------------------
+  !   Choix du calendrier
+  !   -------------------
+
+  !      calend = 'earth_365d'
+
+
+  !-----------------------------------------------------------------------
+  !   Lecture de l'etat initial :
+  !   ---------------------------
+
+  !-----------------------------------------------------------------------
+  !   Lecture des parametres de controle pour la simulation :
+  !   -------------------------------------------------------
+  !  on recalcule eventuellement le pas de temps
+
+
+  zdtvr    = daysec/REAL(day_step)
+
+  !
+  ! on remet le calendrier \`a zero si demande
+  !
+     annee_ref = anneeref
+     day_ref = dayref
+     day_ini = dayref
+     itau_dyn = 0
+     itau_phy = 0
+     time_0 = 0.
+
+  mois = 1
+  heure = 0.
+! call ymds2ju(annee_ref, mois, day_ref, heure, jD_ref)
+  jH_ref = jD_ref - int(jD_ref)
+  jD_ref = int(jD_ref)
+
+
+
+     dtvr = zdtvr
+     CALL iniconst
+     print*,'APRES inisconst'
+     CALL inigeom
+
+
+  CALL inigeomphy(iim,jjm,llm, &
+               1, comm_lmdz, &
+               rlatu,rlatv, &
+               rlonu,rlonv, &
+               aire,cu,cv)
+
+CALL suphel
+
+
+     CALL iophys_ini(900.)
+print*,'Rlatu=',rlatu
+klon=2+iim*(jjm-1)
+klev=llm
+
+!---------------------------------------------------------------------
+! Initialisation de la parametrisation
+!---------------------------------------------------------------------
+      call get_ini_module
+
+!---------------------------------------------------------------------
+! Boucle en temps sur l'appel à la parametrisation
+!---------------------------------------------------------------------
+      DO it=1,ntime
+         print*,'Pas de temps ',it,klon,klev
+         call call_param_replay(klon,klev)
+      ENDDO
+
+
+END PROGRAM replay3d
