/[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

trunk/libf/dyn3d/convmas.f revision 66 by guez, Thu Sep 20 13:00:41 2012 UTC trunk/Sources/dyn3d/convmas.f revision 137 by guez, Wed May 6 15:51:03 2015 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 $  
3  !    IMPLICIT NONE
4        SUBROUTINE convmas (pbaru, pbarv, convm )  
5  c  contains
6        use dimens_m  
7        use paramet_m    SUBROUTINE convmas(pbaru, pbarv, convm)
8        use disvert_m  
9        use conf_gcm_m      ! From LMDZ4/libf/dyn3d/convmas.F, version 1.1.1.1, 2004/05/19 12:53:07
10        use filtreg_m, only: filtreg  
11        IMPLICIT NONE      USE dimens_m, ONLY: iim, jjm, llm
12        USE paramet_m, ONLY: ip1jm, ip1jmp1, jjp1, llmm1
13  c=======================================================================      USE filtreg_scal_m, ONLY: filtreg_scal
14  c  
15  c   Auteurs:  P. Le Van , F. Hourdin  .      ! Authors: P. Le Van, F. Hourdin
16  c   -------      ! Objet: calcul de la convergence du flux de masse aux niveaux p
17  c  
18  c   Objet:      ! Le calcul se fait de haut en bas, la convergence de masse au
19  c   ------      ! niveau p(llm+1) est égale à 0 et n'est pas stockée dans le
20  c      ! tableau convm.
21  c   ********************************************************************  
22  c   .... calcul de la convergence du flux de masse aux niveaux p ...      REAL, INTENT(IN):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
23  c   ********************************************************************      REAL, INTENT(OUT):: convm(iim + 1, jjm + 1, llm)
24  c  
25  c      ! Local:
26  c     pbaru  et  pbarv  sont des arguments d'entree pour le s-pg  ....      INTEGER l
27  c      .....  convm      est  un argument de sortie pour le s-pg  ....  
28  c      !-----------------------------------------------------------------------
29  c    le calcul se fait de haut en bas,  
30  c    la convergence de masse au niveau p(llm+1) est egale a 0. et      ! Calcul de - (d(pbaru)/dx + d(pbarv)/dy) :
31  c    n'est pas stockee dans le tableau convm .      CALL convflu(pbaru, pbarv, llm, convm)
32  c  
33  c      ! Filtrage :
34  c=======================================================================      CALL filtreg_scal(convm, direct = .true., intensive = .false.)
35  c  
36  c   Declarations:      ! Intégration de la convergence de masse de haut en bas :
37  c   -------------      DO l = llmm1, 1, -1
38           convm(:, :, l) = convm(:, :, l) + convm(:, :, l+1)
39        END DO
40        REAL, intent(in):: pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm )  
41        real, intent(out):: convm(  ip1jmp1,llm )    END SUBROUTINE convmas
42        INTEGER   l,ij  
43    end module convmas_m
   
 c-----------------------------------------------------------------------  
 c    ....  calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ......  
   
       CALL  convflu( pbaru, pbarv, llm, convm )  
   
 c-----------------------------------------------------------------------  
 c   filtrage:  
 c   ---------  
   
        CALL filtreg( convm, jjp1, llm, 2, 2, .true.)  
   
 c    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)  
         ENDDO  
       ENDDO  
 c  
       RETURN  
       END  

Legend:
Removed from v.66  
changed lines
  Added in v.137

  ViewVC Help
Powered by ViewVC 1.1.21