GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: dyn3d_common/convflu.F Lines: 16 16 100.0 %
Date: 2023-06-30 12:51:15 Branches: 8 8 100.0 %

Line Branch Exec Source
1
!
2
! $Header$
3
!
4
3746
      SUBROUTINE convflu( xflu,yflu,nbniv,convfl )
5
c
6
c  P. Le Van
7
c
8
c
9
c    *******************************************************************
10
c  ... calcule la (convergence horiz. * aire locale)du flux ayant pour
11
c      composantes xflu et yflu ,variables extensives .  ......
12
c    *******************************************************************
13
c      xflu , yflu et nbniv sont des arguments d'entree pour le s-pg ..
14
c      convfl                est  un argument de sortie pour le s-pg .
15
c
16
c     njxflu  est le nombre de lignes de latitude de xflu,
17
c     ( = jjm ou jjp1 )
18
c     nbniv   est le nombre de niveaux vert. de  xflu et de yflu .
19
c
20
      IMPLICIT NONE
21
c
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 )
28
c
29
      REAL       SSUM
30
c
31
c
32
      INCLUDE "comgeom.h"
33
c
34
149840
      DO 5 l = 1,nbniv
35
c
36
149454162
      DO 2  ij = iip2, ip1jm - 1
37
      convfl( ij + 1,l ) =  xflu(   ij,l ) - xflu( ij +  1,l )   +
38
149308068
     *                      yflu(ij +1,l ) - yflu( ij -iim,l )
39
146094
   2  CONTINUE
40
c
41
c
42
43
c     ....  correction pour  convfl( 1,j,l)  ......
44
c     ....   convfl(1,j,l)= convfl(iip1,j,l) ...
45
c
46
CDIR$ IVDEP
47
4528914
      DO 3 ij = iip2,ip1jm,iip1
48
4528914
      convfl( ij,l ) = convfl( ij + iim,l )
49
146094
   3  CONTINUE
50
c
51
c     ......  calcul aux poles  .......
52
c
53
146094
      convpn =   SSUM( iim, yflu(     1    ,l ),  1 )
54
146094
      convps = - SSUM( iim, yflu( ip1jm-iim,l ),  1 )
55
4967196
      DO 4 ij = 1,iip1
56
4821102
      convfl(     ij   ,l ) = convpn * aire(   ij     ) / apoln
57
4821102
      convfl( ij+ ip1jm,l ) = convps * aire( ij+ ip1jm) / apols
58
146094
   4  CONTINUE
59
c
60
3746
   5  CONTINUE
61
3746
      RETURN
62
      END