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

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

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

revision 82 by guez, Wed Mar 5 14:57:53 2014 UTC revision 91 by guez, Wed Mar 26 17:18:58 2014 UTC
# Line 1  Line 1 
1    module convmas_m
2    
 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/convmas.F,v 1.1.1.1 2004/05/19  
 ! 12:53:07 lmdzadmin Exp $  
   
 SUBROUTINE convmas(pbaru, pbarv, convm)  
   
   USE dimens_m  
   USE paramet_m  
   USE disvert_m  
   USE conf_gcm_m  
   USE filtreg_m, ONLY: filtreg  
3    IMPLICIT NONE    IMPLICIT NONE
4    
5    ! =======================================================================  contains
   
   ! Auteurs:  P. Le Van , F. Hourdin  .  
   ! -------  
   
   ! Objet:  
   ! ------  
   
   ! ********************************************************************  
   ! .... calcul de la convergence du flux de masse aux niveaux p ...  
   ! ********************************************************************  
6    
7      SUBROUTINE convmas(pbaru, pbarv, convm)
8    
9    ! pbaru  et  pbarv  sont des arguments d'entree pour le s-pg  ....      ! From LMDZ4/libf/dyn3d/convmas.F, version 1.1.1.1, 2004/05/19 12:53:07
   ! .....  convm      est  un argument de sortie pour le s-pg  ....  
10    
11    ! le calcul se fait de haut en bas,      USE dimens_m, ONLY: llm
12    ! la convergence de masse au niveau p(llm+1) est egale a 0. et      USE paramet_m, ONLY: ip1jm, ip1jmp1, jjp1, llmm1
13    ! n'est pas stockee dans le tableau convm .      USE filtreg_m, ONLY: filtreg
14    
15        ! Authors: P. Le Van, F. Hourdin
16        ! Objet: calcul de la convergence du flux de masse aux niveaux p
17    
18    ! =======================================================================      ! Le calcul se fait de haut en bas, la convergence de masse au
19        ! niveau p(llm+1) est égale à 0 et n'est pas stockée dans le
20        ! tableau convm.
21    
22    ! Declarations:      REAL, INTENT(IN):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
23    ! -------------      REAL, INTENT(OUT):: convm(ip1jmp1, llm)
24    
25        ! Local:
26        INTEGER l, ij
27    
28    REAL, INTENT (IN) :: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)      !-----------------------------------------------------------------------
   REAL, INTENT (OUT) :: convm(ip1jmp1, llm)  
   INTEGER l, ij  
29    
30        ! Calcul de - (d(pbaru)/dx + d(pbarv)/dy) :
31        CALL convflu(pbaru, pbarv, llm, convm)
32    
33    ! -----------------------------------------------------------------------      ! Filtrage :
34    ! ....  calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ......      CALL filtreg(convm, jjp1, llm, 2, 2, .TRUE.)
35    
36    CALL convflu(pbaru, pbarv, llm, convm)      ! Intégration de la convergence de masse de haut en bas :
37        DO l = llmm1, 1, -1
38    ! -----------------------------------------------------------------------         DO ij = 1, ip1jmp1
39    ! filtrage:            convm(ij, l) = convm(ij, l) + convm(ij, l+1)
40    ! ---------         END DO
   
   CALL filtreg(convm, jjp1, llm, 2, 2, .TRUE.)  
   
   ! integration de la convergence de masse de haut  en bas ......  
   
   DO l = llmm1, 1, -1  
     DO ij = 1, ip1jmp1  
       convm(ij, l) = convm(ij, l) + convm(ij, l+1)  
41      END DO      END DO
   END DO  
42    
43    RETURN    END SUBROUTINE convmas
44  END SUBROUTINE convmas  
45    end module convmas_m

Legend:
Removed from v.82  
changed lines
  Added in v.91

  ViewVC Help
Powered by ViewVC 1.1.21