/[MITgcm]/MITgcm/pkg/zonal_filt/zonal_filter.F
ViewVC logotype

Diff of /MITgcm/pkg/zonal_filt/zonal_filter.F

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

revision 1.4 by heimbach, Tue Apr 10 22:35:27 2001 UTC revision 1.6 by jmc, Wed Sep 2 19:22:07 2009 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "ZONAL_FILT_OPTIONS.h"  #include "ZONAL_FILT_OPTIONS.h"
5    
6        SUBROUTINE ZONAL_FILTER(        SUBROUTINE ZONAL_FILTER(
7       U           field, fieldMask,       U           field,
8         I           fieldMask,
9       I           jMin, jMax, kMin, kMax, bi, bj, gridLoc, myThid )       I           jMin, jMax, kMin, kMax, bi, bj, gridLoc, myThid )
10  C     /==========================================================\  
11  C     | S/R ZONAL_FILTER                                         |  C     *==========================================================*
12  C     | o Apply FFT filter to a latitude circle.                 |  C     | S/R ZONAL_FILTER
13  C     \==========================================================/  C     | o Apply FFT filter to a latitude circle.
14    C     *==========================================================*
15    
16        IMPLICIT NONE        IMPLICIT NONE
17    
18  C     == Global data ==  C     == Global data ==
19  #include "SIZE.h"  #include "SIZE.h"
20    #include "EEPARAMS.h"
21    #include "PARAMS.h"
22    #include "GRID.h"
23  #include "ZONAL_FILT.h"  #include "ZONAL_FILT.h"
24  #include "FFTPACK.h"  #include "FFTPACK.h"
25    
# Line 27  C     bj Line 33  C     bj
33  C     myThid  - Thread number of this instance of FILTER_LATCIRC_FFT_APPLY  C     myThid  - Thread number of this instance of FILTER_LATCIRC_FFT_APPLY
34  C     field   - Field to filter  C     field   - Field to filter
35  C     gridLoc - Orientation (U or V) of field.  C     gridLoc - Orientation (U or V) of field.
36        INTEGER myThid        _RL     field    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
37        INTEGER gridLoc        _RS     fieldMask(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
       Real*8 field(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)  
       Real*8 fieldMask(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)  
38        INTEGER jMin, jMax, kMin, kMax, bi, bj        INTEGER jMin, jMax, kMin, kMax, bi, bj
39          INTEGER gridLoc
40          INTEGER myThid
41    
42  #ifdef ALLOW_ZONAL_FILT  #ifdef ALLOW_ZONAL_FILT
43    
# Line 43  C     == Local data == Line 49  C     == Local data ==
49    
50        DO k=kMin, kMax        DO k=kMin, kMax
51         DO j=jMin, jMax         DO j=jMin, jMax
52            IF ( (gridLoc.EQ.1 .AND.ABS(yC(1,j,bi,bj)).GE.zonal_filt_lat)
53         &   .OR.(gridLoc.EQ.2 .AND.ABS(yG(2,j,bi,bj)).GE.zonal_filt_lat)
54         &   .OR. zonal_filt_mode2dx.EQ.2 ) THEN
55    
56  C     o Copy zonal line of field into local workspace  C     o Copy zonal line of field into local workspace
57          DO i=1,sNx          DO i=1,sNx
# Line 91  C       o Do periodic wrap around by han Line 100  C       o Do periodic wrap around by han
100           field(i,j,k,bi,bj) = phi(i-sNx)           field(i,j,k,bi,bj) = phi(i-sNx)
101          ENDDO          ENDDO
102    
103            ENDIF
104         ENDDO         ENDDO
105        ENDDO        ENDDO
106    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22