GCC Code Coverage Report


Directory: ./
File: dyn3d_common/nxgraro2.f
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 17 17 100.0%
Branches: 7 8 87.5%

Line Branch Exec Source
1 !
2 ! $Header$
3 !
4 530 SUBROUTINE nxgraro2 (klevel,xcov, ycov, lr, grx, gry )
5 c
6 c P.Le Van .
7 c ***********************************************************
8 c lr
9 c calcul de ( nxgrad (rot) ) du vect. v ....
10 c
11 c xcov et ycov etant les compos. covariantes de v
12 c ***********************************************************
13 c xcov , ycov et lr sont des arguments d'entree pour le s-prog
14 c grx et gry sont des arguments de sortie pour le s-prog
15 c
16 c
17 IMPLICIT NONE
18 c
19 !-----------------------------------------------------------------------
20 ! INCLUDE 'dimensions.h'
21 !
22 ! dimensions.h contient les dimensions du modele
23 ! ndm est tel que iim=2**ndm
24 !-----------------------------------------------------------------------
25
26 INTEGER iim,jjm,llm,ndm
27
28 PARAMETER (iim= 32,jjm=32,llm=39,ndm=1)
29
30 !-----------------------------------------------------------------------
31 !
32 ! $Header$
33 !
34 !
35 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre
36 ! veillez n'utiliser que des ! pour les commentaires
37 ! et bien positionner les & des lignes de continuation
38 ! (les placer en colonne 6 et en colonne 73)
39 !
40 !
41 !-----------------------------------------------------------------------
42 ! INCLUDE 'paramet.h'
43
44 INTEGER iip1,iip2,iip3,jjp1,llmp1,llmp2,llmm1
45 INTEGER kftd,ip1jm,ip1jmp1,ip1jmi1,ijp1llm
46 INTEGER ijmllm,mvar
47 INTEGER jcfil,jcfllm
48
49 PARAMETER( iip1= iim+1,iip2=iim+2,iip3=iim+3 &
50 & ,jjp1=jjm+1-1/jjm)
51 PARAMETER( llmp1 = llm+1, llmp2 = llm+2, llmm1 = llm-1 )
52 PARAMETER( kftd = iim/2 -ndm )
53 PARAMETER( ip1jm = iip1*jjm, ip1jmp1= iip1*jjp1 )
54 PARAMETER( ip1jmi1= ip1jm - iip1 )
55 PARAMETER( ijp1llm= ip1jmp1 * llm, ijmllm= ip1jm * llm )
56 PARAMETER( mvar= ip1jmp1*( 2*llm+1) + ijmllm )
57 PARAMETER( jcfil=jjm/2+5, jcfllm=jcfil*llm )
58
59 !-----------------------------------------------------------------------
60 !
61 ! $Header$
62 !
63 ! Attention : ce fichier include est compatible format fixe/format libre
64 ! veillez à n'utiliser que des ! pour les commentaires
65 ! et à bien positionner les & des lignes de continuation
66 ! (les placer en colonne 6 et en colonne 73)
67 !-----------------------------------------------------------------------
68 ! INCLUDE comdissipn.h
69
70 REAL tetaudiv, tetaurot, tetah, cdivu, crot, cdivh
71 !
72 COMMON/comdissipn/ tetaudiv(llm),tetaurot(llm),tetah(llm) , &
73 & cdivu, crot, cdivh
74
75 !
76 ! Les parametres de ce common proviennent des calculs effectues dans
77 ! Inidissip .
78 !
79 !-----------------------------------------------------------------------
80 c
81 c ...... variables en arguments .......
82 c
83 INTEGER klevel
84 REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
85 REAL grx( ip1jmp1,klevel ), gry( ip1jm,klevel )
86 c
87 c ...... variables locales ........
88 c
89 REAL rot(ip1jm,llm) , signe, nugradrs
90 INTEGER l,ij,iter,lr
91 c ........................................................
92 c
93 c
94 c
95 530 signe = (-1.)**lr
96 530 nugradrs = signe * crot
97 c
98 530 CALL SCOPY ( ip1jmp1* klevel, xcov, 1, grx, 1 )
99 530 CALL SCOPY ( ip1jm * klevel, ycov, 1, gry, 1 )
100 c
101 530 CALL rotatf ( klevel, grx, gry, rot )
102 c
103 530 CALL laplacien_rot ( klevel, rot, rot,grx,gry )
104
105 c
106 c ..... Iteration de l'operateur laplacien_rotgam .....
107 c
108
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 530 times.
530 DO iter = 1, lr -2
109 530 CALL laplacien_rotgam ( klevel, rot, rot )
110 ENDDO
111 c
112 c
113 530 CALL filtreg( rot, jjm, klevel, 2,1, .FALSE.,1)
114 530 CALL nxgrad ( klevel, rot, grx, gry )
115 c
116
2/2
✓ Branch 0 taken 18770 times.
✓ Branch 1 taken 530 times.
19300 DO l = 1, klevel
117
2/2
✓ Branch 0 taken 19821120 times.
✓ Branch 1 taken 18770 times.
19839890 DO ij = 1, ip1jm
118 19839890 gry( ij,l ) = gry( ij,l ) * nugradrs
119 ENDDO
120
2/2
✓ Branch 0 taken 20440530 times.
✓ Branch 1 taken 18770 times.
20459830 DO ij = 1, ip1jmp1
121 20459300 grx( ij,l ) = grx( ij,l ) * nugradrs
122 ENDDO
123 ENDDO
124 c
125 530 RETURN
126 END
127