source: LMDZ5/trunk/libf/dyn3dmem/convmas_p.F @ 1632

Last change on this file since 1632 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: 1.8 KB
Line 
1      SUBROUTINE convmas_p (pbaru, pbarv, convm )
2c
3      USE parallel
4      IMPLICIT NONE
5
6c=======================================================================
7c
8c   Auteurs:  P. Le Van , F. Hourdin  .
9c   -------
10c
11c   Objet:
12c   ------
13c
14c   ********************************************************************
15c   .... calcul de la convergence du flux de masse aux niveaux p ...
16c   ********************************************************************
17c
18c
19c     pbaru  et  pbarv  sont des arguments d'entree pour le s-pg  ....
20c      .....  convm      est  un argument de sortie pour le s-pg  ....
21c
22c    le calcul se fait de haut en bas,
23c    la convergence de masse au niveau p(llm+1) est egale a 0. et
24c    n'est pas stockee dans le tableau convm .
25c
26c
27c=======================================================================
28c
29c   Declarations:
30c   -------------
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     
44c-----------------------------------------------------------------------
45c    ....  calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ......
46
47      CALL  convflu_p( pbaru, pbarv, llm, convm )
48
49c-----------------------------------------------------------------------
50c   filtrage:
51c   ---------
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
59c    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
69c
70      RETURN
71      END
Note: See TracBrowser for help on using the repository browser.