4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE filtreg(champ, nlat, nbniv, ifiltre, iaire, griscal, iter) |
SUBROUTINE filtreg(champ, nlat, nbniv, ifiltre, iaire, griscal) |
8 |
|
|
9 |
! From filtrez/filtreg.F, version 1.1.1.1, 2004/05/19 12:53:09 |
! From filtrez/filtreg.F, version 1.1.1.1, 2004/05/19 12:53:09 |
10 |
! Author: P. Le Van |
! Author: P. Le Van |
11 |
! Objet : filtre matriciel longitudinal, avec les matrices précalculées |
! Objet : filtre matriciel longitudinal, avec les matrices précalculées |
12 |
! pour l'opérateur filtre. |
! pour l'opérateur filtre. |
13 |
|
|
14 |
USE dimens_m, ONLY : iim, jjm |
USE coefils, ONLY: sddu, sddv, unsddu, unsddv |
15 |
USE coefils, ONLY : sddu, sddv, unsddu, unsddv |
USE dimens_m, ONLY: iim, jjm |
16 |
use inifilr_m, only: jfiltnu, jfiltnv, jfiltsu, jfiltsv, matriceun, & |
use inifilr_m, only: jfiltnu, jfiltnv, jfiltsu, jfiltsv, matriceun, & |
17 |
matriceus, matricevn, matricevs, matrinvn, matrinvs |
matriceus, matricevn, matricevs, matrinvn, matrinvs |
18 |
|
|
38 |
! 1 si champ intensif |
! 1 si champ intensif |
39 |
! 2 si champ extensif (pondere par les aires) |
! 2 si champ extensif (pondere par les aires) |
40 |
|
|
|
integer, intent(in):: iter |
|
|
! 1 filtre simple |
|
|
|
|
41 |
LOGICAL, intent(in):: griscal |
LOGICAL, intent(in):: griscal |
42 |
|
|
43 |
! Variables local to the procedure: |
! Variables local to the procedure: |
54 |
STOP 1 |
STOP 1 |
55 |
end IF |
end IF |
56 |
|
|
|
IF (iter==2) THEN |
|
|
PRINT *, ' Pas d iteration du filtre dans cette version !', & |
|
|
' Utiliser old_filtreg et repasser !' |
|
|
STOP 1 |
|
|
END IF |
|
|
|
|
57 |
IF (ifiltre==-2 .AND. .NOT. griscal) THEN |
IF (ifiltre==-2 .AND. .NOT. griscal) THEN |
58 |
PRINT *, ' Cette routine ne calcule le filtre inverse que ', & |
PRINT *, ' Cette routine ne calcule le filtre inverse que ', & |
59 |
' sur la grille des scalaires !' |
' sur la grille des scalaires !' |