source: LMDZ.3.3/tags/IPSL-CM4_IPCC/libf/bibio/inithist.F @ 601

Last change on this file since 601 was 353, checked in by lmdzadmin, 22 years ago

2 changements pour les fichiers histoire:

  • utilisation de l'entree "rectilineaire" de IOIPSL pour ne plus avoir

a

lancer ncregular a chaque fois

  • le calendrier des fichiers histoire est maintenant base sur la date d'initialisation de la simulation plutot que sur la date de depart du

job

en cours

LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.2 KB
Line 
1      subroutine inithist(infile,day0,anne0,tstep,t_ops,t_wrt,nq,fileid,
2     .                    filevid)
3
4       USE IOIPSL
5       USE histcom
6
7      implicit none
8
9C
10C   Routine d'initialisation des ecritures des fichiers histoires LMDZ
11C   au format IOIPSL
12C
13C   Appels succesifs des routines: histbeg
14C                                  histhori
15C                                  histver
16C                                  histdef
17C                                  histend
18C
19C   Entree:
20C
21C      infile: nom du fichier histoire a creer
22C      day0,anne0: date de reference
23C      tstep: duree du pas de temps en seconde
24C      t_ops: frequence de l'operation pour IOIPSL
25C      t_wrt: frequence d'ecriture sur le fichier
26C      nq: nombre de traceurs
27C
28C   Sortie:
29C      fileid: ID du fichier netcdf cree
30C      filevid:ID du fichier netcdf pour la grille v
31C
32C   L. Fairhead, LMD, 03/99
33C
34C =====================================================================
35C
36C   Declarations
37#include "dimensions.h"
38#include "paramet.h"
39#include "comconst.h"
40#include "comvert.h"
41#include "comgeom.h"
42#include "temps.h"
43#include "ener.h"
44#include "logic.h"
45#include "description.h"
46#include "serre.h"
47
48C   Arguments
49C
50      character*(*) infile
51      integer*4 day0, anne0
52      real tstep, t_ops, t_wrt
53      integer fileid, filevid
54      integer nq
55
56C   Variables locales
57C
58      integer tau0
59      real zjulian
60      character*3 str
61      character*10 ctrac
62      integer iq
63      real rlong(iip1,jjp1), rlat(iip1,jjp1)
64      integer uhoriid, vhoriid, thoriid, zvertiid
65      integer ii,jj
66      integer zan, dayref
67C
68C  Initialisations
69C
70      pi = 4. * atan (1.)
71      str='q  '
72      ctrac = 'traceur   '
73C
74C  Appel a histbeg: creation du fichier netcdf et initialisations diverses
75C         
76
77      zan = anne0
78      dayref = day0
79      CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)
80      tau0 = itau_dyn
81     
82      do jj = 1, jjp1
83        do ii = 1, iip1
84          rlong(ii,jj) = rlonu(ii) * 180. / pi
85          rlat(ii,jj) = rlatu(jj) * 180. / pi
86        enddo
87      enddo
88       
89      call histbeg(infile, iip1, rlong(:,1), jjp1, rlat(1,:),
90     .             1, iip1, 1, jjp1,
91     .             tau0, zjulian, tstep, uhoriid, fileid)
92C
93C  Creation du fichier histoire pour la grille en V (oblige pour l'instant,
94C  IOIPSL ne permet pas de grilles avec des nombres de point differents dans
95C  un meme fichier)
96
97      do jj = 1, jjm
98        do ii = 1, iip1
99          rlong(ii,jj) = rlonv(ii) * 180. / pi
100          rlat(ii,jj) = rlatv(jj) * 180. / pi
101        enddo
102      enddo
103
104      call histbeg('dyn_histv.nc', iip1, rlong(:,1), jjm, rlat(1,:),
105     .             1, iip1, 1, jjm,
106     .             tau0, zjulian, tstep, vhoriid, filevid)
107C
108C  Appel a histhori pour rajouter les autres grilles horizontales
109C
110      do jj = 1, jjp1
111        do ii = 1, iip1
112          rlong(ii,jj) = rlonv(ii) * 180. / pi
113          rlat(ii,jj) = rlatu(jj) * 180. / pi
114        enddo
115      enddo
116
117      call histhori(fileid, iip1, rlong, jjp1, rlat, 'scalar',
118     .              'Grille points scalaires', thoriid)
119C
120C  Appel a histvert pour la grille verticale
121C
122      call histvert(fileid, 'sig_s', 'Niveaux sigma','-',
123     .              llm, nivsigs, zvertiid)
124C Pour le fichier V
125      call histvert(filevid, 'sig_s', 'Niveaux sigma','-',
126     .              llm, nivsigs, zvertiid)
127C
128C  Appels a histdef pour la definition des variables a sauvegarder
129C
130C  Vents U
131C
132      call histdef(fileid, 'ucov', 'vents u covariants', 'm/s',
133     .             iip1, jjp1, uhoriid, llm, 1, llm, zvertiid,
134     .             32, 'inst(X)', t_ops, t_wrt)
135C
136C  Vents V
137C
138      call histdef(filevid, 'vcov', 'vents v covariants', 'm/s',
139     .             iip1, jjm, vhoriid, llm, 1, llm, zvertiid,
140     .             32, 'inst(X)', t_ops, t_wrt)
141
142C
143C  Temperature potentielle
144C
145      call histdef(fileid, 'teta', 'temperature potentielle', '-',
146     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
147     .             32, 'inst(X)', t_ops, t_wrt)
148C
149C  Geopotentiel
150C
151      call histdef(fileid, 'phi', 'geopotentiel instantane', '-',
152     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
153     .             32, 'inst(X)', t_ops, t_wrt)
154C
155C  Traceurs
156C
157      IF(nq.GE.1) THEN
158        DO iq=1,nq
159          IF ( iq.LE.9 ) THEN
160            WRITE(str(2:2),'(i1.1)') iq
161            write(ctrac(9:9),'(i1.1)') iq
162          ELSE
163            WRITE(str(2:3),'(i2.2)') iq
164            write(ctrac(9:10),'(i2.2)') iq
165          ENDIF
166          call histdef(fileid, str, ctrac, '-',
167     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
168     .             32, 'inst(X)', t_ops, t_wrt)
169        enddo
170      endif
171C
172C  Masse
173C
174      call histdef(fileid, 'masse', 'masse', 'kg',
175     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
176     .             32, 'inst(X)', t_ops, t_wrt)
177C
178C  Pression au sol
179C
180      call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa',
181     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
182     .             32, 'inst(X)', t_ops, t_wrt)
183C
184C  Pression au sol
185C
186      call histdef(fileid, 'phis', 'geopotentiel au sol', '-',
187     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
188     .             32, 'inst(X)', t_ops, t_wrt)
189C
190C  Fin
191C
192      call histend(fileid)
193      call histend(filevid)
194      return
195      end
Note: See TracBrowser for help on using the repository browser.