/[lmdze]/trunk/Sources/filtrez/filtreg_scal.f
ViewVC logotype

Diff of /trunk/Sources/filtrez/filtreg_scal.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 54 by guez, Tue Dec 6 15:07:04 2011 UTC revision 64 by guez, Wed Aug 29 14:47:17 2012 UTC
# Line 4  module filtreg_m Line 4  module filtreg_m
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 dimens_m, ONLY: iim, jjm
15      USE coefils, ONLY : sddu, sddv, unsddu, unsddv      USE coefils, ONLY: sddu, sddv, unsddu, unsddv
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    
# Line 38  contains Line 38  contains
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:
# Line 57  contains Line 54  contains
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 !'
# Line 124  contains Line 115  contains
115            jffil = jffil2            jffil = jffil2
116         END IF         END IF
117    
118         DO l = 1, nbniv         loop_vertical: DO l = 1, nbniv
119            DO j = jdfil, jffil            loop_latitude: DO j = jdfil, jffil
120               DO i = 1, iim               DO i = 1, iim
121                  champ(i, j, l) = champ(i, j, l)*sdd1(i)                  champ(i, j, l) = champ(i, j, l)*sdd1(i)
122               END DO               END DO
# Line 206  contains Line 197  contains
197               END IF               END IF
198    
199               champ(iim + 1, j, l) = champ(1, j, l)               champ(iim + 1, j, l) = champ(1, j, l)
200            END DO            END DO loop_latitude
201         END DO         END DO loop_vertical
202      end DO      end DO
203    
204    END SUBROUTINE filtreg    END SUBROUTINE filtreg

Legend:
Removed from v.54  
changed lines
  Added in v.64

  ViewVC Help
Powered by ViewVC 1.1.21