source: LMDZ6/branches/Amaury_dev/libf/dyn3d/replay3d.F90 @ 5159

Last change on this file since 5159 was 5159, checked in by abarral, 7 weeks ago

Put dimensions.h and paramet.h into modules

File size: 4.4 KB
Line 
1
2! $Id: gcm.F90 3579 2019-10-09 13:11:07Z fairhead $
3
4
5
6PROGRAM replay3d
7
8
9
10USE comvert_mod, ONLY:  preff, pa
11USE inigeomphy_mod, ONLY: inigeomphy
12
13
14  USE control_mod
15  USE temps_mod, ONLY: calend,start_time,annee_ref,day_ref, &
16                     itau_dyn,itau_phy,day_ini,jD_ref,jH_ref,day_end
17  USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, g, r, rad
18  USE logic_mod, ONLY: ecripar, iflag_phys, read_start
19
20  USE serre_mod, ONLY: clon,clat,transx,transy,alphax,alphay,pxo,pyo,              &
21        grossismx, grossismy, dzoomx, dzoomy,taux,tauy
22  USE mod_const_mpi, ONLY: comm_lmdz
23  USE lmdz_comdissnew, ONLY: lstardis, nitergdiv, nitergrot, niterh, tetagdiv, &
24          tetagrot, tetatemp, coefdis, vert_prof_dissip
25  USE lmdz_comgeom2
26
27  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
28  USE lmdz_paramet
29  IMPLICIT NONE
30
31  !      ......   Version  du 10/01/98    ..........
32
33  !             avec  coordonnees  verticales hybrides
34  !   avec nouveaux operat. dissipation * ( gradiv2,divgrad2,nxgraro2 )
35
36  !=======================================================================
37
38  !   Auteur:  P. Le Van /L. Fairhead/F.Hourdin
39  !   -------
40
41  !   Objet:
42  !   ------
43
44  !   GCM LMD nouvelle grille
45
46  !=======================================================================
47
48  !  ... Dans inigeom , nouveaux calculs pour les elongations  cu , cv
49  !      et possibilite d'appeler une fonction f(y)  a derivee tangente
50  !      hyperbolique a la  place de la fonction a derivee sinusoidale.
51  !  ... Possibilite de choisir le schema pour l'advection de
52  !        q  , en modifiant iadv dans traceur.def  (MAF,10/02) .
53
54  !      Pour Van-Leer + Vapeur d'eau saturee, iadv(1)=4. (F.Codron,10/99)
55  !      Pour Van-Leer iadv=10
56
57  !-----------------------------------------------------------------------
58  !   Declarations:
59  !   -------------
60
61
62
63
64  REAL zdtvr
65
66
67  ! variables dynamiques intermediaire pour le transport
68
69  !   variables pour le fichier histoire
70  REAL dtav      ! intervalle de temps elementaire
71
72  REAL time_0
73
74  LOGICAL lafin
75
76  INTEGER :: ntime=10000,it,klon,klev
77
78
79  ! locales pour gestion du temps
80  INTEGER :: an, mois, jour
81  REAL :: heure
82
83  !   Initialisations:
84  !   ----------------
85
86
87  !----------------------------------------------------------------------
88  !  lecture des fichiers gcm.def ou run.def
89  !  ---------------------------------------
90
91preff=101325.
92 pa=50000.
93 clon=0.
94 clat=0.
95 taux=3.
96 tauy=3.
97 dzoomx=0.1
98 dzoomy=0.1
99 grossismx=1.
100 grossismx=1.
101 transx=0.
102 transy=0.
103
104  CALL conf_gcm( 99, .TRUE.)
105
106  IF (mod(iphysiq, iperiod) /= 0) CALL abort_gcm("conf_gcm", &
107       "iphysiq must be a multiple of iperiod", 1)
108
109 rad=6400000
110g=9.81
111
112
113
114  !-----------------------------------------------------------------------
115  !   Choix du calendrier
116  !   -------------------
117
118  !      calend = 'earth_365d'
119
120
121  !-----------------------------------------------------------------------
122  !   Lecture de l'etat initial :
123  !   ---------------------------
124
125  !-----------------------------------------------------------------------
126  !   Lecture des parametres de controle pour la simulation :
127  !   -------------------------------------------------------
128  !  on recalcule eventuellement le pas de temps
129
130
131  zdtvr    = daysec/REAL(day_step)
132
133  ! on remet le calendrier \`a zero si demande
134
135     annee_ref = anneeref
136     day_ref = dayref
137     day_ini = dayref
138     itau_dyn = 0
139     itau_phy = 0
140     time_0 = 0.
141
142  mois = 1
143  heure = 0.
144! CALL ymds2ju(annee_ref, mois, day_ref, heure, jD_ref)
145  jH_ref = jD_ref - int(jD_ref)
146  jD_ref = int(jD_ref)
147
148
149
150     dtvr = zdtvr
151     CALL iniconst
152     PRINT*,'APRES inisconst'
153     CALL inigeom
154
155
156  CALL inigeomphy(iim,jjm,llm, &
157               1, comm_lmdz, &
158               rlatu,rlatv, &
159               rlonu,rlonv, &
160               aire,cu,cv)
161
162CALL suphel
163!open(82,file='dump_param.bin',form='unformatted',status='old')
164
165
166
167     CALL iophys_ini(900.)
168PRINT*,'Rlatu=',rlatu
169klon=2+iim*(jjm-1)
170klev=llm
171
172!---------------------------------------------------------------------
173! Initialisation de la parametrisation
174!---------------------------------------------------------------------
175      CALL call_ini_replay
176
177!---------------------------------------------------------------------
178! Boucle en temps sur l'appel à la parametrisation
179!---------------------------------------------------------------------
180      DO it=1,ntime
181         PRINT*,'Pas de temps ',it,klon,klev
182         CALL call_param_replay(klon,klev)
183      ENDDO
184
185
186END PROGRAM replay3d
Note: See TracBrowser for help on using the repository browser.