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

Annotation of /MITgcm/pkg/mom_common/mom_u_sidedrag.F

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


Revision 1.1 - (hide annotations) (download)
Fri May 14 17:43:11 2004 UTC (20 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint53c_post, checkpoint53d_pre
Created pkg/mom_common/
 o changed pkg_groups and pkg_depend
 o moved duplicate files in mom_vecinv and mom_fluxform to mom_common/
This is in preparation for checking in Smagorinsky and Leith type variable
viscosities.

1 adcroft 1.1 C $Header: $
2     C $Name: $
3    
4     #include "MOM_COMMON_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: MOM_U_SIDEDRAG
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE MOM_U_SIDEDRAG(
11     I bi,bj,k,
12     I uFld, del2u, hFacZ,
13     O uDragTerms,
14     I myThid)
15    
16     C !DESCRIPTION:
17     C Calculates the drag terms due to the no-slip condition on viscous stresses:
18     C \begin{equation*}
19     C G^u_{drag} = - \frac{2}{\Delta y_u} (A_h u - A_4 \nabla^2 u)
20     C \end{equation*}
21    
22     C !USES: ===============================================================
23     IMPLICIT NONE
24     #include "SIZE.h"
25     #include "EEPARAMS.h"
26     #include "PARAMS.h"
27     #include "GRID.h"
28    
29     C !INPUT PARAMETERS: ===================================================
30     C bi,bj :: tile indices
31     C k :: vertical level
32     C uFld :: zonal flow
33     C del2u :: Laplacian of zonal flow
34     C hFacZ :: fractional open water at vorticity points
35     C myThid :: thread number
36     INTEGER bi,bj,k
37     _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
38     _RL del2u(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
39     _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40     INTEGER myThid
41    
42     C !OUTPUT PARAMETERS: ==================================================
43     C uDragTerms :: drag term
44     _RL uDragTerms(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45    
46     C !LOCAL VARIABLES: ====================================================
47     C i,j :: loop indices
48     C hFacZClosedN :: fractional open water to north
49     C hFacZClosedS :: fractional open water to south
50     INTEGER I,J
51     _RS hFacZClosedS,hFacZClosedN
52     CEOP
53    
54     C - Laplacian and bi-harmonic terms
55     DO j=1-Oly,sNy+Oly-1
56     DO i=1-Olx,sNx+Olx-1
57     hFacZClosedS = _hFacW(i,j,k,bi,bj) - hFacZ(i,j)
58     hFacZClosedN = _hFacW(i,j,k,bi,bj) - hFacZ(i,j+1)
59     uDragTerms(i,j) =
60     & -_recip_hFacW(i,j,k,bi,bj)
61     & *recip_drF(k)*recip_rAw(i,j,bi,bj)
62     & *( hFacZClosedS*_dxV(i, j ,bi,bj)
63     & *_recip_dyU(i, j ,bi,bj)
64     & +hFacZClosedN*_dxV(i,j+1,bi,bj)
65     & *_recip_dyU(i,j+1,bi,bj) )
66     & *drF(k)*2.*(
67     #ifdef ISOTROPIC_COS_SCALING
68     & viscAh*uFld(i,j)*cosFacU(J,bi,bj)
69     #ifdef COSINEMETH_III
70     & -viscA4*del2u(i,j)*sqcosFacU(J,bi,bj)
71     #else
72     & -viscA4*del2u(i,j)*cosFacU(J,bi,bj)
73     #endif
74     #else
75     & min(viscAh+viscAhGrid* rA(i,j,bi,bj) /deltaTmom,viscAhMax)
76     & *uFld(i,j)
77     & -min(viscA4+viscA4Grid*(rA(i,j,bi,bj)**2)/deltaTmom,viscA4Max)
78     & *del2u(i,j)
79     #endif
80     & )
81     ENDDO
82     ENDDO
83    
84     RETURN
85     END

  ViewVC Help
Powered by ViewVC 1.1.22