LMDZ
convmas_p.F
Go to the documentation of this file.
1  SUBROUTINE convmas_p (pbaru, pbarv, convm )
2 c
3  USE parallel_lmdz
4  IMPLICIT NONE
5 
6 c=======================================================================
7 c
8 c Auteurs: P. Le Van , F. Hourdin .
9 c -------
10 c
11 c Objet:
12 c ------
13 c
14 c ********************************************************************
15 c .... calcul de la convergence du flux de masse aux niveaux p ...
16 c ********************************************************************
17 c
18 c
19 c pbaru et pbarv sont des arguments d'entree pour le s-pg ....
20 c ..... convm est un argument de sortie pour le s-pg ....
21 c
22 c le calcul se fait de haut en bas,
23 c la convergence de masse au niveau p(llm+1) est egale a 0. et
24 c n'est pas stockee dans le tableau convm .
25 c
26 c
27 c=======================================================================
28 c
29 c Declarations:
30 c -------------
31 
32 #include "dimensions.h"
33 #include "paramet.h"
34 #include "comvert.h"
35 #include "logic.h"
36 
37  REAL pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm )
38  REAL, target :: convm( ip1jmp1,llm )
39  INTEGER l,ij
40 
41  INTEGER ijb,ije,jjb,jje
42 
43 
44 c-----------------------------------------------------------------------
45 c .... calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ......
46 
47  CALL convflu_p( pbaru, pbarv, llm, convm )
48 
49 c-----------------------------------------------------------------------
50 c filtrage:
51 c ---------
52 
53  jjb=jj_begin
54  jje=jj_end+1
55  if (pole_sud) jje=jj_end
56 
57  CALL filtreg_p( convm, jjb, jje, jjp1, llm, 2, 2, .true., 1 )
58 
59 c integration de la convergence de masse de haut en bas ......
60  ijb=ij_begin
61  ije=ij_end+iip1
62  if (pole_sud) ije=ij_end
63 
64  DO l = llmm1, 1, -1
65  DO ij = ijb, ije
66  convm(ij,l) = convm(ij,l) + convm(ij,l+1)
67  ENDDO
68  ENDDO
69 c
70  RETURN
71  END
!$Header llmm1 INTEGER ip1jmp1
Definition: paramet.h:14
subroutine filtreg_p(champ, ibeg, iend, nlat, nbniv, ifiltre, iaire, griscal, iter)
Definition: filtreg_p.F:5
integer, save jj_end
integer, save jj_begin
integer, save ij_end
logical, save pole_sud
subroutine convflu_p(xflu, yflu, nbniv, convfl)
Definition: convflu_p.F:2
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Header llmm1 INTEGER ip1jm
Definition: paramet.h:14
!$Header jjp1
Definition: paramet.h:14
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
integer, save ij_begin
subroutine convmas_p(pbaru, pbarv, convm)
Definition: convmas_p.F:2