source: LMDZ5/trunk/libf/dyn3d_common/writehist.F @ 2597

Last change on this file since 2597 was 2597, checked in by Ehouarn Millour, 8 years ago

Cleanup in the dynamics: get rid of comconst.h, make it a module comconst_mod.
EM

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
RevLine 
[524]1!
[1279]2! $Id: writehist.F 2597 2016-07-22 06:44:47Z emillour $
[524]3!
[1403]4      subroutine writehist(time,vcov,ucov,teta,phi,q,masse,ps,phis)
[524]5
[1279]6#ifdef CPP_IOIPSL
[524]7      USE ioipsl
[1279]8#endif
[1146]9      USE infotrac, ONLY : nqtot, ttext
[1403]10      use com_io_dyn_mod, only : histid,histvid,histuid
[524]11      implicit none
12
13C
14C   Ecriture du fichier histoire au format IOIPSL
15C
16C   Appels succesifs des routines: histwrite
17C
18C   Entree:
19C      time: temps de l'ecriture
20C      vcov: vents v covariants
21C      ucov: vents u covariants
22C      teta: temperature potentielle
23C      phi : geopotentiel instantane
24C      q   : traceurs
25C      masse: masse
26C      ps   :pression au sol
27C      phis : geopotentiel au sol
28C     
29C
30C   L. Fairhead, LMD, 03/99
31C
32C =====================================================================
33C
34C   Declarations
[2597]35      include "dimensions.h"
36      include "paramet.h"
37      include "comvert.h"
38      include "comgeom.h"
39      include "temps.h"
40      include "ener.h"
41      include "logic.h"
42      include "description.h"
43      include "serre.h"
44      include "iniprint.h"
[524]45
46C
47C   Arguments
48C
49
50      REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm)
51      REAL teta(ip1jmp1,llm),phi(ip1jmp1,llm)                   
52      REAL ps(ip1jmp1),masse(ip1jmp1,llm)                   
53      REAL phis(ip1jmp1)                 
[1146]54      REAL q(ip1jmp1,llm,nqtot)
[524]55      integer time
56
57
[1279]58#ifdef CPP_IOIPSL
59! This routine needs IOIPSL to work
[524]60C   Variables locales
61C
62      integer iq, ii, ll
63      integer ndexu(ip1jmp1*llm),ndexv(ip1jm*llm),ndex2d(ip1jmp1)
64      logical ok_sync
65      integer itau_w
[1403]66      REAL vnat(ip1jm,llm),unat(ip1jmp1,llm)
67
[524]68C
69C  Initialisations
70C
71      ndexu = 0
72      ndexv = 0
73      ndex2d = 0
74      ok_sync =.TRUE.
75      itau_w = itau_dyn + time
[1403]76!  Passage aux composantes naturelles du vent
77      call covnat(llm, ucov, vcov, unat, vnat)
[524]78C
79C  Appels a histwrite pour l'ecriture des variables a sauvegarder
80C
81C  Vents U
82C
[1403]83      call histwrite(histuid, 'u', itau_w, unat,
[524]84     .               iip1*jjp1*llm, ndexu)
85C
86C  Vents V
87C
[1403]88      call histwrite(histvid, 'v', itau_w, vnat,
[524]89     .               iip1*jjm*llm, ndexv)
90
91C
92C  Temperature potentielle
93C
94      call histwrite(histid, 'teta', itau_w, teta,
95     .                iip1*jjp1*llm, ndexu)
96C
97C  Geopotentiel
98C
99      call histwrite(histid, 'phi', itau_w, phi,
100     .                iip1*jjp1*llm, ndexu)
101C
102C  Traceurs
103C
[1403]104!        DO iq=1,nqtot
105!          call histwrite(histid, ttext(iq), itau_w, q(:,:,iq),
106!     .                   iip1*jjp1*llm, ndexu)
107!        enddo
108!C
[524]109C  Masse
110C
[1403]111      call histwrite(histid,'masse',itau_w, masse,iip1*jjp1*llm,ndexu)
[524]112C
113C  Pression au sol
114C
115      call histwrite(histid, 'ps', itau_w, ps, iip1*jjp1, ndex2d)
116C
117C  Geopotentiel au sol
118C
[1403]119!      call histwrite(histid, 'phis', itau_w, phis, iip1*jjp1, ndex2d)
[524]120C
121C  Fin
122C
123      if (ok_sync) then
124        call histsync(histid)
125        call histsync(histvid)
[1403]126        call histsync(histuid)
[524]127      endif
[1279]128#else
129! tell the user this routine should be run with ioipsl
130      write(lunout,*)"writehist: Warning this routine should not be",
131     &               " used without ioipsl"
132#endif
133! of #ifdef CPP_IOIPSL
[524]134      return
135      end
Note: See TracBrowser for help on using the repository browser.