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

Annotation of /MITgcm/pkg/mom_common/mom_hdissip.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: 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 adcroft 1.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