13 |
! pour l'opérateur filtre. |
! pour l'opérateur filtre. |
14 |
|
|
15 |
USE dimens_m, ONLY : iim, jjm |
USE dimens_m, ONLY : iim, jjm |
16 |
USE parafilt, ONLY : nfilun, nfilus, nfilvn, nfilvs |
USE parafilt, ONLY: matriceun, matriceus, matricevn, matricevs, matrinvn, & |
17 |
|
matrinvs |
18 |
USE coefils, ONLY : jfiltnu, jfiltnv, jfiltsu, jfiltsv, sddu, sddv, & |
USE coefils, ONLY : jfiltnu, jfiltnv, jfiltsu, jfiltsv, sddu, sddv, & |
19 |
unsddu, unsddv |
unsddu, unsddv |
20 |
|
|
49 |
|
|
50 |
INTEGER jdfil1, jdfil2, jffil1, jffil2, jdfil, jffil |
INTEGER jdfil1, jdfil2, jffil1, jffil2, jdfil, jffil |
51 |
INTEGER i, j, l, k |
INTEGER i, j, l, k |
|
REAL matriceun, matriceus, matricevn, matricevs, matrinvn, matrinvs |
|
|
COMMON /matrfil/matriceun(iim, iim, nfilun), matriceus(iim, iim, nfilus), & |
|
|
matricevn(iim, iim, nfilvn), matricevs(iim, iim, nfilvs), & |
|
|
matrinvn(iim, iim, nfilun), matrinvs(iim, iim, nfilus) |
|
52 |
REAL eignq(iim), sdd1(iim), sdd2(iim) |
REAL eignq(iim), sdd1(iim), sdd2(iim) |
53 |
INTEGER hemisph |
INTEGER hemisph |
54 |
|
|
82 |
ELSE |
ELSE |
83 |
|
|
84 |
IF (iaire==1) THEN |
IF (iaire==1) THEN |
85 |
CALL scopy(iim, sddv, 1, sdd1, 1) |
sdd1 = sddv |
86 |
CALL scopy(iim, unsddv, 1, sdd2, 1) |
sdd2 = unsddv |
87 |
ELSE |
ELSE |
88 |
CALL scopy(iim, unsddv, 1, sdd1, 1) |
sdd1 = unsddv |
89 |
CALL scopy(iim, sddv, 1, sdd2, 1) |
sdd2 = sddv |
90 |
END IF |
END IF |
91 |
|
|
92 |
jdfil1 = 2 |
jdfil1 = 2 |
101 |
ELSE |
ELSE |
102 |
|
|
103 |
IF (iaire==1) THEN |
IF (iaire==1) THEN |
104 |
CALL scopy(iim, sddu, 1, sdd1, 1) |
sdd1 = sddu |
105 |
CALL scopy(iim, unsddu, 1, sdd2, 1) |
sdd2 = unsddu |
106 |
ELSE |
ELSE |
107 |
CALL scopy(iim, unsddu, 1, sdd1, 1) |
sdd1 = unsddu |
108 |
CALL scopy(iim, sddu, 1, sdd2, 1) |
sdd2 = sddu |
109 |
END IF |
END IF |
110 |
|
|
111 |
jdfil1 = 1 |
jdfil1 = 1 |
153 |
END DO |
END DO |
154 |
DO i = 1, iim |
DO i = 1, iim |
155 |
DO k = 1, iim |
DO k = 1, iim |
156 |
eignq(k) = eignq(k) + matriceun(k, i, j)*champ(i, j, l) |
eignq(k) = eignq(k) + matriceun(k, i, j) & |
157 |
|
* champ(i, j, l) |
158 |
END DO |
END DO |
159 |
END DO |
END DO |
160 |
ELSE |
ELSE |
163 |
END DO |
END DO |
164 |
DO i = 1, iim |
DO i = 1, iim |
165 |
DO k = 1, iim |
DO k = 1, iim |
166 |
eignq(k) = eignq(k) + matricevn(k, i, j)*champ(i, j, l) |
eignq(k) = eignq(k) + matricevn(k, i, j) & |
167 |
|
* champ(i, j, l) |
168 |
END DO |
END DO |
169 |
END DO |
END DO |
170 |
END IF |
END IF |