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

Annotation 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 - (hide annotations) (download)
Mon Sep 26 15:27:11 2005 UTC (18 years, 8 months ago) by baylor
Branch: MAIN
Changes since 1.4: +29 -19 lines
Passing viscosities to sidedrag.

1 baylor 1.5 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_v_sidedrag.F,v 1.4 2004/11/02 23:57:29 dimitri Exp $
2 adcroft 1.2 C $Name: $
3 adcroft 1.1
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 baylor 1.5 I viscAh_Z,viscA4_Z,
14     I harmonic,biharmonic,useVariableViscosity,
15 adcroft 1.1 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 baylor 1.5 _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 adcroft 1.1 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 baylor 1.5 & *( 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 adcroft 1.1 #ifdef COSINEMETH_III
71 baylor 1.5 & -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 adcroft 1.1 #else
85 baylor 1.5 & -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 adcroft 1.1 #endif
91     & )
92 baylor 1.5 & *drF(k)*2.
93 adcroft 1.1 ENDDO
94     ENDDO
95    
96     RETURN
97     END
98 baylor 1.5

  ViewVC Help
Powered by ViewVC 1.1.22