/[MITgcm]/MITgcm/pkg/shap_filt/shap_filt_apply_uv.F
ViewVC logotype

Diff of /MITgcm/pkg/shap_filt/shap_filt_apply_uv.F

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

revision 1.1 by jmc, Tue Dec 11 14:35:02 2001 UTC revision 1.2 by jmc, Mon Mar 4 01:31:02 2002 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "SHAP_FILT_OPTIONS.h"  #include "SHAP_FILT_OPTIONS.h"
5    
6    CBOP
7    C     !ROUTINE: SHAP_FILT_APPLY_UV
8    C     !INTERFACE:
9        SUBROUTINE SHAP_FILT_APPLY_UV(        SUBROUTINE SHAP_FILT_APPLY_UV(
10       U                     uFld, vFld,       U                     uFld, vFld,
11       I                     myTime, myIter, myThid )       I                     myTime, myIter, myThid )
12  C     /==========================================================\  
13  C     | S/R SHAP_FILT_APPLY                                      |  C     !DESCRIPTION: \bv
14  C     | Shapiro filters the argments uFld & vFld                 |  C     *==========================================================*
15  C     \==========================================================/  C     | S/R SHAP_FILT_cwAPPLY_UV
16    C     | o Apply Shapiro filter on momentum :
17    C     |   filter the argments uFld & vFld.
18    C     *==========================================================*
19    C     \ev
20    
21    C     !USES:
22        IMPLICIT NONE        IMPLICIT NONE
23    
24  C     == Global variables ===  C     == Global variables ===
25  #include "SIZE.h"  #include "SIZE.h"
26  #include "EEPARAMS.h"  #include "EEPARAMS.h"
27  #include "PARAMS.h"  #include "PARAMS.h"
28  #include "DYNVARS.h"  c #include "DYNVARS.h"
29  #include "GRID.h"  #include "GRID.h"
 #ifdef ALLOW_SHAP_FILT  
30  #include "SHAP_FILT.h"  #include "SHAP_FILT.h"
 #endif  
31    
32    C     !INPUT/OUTPUT PARAMETERS:
33  C     == Routine arguments ==  C     == Routine arguments ==
34    C     uFld :: velocity field (U component) on which filter applies
35    C     vFld :: velocity field (V component) on which filter applies
36    C     myTime :: Current time in simulation
37    C     myIter :: Current iteration number in simulation
38    C     myThid :: Thread number for this instance of SHAP_FILT_APPLY_UV
39        _RL  uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL  uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
40        _RL  vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL  vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
       INTEGER myThid  
41        _RL myTime        _RL myTime
42        INTEGER myIter        INTEGER myIter
43          INTEGER myThid
44    
45  #ifdef ALLOW_SHAP_FILT  #ifdef ALLOW_SHAP_FILT
46  C     == Local variables ==  
47  C     bi, bj, k  C     !LOCAL VARIABLES:
48  #ifdef USE_OLD_SHAPIRO_FILTERS  #ifdef USE_OLD_SHAPIRO_FILTERS
49    C     == Local variables ==
50    C     bi,bj,k :: loop index
51        INTEGER bi, bj, k        INTEGER bi, bj, k
52  #endif /* USE_OLD_SHAPIRO_FILTERS */  #endif /* USE_OLD_SHAPIRO_FILTERS */
53    
54    CEOP
55    
56        IF (nShapUV.GT.0) THEN        IF (nShapUV.GT.0) THEN
57    
58  #ifdef  USE_OLD_SHAPIRO_FILTERS  #ifdef  USE_OLD_SHAPIRO_FILTERS
# Line 57  C     bi, bj, k Line 74  C     bi, bj, k
74          IF ( momStepping .AND. nShapUV.GT.0) THEN          IF ( momStepping .AND. nShapUV.GT.0) THEN
75            IF (Shap_funct.EQ.1) THEN            IF (Shap_funct.EQ.1) THEN
76              CALL SHAP_FILT_UV_S1(              CALL SHAP_FILT_UV_S1(
77       U           uFld, vFld,       U           uFld, vFld, Shap_tmpFld1, Shap_tmpFld2,
78       I           myTime, myThid )       I           Nr, myTime, myThid )
79            ELSEIF (Shap_funct.EQ.2) THEN            ELSEIF (Shap_funct.EQ.2) THEN
80              CALL SHAP_FILT_UV_S2(              CALL SHAP_FILT_UV_S2(
81       U           uFld, vFld,       U           uFld, vFld, Shap_tmpFld1, Shap_tmpFld2,
82       I           myTime, myThid )       I           Nr, myTime, myThid )
83            ELSEIF (Shap_funct.EQ.4) THEN            ELSEIF (Shap_funct.EQ.4) THEN
84              CALL SHAP_FILT_UV_S4(              CALL SHAP_FILT_UV_S4(
85       U           uFld, vFld,       U           uFld, vFld, Shap_tmpFld1, Shap_tmpFld2,
86       I           myTime, myThid )       I           Nr, myTime, myThid )
87            ELSEIF (Shap_funct.EQ.20) THEN            ELSEIF (Shap_funct.EQ.20) THEN
88              CALL SHAP_FILT_UV_S2G(              CALL SHAP_FILT_UV_S2G(
89       U           uFld, vFld,       U           uFld, vFld, Shap_tmpFld1, Shap_tmpFld2,
90       I           myTime, myThid )       I           Nr, myTime, myThid )
91              ELSEIF (Shap_funct.EQ.21) THEN
92                CALL SHAP_FILT_UV_S2C(
93         U           uFld, vFld, Shap_tmpFld1, Shap_tmpFld2,
94         I           Nr, myTime, myThid )
95            ELSE            ELSE
96             STOP 'SHAP_FILT_APPLY: Ooops! Bad Shap_funct in UV block'             STOP 'SHAP_FILT_APPLY_UV: Ooops! Bad Shap_funct in UV block'
97            ENDIF            ENDIF
98          ENDIF          ENDIF
99    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22