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

Contents 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 - (show 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 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