/[lmdze]/trunk/libf/dyn3d/bilan_dyn.f90
ViewVC logotype

Diff of /trunk/libf/dyn3d/bilan_dyn.f90

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

revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC revision 15 by guez, Fri Aug 1 15:24:12 2008 UTC
# Line 178  c       initialisation des fichiers Line 178  c       initialisation des fichiers
178  c   ncum est la frequence de stokage en pas de temps  c   ncum est la frequence de stokage en pas de temps
179          ncum=dt_cum/dt_app          ncum=dt_cum/dt_app
180          if (abs(ncum*dt_app-dt_cum).gt.1.e-5*dt_app) then          if (abs(ncum*dt_app-dt_cum).gt.1.e-5*dt_app) then
181             WRITE(lunout,*)             print *,
182       .            'Pb : le pas de cumule doit etre multiple du pas'       .            'Pb : le pas de cumule doit etre multiple du pas'
183             WRITE(lunout,*)'dt_app=',dt_app             print *,'dt_app=',dt_app
184             WRITE(lunout,*)'dt_cum=',dt_cum             print *,'dt_cum=',dt_cum
185             stop             stop
186          endif          endif
187    
# Line 223  c   ------------------------------------ Line 223  c   ------------------------------------
223        rlong=0.        rlong=0.
224        rlatg=rlatv*180./pi        rlatg=rlatv*180./pi
225                
226        call histbeg_totreg(infile, 1, rlong(:1), jjm, rlatg,        call histbeg_totreg(infile, rlong(:1), rlatg,
227       .             1, 1, 1, jjm,       .             1, 1, 1, jjm,
228       .             tau0, zjulian, dt_cum, thoriid, fileid)       .             tau0, zjulian, dt_cum, thoriid, fileid)
229    
# Line 253  c      print*,'1HISTDEF' Line 253  c      print*,'1HISTDEF'
253        do iQ=1,nQ        do iQ=1,nQ
254           do itr=1,ntr           do itr=1,ntr
255        IF (prt_level > 5)        IF (prt_level > 5)
256       . WRITE(lunout,*)'var ',itr,iQ       . print *,'var ',itr,iQ
257       .      ,znom(itr,iQ),znoml(itr,iQ),zunites(itr,iQ)       .      ,znom(itr,iQ),znoml(itr,iQ),zunites(itr,iQ)
258              call histdef(fileid,znom(itr,iQ),znoml(itr,iQ),              call histdef(fileid,znom(itr,iQ),znoml(itr,iQ),
259       .        zunites(itr,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,       .        zunites(itr,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,
260       .        32,'ave(X)',dt_cum,dt_cum)       .        'ave(X)',dt_cum,dt_cum)
261           enddo           enddo
262  c   Declarations pour les fonctions de courant  c   Declarations pour les fonctions de courant
263  c      print*,'2HISTDEF'  c      print*,'2HISTDEF'
264            call histdef(fileid,'psi'//nom(iQ)            call histdef(fileid,'psi'//nom(iQ)
265       .      ,'stream fn. '//znoml(itot,iQ),       .      ,'stream fn. '//znoml(itot,iQ),
266       .      zunites(itot,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,       .      zunites(itot,iQ),1,jjm,thoriid,llm,1,llm,zvertiid,
267       .      32,'ave(X)',dt_cum,dt_cum)       .      'ave(X)',dt_cum,dt_cum)
268        enddo        enddo
269    
270    
# Line 272  c   Declarations pour les champs de tran Line 272  c   Declarations pour les champs de tran
272  c      print*,'3HISTDEF'  c      print*,'3HISTDEF'
273        call histdef(fileid, 'masse', 'masse',        call histdef(fileid, 'masse', 'masse',
274       .             'kg', 1, jjm, thoriid, llm, 1, llm, zvertiid,       .             'kg', 1, jjm, thoriid, llm, 1, llm, zvertiid,
275       .             32, 'ave(X)', dt_cum, dt_cum)       .             'ave(X)', dt_cum, dt_cum)
276        call histdef(fileid, 'v', 'v',        call histdef(fileid, 'v', 'v',
277       .             'm/s', 1, jjm, thoriid, llm, 1, llm, zvertiid,       .             'm/s', 1, jjm, thoriid, llm, 1, llm, zvertiid,
278       .             32, 'ave(X)', dt_cum, dt_cum)       .             'ave(X)', dt_cum, dt_cum)
279  c   Declarations pour les fonctions de courant  c   Declarations pour les fonctions de courant
280  c      print*,'4HISTDEF'  c      print*,'4HISTDEF'
281            call histdef(fileid,'psi','stream fn. MMC ','mega t/s',            call histdef(fileid,'psi','stream fn. MMC ','mega t/s',
282       .      1,jjm,thoriid,llm,1,llm,zvertiid,       .      1,jjm,thoriid,llm,1,llm,zvertiid,
283       .      32,'ave(X)',dt_cum,dt_cum)       .      'ave(X)',dt_cum,dt_cum)
284    
285    
286  c   Declaration des champs 1D de transport en latitude  c   Declaration des champs 1D de transport en latitude
# Line 289  c      print*,'5HISTDEF' Line 289  c      print*,'5HISTDEF'
289           do itr=2,ntr           do itr=2,ntr
290              call histdef(fileid,'a'//znom(itr,iQ),znoml(itr,iQ),              call histdef(fileid,'a'//znom(itr,iQ),znoml(itr,iQ),
291       .        zunites(itr,iQ),1,jjm,thoriid,1,1,1,-99,       .        zunites(itr,iQ),1,jjm,thoriid,1,1,1,-99,
292       .        32,'ave(X)',dt_cum,dt_cum)       .        'ave(X)',dt_cum,dt_cum)
293           enddo           enddo
294        enddo        enddo
295    
# Line 340  c Line 340  c
340        endif        endif
341    
342        IF (prt_level > 5)        IF (prt_level > 5)
343       . WRITE(lunout,*)'dans bilan_dyn ',icum,'->',icum+1       . print *,'dans bilan_dyn ',icum,'->',icum+1
344        icum=icum+1        icum=icum+1
345    
346  c   accumulation des flux de masse horizontaux  c   accumulation des flux de masse horizontaux
# Line 406  c   calcul de la vitesse verticale Line 406  c   calcul de la vitesse verticale
406           enddo           enddo
407        enddo        enddo
408        IF (prt_level > 5)        IF (prt_level > 5)
409       . WRITE(lunout,*)'Apres les calculs fait a chaque pas'       . print *,'Apres les calculs fait a chaque pas'
410  c=====================================================================  c=====================================================================
411  c   PAS DE TEMPS D'ECRITURE  c   PAS DE TEMPS D'ECRITURE
412  c=====================================================================  c=====================================================================
# Line 414  c======================================= Line 414  c=======================================
414  c=====================================================================  c=====================================================================
415    
416        IF (prt_level > 5)        IF (prt_level > 5)
417       . WRITE(lunout,*)'Pas d ecriture'       . print *,'Pas d ecriture'
418    
419  c   Normalisation  c   Normalisation
420        do iQ=1,nQ        do iQ=1,nQ
# Line 534  c   sorties proprement dites Line 534  c   sorties proprement dites
534        if (i_sortie.eq.1) then        if (i_sortie.eq.1) then
535        do iQ=1,nQ        do iQ=1,nQ
536           do itr=1,ntr           do itr=1,ntr
537              call histwrite(fileid,znom(itr,iQ),itau,zvQ(:,:,itr,iQ)              call histwrite(fileid,znom(itr,iQ),itau,zvQ(:,:,itr,iQ))
      s      ,jjm*llm,ndex3d)  
538           enddo           enddo
539           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)  
540        enddo        enddo
541    
542        call histwrite(fileid,'masse',itau,zmasse        call histwrite(fileid,'masse',itau,zmasse)
543       s   ,jjm*llm,ndex3d)        call histwrite(fileid,'v',itau,zv)
       call histwrite(fileid,'v',itau,zv  
      s   ,jjm*llm,ndex3d)  
544        psi=psi*1.e-9        psi=psi*1.e-9
545        call histwrite(fileid,'psi',itau,psi(:,1:llm),jjm*llm,ndex3d)        call histwrite(fileid,'psi',itau,psi(:,1:llm))
546    
547        endif        endif
548    
# Line 566  c   ----------------- Line 562  c   -----------------
562                 zavQ(:,itr,iQ)=zavQ(:,itr,iQ)+zvQ(:,l,itr,iQ)*zmasse(:,l)                 zavQ(:,itr,iQ)=zavQ(:,itr,iQ)+zvQ(:,l,itr,iQ)*zmasse(:,l)
563              enddo              enddo
564              zavQ(:,itr,iQ)=zavQ(:,itr,iQ)/zamasse(:)              zavQ(:,itr,iQ)=zavQ(:,itr,iQ)/zamasse(:)
565              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)  
566           enddo           enddo
567        enddo        enddo
568    

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

  ViewVC Help
Powered by ViewVC 1.1.21