source: LMDZ5/branches/LMDZ5-DOFOCO/libf/dyn3dmem/convflu.F @ 5080

Last change on this file since 5080 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.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.