source: LMDZ4/trunk/libf/dyn3dpar/initdynav_p.F @ 1000

Last change on this file since 1000 was 1000, checked in by Laurent Fairhead, 16 years ago
  • Modifs sur le parallelisme: masquage dans la physique
  • Inclusion strato
  • mise en coherence etat0
  • le mode offline fonctionne maintenant en parallele,
  • les fichiers de la dynamiques sont correctement sortis et peuvent etre reconstruit avec rebuild
  • la version parallele de la dynamique peut s'executer sans MPI (sur 1 proc)
  • L'OPENMP fonctionne maintenant sans la parallelisation MPI.

YM
LF

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