/[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 27 by guez, Thu Mar 25 14:29:07 2010 UTC revision 61 by guez, Fri Apr 20 14:58:43 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      integer histaveid
6    
7  contains  contains
8    
9    subroutine initdynav(day0, anne0, tstep, nq, fileid, t_ops, t_wrt)    subroutine initdynav(day0, anne0, tstep, nq, t_ops, t_wrt)
10    
11      ! From initdynav.F, version 1.1.1.1, 2004/05/19 12:53:05      ! From initdynav.F, version 1.1.1.1, 2004/05/19 12:53:05
12      !   L. Fairhead, LMD      ! 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 ioipsl, ONLY : histbeg_totreg, histdef, histend, histvert, ymds2ju      use calendar, ONLY: ymds2ju
     USE dimens_m, ONLY : llm  
     USE paramet_m, ONLY : iip1, jjp1  
     USE comconst, ONLY : pi  
17      USE comvert, ONLY : nivsigs      USE comvert, ONLY : nivsigs
18      USE comgeom, ONLY : rlatu, rlonv      USE comgeom, ONLY : rlatu, rlonv
19      USE temps, ONLY : itau_dyn      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      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      !   Routine d'initialisation des ecritures des fichiers histoires LMDZ      integer, intent(in):: day0, anne0 ! date de reference
30      !   au format IOIPSL. Initialisation du fichier histoire moyenne.      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      !   Appels succesifs des routines: histbeg      ! Variables locales
     !                                  histhori  
     !                                  histver  
     !                                  histdef  
     !                                  histend  
   
     !   Entree:  
     !      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  
   
     !   Arguments  
     integer day0, anne0  
     real, intent(in):: tstep, t_ops, t_wrt  
     integer fileid  
     integer nq  
36      integer thoriid, zvertiid      integer thoriid, zvertiid
   
     !   Variables locales  
   
37      real zjulian      real zjulian
38      integer iq      integer iq
39      real rlong(iip1,jjp1), rlat(iip1,jjp1)      real rlong(iip1, jjp1), rlat(iip1, jjp1)
40      integer ii,jj      integer ii, jj
41      integer zan, dayref      integer zan, dayref
42    
43      !----------------------------------------------------      !----------------------------------------------------
44    
45      !  Appel a histbeg: creation du fichier netcdf et initialisations diverses      print *, "Call sequence information: initdynav"
46    
47      zan = anne0      zan = anne0
48      dayref = day0      dayref = day0
# Line 64  contains Line 50  contains
50    
51      do jj = 1, jjp1      do jj = 1, jjp1
52         do ii = 1, iip1         do ii = 1, iip1
53            rlong(ii,jj) = rlonv(ii) * 180. / pi            rlong(ii, jj) = rlonv(ii) * 180. / pi
54            rlat(ii,jj)  = rlatu(jj) * 180. / pi            rlat(ii, jj) = rlatu(jj) * 180. / pi
55         enddo         enddo
56      enddo      enddo
57    
58      call histbeg_totreg('dyn_hist_ave.nc', rlong(:,1), rlat(1,:), &      call histbeg_totreg('dyn_hist_ave.nc', rlong(:, 1), rlat(1, :), 1, iip1, &
59           1, iip1, 1, jjp1, &           1, jjp1, itau_dyn, zjulian, tstep, thoriid, histaveid)
60           itau_dyn, zjulian, tstep, thoriid, fileid)      call histvert(histaveid, 'sigss', 'Niveaux sigma', 'Pa', llm, nivsigs, &
61             zvertiid)
   
     !  Appel a histvert pour la grille verticale  
   
     call histvert(fileid, 'sigss', 'Niveaux sigma','Pa', &  
          llm, nivsigs, zvertiid)  
62    
63      !  Appels a histdef pour la definition des variables a sauvegarder      call histdef(histaveid, 'u', 'vents u scalaires moyennes', &
   
     !  Vents U  
   
     write(6,*)'inithistave',tstep  
     call histdef(fileid, 'u', 'vents u scalaires moyennes', &  
64           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
65           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
66        call histdef(histaveid, 'v', 'vents v scalaires moyennes', &
   
     !  Vents V  
   
     call histdef(fileid, 'v', 'vents v scalaires moyennes', &  
67           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
68           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
69        call histdef(histaveid, 'temp', 'temperature moyennee', 'K', &
   
     !  Temperature  
   
     call histdef(fileid, 'temp', 'temperature moyennee', 'K', &  
70           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
71           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
72        call histdef(histaveid, 'theta', 'temperature potentielle', 'K', &
     !  Temperature potentielle  
   
     call histdef(fileid, 'theta', 'temperature potentielle', 'K', &  
73           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
74           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
75        call histdef(histaveid, 'phi', 'geopotentiel moyenne', '-', &
   
   
     !  Geopotentiel  
   
     call histdef(fileid, 'phi', 'geopotentiel moyenne', '-', &  
76           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
77           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
78    
79      !  Traceurs      ! Traceurs
80        DO iq = 1, nq
81      DO iq=1,nq         call histdef(histaveid, ttext(iq), ttext(iq), '-', &
        call histdef(fileid, ttext(iq), ttext(iq), '-', &  
82              iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &              iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
83              'ave(X)', t_ops, t_wrt)              'ave(X)', t_ops, t_wrt)
84      enddo      enddo
85    
86      !  Masse      call histdef(histaveid, 'masse', 'masse', 'kg', &
   
     call histdef(fileid, 'masse', 'masse', 'kg', &  
87           iip1, jjp1, thoriid, 1, 1, 1, -99, &           iip1, jjp1, thoriid, 1, 1, 1, -99, &
88           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
89        call histdef(histaveid, 'ps', 'pression naturelle au sol', 'Pa', &
     !  Pression au sol  
   
     call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa', &  
90           iip1, jjp1, thoriid, 1, 1, 1, -99, &           iip1, jjp1, thoriid, 1, 1, 1, -99, &
91           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
92        call histdef(histaveid, 'phis', 'geopotentiel au sol', '-', &
     !  Pression au sol  
   
     call histdef(fileid, 'phis', 'geopotentiel au sol', '-', &  
93           iip1, jjp1, thoriid, 1, 1, 1, -99, &           iip1, jjp1, thoriid, 1, 1, 1, -99, &
94           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
95    
96      call histend(fileid)      call histend(histaveid)
97    
98    end subroutine initdynav    end subroutine initdynav
99    

Legend:
Removed from v.27  
changed lines
  Added in v.61

  ViewVC Help
Powered by ViewVC 1.1.21