/[MITgcm]/MITgcm/pkg/mom_fluxform/mom_v_xviscflux.F
ViewVC logotype

Annotation of /MITgcm/pkg/mom_fluxform/mom_v_xviscflux.F

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


Revision 1.5 - (hide annotations) (download)
Fri Sep 16 20:57:09 2005 UTC (18 years, 8 months ago) by baylor
Branch: MAIN
CVS Tags: checkpoint57s_post
Changes since 1.4: +8 -3 lines
Add variable viscosity calculators to mom_fluxform.  Now should be able to use
Smagorinsky, Leith, etc. with fluxform.

1 baylor 1.5 C $Header: /u/gcmpack/MITgcm/pkg/mom_fluxform/mom_v_xviscflux.F,v 1.4 2003/10/09 04:19:20 edhill Exp $
2 adcroft 1.3 C $Name: $
3 adcroft 1.2
4 edhill 1.4 #include "MOM_FLUXFORM_OPTIONS.h"
5 adcroft 1.2
6 adcroft 1.3 CBOP
7     C !ROUTINE: MOM_V_XVISCFLUX
8    
9     C !INTERFACE: ==========================================================
10 adcroft 1.2 SUBROUTINE MOM_V_XVISCFLUX(
11     I bi,bj,k,
12     I vFld, del2v, hFacZ,
13     O xViscFluxV,
14 baylor 1.5 I viscAh_Z,viscAh_D,viscA4_Z,viscA4_D,
15 adcroft 1.2 I myThid)
16 adcroft 1.3
17     C !DESCRIPTION:
18     C Calculates the area integrated zonal viscous fluxes of V:
19     C \begin{equation*}
20     C F^x = - \frac{ \Delta x_u \Delta r_f h_z }{\Delta x_v}
21     C ( A_h \delta_i v - A_4 \delta_i \nabla^2 v )
22     C \end{equation*}
23    
24     C !USES: ===============================================================
25 adcroft 1.2 IMPLICIT NONE
26     #include "SIZE.h"
27     #include "EEPARAMS.h"
28     #include "PARAMS.h"
29     #include "GRID.h"
30    
31 adcroft 1.3 C !INPUT PARAMETERS: ===================================================
32     C bi,bj :: tile indices
33     C k :: vertical level
34     C vFld :: meridional flow
35     C del2v :: Laplacian of meridional flow
36     C myThid :: thread number
37 adcroft 1.2 INTEGER bi,bj,k
38     _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
39     _RL del2v(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40     _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
41 baylor 1.5 _RL viscAh_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42     _RL viscAh_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
43     _RL viscA4_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44     _RL viscA4_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45 adcroft 1.3 INTEGER myThid
46    
47     C !OUTPUT PARAMETERS: ==================================================
48     C xViscFluxU :: viscous fluxes
49 adcroft 1.2 _RL xViscFluxV(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
50    
51 adcroft 1.3 C !LOCAL VARIABLES: ====================================================
52     C i,j :: loop indices
53 adcroft 1.2 INTEGER I,J
54 adcroft 1.3 CEOP
55 adcroft 1.2
56     C - Laplacian and bi-harmonic terms
57     DO j=1-Oly,sNy+Oly
58     DO i=1-Olx+1,sNx+Olx
59     xViscFluxV(i,j) =
60     & _dyU(i,j,bi,bj)*drF(k)*hFacZ(i,j)
61     & *(
62 baylor 1.5 & -viscAh_Z(i,j)*(vFld(i,j)-vFld(i-1,j))
63 adcroft 1.2 & *cosFacV(J,bi,bj)
64 baylor 1.5 & +viscA4_Z(i,j)*(del2v(i,j) -del2v(i-1,j) )
65 adcroft 1.2 #ifdef COSINEMETH_III
66     & *sqcosFacV(J,bi,bj)
67     #else
68     & *cosFacV(J,bi,bj)
69     #endif
70     & )*_recip_dxV(i,j,bi,bj)
71     ENDDO
72     ENDDO
73    
74     RETURN
75     END

  ViewVC Help
Powered by ViewVC 1.1.22