/[lmdze]/trunk/libf/bibio/initdynav.f90
ViewVC logotype

Diff of /trunk/libf/bibio/initdynav.f90

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

revision 30 by guez, Thu Apr 1 09:07:28 2010 UTC revision 52 by guez, Fri Sep 23 12:28:01 2011 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  contains
# Line 9  contains Line 7  contains
7    subroutine initdynav(day0, anne0, tstep, nq, fileid, t_ops, t_wrt)    subroutine initdynav(day0, anne0, tstep, nq, fileid, t_ops, t_wrt)
8    
9      ! 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
10      !   L. Fairhead, LMD      ! L. Fairhead, LMD
11        ! Routine d'initialisation des écritures des fichiers histoires LMDZ
12        ! au format IOIPSL. Initialisation du fichier histoire moyenne.
13    
     USE histcom, ONLY: histbeg_totreg, histdef, histend, histvert  
14      use calendar, ONLY: ymds2ju      use calendar, ONLY: ymds2ju
     USE dimens_m, ONLY : llm  
     USE paramet_m, ONLY : iip1, jjp1  
     USE comconst, ONLY : pi  
15      USE comvert, ONLY : nivsigs      USE comvert, ONLY : nivsigs
16      USE comgeom, ONLY : rlatu, rlonv      USE comgeom, ONLY : rlatu, rlonv
17      USE temps, ONLY : itau_dyn      USE dimens_m, ONLY : llm
18        USE histcom, ONLY: histbeg_totreg, histdef, histend, histvert
19      USE iniadvtrac_m, ONLY : ttext      USE iniadvtrac_m, ONLY : ttext
20        USE nr_util, ONLY : pi
21        USE paramet_m, ONLY : iip1, jjp1
22        USE temps, ONLY : itau_dyn
23    
24      !   Routine d'initialisation des ecritures des fichiers histoires LMDZ      integer, intent(in):: day0, anne0 ! date de reference
25      !   au format IOIPSL. Initialisation du fichier histoire moyenne.      real, intent(in):: tstep ! frequence d'ecriture
26        real, intent(in):: t_ops ! frequence de l'operation pour IOIPSL
27        real, intent(in):: t_wrt ! frequence d'ecriture sur le fichier
28        integer, intent(out):: fileid ! ID du fichier netcdf cree
29        integer, intent(in):: nq ! nombre de traceurs
30    
31      !   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  
32      integer thoriid, zvertiid      integer thoriid, zvertiid
   
     !   Variables locales  
   
33      real zjulian      real zjulian
34      integer iq      integer iq
35      real rlong(iip1,jjp1), rlat(iip1,jjp1)      real rlong(iip1, jjp1), rlat(iip1, jjp1)
36      integer ii,jj      integer ii, jj
37      integer zan, dayref      integer zan, dayref
38    
39      !----------------------------------------------------      !----------------------------------------------------
40    
41      !  Appel a histbeg: creation du fichier netcdf et initialisations diverses      print *, "Call sequence information: initdynav"
42    
43      zan = anne0      zan = anne0
44      dayref = day0      dayref = day0
# Line 65  contains Line 46  contains
46    
47      do jj = 1, jjp1      do jj = 1, jjp1
48         do ii = 1, iip1         do ii = 1, iip1
49            rlong(ii,jj) = rlonv(ii) * 180. / pi            rlong(ii, jj) = rlonv(ii) * 180. / pi
50            rlat(ii,jj)  = rlatu(jj) * 180. / pi            rlat(ii, jj) = rlatu(jj) * 180. / pi
51         enddo         enddo
52      enddo      enddo
53    
54      call histbeg_totreg('dyn_hist_ave.nc', rlong(:,1), rlat(1,:), &      call histbeg_totreg('dyn_hist_ave.nc', rlong(:, 1), rlat(1, :), 1, iip1, &
55           1, iip1, 1, jjp1, &           1, jjp1, itau_dyn, zjulian, tstep, thoriid, fileid)
56           itau_dyn, zjulian, tstep, thoriid, fileid)      call histvert(fileid, 'sigss', 'Niveaux sigma', 'Pa', llm, nivsigs, &
57             zvertiid)
   
     !  Appel a histvert pour la grille verticale  
58    
     call histvert(fileid, 'sigss', 'Niveaux sigma','Pa', &  
          llm, nivsigs, zvertiid)  
   
     !  Appels a histdef pour la definition des variables a sauvegarder  
   
     !  Vents U  
   
     write(6,*)'inithistave',tstep  
59      call histdef(fileid, 'u', 'vents u scalaires moyennes', &      call histdef(fileid, 'u', 'vents u scalaires moyennes', &
60           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
61           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
   
   
     !  Vents V  
   
62      call histdef(fileid, 'v', 'vents v scalaires moyennes', &      call histdef(fileid, 'v', 'vents v scalaires moyennes', &
63           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
64           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
   
   
     !  Temperature  
   
65      call histdef(fileid, 'temp', 'temperature moyennee', 'K', &      call histdef(fileid, 'temp', 'temperature moyennee', 'K', &
66           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
67           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
   
     !  Temperature potentielle  
   
68      call histdef(fileid, 'theta', 'temperature potentielle', 'K', &      call histdef(fileid, 'theta', 'temperature potentielle', 'K', &
69           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
70           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
   
   
   
     !  Geopotentiel  
   
71      call histdef(fileid, 'phi', 'geopotentiel moyenne', '-', &      call histdef(fileid, 'phi', 'geopotentiel moyenne', '-', &
72           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &           iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
73           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
74    
75      !  Traceurs      ! Traceurs
76        DO iq = 1, nq
     DO iq=1,nq  
77         call histdef(fileid, ttext(iq), ttext(iq), '-', &         call histdef(fileid, ttext(iq), ttext(iq), '-', &
78              iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &              iip1, jjp1, thoriid, llm, 1, llm, zvertiid, &
79              'ave(X)', t_ops, t_wrt)              'ave(X)', t_ops, t_wrt)
80      enddo      enddo
81    
     !  Masse  
   
82      call histdef(fileid, 'masse', 'masse', 'kg', &      call histdef(fileid, 'masse', 'masse', 'kg', &
83           iip1, jjp1, thoriid, 1, 1, 1, -99, &           iip1, jjp1, thoriid, 1, 1, 1, -99, &
84           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
   
     !  Pression au sol  
   
85      call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa', &      call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa', &
86           iip1, jjp1, thoriid, 1, 1, 1, -99, &           iip1, jjp1, thoriid, 1, 1, 1, -99, &
87           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)
   
     !  Pression au sol  
   
88      call histdef(fileid, 'phis', 'geopotentiel au sol', '-', &      call histdef(fileid, 'phis', 'geopotentiel au sol', '-', &
89           iip1, jjp1, thoriid, 1, 1, 1, -99, &           iip1, jjp1, thoriid, 1, 1, 1, -99, &
90           'ave(X)', t_ops, t_wrt)           'ave(X)', t_ops, t_wrt)

Legend:
Removed from v.30  
changed lines
  Added in v.52

  ViewVC Help
Powered by ViewVC 1.1.21