/[lmdze]/trunk/Sources/dyn3d/initdynav.f
ViewVC logotype

Diff of /trunk/Sources/dyn3d/initdynav.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC revision 62 by guez, Thu Jul 26 14:37:37 2012 UTC
# Line 1  Line 1 
1  module initdynav_m  module initdynav_m
2    
   ! This module is clean: no C preprocessor directive, no include line  
   
3    implicit none    implicit none
4    
5  contains    integer histaveid
   
   subroutine initdynav(day0, anne0, tstep, nq, fileid, infile, t_ops, t_wrt)  
   
     ! From initdynav.F,v 1.1.1.1 2004/05/19 12:53:05  
6    
7      USE IOIPSL, only: ymds2ju, histbeg_totreg, histvert, histdef, histend  contains
     use dimens_m  
     use paramet_m  
     use comconst, only: pi  
     use comvert, only: nivsigs  
     use logic  
     use comgeom  
     use serre  
     use temps  
     use ener  
     use advtrac_m, only: ttext  
   
     !   Routine d'initialisation des ecritures des fichiers histoires LMDZ  
     !   au format IOIPSL. Initialisation du fichier histoire moyenne.  
   
     !   Appels succesifs des routines: histbeg  
     !                                  histhori  
     !                                  histver  
     !                                  histdef  
     !                                  histend  
   
     !   Entree:  
     !      infile: nom du fichier histoire a creer  
     !      day0,anne0: date de reference  
     !      tstep : frequence d'ecriture  
     !      t_ops: frequence de l'operation pour IOIPSL  
     !      t_wrt: frequence d'ecriture sur le fichier  
     !      nq: nombre de traceurs  
   
     !   Sortie:  
     !      fileid: ID du fichier netcdf cree  
   
     !   L. Fairhead, LMD, 03/99  
   
     !   Arguments  
     character(len=*) infile  
     integer day0, anne0  
     real, intent(in):: tstep, t_ops, t_wrt  
     integer fileid  
     integer nq  
     integer thoriid, zvertiid  
8    
9      !   Variables locales    subroutine initdynav(day0, anne0, tstep, nq, t_ops, t_wrt)
10    
11      integer tau0      ! From initdynav.F, version 1.1.1.1, 2004/05/19 12:53:05
12      real zjulian      ! L. Fairhead, LMD
13        ! Routine d'initialisation des écritures des fichiers histoires LMDZ
14        ! au format IOIPSL. Initialisation du fichier histoire moyenne.
15    
16        use calendar, ONLY: ymds2ju
17        USE comvert, ONLY: nivsigs
18        USE comgeom, ONLY: rlatu, rlonv
19        USE dimens_m, ONLY: llm
20        USE histbeg_totreg_m, ONLY: histbeg_totreg
21        USE histdef_m, ONLY: histdef
22        USE histend_m, ONLY: histend
23        USE histvert_m, ONLY: histvert
24        USE iniadvtrac_m, ONLY: ttext
25        USE nr_util, ONLY: pi
26        USE paramet_m, ONLY: iip1, jjp1
27        USE temps, ONLY: itau_dyn
28    
29        integer, intent(in):: day0, anne0 ! date de reference
30        real, intent(in):: tstep ! frequence d'ecriture
31        integer, intent(in):: nq ! nombre de traceurs
32        real, intent(in):: t_ops ! frequence de l'operation pour IOIPSL
33        real, intent(in):: t_wrt ! frequence d'ecriture sur le fichier
34    
35        ! Variables locales
36        integer horiid, zvertiid
37        real julian
38      integer iq      integer iq
39      real rlong(iip1,jjp1), rlat(iip1,jjp1)      integer ii, jj
     integer ii,jj  
     integer zan, dayref  
40    
41      !----------------------------------------------------      !----------------------------------------------------
42    
43      !  Initialisations      print *, "Call sequence information: initdynav"
44    
45      pi = 4. * atan (1.)      CALL ymds2ju(anne0, 1, day0, 0., julian)
46      !      call histbeg_totreg('dyn_hist_ave.nc', rlonv * 180. / pi, &
47      !  Appel a histbeg: creation du fichier netcdf et initialisations diverses           rlatu * 180. / pi, 1, iip1, 1, jjp1, itau_dyn, julian, tstep, &
48      !                   horiid, histaveid)
49        call histvert(histaveid, 'sigss', 'Niveaux sigma', 'Pa', llm, nivsigs, &
50      zan = anne0           zvertiid)
51      dayref = day0  
52      CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)      call histdef(histaveid, 'u', 'vents u scalaires moyennes', 'm/s', iip1, &
53      tau0 = itau_dyn           jjp1, horiid, llm, 1, llm, zvertiid, 'ave(X)', t_ops, t_wrt)
54        call histdef(histaveid, 'v', 'vents v scalaires moyennes', 'm/s', iip1, &
55      do jj = 1, jjp1           jjp1, horiid, llm, 1, llm, zvertiid, 'ave(X)', t_ops, t_wrt)
56         do ii = 1, iip1      call histdef(histaveid, 'temp', 'temperature moyennee', 'K', iip1, jjp1, &
57            rlong(ii,jj) = rlonv(ii) * 180. / pi           horiid, llm, 1, llm, zvertiid, 'ave(X)', t_ops, t_wrt)
58            rlat(ii,jj)  = rlatu(jj) * 180. / pi      call histdef(histaveid, 'theta', 'temperature potentielle', 'K', iip1, &
59         enddo           jjp1, horiid, llm, 1, llm, zvertiid, 'ave(X)', t_ops, t_wrt)
60        call histdef(histaveid, 'phi', 'geopotentiel moyenne', '-', iip1, jjp1, &
61             horiid, llm, 1, llm, zvertiid, 'ave(X)', t_ops, t_wrt)
62    
63        ! Traceurs
64        DO iq = 1, nq
65           call histdef(histaveid, ttext(iq), ttext(iq), '-', iip1, jjp1, &
66                horiid, llm, 1, llm, zvertiid, 'ave(X)', t_ops, t_wrt)
67      enddo      enddo
68    
69      call histbeg_totreg(infile, iip1, rlong(:,1), jjp1, rlat(1,:), &      call histdef(histaveid, 'masse', 'masse', 'kg', iip1, jjp1, horiid, 1, &
70           1, iip1, 1, jjp1, &           1, 1, -99, 'ave(X)', t_ops, t_wrt)
71           tau0, zjulian, tstep, thoriid, fileid)      call histdef(histaveid, 'ps', 'pression naturelle au sol', 'Pa', iip1, &
72             jjp1, horiid, 1, 1, 1, -99, 'ave(X)', t_ops, t_wrt)
73      !      call histdef(histaveid, 'phis', 'geopotentiel au sol', '-', iip1, jjp1, &
74      !  Appel a histvert pour la grille verticale           horiid, 1, 1, 1, -99, 'ave(X)', t_ops, t_wrt)
75      !  
76      call histvert(fileid, 'sigss', 'Niveaux sigma','Pa', &      call histend(histaveid)
          llm, nivsigs, zvertiid)  
     !  
     !  Appels a histdef pour la definition des variables a sauvegarder  
     !  
     !  Vents U  
     !  
     write(6,*)'inithistave',tstep  
     call histdef(fileid, 'u', 'vents u scalaires moyennes', &  
          'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &  
          32, 'ave(X)', t_ops, t_wrt)  
   
     !  
     !  Vents V  
     !  
     call histdef(fileid, 'v', 'vents v scalaires moyennes', &  
          'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &  
          32, 'ave(X)', t_ops, t_wrt)  
   
     !  
     !  Temperature  
     !  
     call histdef(fileid, 'temp', 'temperature moyennee', 'K', &  
          iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &  
          32, 'ave(X)', t_ops, t_wrt)  
     !  
     !  Temperature potentielle  
     !  
     call histdef(fileid, 'theta', 'temperature potentielle', 'K', &  
          iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &  
          32, 'ave(X)', t_ops, t_wrt)  
   
   
     !  
     !  Geopotentiel  
     !  
     call histdef(fileid, 'phi', 'geopotentiel moyenne', '-', &  
          iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &  
          32, 'ave(X)', t_ops, t_wrt)  
     !  
     !  Traceurs  
     !  
     DO iq=1,nq  
        call histdef(fileid, ttext(iq), ttext(iq), '-', &  
             iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &  
             32, 'ave(X)', t_ops, t_wrt)  
     enddo  
     !  
     !  Masse  
     !  
     call histdef(fileid, 'masse', 'masse', 'kg', &  
          iip1, jjp1, thoriid, 1, 1, 1, -99, &  
          32, 'ave(X)', t_ops, t_wrt)  
     !  
     !  Pression au sol  
     !  
     call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa', &  
          iip1, jjp1, thoriid, 1, 1, 1, -99, &  
          32, 'ave(X)', t_ops, t_wrt)  
     !  
     !  Pression au sol  
     !  
     call histdef(fileid, 'phis', 'geopotentiel au sol', '-', &  
          iip1, jjp1, thoriid, 1, 1, 1, -99, &  
          32, 'ave(X)', t_ops, t_wrt)  
     !  
     !  Fin  
     !  
     call histend(fileid)  
77    
78    end subroutine initdynav    end subroutine initdynav
79    

Legend:
Removed from v.3  
changed lines
  Added in v.62

  ViewVC Help
Powered by ViewVC 1.1.21