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

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

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


Revision 1.3 - (hide annotations) (download)
Wed Feb 25 22:11:09 2004 UTC (20 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint52l_pre, checkpoint52n_post, checkpoint53d_post, checkpoint54a_pre, checkpoint55c_post, checkpoint54e_post, checkpoint54a_post, checkpoint53c_post, checkpoint55d_pre, checkpoint57d_post, checkpoint57b_post, checkpoint57c_pre, checkpoint55j_post, checkpoint56b_post, checkpoint52l_post, checkpoint55h_post, checkpoint54b_post, checkpoint53b_pre, checkpoint55b_post, checkpoint54d_post, checkpoint56c_post, checkpoint52m_post, checkpoint55, checkpoint53a_post, checkpoint57a_post, checkpoint54, checkpoint54f_post, checkpoint53b_post, checkpoint55g_post, checkpoint55f_post, checkpoint57a_pre, checkpoint55i_post, checkpoint57, checkpoint56, checkpoint53, checkpoint53g_post, hrcube5, checkpoint57c_post, checkpoint55e_post, checkpoint53f_post, checkpoint55a_post, checkpoint53d_pre, checkpoint54c_post, checkpoint56a_post, checkpoint55d_post
Changes since 1.2: +5 -1 lines
mask vorticity at the corners (like everywhere else).

1 jmc 1.3 C $Header: /u/gcmpack/MITgcm/pkg/shap_filt/shap_filt_relvort3.F,v 1.2 2003/10/09 04:19:20 edhill Exp $
2 jmc 1.1 C $Name: $
3    
4 edhill 1.2 #include "SHAP_FILT_OPTIONS.h"
5 jmc 1.1
6     SUBROUTINE SHAP_FILT_RELVORT3(
7     I bi,bj,k,
8     I uFld, vFld, hFacZ,
9     O vort3,
10     I myThid)
11     IMPLICIT NONE
12     C *==========================================================*
13     C | S/R SHAP_FILT_RELVORT3
14     C *==========================================================*
15     C | copy of S/R MOM_VI_CALC_RELVORT3 (keep pkgs independent)
16     C *==========================================================*
17    
18     C == Global variables ==
19     #include "SIZE.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22     #include "GRID.h"
23     C == Routine arguments ==
24     C myThid - Instance number for this innvocation of CALC_MOM_RHS
25     INTEGER bi,bj,k
26     _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
27     _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
28     _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
29     _RL vort3(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
30     INTEGER myThid
31    
32     #ifdef ALLOW_SHAP_FILT
33     C == Local variables ==
34     INTEGER i,j
35    
36     DO J=2-Oly,sNy+Oly
37     DO I=2-Olx,sNx+Olx
38    
39     C Horizontal curl of flow field - ignoring lopping factors
40     vort3(I,J)=
41     & recip_rAz(I,J,bi,bj)*(
42     & vFld(I,J)*dyc(I,J,bi,bj)
43     & -vFld(I-1,J)*dyc(I-1,J,bi,bj)
44     & -uFld(I,J)*dxc(I,J,bi,bj)
45     & +uFld(I,J-1)*dxc(I,J-1,bi,bj)
46     & )
47    
48     C Horizontal curl of flow field - including lopping factors
49     IF (hFacZ(i,j).NE.0.) THEN
50     c vort3(I,J)=
51     c & recip_rAz(I,J,bi,bj)*(
52     c & vFld(I,J)*dyc(I,J,bi,bj)*_hFacW(i,j,k,bi,bj)
53     c & -vFld(I-1,J)*dyc(I-1,J,bi,bj)*_hFacW(i-1,j,k,bi,bj)
54     c & -uFld(I,J)*dxc(I,J,bi,bj)*_hFacS(i,j,k,bi,bj)
55     c & +uFld(I,J-1)*dxc(I,J-1,bi,bj)*_hFacS(i,j-1,k,bi,bj)
56     c & )
57     c & /hFacZ(i,j)
58     ELSE
59     vort3(I,J)=0.
60     ENDIF
61    
62     ENDDO
63     ENDDO
64    
65     C Special stuff for Cubed Sphere
66     IF (useCubedSphereExchange) THEN
67     I=1
68     J=1
69     vort3(I,J)=
70     & +recip_rAz(I,J,bi,bj)*(
71     & vFld(I,J)*dyc(I,J,bi,bj)
72     & -uFld(I,J)*dxc(I,J,bi,bj)
73     & +uFld(I,J-1)*dxc(I,J-1,bi,bj)
74     & )
75     cph & -vFld(I-1,J)*dyc(I-1,J,bi,bj)
76 jmc 1.3 IF (hFacZ(i,j).EQ.0. _d 0) vort3(i,j) = 0. _d 0
77 jmc 1.1 I=sNx+1
78     J=1
79     vort3(I,J)=
80     & +recip_rAz(I,J,bi,bj)*(
81     & -vFld(I-1,J)*dyc(I-1,J,bi,bj)
82     & -uFld(I,J)*dxc(I,J,bi,bj)
83     & +uFld(I,J-1)*dxc(I,J-1,bi,bj)
84     & )
85     cph & vFld(I,J)*dyc(I,J,bi,bj)
86 jmc 1.3 IF (hFacZ(i,j).EQ.0. _d 0) vort3(i,j) = 0. _d 0
87 jmc 1.1 I=1
88     J=sNy+1
89     vort3(I,J)=
90     & +recip_rAz(I,J,bi,bj)*(
91     & vFld(I,J)*dyc(I,J,bi,bj)
92     & -uFld(I,J)*dxc(I,J,bi,bj)
93     & +uFld(I,J-1)*dxc(I,J-1,bi,bj)
94     & )
95     cph & -vFld(I-1,J)*dyc(I-1,J,bi,bj)
96 jmc 1.3 IF (hFacZ(i,j).EQ.0. _d 0) vort3(i,j) = 0. _d 0
97 jmc 1.1 I=sNx+1
98     J=sNy+1
99     vort3(I,J)=
100     & +recip_rAz(I,J,bi,bj)*(
101     & -vFld(I-1,J)*dyc(I-1,J,bi,bj)
102     & -uFld(I,J)*dxc(I,J,bi,bj)
103     & +uFld(I,J-1)*dxc(I,J-1,bi,bj)
104     & )
105     cph & vFld(I,J)*dyc(I,J,bi,bj)
106 jmc 1.3 IF (hFacZ(i,j).EQ.0. _d 0) vort3(i,j) = 0. _d 0
107 jmc 1.1 ENDIF
108    
109     #endif /* ALLOW_SHAP_FILT */
110    
111     RETURN
112     END

  ViewVC Help
Powered by ViewVC 1.1.22