source: LMDZ6/branches/Optimisation_LMDZ/libf/dyn3dpar/massbarxy_p.F @ 5006

Last change on this file since 5006 was 2597, checked in by Ehouarn Millour, 8 years ago

Cleanup in the dynamics: get rid of comconst.h, make it a module comconst_mod.
EM

  • 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
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.4 KB
Line 
1      SUBROUTINE massbarxy_p(  masse, massebxy )
2      USE parallel_lmdz
3      implicit none
4c **********************************************************************
5c
6c  Calcule les moyennes en x et  y de la masse d'air dans chaque maille.
7c **********************************************************************
8c    Auteurs : P. Le Van , Fr. Hourdin  .
9c   ..........
10c
11c  ..  masse          est  un  argum. d'entree  pour le s-pg ...
12c  ..  massebxy       est  un  argum. de sortie pour le s-pg ...
13c     
14c
15c     IMPLICIT NONE
16c
17#include "dimensions.h"
18#include "paramet.h"
19#include "comgeom.h"
20c
21       REAL  masse( ip1jmp1,llm ), massebxy( ip1jm,llm )
22c
23      INTEGER ij,l,ijb,ije
24
25     
26      ijb=ij_begin-iip1
27      ije=ij_end
28     
29      if (pole_nord) ijb=ijb+iip1
30      if (pole_sud)  ije=ije-iip1
31
32c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)   
33      DO   100    l = 1 , llm
34c
35      DO 5 ij = ijb, ije - 1
36      massebxy( ij,l ) = masse(    ij  ,l ) * alpha2(   ij    )   +
37     +                   masse(   ij+1 ,l ) * alpha3(  ij+1   )   +
38     +                   masse( ij+iip1,l ) * alpha1( ij+iip1 )   +
39     +                   masse( ij+iip2,l ) * alpha4( ij+iip2 )
40   5  CONTINUE
41
42c    ....  correction pour     massebxy( iip1,j )  ........
43
44CDIR$ IVDEP
45
46      DO 7 ij = ijb+iip1-1, ije+iip1-1, iip1
47      massebxy( ij,l ) = massebxy( ij - iim,l )
48   7  CONTINUE
49
50100   CONTINUE
51c$OMP END DO NOWAIT
52c
53      RETURN
54      END
Note: See TracBrowser for help on using the repository browser.