/[MITgcm]/MITgcm/pkg/mom_vecinv/mom_vi_calc_relvort3.F
ViewVC logotype

Diff of /MITgcm/pkg/mom_vecinv/mom_vi_calc_relvort3.F

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

revision 1.1 by adcroft, Fri Mar 30 21:13:33 2001 UTC revision 1.2 by adcroft, Tue May 29 14:01:39 2001 UTC
# Line 0  Line 1 
1    C $Header$
2    C $Name$
3    
4    #include "CPP_OPTIONS.h"
5    
6          SUBROUTINE MOM_VI_CALC_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 MOM_CALC_RELVORT3                                    |
14    C     |==========================================================|
15    C     \==========================================================/
16    
17    C     == Global variables ==
18    #include "SIZE.h"
19    #include "EEPARAMS.h"
20    #include "PARAMS.h"
21    #include "GRID.h"
22    C     == Routine arguments ==
23    C     myThid - Instance number for this innvocation of CALC_MOM_RHS
24          INTEGER bi,bj,k
25          _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
26          _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
27          _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
28          _RL vort3(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
29          INTEGER myThid
30    
31    C     == Local variables ==
32          INTEGER i,j
33    
34          DO J=2-Oly,sNy+Oly
35           DO I=2-Olx,sNx+Olx
36    
37    C       Horizontal curl of flow field - ignoring lopping factors
38            vort3(I,J)=
39         &      recip_rAz(I,J,bi,bj)*(
40         &      vFld(I,J)*dyc(I,J,bi,bj)
41         &     -vFld(I-1,J)*dyc(I-1,J,bi,bj)
42         &     -uFld(I,J)*dxc(I,J,bi,bj)
43         &     +uFld(I,J-1)*dxc(I,J-1,bi,bj)
44         &                           )
45    
46    C       Horizontal curl of flow field - including lopping factors
47            IF (hFacZ(i,j).NE.0.) THEN
48    c        vort3(I,J)=
49    c    &      recip_rAz(I,J,bi,bj)*(
50    c    &      vFld(I,J)*dyc(I,J,bi,bj)*_hFacW(i,j,k,bi,bj)
51    c    &     -vFld(I-1,J)*dyc(I-1,J,bi,bj)*_hFacW(i-1,j,k,bi,bj)
52    c    &     -uFld(I,J)*dxc(I,J,bi,bj)*_hFacS(i,j,k,bi,bj)
53    c    &     +uFld(I,J-1)*dxc(I,J-1,bi,bj)*_hFacS(i,j-1,k,bi,bj)
54    c    &                           )
55    c    &                            /hFacZ(i,j)
56            ELSE
57             vort3(I,J)=0.
58            ENDIF
59    
60           ENDDO
61          ENDDO
62            
63    C     Special stuff for Cubed Sphere
64          IF (useCubedSphereExchange) THEN
65             I=1
66             J=1
67             vort3(I,J)=
68         &     +recip_rAz(I,J,bi,bj)*(
69         &      vFld(I,J)*dyc(I,J,bi,bj)
70    c    &     -vFld(I-1,J)*dyc(I-1,J,bi,bj)
71         &     -uFld(I,J)*dxc(I,J,bi,bj)
72         &     +uFld(I,J-1)*dxc(I,J-1,bi,bj)
73         &     )
74             I=sNx+1
75             J=1
76             vort3(I,J)=
77         &     +recip_rAz(I,J,bi,bj)*(
78    c    &      vFld(I,J)*dyc(I,J,bi,bj)
79         &     -vFld(I-1,J)*dyc(I-1,J,bi,bj)
80         &     -uFld(I,J)*dxc(I,J,bi,bj)
81         &     +uFld(I,J-1)*dxc(I,J-1,bi,bj)
82         &     )
83             I=1
84             J=sNy+1
85             vort3(I,J)=
86         &     +recip_rAz(I,J,bi,bj)*(
87         &      vFld(I,J)*dyc(I,J,bi,bj)
88    c    &     -vFld(I-1,J)*dyc(I-1,J,bi,bj)
89         &     -uFld(I,J)*dxc(I,J,bi,bj)
90         &     +uFld(I,J-1)*dxc(I,J-1,bi,bj)
91         &     )
92             I=sNx+1
93             J=sNy+1
94             vort3(I,J)=
95         &     +recip_rAz(I,J,bi,bj)*(
96    c    &      vFld(I,J)*dyc(I,J,bi,bj)
97         &     -vFld(I-1,J)*dyc(I-1,J,bi,bj)
98         &     -uFld(I,J)*dxc(I,J,bi,bj)
99         &     +uFld(I,J-1)*dxc(I,J-1,bi,bj)
100         &     )
101           ENDIF
102    
103          RETURN
104          END

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

  ViewVC Help
Powered by ViewVC 1.1.22