source: LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/initdynav_p.F @ 1134

Last change on this file since 1134 was 1114, checked in by jghattas, 16 years ago

Creation du module infotrac:

  • contient les variables de advtrac.h
  • contient la subroutine iniadvtrac renommer en infotrac_init
  • le nombre des traceurs est lu dans tracer.def en dynamique (ou par default ou recu par INCA)
  • ce module est utilise dans la dynamique et la physique
  • contient aussi la variable nbtr qui avant etait stockee dans dimphy

Le fichier advtrac.h n'existe plus.
La compilation ne prend plus en compte le nombre de traceur.

/JG

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
RevLine 
[763]1!
2! $Header$
3!
4c
5c
[1114]6      subroutine initdynav_p(infile,day0,anne0,tstep,t_ops,t_wrt,fileid)
[763]7
8       USE IOIPSL
9       use parallel
10       use Write_field
11       use misc_mod
[1114]12       USE infotrac
13
[763]14      implicit none
15
16C
17C   Routine d'initialisation des ecritures des fichiers histoires LMDZ
18C   au format IOIPSL. Initialisation du fichier histoire moyenne.
19C
20C   Appels succesifs des routines: histbeg
21C                                  histhori
22C                                  histver
23C                                  histdef
24C                                  histend
25C
26C   Entree:
27C
28C      infile: nom du fichier histoire a creer
29C      day0,anne0: date de reference
30C      tstep : frequence d'ecriture
31C      t_ops: frequence de l'operation pour IOIPSL
32C      t_wrt: frequence d'ecriture sur le fichier
33C
34C   Sortie:
35C      fileid: ID du fichier netcdf cree
36C
37C   L. Fairhead, LMD, 03/99
38C
39C =====================================================================
40C
41C   Declarations
42#include "dimensions.h"
43#include "paramet.h"
44#include "comconst.h"
45#include "comvert.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
53C   Arguments
54C
55      character*(*) infile
56      integer*4 day0, anne0
57      real tstep, t_ops, t_wrt
58      integer fileid
59      integer thoriid, zvertiid
60
61C   Variables locales
62C
63      integer tau0
64      real zjulian
65      integer iq
66      real rlong(iip1,jjp1), rlat(iip1,jjp1)
67      integer ii,jj
68      integer zan, dayref
69      integer :: jjb,jje,jjn
[1000]70
71! definition du domaine d'ecriture pour le rebuild
72
73      INTEGER,DIMENSION(2) :: ddid
74      INTEGER,DIMENSION(2) :: dsg
75      INTEGER,DIMENSION(2) :: dsl
76      INTEGER,DIMENSION(2) :: dpf
77      INTEGER,DIMENSION(2) :: dpl
78      INTEGER,DIMENSION(2) :: dhs
79      INTEGER,DIMENSION(2) :: dhe
[763]80     
[1000]81      INTEGER :: dynave_domain_id
82     
[763]83      if (adjust) return
84C
85C  Initialisations
86C
87      pi = 4. * atan (1.)
88C
89C  Appel a histbeg: creation du fichier netcdf et initialisations diverses
90C         
91
92      zan = anne0
93      dayref = day0
94      CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)
95      tau0 = itau_dyn
96     
97      do jj = 1, jjp1
98        do ii = 1, iip1
99          rlong(ii,jj) = rlonv(ii) * 180. / pi
100          rlat(ii,jj)  = rlatu(jj) * 180. / pi
101        enddo
102      enddo
103
104      jjb=jj_begin
105      jje=jj_end
106      jjn=jj_nb
[1000]107
108      ddid=(/ 1,2 /)
109      dsg=(/ iip1,jjp1 /)
110      dsl=(/ iip1,jjn /)
111      dpf=(/ 1,jjb /)
112      dpl=(/ iip1,jje /)
113      dhs=(/ 0,0 /)
114      dhe=(/ 0,0 /)
115
116      call flio_dom_set(mpi_size,mpi_rank,ddid,dsg,dsl,dpf,dpl,dhs,dhe,
117     .                 'box',dynave_domain_id)
[763]118             
[1000]119      call histbeg(trim(infile),iip1, rlong(:,1), jjn, rlat(1,jjb:jje),
120     .             1, iip1, 1, jjn,tau0, zjulian, tstep, thoriid,
121     .             fileid,dynave_domain_id)
[763]122
123C
124C  Appel a histvert pour la grille verticale
125C
126      call histvert(fileid, 'sigss', 'Niveaux sigma','Pa',
127     .              llm, nivsigs, zvertiid)
128C
129C  Appels a histdef pour la definition des variables a sauvegarder
130C
131C  Vents U
132C
133      write(6,*)'inithistave',tstep
134      call histdef(fileid, 'u', 'vents u scalaires moyennes',
135     .             'm/s', iip1, jjn, thoriid, llm, 1, llm, zvertiid,
136     .             32, 'ave(X)', t_ops, t_wrt)
137
138C
139C  Vents V
140C
141      call histdef(fileid, 'v', 'vents v scalaires moyennes',
142     .             'm/s', iip1, jjn, thoriid, llm, 1, llm, zvertiid,
143     .             32, 'ave(X)', t_ops, t_wrt)
144
145C
146C  Temperature
147C
148      call histdef(fileid, 'temp', 'temperature moyennee', 'K',
149     .             iip1, jjn, thoriid, llm, 1, llm, zvertiid,
150     .             32, 'ave(X)', t_ops, t_wrt)
151C
152C  Temperature potentielle
153C
154      call histdef(fileid, 'theta', 'temperature potentielle', 'K',
155     .             iip1, jjn, thoriid, llm, 1, llm, zvertiid,
156     .             32, 'ave(X)', t_ops, t_wrt)
157
158
159C
160C  Geopotentiel
161C
162      call histdef(fileid, 'phi', 'geopotentiel moyenne', '-',
163     .             iip1, jjn, thoriid, llm, 1, llm, zvertiid,
164     .             32, 'ave(X)', t_ops, t_wrt)
165C
166C  Traceurs
167C
[1114]168        DO iq=1,nqtot
[763]169          call histdef(fileid, ttext(iq), ttext(iq), '-',
170     .             iip1, jjn, thoriid, llm, 1, llm, zvertiid,
171     .             32, 'ave(X)', t_ops, t_wrt)
172        enddo
173C
174C  Masse
175C
176      call histdef(fileid, 'masse', 'masse', 'kg',
177     .             iip1, jjn, thoriid, 1, 1, 1, -99,
178     .             32, 'ave(X)', t_ops, t_wrt)
179C
180C  Pression au sol
181C
182      call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa',
183     .             iip1, jjn, thoriid, 1, 1, 1, -99,
184     .             32, 'ave(X)', t_ops, t_wrt)
185C
186C  Pression au sol
187C
188      call histdef(fileid, 'phis', 'geopotentiel au sol', '-',
189     .             iip1, jjn, thoriid, 1, 1, 1, -99,
190     .             32, 'ave(X)', t_ops, t_wrt)
191C
192C  Fin
193C
194      call histend(fileid)
195      return
196      end
Note: See TracBrowser for help on using the repository browser.