source: LMDZ5/trunk/libf/dyn3dpar/convflu.F @ 1902

Last change on this file since 1902 was 1000, checked in by Laurent Fairhead, 16 years ago
  • Modifs sur le parallelisme: masquage dans la physique
  • Inclusion strato
  • mise en coherence etat0
  • le mode offline fonctionne maintenant en parallele,
  • les fichiers de la dynamiques sont correctement sortis et peuvent etre reconstruit avec rebuild
  • la version parallele de la dynamique peut s'executer sans MPI (sur 1 proc)
  • L'OPENMP fonctionne maintenant sans la parallelisation MPI.

YM
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE convflu( xflu,yflu,nbniv,convfl )
5c
6c  P. Le Van
7c
8c
9c    *******************************************************************
10c  ... calcule la (convergence horiz. * aire locale)du flux ayant pour
11c      composantes xflu et yflu ,variables extensives .  ......
12c    *******************************************************************
13c      xflu , yflu et nbniv sont des arguments d'entree pour le s-pg ..
14c      convfl                est  un argument de sortie pour le s-pg .
15c
16c     njxflu  est le nombre de lignes de latitude de xflu,
17c     ( = jjm ou jjp1 )
18c     nbniv   est le nombre de niveaux vert. de  xflu et de yflu .
19c
20      IMPLICIT NONE
21c
22#include "dimensions.h"
23#include "paramet.h"
24      REAL       xflu,yflu,convfl,convpn,convps
25      INTEGER    l,ij,nbniv
26      DIMENSION  xflu( ip1jmp1,nbniv ),yflu( ip1jm,nbniv ) ,
27     *         convfl( ip1jmp1,nbniv )
28c
29      REAL       SSUM
30c
31c
32#include "comgeom.h"
33c
34      DO 5 l = 1,nbniv
35c
36      DO 2  ij = iip2, ip1jm - 1
37      convfl( ij + 1,l ) =  xflu(   ij,l ) - xflu( ij +  1,l )   +
38     *                      yflu(ij +1,l ) - yflu( ij -iim,l )
39   2  CONTINUE
40c
41c
42
43c     ....  correction pour  convfl( 1,j,l)  ......
44c     ....   convfl(1,j,l)= convfl(iip1,j,l) ...
45c
46CDIR$ IVDEP
47      DO 3 ij = iip2,ip1jm,iip1
48      convfl( ij,l ) = convfl( ij + iim,l )
49   3  CONTINUE
50c
51c     ......  calcul aux poles  .......
52c
53      convpn =   SSUM( iim, yflu(     1    ,l ),  1 )
54      convps = - SSUM( iim, yflu( ip1jm-iim,l ),  1 )
55      DO 4 ij = 1,iip1
56      convfl(     ij   ,l ) = convpn * aire(   ij     ) / apoln
57      convfl( ij+ ip1jm,l ) = convps * aire( ij+ ip1jm) / apols
58   4  CONTINUE
59c
60   5  CONTINUE
61      RETURN
62      END
Note: See TracBrowser for help on using the repository browser.