/[lmdze]/trunk/dyn3d/bilan_dyn.f
ViewVC logotype

Diff of /trunk/dyn3d/bilan_dyn.f

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

revision 12 by guez, Mon Jul 21 16:05:07 2008 UTC revision 27 by guez, Thu Mar 25 14:29:07 2010 UTC
# Line 141  cym      character*10 zunites(ntr,nQ) Line 141  cym      character*10 zunites(ntr,nQ)
141  c   Initialisation du fichier contenant les moyennes zonales.  c   Initialisation du fichier contenant les moyennes zonales.
142  c   ---------------------------------------------------------  c   ---------------------------------------------------------
143    
       character*10 infile  
   
144        integer fileid        integer fileid
145        integer thoriid, zvertiid        integer thoriid, zvertiid
146        save fileid        save fileid
# Line 151  c   ------------------------------------ Line 149  c   ------------------------------------
149    
150  C   Variables locales  C   Variables locales
151  C  C
       integer tau0  
152        real zjulian        real zjulian
153        character*3 str        character*3 str
154        character*10 ctrac        character*10 ctrac
# Line 187  c   ncum est la frequence de stokage en Line 184  c   ncum est la frequence de stokage en
184    
185          if (i_sortie.eq.1) then          if (i_sortie.eq.1) then
186           file='dynzon'           file='dynzon'
187           call inigrads(ifile           call inigrads(ifile ,(/0./),180./pi,0.,0.,rlatv,-90.,90.,
188       s  ,(/0./),180./pi,0.,0.,rlatv,-90.,90.,180./pi       $        180./pi ,presnivs,1. ,dt_cum,file,'dyn_zon ')
      s  ,presnivs,1.  
      s  ,dt_cum,file,'dyn_zon ')  
189          endif          endif
190    
191          nom(itemp)='T'          nom(itemp)='T'
# Line 213  c   ncum est la frequence de stokage en Line 208  c   ncum est la frequence de stokage en
208  c   Initialisation du fichier contenant les moyennes zonales.  c   Initialisation du fichier contenant les moyennes zonales.
209  c   ---------------------------------------------------------  c   ---------------------------------------------------------
210    
       infile='dynzon'  
   
211        zan = annee_ref        zan = annee_ref
212        dayref = day_ref        dayref = day_ref
213        CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)        CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)
       tau0 = itau_dyn  
214                
215        rlong=0.        rlong=0.
216        rlatg=rlatv*180./pi        rlatg=rlatv*180./pi
217                
218        call histbeg_totreg(infile, 1, rlong(:1), jjm, rlatg,        call histbeg_totreg('dynzon', rlong(:1), rlatg,
219       .             1, 1, 1, jjm,       .             1, 1, 1, jjm,
220       .             tau0, zjulian, dt_cum, thoriid, fileid)       .             itau_dyn, zjulian, dt_cum, thoriid, fileid)
221    
222  C  C
223  C  Appel a histvert pour la grille verticale  C  Appel a histvert pour la grille verticale
# Line 257  c      print*,'1HISTDEF' Line 249  c      print*,'1HISTDEF'
249       .      ,znom(itr,iQ),znoml(itr,iQ),zunites(itr,iQ)       .      ,znom(itr,iQ),znoml(itr,iQ),zunites(itr,iQ)
250              call histdef(fileid,znom(itr,iQ),znoml(itr,iQ),              call histdef(fileid,znom(itr,iQ),znoml(itr,iQ),
251       .        zunites(itr,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,       .        zunites(itr,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,
252       .        32,'ave(X)',dt_cum,dt_cum)       .        'ave(X)',dt_cum,dt_cum)
253           enddo           enddo
254  c   Declarations pour les fonctions de courant  c   Declarations pour les fonctions de courant
255  c      print*,'2HISTDEF'  c      print*,'2HISTDEF'
256            call histdef(fileid,'psi'//nom(iQ)            call histdef(fileid,'psi'//nom(iQ)
257       .      ,'stream fn. '//znoml(itot,iQ),       .      ,'stream fn. '//znoml(itot,iQ),
258       .      zunites(itot,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,       .      zunites(itot,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,
259       .      32,'ave(X)',dt_cum,dt_cum)       .      'ave(X)',dt_cum,dt_cum)
260        enddo        enddo
261    
262    
# Line 272  c   Declarations pour les champs de tran Line 264  c   Declarations pour les champs de tran
264  c      print*,'3HISTDEF'  c      print*,'3HISTDEF'
265        call histdef(fileid, 'masse', 'masse',        call histdef(fileid, 'masse', 'masse',
266       .             'kg', 1, jjm, thoriid, llm, 1, llm, zvertiid,       .             'kg', 1, jjm, thoriid, llm, 1, llm, zvertiid,
267       .             32, 'ave(X)', dt_cum, dt_cum)       .             'ave(X)', dt_cum, dt_cum)
268        call histdef(fileid, 'v', 'v',        call histdef(fileid, 'v', 'v',
269       .             'm/s', 1, jjm, thoriid, llm, 1, llm, zvertiid,       .             'm/s', 1, jjm, thoriid, llm, 1, llm, zvertiid,
270       .             32, 'ave(X)', dt_cum, dt_cum)       .             'ave(X)', dt_cum, dt_cum)
271  c   Declarations pour les fonctions de courant  c   Declarations pour les fonctions de courant
272  c      print*,'4HISTDEF'  c      print*,'4HISTDEF'
273            call histdef(fileid,'psi','stream fn. MMC ','mega t/s',            call histdef(fileid,'psi','stream fn. MMC ','mega t/s',
274       .      1,jjm,thoriid,llm,1,llm,zvertiid,       .      1,jjm,thoriid,llm,1,llm,zvertiid,
275       .      32,'ave(X)',dt_cum,dt_cum)       .      'ave(X)',dt_cum,dt_cum)
276    
277    
278  c   Declaration des champs 1D de transport en latitude  c   Declaration des champs 1D de transport en latitude
# Line 289  c      print*,'5HISTDEF' Line 281  c      print*,'5HISTDEF'
281           do itr=2,ntr           do itr=2,ntr
282              call histdef(fileid,'a'//znom(itr,iQ),znoml(itr,iQ),              call histdef(fileid,'a'//znom(itr,iQ),znoml(itr,iQ),
283       .        zunites(itr,iQ),1,jjm,thoriid,1,1,1,-99,       .        zunites(itr,iQ),1,jjm,thoriid,1,1,1,-99,
284       .        32,'ave(X)',dt_cum,dt_cum)       .        'ave(X)',dt_cum,dt_cum)
285           enddo           enddo
286        enddo        enddo
287    
# Line 534  c   sorties proprement dites Line 526  c   sorties proprement dites
526        if (i_sortie.eq.1) then        if (i_sortie.eq.1) then
527        do iQ=1,nQ        do iQ=1,nQ
528           do itr=1,ntr           do itr=1,ntr
529              call histwrite(fileid,znom(itr,iQ),itau,zvQ(:,:,itr,iQ)              call histwrite(fileid,znom(itr,iQ),itau,zvQ(:,:,itr,iQ))
      s      ,jjm*llm,ndex3d)  
530           enddo           enddo
531           call histwrite(fileid,'psi'//nom(iQ),itau,psiQ(:,1:llm,iQ)           call histwrite(fileid,'psi'//nom(iQ),itau,psiQ(:,1:llm,iQ))
      s      ,jjm*llm,ndex3d)  
532        enddo        enddo
533    
534        call histwrite(fileid,'masse',itau,zmasse        call histwrite(fileid,'masse',itau,zmasse)
535       s   ,jjm*llm,ndex3d)        call histwrite(fileid,'v',itau,zv)
       call histwrite(fileid,'v',itau,zv  
      s   ,jjm*llm,ndex3d)  
536        psi=psi*1.e-9        psi=psi*1.e-9
537        call histwrite(fileid,'psi',itau,psi(:,1:llm),jjm*llm,ndex3d)        call histwrite(fileid,'psi',itau,psi(:,1:llm))
538    
539        endif        endif
540    
# Line 566  c   ----------------- Line 554  c   -----------------
554                 zavQ(:,itr,iQ)=zavQ(:,itr,iQ)+zvQ(:,l,itr,iQ)*zmasse(:,l)                 zavQ(:,itr,iQ)=zavQ(:,itr,iQ)+zvQ(:,l,itr,iQ)*zmasse(:,l)
555              enddo              enddo
556              zavQ(:,itr,iQ)=zavQ(:,itr,iQ)/zamasse(:)              zavQ(:,itr,iQ)=zavQ(:,itr,iQ)/zamasse(:)
557              call histwrite(fileid,'a'//znom(itr,iQ),itau,zavQ(:,itr,iQ)              call histwrite(fileid,'a'//znom(itr,iQ),itau,zavQ(:,itr,iQ))
      s      ,jjm*llm,ndex3d)  
558           enddo           enddo
559        enddo        enddo
560    

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

  ViewVC Help
Powered by ViewVC 1.1.21