source: LMDZ4/branches/LMDZ4_par_0/libf/phylmd/initphysto.F @ 5080

Last change on this file since 5080 was 634, checked in by Laurent Fairhead, 20 years ago

Modifications faites à la physique pour la rendre parallele YM
Une branche de travail LMDZ4_par_0 a été créée provisoirement afin de tester
les modifs pleinement avant leurs inclusions dans le tronc principal
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.8 KB
Line 
1!
2! $Header$
3!
4C
5C
6      subroutine initphysto
7     .  (infile,
8     .  rlon, rlat, tstep,t_ops,t_wrt,nq,fileid)
9       
10       USE dimphy
11       USE IOIPSL
12       USE iophy
13      implicit none
14
15C
16C   Routine d'initialisation des ecritures des fichiers histoires LMDZ
17C   au format IOIPSL
18C
19C   Appels succesifs des routines: histbeg
20C                                  histhori
21C                                  histver
22C                                  histdef
23C                                  histend
24C
25C   Entree:
26C
27C      infile: nom du fichier histoire a creer
28C      day0,anne0: date de reference
29C      tstep: duree du pas de temps en seconde
30C      t_ops: frequence de l'operation pour IOIPSL
31C      t_wrt: frequence d'ecriture sur le fichier
32C      nq: nombre de traceurs
33C
34C   Sortie:
35C      fileid: ID du fichier netcdf cree
36C      filevid:ID du fichier netcdf pour la grille v
37C
38C   L. Fairhead, LMD, 03/99
39C
40C =====================================================================
41C
42C   Declarations
43#include "dimensions.h"
44#include "paramet.h"
45#include "comconst.h"
46#include "comgeom.h"
47#include "temps.h"
48#include "ener.h"
49#include "logic.h"
50#include "description.h"
51#include "serre.h"
52#include "indicesol.h"
53#include "control.h"
54cym#include "dimphy.h"
55
56C   Arguments
57      character*(*) infile
58      integer*4 nhoriid, i
59      real tstep, t_ops, t_wrt
60      integer fileid, filevid
61      integer nq,l
62      real nivsigs(llm)
63
64C   Variables locales
65C
66      integer tau0
67      real zjulian
68      character*3 str
69      character*10 ctrac
70      integer iq
71      integer uhoriid, vhoriid, thoriid, zvertiid
72      integer ii,jj
73      integer zan, idayref
74      logical ok_sync
75      REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1)
76C
77      REAL rlon(klon), rlat(klon)
78
79C  Initialisations
80C
81      pi = 4. * atan (1.)
82      str='q  '
83      ctrac = 'traceur   '
84      ok_sync= .true.
85C
86C  Appel a histbeg: creation du fichier netcdf et initialisations diverses
87C         
88
89      zan = annee_ref
90      idayref = day_ref
91      CALL ymds2ju(zan, 1, idayref, 0.0, zjulian)
92      tau0 = 0
93       
94cym     CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon)
95cym         DO i = 1, iim
96cym            zx_lon(i,1) = rlon(i+1)
97cym            zx_lon(i,jjm+1) = rlon(i+1)
98cym         ENDDO
99cym         CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat)
100
101
102      call histbeg_phy(infile,tau0, zjulian, tstep,
103     .                 nhoriid, fileid)
104
105C  Appel a histvert pour la grille verticale
106C
107        DO l=1,llm
108            nivsigs(l)=float(l)
109         ENDDO
110       
111        write(*,*) 'avant histvert ds initphysto'
112
113      call histvert(fileid, 'sig_s', 'Niveaux sigma',
114     . 'sigma_level',
115     .              llm, nivsigs, zvertiid)
116C
117C  Appels a histdef pour la definition des variables a sauvegarder
118C
119        write(*,*) 'apres histvert ds initphysto'
120
121       CALL histdef(fileid, "phis", "Surface geop. height", "-",
122     .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
123     .                "once", t_ops, t_wrt)
124c
125        write(*,*) 'apres phis ds initphysto'
126
127         CALL histdef(fileid, "aire", "Grid area", "-",
128     .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
129     .                "once", t_ops, t_wrt)
130         write(*,*) 'apres aire ds initphysto'
131
132cym     Attention dtime et istphy ne sont pas écrit ---> a éliminer ?
133         CALL histdef(fileid, "dtime", "tps phys ", "s",
134     .                1,1,nhoriid, 1,1,1, -99, 32,
135     .                "once", t_ops, t_wrt)
136       
137         CALL histdef(fileid, "istphy", "tps stock", "s",
138     .                1,1,nhoriid, 1,1,1, -99, 32,
139     .                "once", t_ops, t_wrt)
140
141C T
142C
143      call histdef(fileid, 't', 'Temperature', 'K',
144     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
145     .             32, 'inst(X)', t_ops, t_wrt)
146        write(*,*) 'apres t ds initphysto'
147C mfu
148C
149      call histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s',
150     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
151     .             32, 'inst(X)', t_ops, t_wrt)
152        write(*,*) 'apres mfu ds initphysto'
153C
154C mfd
155C
156      call histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s',
157     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
158     .             32, 'inst(X)', t_ops, t_wrt)
159
160C
161C en_u
162C
163      call histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s',
164     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
165     .             32, 'inst(X)', t_ops, t_wrt)
166               write(*,*) 'apres en_u ds initphysto'
167C
168C de_u
169C
170      call histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s',
171     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
172     .             32, 'inst(X)', t_ops, t_wrt)
173
174C
175C en_d
176C
177      call histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s',
178     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
179     .             32, 'inst(X)', t_ops, t_wrt)
180C
181
182C
183C de_d
184C
185      call histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s',
186     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
187     .             32, 'inst(X)', t_ops, t_wrt)
188
189c coefh frac_impa,frac_nucl
190       
191        call histdef(fileid, "coefh", " ", " ",
192     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
193     .             32, "inst(X)", t_ops, t_wrt)
194
195c abderrahmane le 16 09 02
196        call histdef(fileid, "fm_th", " ", " ",
197     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
198     .             32, "inst(X)", t_ops, t_wrt)
199
200        call histdef(fileid, "en_th", " ", " ",
201     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
202     .             32, "inst(X)", t_ops, t_wrt)
203c fin aj
204       
205        write(*,*) 'apres coefh ds initphysto' 
206
207        call histdef(fileid, 'frac_impa', ' ', ' ',
208     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
209     .             32, 'inst(X)', t_ops, t_wrt)
210       
211        call histdef(fileid, 'frac_nucl', ' ', ' ',
212     .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
213     .             32, 'inst(X)', t_ops, t_wrt)
214
215c
216c pyu1
217c
218      CALL histdef(fileid, "pyu1", " ", " ",
219     .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
220     .                "inst(X)", t_ops, t_wrt)
221
222c
223c pyv1
224c
225        CALL histdef(fileid, "pyv1", " ", " ",
226     .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
227     .                "inst(X)", t_ops, t_wrt)
228       
229        write(*,*) 'apres pyv1 ds initphysto'
230c
231c ftsol1
232c
233        call histdef(fileid, "ftsol1", " ", " ",
234     .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,32,
235     .             "inst(X)", t_ops, t_wrt)
236
237c
238c ftsol2
239c
240        call histdef(fileid, "ftsol2", " ", " ",
241     .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,32,
242     .             "inst(X)", t_ops, t_wrt)
243
244c
245c ftsol3
246c
247        call histdef(fileid, "ftsol3", " ", " ",
248     .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,
249     .             32, "inst(X)", t_ops, t_wrt)
250
251c
252c ftsol4
253c
254        call histdef(fileid, "ftsol4", " ", " ",
255     .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,
256     .             32, "inst(X)", t_ops, t_wrt)
257       
258c
259c rain
260c
261        call histdef(fileid, "rain", " ", " ",
262     .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,
263     .             32, "inst(X)", t_ops, t_wrt)
264
265c
266c psrf1
267c
268        call histdef(fileid, "psrf1", " ", " ",
269     .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
270     .             32, "inst(X)", t_ops, t_wrt)
271       
272c
273c psrf2
274c
275        call histdef(fileid, "psrf2", " ", " ",
276     .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
277     .             32, "inst(X)", t_ops, t_wrt)
278
279c
280c psrf3
281c
282        call histdef(fileid, "psrf3", " ", " ",
283     .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
284     .             32, "inst(X)", t_ops, t_wrt)
285
286c
287c psrf4
288c
289        call histdef(fileid, "psrf4", " ", " ",
290     .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
291     .             32, "inst(X)", t_ops, t_wrt)
292       
293        write(*,*) 'avant histend ds initphysto'       
294
295      call histend(fileid)
296c     if (ok_sync) call histsync(fileid)
297      if (ok_sync) call histsync
298
299       
300
301      return
302      end
Note: See TracBrowser for help on using the repository browser.