source: LMDZ6/trunk/libf/dyn3dmem/convmas_loc.f90

Last change on this file was 5272, checked in by abarral, 27 hours ago

Turn paramet.h into a module

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 1.7 KB
Line 
1SUBROUTINE convmas_loc (pbaru, pbarv, convm)
2!
3!-------------------------------------------------------------------------------
4! Authors: P. Le Van , Fr. Hourdin.
5!-------------------------------------------------------------------------------
6! Purpose: Compute mass flux convergence at p levels.
7  USE parallel_lmdz
8  USE mod_filtreg_p
9  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
10USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
11          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
12IMPLICIT NONE
13
14
15  include "comgeom.h"
16!===============================================================================
17! Arguments:
18  REAL, INTENT(IN)  :: pbaru(ijb_u:ije_u,llm)
19  REAL, INTENT(IN)  :: pbarv(ijb_v:ije_v,llm)
20  REAL, INTENT(OUT) :: convm(ijb_u:ije_u,llm)
21!===============================================================================
22! Method used:   Computation from top to bottom.
23!   Mass convergence at level llm is equal to zero and is not stored in convm.
24!===============================================================================
25! Local variables:
26  INTEGER :: l, ijb, ije, jjb, jje
27!===============================================================================
28
29!--- Computation of - (d(pbaru)/dx + d(pbarv)/dy )
30  CALL convflu_loc( pbaru, pbarv, llm, convm )
31
32!--- Filter
33  jjb=jj_begin
34  jje=jj_end+1
35  IF(pole_sud) jje=jj_end
36  CALL filtreg_p(convm,jjb_u,jje_u,jjb,jje,jjp1,llm,2,2,.TRUE.,1)
37
38!--- Mass convergence is integrated from top to bottom
39!$OMP BARRIER
40!$OMP MASTER
41  ijb=ij_begin
42  ije=ij_end+iip1
43  IF(pole_sud) ije=ij_end
44  DO l=llmm1,1,-1
45    convm(ijb:ije,l) = convm(ijb:ije,l) + convm(ijb:ije,l+1)
46  END DO
47!$OMP END MASTER
48!$OMP BARRIER
49
50END SUBROUTINE convmas_loc
51
Note: See TracBrowser for help on using the repository browser.