GCC Code Coverage Report


Directory: ./
File: dyn3d_common/convflu.f
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 16 16 100.0%
Branches: 8 8 100.0%

Line Branch Exec Source
1 !
2 ! $Header$
3 !
4 6242 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 !-----------------------------------------------------------------------
23 ! INCLUDE 'dimensions.h'
24 !
25 ! dimensions.h contient les dimensions du modele
26 ! ndm est tel que iim=2**ndm
27 !-----------------------------------------------------------------------
28
29 INTEGER iim,jjm,llm,ndm
30
31 PARAMETER (iim= 32,jjm=32,llm=39,ndm=1)
32
33 !-----------------------------------------------------------------------
34 !
35 ! $Header$
36 !
37 !
38 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre
39 ! veillez n'utiliser que des ! pour les commentaires
40 ! et bien positionner les & des lignes de continuation
41 ! (les placer en colonne 6 et en colonne 73)
42 !
43 !
44 !-----------------------------------------------------------------------
45 ! INCLUDE 'paramet.h'
46
47 INTEGER iip1,iip2,iip3,jjp1,llmp1,llmp2,llmm1
48 INTEGER kftd,ip1jm,ip1jmp1,ip1jmi1,ijp1llm
49 INTEGER ijmllm,mvar
50 INTEGER jcfil,jcfllm
51
52 PARAMETER( iip1= iim+1,iip2=iim+2,iip3=iim+3 &
53 & ,jjp1=jjm+1-1/jjm)
54 PARAMETER( llmp1 = llm+1, llmp2 = llm+2, llmm1 = llm-1 )
55 PARAMETER( kftd = iim/2 -ndm )
56 PARAMETER( ip1jm = iip1*jjm, ip1jmp1= iip1*jjp1 )
57 PARAMETER( ip1jmi1= ip1jm - iip1 )
58 PARAMETER( ijp1llm= ip1jmp1 * llm, ijmllm= ip1jm * llm )
59 PARAMETER( mvar= ip1jmp1*( 2*llm+1) + ijmllm )
60 PARAMETER( jcfil=jjm/2+5, jcfllm=jcfil*llm )
61
62 !-----------------------------------------------------------------------
63 REAL xflu,yflu,convfl,convpn,convps
64 INTEGER l,ij,nbniv
65 DIMENSION xflu( ip1jmp1,nbniv ),yflu( ip1jm,nbniv ) ,
66 * convfl( ip1jmp1,nbniv )
67 c
68 REAL SSUM
69 c
70 c
71 !
72 ! $Header$
73 !
74 !CDK comgeom
75 COMMON/comgeom/ &
76 & cu(ip1jmp1),cv(ip1jm),unscu2(ip1jmp1),unscv2(ip1jm), &
77 & aire(ip1jmp1),airesurg(ip1jmp1),aireu(ip1jmp1), &
78 & airev(ip1jm),unsaire(ip1jmp1),apoln,apols, &
79 & unsairez(ip1jm),airuscv2(ip1jm),airvscu2(ip1jm), &
80 & aireij1(ip1jmp1),aireij2(ip1jmp1),aireij3(ip1jmp1), &
81 & aireij4(ip1jmp1),alpha1(ip1jmp1),alpha2(ip1jmp1), &
82 & alpha3(ip1jmp1),alpha4(ip1jmp1),alpha1p2(ip1jmp1), &
83 & alpha1p4(ip1jmp1),alpha2p3(ip1jmp1),alpha3p4(ip1jmp1), &
84 & fext(ip1jm),constang(ip1jmp1),rlatu(jjp1),rlatv(jjm), &
85 & rlonu(iip1),rlonv(iip1),cuvsurcv(ip1jm),cvsurcuv(ip1jm), &
86 & cvusurcu(ip1jmp1),cusurcvu(ip1jmp1),cuvscvgam1(ip1jm), &
87 & cuvscvgam2(ip1jm),cvuscugam1(ip1jmp1), &
88 & cvuscugam2(ip1jmp1),cvscuvgam(ip1jm),cuscvugam(ip1jmp1), &
89 & unsapolnga1,unsapolnga2,unsapolsga1,unsapolsga2, &
90 & unsair_gam1(ip1jmp1),unsair_gam2(ip1jmp1),unsairz_gam(ip1jm), &
91 & aivscu2gam(ip1jm),aiuscv2gam(ip1jm),xprimu(iip1),xprimv(iip1)
92
93 !
94 REAL &
95 & cu,cv,unscu2,unscv2,aire,airesurg,aireu,airev,unsaire,apoln ,&
96 & apols,unsairez,airuscv2,airvscu2,aireij1,aireij2,aireij3,aireij4,&
97 & alpha1,alpha2,alpha3,alpha4,alpha1p2,alpha1p4,alpha2p3,alpha3p4 ,&
98 & fext,constang,rlatu,rlatv,rlonu,rlonv,cuvscvgam1,cuvscvgam2 ,&
99 & cvuscugam1,cvuscugam2,cvscuvgam,cuscvugam,unsapolnga1,unsapolnga2&
100 & ,unsapolsga1,unsapolsga2,unsair_gam1,unsair_gam2,unsairz_gam ,&
101 & aivscu2gam ,aiuscv2gam,cuvsurcv,cvsurcuv,cvusurcu,cusurcvu,xprimu&
102 & , xprimv
103 !
104 c
105
2/2
✓ Branch 0 taken 243438 times.
✓ Branch 1 taken 6242 times.
249680 DO 5 l = 1,nbniv
106 c
107
2/2
✓ Branch 0 taken 248793636 times.
✓ Branch 1 taken 243438 times.
249037074 DO 2 ij = iip2, ip1jm - 1
108 convfl( ij + 1,l ) = xflu( ij,l ) - xflu( ij + 1,l ) +
109 248793636 * yflu(ij +1,l ) - yflu( ij -iim,l )
110 243438 2 CONTINUE
111 c
112 c
113
114 c .... correction pour convfl( 1,j,l) ......
115 c .... convfl(1,j,l)= convfl(iip1,j,l) ...
116 c
117 CDIR$ IVDEP
118 7546578 DO 3 ij = iip2,ip1jm,iip1
119
2/2
✓ Branch 0 taken 7303140 times.
✓ Branch 1 taken 243438 times.
7546578 convfl( ij,l ) = convfl( ij + iim,l )
120 243438 3 CONTINUE
121 c
122 c ...... calcul aux poles .......
123 c
124 243438 convpn = SSUM( iim, yflu( 1 ,l ), 1 )
125 243438 convps = - SSUM( iim, yflu( ip1jm-iim,l ), 1 )
126
2/2
✓ Branch 0 taken 8033454 times.
✓ Branch 1 taken 243438 times.
8276892 DO 4 ij = 1,iip1
127 8033454 convfl( ij ,l ) = convpn * aire( ij ) / apoln
128 8033454 convfl( ij+ ip1jm,l ) = convps * aire( ij+ ip1jm) / apols
129 243438 4 CONTINUE
130 c
131 6242 5 CONTINUE
132 6242 RETURN
133 END
134