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

Last change on this file since 5429 was 1279, checked in by Laurent Fairhead, 15 years ago

Merged LMDZ4-dev branch changes r1241:1278 into the trunk
Running trunk and LMDZ4-dev in LMDZOR configuration on local
machine (sequential) and SX8 (4-proc) yields identical results
(restart and restartphy are identical binarily)
Log history from r1241 to r1278 is available by switching to
source:LMDZ4/branches/LMDZ4-dev-20091210

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