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

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

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

trunk/libf/dyn3d/init_dynzon.f90 revision 57 by guez, Mon Jan 30 12:54:02 2012 UTC trunk/Sources/dyn3d/init_dynzon.f revision 134 by guez, Wed Apr 29 15:47:56 2015 UTC
# Line 15  contains Line 15  contains
15    
16      ! From LMDZ4/libf/dyn3d/bilan_dyn.F, version 1.5 2005/03/16 10:12:17      ! From LMDZ4/libf/dyn3d/bilan_dyn.F, version 1.5 2005/03/16 10:12:17
17    
18      USE conf_gcm_m, ONLY : day_step, iperiod, periodav      USE comgeom, ONLY: rlatv
19      USE histcom, ONLY : histbeg_totreg, histdef, histend, histvert      USE conf_gcm_m, ONLY: day_step, iperiod, periodav
20      USE calendar, ONLY : ymds2ju      USE dimens_m, ONLY: jjm, llm
21      USE dimens_m, ONLY : jjm, llm      USE disvert_m, ONLY: presnivs
22      USE comvert, ONLY : presnivs      use dynetat0_m, only: day_ref, annee_ref
23      USE comgeom, ONLY : rlatv      USE histbeg_totreg_m, ONLY: histbeg_totreg
24      USE temps, ONLY : annee_ref, day_ref, itau_dyn      USE histdef_m, ONLY: histdef
25      USE nr_util, ONLY : pi      USE histend_m, ONLY: histend
26        USE histvert_m, ONLY: histvert
27      ! Arguments:      USE nr_util, ONLY: pi
28        USE temps, ONLY: itau_dyn
29        USE ymds2ju_m, ONLY: ymds2ju
30    
31      real, intent(in):: dt_app      real, intent(in):: dt_app
32    
# Line 34  contains Line 36  contains
36      character(len=5), parameter:: unites(nQ) = (/'K    ', 'm2/s2', 'm2/s2', &      character(len=5), parameter:: unites(nQ) = (/'K    ', 'm2/s2', 'm2/s2', &
37           'ang  ', 'm/s  ', 'kg/kg', 'un   '/)           'ang  ', 'm/s  ', 'kg/kg', 'un   '/)
38    
39      ! champs de tansport en moyenne zonale      ! Champs de tansport en moyenne zonale
40      integer itr      integer itr
41        character(len=26) noml(ntr, nQ)
     character(len=26) znoml(ntr, nQ)  
42      character(len=12) zunites(ntr, nQ)      character(len=12) zunites(ntr, nQ)
   
43      character(len=3), parameter:: ctrs(ntr) = (/'   ', 'TOT', 'MMC', 'TRS', &      character(len=3), parameter:: ctrs(ntr) = (/'   ', 'TOT', 'MMC', 'TRS', &
44           'STN'/)           'STN'/)
   
45      integer iQ      integer iQ
46    
47      ! Initialisation du fichier contenant les moyennes zonales.      ! Initialisation du fichier contenant les moyennes zonales.
48    
49      integer thoriid, zvertiid      integer horiid, vertiid
50        real julian
     real zjulian  
     integer zan, dayref  
   
51      real rlong(jjm), rlatg(jjm)      real rlong(jjm), rlatg(jjm)
52    
53      !-----------------------------------------------------------------      !-----------------------------------------------------------------
54    
55      print *, "Call sequence information: init_dynzon"      print *, "Call sequence information: init_dynzon"
56    
57      ! initialisation des fichiers      ! Initialisation des fichiers
58      ! ncum est la frequence de stokage en pas de temps      ! ncum est la frequence de stokage en pas de temps
59      ncum = day_step / iperiod * periodav      ncum = day_step / iperiod * periodav
60      dt_cum = ncum * dt_app      dt_cum = ncum * dt_app
61    
62      ! Initialisation du fichier contenant les moyennes zonales      ! Initialisation du fichier contenant les moyennes zonales
63    
64      zan = annee_ref      CALL ymds2ju(annee_ref, 1, day_ref, 0.0, julian)
     dayref = day_ref  
     CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)  
65    
66      rlong = 0.      rlong = 0.
67      rlatg = rlatv*180./pi      rlatg = rlatv * 180. / pi
68    
69      call histbeg_totreg('dynzon', rlong(:1), rlatg, 1, 1, 1, jjm, itau_dyn, &      call histbeg_totreg('dynzon', rlong(:1), rlatg, 1, 1, 1, jjm, itau_dyn, &
70           zjulian, dt_cum, thoriid, fileid)           julian, dt_cum, horiid, fileid)
71    
72      ! Appel à histvert pour la grille verticale      ! Appel à histvert pour la grille verticale
73    
74      call histvert(fileid, 'presnivs', 'Niveaux sigma', 'mb', llm, presnivs, &      call histvert(fileid, 'presnivs', 'Niveaux sigma', 'mb', presnivs, vertiid)
          zvertiid)  
75    
76      ! Appels à histdef pour la définition des variables à sauvegarder      ! Appels à histdef pour la définition des variables à sauvegarder
77      do iQ = 1, nQ      do iQ = 1, nQ
78         do itr = 1, ntr         do itr = 1, ntr
79            if (itr == 1) then            if (itr == 1) then
80               znom(itr, iQ) = nom(iQ)               znom(itr, iQ) = nom(iQ)
81               znoml(itr, iQ) = nom(iQ)               noml(itr, iQ) = nom(iQ)
82               zunites(itr, iQ) = unites(iQ)               zunites(itr, iQ) = unites(iQ)
83            else            else
84               znom(itr, iQ) = ctrs(itr)//'v'//nom(iQ)               znom(itr, iQ) = ctrs(itr) // 'v' // nom(iQ)
85               znoml(itr, iQ) = 'transport : v * '//nom(iQ)//' '//ctrs(itr)               noml(itr, iQ) = 'transport: v * ' // nom(iQ) // ' ' // ctrs(itr)
86               zunites(itr, iQ) = 'm/s * '//unites(iQ)               zunites(itr, iQ) = 'm/s * ' // unites(iQ)
87            endif            endif
88         enddo         enddo
89      enddo      enddo
# Line 98  contains Line 91  contains
91      ! Déclarations des champs avec dimension verticale      ! Déclarations des champs avec dimension verticale
92      do iQ = 1, nQ      do iQ = 1, nQ
93         do itr = 1, ntr         do itr = 1, ntr
94            call histdef(fileid, znom(itr, iQ), znoml(itr, iQ), &            call histdef(fileid, znom(itr, iQ), noml(itr, iQ), &
95                 zunites(itr, iQ), 1, jjm, thoriid, llm, 1, llm, zvertiid, &                 zunites(itr, iQ), 1, jjm, horiid, llm, 1, llm, vertiid, &
96                 'ave(X)', dt_cum, dt_cum)                 'ave(X)', dt_cum, dt_cum)
97         enddo         enddo
98         ! Déclarations pour les fonctions de courant         ! Déclarations pour les fonctions de courant
99         call histdef(fileid, 'psi'//nom(iQ), 'stream fn. '//znoml(2, iQ), &         call histdef(fileid, 'psi' // nom(iQ), 'stream fn. ' // noml(2, iQ), &
100              zunites(2, iQ), 1, jjm, thoriid, llm, 1, llm, zvertiid, &              zunites(2, iQ), 1, jjm, horiid, llm, 1, llm, vertiid, &
101              'ave(X)', dt_cum, dt_cum)              'ave(X)', dt_cum, dt_cum)
102      enddo      enddo
103    
104      ! Déclarations pour les champs de transport d'air      ! Déclarations pour les champs de transport d'air
105      call histdef(fileid, 'masse', 'masse', &      call histdef(fileid, 'masse', 'masse', 'kg', 1, jjm, horiid, llm, 1, &
106           'kg', 1, jjm, thoriid, llm, 1, llm, zvertiid, &           llm, vertiid, 'ave(X)', dt_cum, dt_cum)
107           'ave(X)', dt_cum, dt_cum)      call histdef(fileid, 'v', 'v', 'm/s', 1, jjm, horiid, llm, 1, llm, &
108      call histdef(fileid, 'v', 'v', &           vertiid, 'ave(X)', dt_cum, dt_cum)
          'm/s', 1, jjm, thoriid, llm, 1, llm, zvertiid, &  
          'ave(X)', dt_cum, dt_cum)  
109      ! Déclarations pour les fonctions de courant      ! Déclarations pour les fonctions de courant
110      call histdef(fileid, 'psi', 'stream fn. MMC ', 'mega t/s', &      call histdef(fileid, 'psi', 'stream fn. MMC ', 'mega t/s', 1, jjm, &
111           1, jjm, thoriid, llm, 1, llm, zvertiid, &           horiid, llm, 1, llm, vertiid, 'ave(X)', dt_cum, dt_cum)
          'ave(X)', dt_cum, dt_cum)  
112    
113      ! Déclaration des champs 1D de transport en latitude      ! Déclaration des champs 1D de transport en latitude
114      do iQ = 1, nQ      do iQ = 1, nQ
115         do itr = 2, ntr         do itr = 2, ntr
116            call histdef(fileid, 'a'//znom(itr, iQ), znoml(itr, iQ), &            call histdef(fileid, 'a' // znom(itr, iQ), noml(itr, iQ), &
117                 zunites(itr, iQ), 1, jjm, thoriid, 1, 1, 1, -99, &                 zunites(itr, iQ), 1, jjm, horiid, 1, 1, 1, -99, 'ave(X)', &
118                 'ave(X)', dt_cum, dt_cum)                 dt_cum, dt_cum)
119         enddo         enddo
120      enddo      enddo
121    

Legend:
Removed from v.57  
changed lines
  Added in v.134

  ViewVC Help
Powered by ViewVC 1.1.21