source: LMDZ5/branches/LMDZ5-DOFOCO/libf/dyn3dmem/convmas_loc.F @ 4689

Last change on this file since 4689 was 1632, checked in by Laurent Fairhead, 12 years ago

Import initial du répertoire dyn3dmem

Attention! ceci n'est qu'une version préliminaire du code "basse mémoire":
le code contenu dans ce répertoire est basé sur la r1320 et a donc besoin
d'être mis à jour par rapport à la dynamique parallèle d'aujourd'hui.
Ce code est toutefois mis à disposition pour circonvenir à des problèmes
de mémoire que certaines configurations du modèle pourraient rencontrer.
Dans l'état, il compile et tourne sur vargas et au CCRT


Initial import of dyn3dmem

Warning! this is just a preliminary version of the memory light code:
it is based on r1320 of the code and thus needs to be updated before
it can replace the present dyn3dpar code. It is nevertheless put at your
disposal to circumvent some memory problems some LMDZ configurations may
encounter. In its present state, it will compile and run on vargas and CCRT

File size: 2.0 KB
Line 
1      SUBROUTINE convmas_loc (pbaru, pbarv, convm )
2c
3      USE parallel
4      USE mod_filtreg_p
5      IMPLICIT NONE
6
7c=======================================================================
8c
9c   Auteurs:  P. Le Van , F. Hourdin  .
10c   -------
11c
12c   Objet:
13c   ------
14c
15c   ********************************************************************
16c   .... calcul de la convergence du flux de masse aux niveaux p ...
17c   ********************************************************************
18c
19c
20c     pbaru  et  pbarv  sont des arguments d'entree pour le s-pg  ....
21c      .....  convm      est  un argument de sortie pour le s-pg  ....
22c
23c    le calcul se fait de haut en bas,
24c    la convergence de masse au niveau p(llm+1) est egale a 0. et
25c    n'est pas stockee dans le tableau convm .
26c
27c
28c=======================================================================
29c
30c   Declarations:
31c   -------------
32
33#include "dimensions.h"
34#include "paramet.h"
35#include "comvert.h"
36#include "logic.h"
37
38      REAL pbaru( ijb_u:ije_u,llm ),pbarv( ijb_v:ije_v,llm )
39      REAL, target :: convm(  ijb_u:ije_u,llm )
40      INTEGER   l,ij
41
42      INTEGER ijb,ije,jjb,jje
43 
44     
45c-----------------------------------------------------------------------
46c    ....  calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ......
47
48      CALL  convflu_loc( pbaru, pbarv, llm, convm )
49
50c-----------------------------------------------------------------------
51c   filtrage:
52c   ---------
53       
54       jjb=jj_begin
55       jje=jj_end+1
56       if (pole_sud) jje=jj_end
57 
58       CALL filtreg_p(convm, jjb_u, jje_u,jjb, jje, jjp1, llm,
59     &                 2, 2, .true., 1 )
60
61c    integration de la convergence de masse de haut  en bas ......
62!$OMP BARRIER
63!$OMP MASTER
64       ijb=ij_begin
65       ije=ij_end+iip1
66       if (pole_sud) ije=ij_end
67           
68      DO      l      = llmm1, 1, -1
69        DO    ij     = ijb, ije
70         convm(ij,l) = convm(ij,l) + convm(ij,l+1)
71        ENDDO
72      ENDDO
73c
74!$OMP END MASTER
75!$OMP BARRIER
76      RETURN
77      END
Note: See TracBrowser for help on using the repository browser.