/[MITgcm]/MITgcm/pkg/mom_common/mom_v_sidedrag.F
ViewVC logotype

Contents of /MITgcm/pkg/mom_common/mom_v_sidedrag.F

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


Revision 1.5 - (show annotations) (download)
Mon Sep 26 15:27:11 2005 UTC (20 years, 4 months ago) by baylor
Branch: MAIN
Changes since 1.4: +29 -19 lines
Passing viscosities to sidedrag.

1 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_v_sidedrag.F,v 1.4 2004/11/02 23:57:29 dimitri Exp $
2 C $Name: $
3
4 #include "MOM_COMMON_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: MOM_V_SIDEDRAG
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE MOM_V_SIDEDRAG(
11 I bi,bj,k,
12 I vFld, del2v, hFacZ,
13 I viscAh_Z,viscA4_Z,
14 I harmonic,biharmonic,useVariableViscosity,
15 O vDragTerms,
16 I myThid)
17
18 C !DESCRIPTION:
19 C Calculates the drag terms due to the no-slip condition on viscous stresses:
20 C \begin{equation*}
21 C G^v_{drag} = - \frac{2}{\Delta x_v} (A_h v - A_4 \nabla^2 v)
22 C \end{equation*}
23
24 C !USES: ===============================================================
25 IMPLICIT NONE
26 #include "SIZE.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29 #include "GRID.h"
30
31 C !INPUT PARAMETERS: ===================================================
32 C bi,bj :: tile indices
33 C k :: vertical level
34 C uvld :: meridional flow
35 C del2v :: Laplacian of meridional flow
36 C hFacZ :: fractional open water at vorticity points
37 C myThid :: thread number
38 INTEGER bi,bj,k
39 _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40 _RL del2v(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
41 _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42 _RL viscAh_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
43 _RL viscA4_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44 LOGICAL harmonic,biharmonic,useVariableViscosity
45 INTEGER myThid
46
47 C !OUTPUT PARAMETERS: ==================================================
48 C vDragTerms :: drag term
49 _RL vDragTerms(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
50
51 C !LOCAL VARIABLES: ====================================================
52 C i,j :: loop indices
53 C hFacZClosedE :: fractional open water to east
54 C hFacZClosedW :: fractional open water to west
55 INTEGER I,J
56 _RS hFacZClosedE,hFacZClosedW
57 CEOP
58
59 C - Laplacian and bi-harmonic terms
60 DO j=1-Oly,sNy+Oly-1
61 DO i=1-Olx,sNx+Olx-1
62 hFacZClosedW = _hFacS(i,j,k,bi,bj) - hFacZ(i,j)
63 hFacZClosedE = _hFacS(i,j,k,bi,bj) - hFacZ(i+1,j)
64 vDragTerms(i,j) =
65 & -_recip_hFacS(i,j,k,bi,bj)
66 & *recip_drF(k)*recip_rAs(i,j,bi,bj)
67 & *( hFacZClosedW*_dyU( i ,j,bi,bj)*_recip_dxV( i ,j,bi,bj)
68 #ifdef ISOTROPIC_COS_SCALING
69 & *(viscAh_Z(i ,j)*vFld(i,j)*cosFacV(J,bi,bj)
70 #ifdef COSINEMETH_III
71 & -viscA4_Z(i ,j)*del2v(i,j)*sqcosFacV(J,bi,bj))
72 #else
73 & -viscA4_Z(i ,j)*del2v(i,j)*cosFacV(J,bi,bj))
74 #endif
75 #else
76 & *(viscAh_Z(i ,j)*vFld(i,j)
77 & -viscA4_Z(i ,j)*del2v(i,j))
78 #endif
79 & +hFacZClosedE*_dyU(i+1,j,bi,bj)*_recip_dxV(i+1,j,bi,bj)
80 #ifdef ISOTROPIC_COS_SCALING
81 & *(viscAh_Z(i+1,j)*vFld(i,j)*cosFacV(J,bi,bj)
82 #ifdef COSINEMETH_III
83 & -viscA4_Z(i+1,j)*del2v(i,j)*sqcosFacV(J,bi,bj))
84 #else
85 & -viscA4_Z(i+1,j)*del2v(i,j)*cosFacV(J,bi,bj))
86 #endif
87 #else
88 & *(viscAh_Z(i+1,j)*vFld(i,j)
89 & -viscA4_Z(i+1,j)*del2v(i,j))
90 #endif
91 & )
92 & *drF(k)*2.
93 ENDDO
94 ENDDO
95
96 RETURN
97 END
98

  ViewVC Help
Powered by ViewVC 1.1.22