/[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.2 - (hide annotations) (download)
Mon May 24 14:10:06 2004 UTC (20 years ago) by adcroft
Branch: MAIN
Changes since 1.1: +9 -6 lines
Fix mom_common/mom_*_sidedrag.F to recover numeric output prior to creation
  of mom_common/
  - simple re-arrangement of instructions within computing loop

1 adcroft 1.2 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_v_sidedrag.F,v 1.1 2004/05/14 17:43:11 adcroft Exp $
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     O vDragTerms,
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^v_{drag} = - \frac{2}{\Delta x_v} (A_h v - A_4 \nabla^2 v)
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 uvld :: meridional flow
33     C del2v :: Laplacian of meridional flow
34     C hFacZ :: fractional open water at vorticity points
35     C myThid :: thread number
36     INTEGER bi,bj,k
37     _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
38     _RL del2v(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 vDragTerms :: drag term
44     _RL vDragTerms(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45    
46     C !LOCAL VARIABLES: ====================================================
47     C i,j :: loop indices
48     C hFacZClosedE :: fractional open water to east
49     C hFacZClosedW :: fractional open water to west
50     INTEGER I,J
51     _RS hFacZClosedE,hFacZClosedW
52 adcroft 1.2 _RL Ahtmp,A4tmp
53 adcroft 1.1 CEOP
54    
55     C - Laplacian and bi-harmonic terms
56     DO j=1-Oly,sNy+Oly-1
57     DO i=1-Olx,sNx+Olx-1
58     hFacZClosedW = _hFacS(i,j,k,bi,bj) - hFacZ(i,j)
59     hFacZClosedE = _hFacS(i,j,k,bi,bj) - hFacZ(i+1,j)
60 adcroft 1.2 Ahtmp=min(viscAh+viscAhGrid*rA(i,j,bi,bj)/deltaTmom,
61     & viscAhMax)
62     A4tmp=min(viscA4+viscA4Grid*(rA(i,j,bi,bj)**2)/deltaTmom,
63     & viscA4Max)
64 adcroft 1.1 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)
68     & *_recip_dxV( i ,j,bi,bj)
69     & +hFacZClosedE*_dyU(i+1,j,bi,bj)
70     & *_recip_dxV(i+1,j,bi,bj) )
71     & *drF(k)*2.*(
72 adcroft 1.2 & Ahtmp*vFld(i,j)*cosFacV(J,bi,bj)
73     & -A4tmp*del2v(i,j)*cosFacV(J,bi,bj)
74 adcroft 1.1 #ifdef COSINEMETH_III
75     & -viscA4*del2v(i,j)*sqcosFacV(J,bi,bj)
76     #else
77     & -viscA4*del2v(i,j)*cosFacV(J,bi,bj)
78     #endif
79     & )
80     ENDDO
81     ENDDO
82    
83     RETURN
84     END

  ViewVC Help
Powered by ViewVC 1.1.22