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

Annotation of /MITgcm/pkg/shap_filt/shap_filt_tracer_s2.F

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


Revision 1.2 - (hide annotations) (download)
Tue May 29 14:01:40 2001 UTC (23 years ago) by adcroft
Branch: MAIN
Changes since 1.1: +105 -0 lines
Merge from branch pre38:
 o essential mods for cubed sphere
 o debugged atmosphere, dynamcis + physics (aim)
 o new packages (mom_vecinv, mom_fluxform, ...)

1 adcroft 1.2 C $Header: /u/gcmpack/models/MITgcmUV/pkg/shap_filt/Attic/shap_filt_tracer_s2.F,v 1.1.2.5 2001/05/07 18:40:02 adcroft Exp $
2     C $Name: pre38-close $
3    
4     #include "SHAP_FILT_OPTIONS.h"
5    
6     SUBROUTINE SHAP_FILT_TRACER_S2(
7     U field,
8     I myTime, myThid )
9     C /==========================================================\
10     C | S/R SHAP_FILT_TRACER_S2 |
11     C | Applies Shapiro filter to tracer field over one XY slice |
12     C | of one tile at a time. |
13     C \==========================================================/
14     IMPLICIT NONE
15    
16     C == Global variables ===
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     #include "GRID.h"
21     #include "SHAP_FILT.h"
22     #include "SHAP_FILT_TRACER.h"
23    
24     C == Routine arguments
25     _RL field(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
26     _RL myTime
27     INTEGER myThid
28    
29     #ifdef ALLOW_SHAP_FILT
30    
31     C == Local variables ==
32     INTEGER bi,bj,K,I,J,N
33     _RL tmpGrd(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
34    
35     IF (nShapT.gt.0) THEN
36    
37     DO bj=myByLo(myThid),myByHi(myThid)
38     DO bi=myBxLo(myThid),myBxHi(myThid)
39     DO K=1,Nr
40     DO J=1,sNy
41     DO I=1,sNx
42     tmpFld(i,j,k,bi,bj)=field(i,j,k,bi,bj)
43     ENDDO
44     ENDDO
45     ENDDO
46     ENDDO
47     ENDDO
48    
49    
50     C ( d_xx +d_yy )^n tmpFld
51    
52     DO N=1,nShapT
53    
54     _EXCH_XYZ_R8( tmpFld, myThid )
55    
56     DO bj=myByLo(myThid),myByHi(myThid)
57     DO bi=myBxLo(myThid),myBxHi(myThid)
58     DO K=1,Nr
59    
60     DO J=1,sNy
61     DO I=1,sNx
62     tmpGrd(i,j) = -0.125*(
63     & ( tmpFld(i+1,j,k,bi,bj)-tmpFld( i ,j,k,bi,bj) )
64     & *_maskW(i+1,j,k,bi,bj)
65     & -( tmpFld( i ,j,k,bi,bj)-tmpFld(i-1,j,k,bi,bj) )
66     & *_maskW( i ,j,k,bi,bj)
67     & +( tmpFld(i,j+1,k,bi,bj)-tmpFld(i, j ,k,bi,bj) )
68     & *_maskS(i,j+1,k,bi,bj)
69     & -( tmpFld(i, j ,k,bi,bj)-tmpFld(i,j-1,k,bi,bj) )
70     & *_maskS(i, j ,k,bi,bj) )
71     ENDDO
72     ENDDO
73    
74     DO J=1,sNy
75     DO I=1,sNx
76     tmpFld(i,j,k,bi,bj) = tmpGrd(i,j)
77     ENDDO
78     ENDDO
79    
80     ENDDO
81     ENDDO
82     ENDDO
83    
84     ENDDO
85    
86     C F <- [1-(d_xx+d_yy)^n]F
87     DO bj=myByLo(myThid),myByHi(myThid)
88     DO bi=myBxLo(myThid),myBxHi(myThid)
89     DO K=1,Nr
90     DO J=1,sNy
91     DO I=1,sNx
92     field(i,j,k,bi,bj)=field(i,j,k,bi,bj)-tmpFld(i,j,k,bi,bj)
93     ENDDO
94     ENDDO
95     ENDDO
96     ENDDO
97     ENDDO
98    
99     _EXCH_XYZ_R8( field, myThid )
100    
101     ENDIF
102     #endif /* ALLOW_SHAP_FILT */
103    
104     RETURN
105     END

  ViewVC Help
Powered by ViewVC 1.1.22