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

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

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


Revision 1.2 - (show annotations) (download)
Wed Nov 6 00:37:11 2013 UTC (12 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65, HEAD
Changes since 1.1: +3 -1 lines
empty routine when ALLOW_SMAG_3D is not defined

1 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_w_smag_3d.F,v 1.1 2013/11/05 13:33:07 jmc Exp $
2 C $Name: $
3
4 #include "MOM_COMMON_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: MOM_W_SMAG_3D
9
10 C !INTERFACE:
11 SUBROUTINE MOM_W_SMAG_3D(
12 I str13, str23, str33,
13 I viscAh3d_00, viscAh3d_13, viscAh3d_23,
14 I rThickC_W, rThickC_S, rThickC_C, recip_rThickC,
15 O wDissip,
16 I iMin,iMax,jMin,jMax, k, bi, bj, myThid )
17
18 C !DESCRIPTION:
19
20 C !USES:
21 IMPLICIT NONE
22
23 C == Global variables ==
24 #include "SIZE.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27 #include "GRID.h"
28
29 C !INPUT PARAMETERS:
30 C rThickC_W :: thickness (in r-units) of W-Cell at Western Edge
31 C rThickC_S :: thickness (in r-units) of W-Cell at Southern Edge
32 C rThickC_C :: thickness (in r-units) of W-Cell (centered on W pt)
33 C recip_rThickC :: reciprol thickness of W-Cell (centered on W-point)
34 C iMin,iMax :: 1rst index loop ranges
35 C jMin,jMax :: 2nd index loop ranges
36 _RL str13(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
37 _RL str23(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
38 _RL str33(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
39 _RL viscAh3d_00(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
40 _RL viscAh3d_13(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
41 _RL viscAh3d_23(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
42 _RL rThickC_W (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
43 _RL rThickC_S (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44 _RL rThickC_C (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45 _RL recip_rThickC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
46 INTEGER iMin,iMax, jMin,jMax
47 INTEGER k, bi, bj
48 INTEGER myThid
49
50 C !OUTPUT PARAMETERS:
51 _RL wDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
52 CEOP
53
54 #ifdef ALLOW_SMAG_3D
55 C !LOCAL VARIABLES:
56 INTEGER i,j
57 INTEGER km1
58 _RL maskM1
59
60 km1 = MAX(1,k-1)
61 maskM1 = 1.
62 IF ( k.LE.1 ) maskM1 = 0.
63
64 C - Laplacian and bi-harmonic terms
65 c IF (harmonic) THEN
66
67 C- note: free-slip @ bottom is commented out
68
69 C- use simple (momentum conserving) scaling
70 C (but not conserving angular momentum)
71
72 DO j= jMin,jMax
73 DO i= iMin,iMax
74 c wDissip(i,j) = recip_rThickC(i,j)*
75 wDissip(i,j) =
76 & recip_rA(i,j,bi,bj)*(
77 & ( viscAh3d_13(i+1, j , k )*str13(i+1, j ,k)
78 c & *dyG(i+1, j ,bi,bj)*rThickC_W(i+1, j )
79 & *dyG(i+1, j ,bi,bj)
80 & -viscAh3d_13( i , j , k )*str13( i , j ,k)
81 c & *dyG( i , j ,bi,bj)*rThickC_W( i , j )
82 & *dyG( i , j ,bi,bj)
83 & )
84 & +( viscAh3d_23( i ,j+1, k )*str23( i ,j+1,k)
85 c & *dxG( i ,j+1,bi,bj)*rThickC_S( i ,j+1)
86 & *dxG( i ,j+1,bi,bj)
87 & -viscAh3d_23( i , j , k )*str23( i , j ,k)
88 c & *dxG( i , j ,bi,bj)*rThickC_S( i , j )
89 & *dxG( i , j ,bi,bj)
90 & ) )
91 & + recip_rThickC(i,j)
92 & *( viscAh3d_00( i , j , k )*str33( i , j , k )
93 & -viscAh3d_00( i , j ,km1)*str33( i , j ,km1)*maskM1
94 & )*rkSign
95 ENDDO
96 ENDDO
97
98 c ENDIF
99
100 c IF (biharmonic) THEN
101 c STOP 'MOM_UV_SMAG_3D: BIHARMONIC NOT ALLOWED WITH SMAG_3D'
102 c ENDIF
103
104 #endif /* ALLOW_SMAG_3D */
105 RETURN
106 END

  ViewVC Help
Powered by ViewVC 1.1.22