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

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

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


Revision 1.1 - (show annotations) (download)
Fri May 14 17:43:11 2004 UTC (20 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint53d_post, checkpoint54a_pre, checkpoint55c_post, checkpoint54e_post, checkpoint54a_post, checkpoint53c_post, checkpoint55d_pre, checkpoint57d_post, checkpoint57b_post, checkpoint57c_pre, checkpoint55j_post, checkpoint56b_post, checkpoint57e_post, checkpoint55h_post, checkpoint54b_post, checkpoint55b_post, checkpoint54d_post, checkpoint56c_post, checkpoint55, checkpoint57a_post, checkpoint54, checkpoint54f_post, checkpoint55g_post, checkpoint55f_post, checkpoint57a_pre, checkpoint55i_post, checkpoint57, checkpoint56, eckpoint57e_pre, checkpoint53g_post, checkpoint57c_post, checkpoint55e_post, checkpoint53f_post, checkpoint55a_post, checkpoint53d_pre, checkpoint54c_post, checkpoint56a_post, checkpoint55d_post
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 C $Header: $
2 C $Name: $
3
4 #include "MOM_COMMON_OPTIONS.h"
5
6 SUBROUTINE MOM_HDISSIP(
7 I bi,bj,k,
8 I tension,strain,hFacZ,viscAt,viscAs,
9 O uDissip,vDissip,
10 I myThid)
11 IMPLICIT NONE
12 C
13 C Calculate horizontal dissipation terms in terms of tension and strain
14 C
15 C Du = d/dx At Tension + d/dy As Strain
16 C Dv = d/dx As Strain - d/dy At Tension
17
18 C == Global variables ==
19 #include "SIZE.h"
20 #include "GRID.h"
21
22 C == Routine arguments ==
23 INTEGER bi,bj,k
24 _RL tension(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
25 _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
26 _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
27 _RL viscAt
28 _RL viscAs
29 _RL uDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
30 _RL vDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
31 INTEGER myThid
32
33 C == Local variables ==
34 INTEGER I,J
35
36 C - Laplacian and bi-harmonic terms
37 DO j=2-Oly,sNy+Oly-1
38 DO i=2-Olx,sNx+Olx-1
39
40 uDissip(i,j) =
41 & viscAt
42 & *recip_dyg(i,j,bi,bj)*recip_dyg(i,j,bi,bj)
43 & *recip_dxc(i,j,bi,bj)
44 & *(
45 & dyf( i , j ,bi,bj)*dyf( i , j ,bi,bj)*tension( i , j )
46 & -dyf(i-1, j ,bi,bj)*dyf(i-1, j ,bi,bj)*tension(i-1, j )
47 & )
48 & +viscAs
49 & *recip_dxc(i,j,bi,bj)*recip_dxc(i,j,bi,bj)
50 & *recip_dyg(i,j,bi,bj)
51 & *(
52 & dxv( i ,j+1,bi,bj)*dxv( i ,j+1,bi,bj)*strain( i ,j+1)
53 & -dxv( i , j ,bi,bj)*dxv( i , j ,bi,bj)*strain( i , j )
54 & )
55
56 vDissip(i,j) =
57 & viscAs
58 & *recip_dyc(i,j,bi,bj)*recip_dyc(i,j,bi,bj)
59 & *recip_dxg(i,j,bi,bj)
60 & *(
61 & dyu(i+1, j ,bi,bj)*dyu(i+1, j ,bi,bj)*strain(i+1, j )
62 & -dyu( i , j ,bi,bj)*dyu( i , j ,bi,bj)*strain( i , j )
63 & )
64 & -viscAt
65 & *recip_dxg(i,j,bi,bj)*recip_dxg(i,j,bi,bj)
66 & *recip_dyc(i,j,bi,bj)
67 & *(
68 & dxf( i , j ,bi,bj)*dxf( i , j ,bi,bj)*tension( i , j )
69 & -dxf( i ,j-1,bi,bj)*dxf( i ,j-1,bi,bj)*tension( i ,j-1)
70 & )
71
72 ENDDO
73 ENDDO
74
75 RETURN
76 END

  ViewVC Help
Powered by ViewVC 1.1.22