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

Annotation of /MITgcm/pkg/mom_common/mom_calc_strain.F

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


Revision 1.2 - (hide annotations) (download)
Mon May 24 18:44:27 2004 UTC (21 years, 1 month ago) by adcroft
Branch: MAIN
Changes since 1.1: +13 -20 lines
Arbirtrarily changing discretization for strain/tension
 - more consistent with vorticity and divergence in F/V context

1 adcroft 1.2 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_calc_strain.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_CALC_STRAIN
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE MOM_CALC_STRAIN(
11     I bi,bj,k,
12     I uFld, vFld, hFacZ,
13     O strain,
14     I myThid)
15    
16     C !DESCRIPTION:
17     C Calculates the strain of the horizontal flow field (at vorticity points):
18     C \begin{equation*}
19     C D_S = \frac{\Delta y_u}{\Delta x_v} \delta_i \frac{v}{\Delta y_c}
20     C + \frac{\Delta x_v}{\Delta y_u} \delta_j \frac{u}{\Delta x_c}
21     C \end{equation*}
22     C assuming free-slip boundaries.
23    
24     C !USES: ===============================================================
25     IMPLICIT NONE
26     #include "SIZE.h"
27     #include "EEPARAMS.h"
28     #include "PARAMS.h"
29     #include "GRID.h"
30    
31     C !INPUT PARAMETERS: ===================================================
32     C bi,bj :: tile indices
33     C k :: vertical level
34     C uFld :: zonal flow
35     C vFld :: meridional flow
36     C hFacZ :: open-water thickness at vorticity points
37     C myThid :: thread number
38     INTEGER bi,bj,k
39     _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40     _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
41     _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42     INTEGER myThid
43    
44     C !OUTPUT PARAMETERS: ==================================================
45     C strain :: strain of horizontal flow
46     _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
47    
48     C !LOCAL VARIABLES: ====================================================
49     C i,j :: loop indices
50     INTEGER i,j
51     CEOP
52    
53     DO J=2-Oly,sNy+Oly
54     DO I=2-Olx,sNx+Olx
55    
56     C Strain of horizontal flow field (ignoring lopping factors)
57     strain(I,J)=
58 adcroft 1.2 & ( dyc( i , j ,bi,bj)*vFld( i , j )
59     & -dyc(i-1, j ,bi,bj)*vFld(i-1, j )
60     & +dxc( i , j ,bi,bj)*uFld( i , j )
61     & -dxc( i ,j-1,bi,bj)*uFld( i ,j-1) )*recip_rAz(i,j,bi,bj)
62     c & dyu(I,J,bi,bj)*recip_dxv(I,J,bi,bj)*(
63     c & vFld( I , J )*recip_dyc( I , J ,bi,bj)
64     c & -vFld(I-1, J )*recip_dyc(I-1, J ,bi,bj) )
65     c & +dxv(I,J,bi,bj)*recip_dyu(I,J,bi,bj)*(
66     c & +uFld( I , J )*recip_dxc( I , J ,bi,bj)
67     c & -uFld( I ,J-1)*recip_dxc( I ,J-1,bi,bj) )
68 adcroft 1.1
69     C Set strain to zero on boundaries (free-slip)
70     IF (hFacZ(i,j).EQ.0.) THEN
71     strain(I,J)=0.
72     ENDIF
73    
74     ENDDO
75     ENDDO
76    
77     C Special stuff for Cubed Sphere
78     IF (useCubedSphereExchange) THEN
79 adcroft 1.2 STOP 'S/R MOM_CALC_STRAIN: We should not use strain on the cube!'
80 adcroft 1.1 ENDIF
81    
82     RETURN
83     END

  ViewVC Help
Powered by ViewVC 1.1.22