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

Diff of /MITgcm/pkg/mom_vecinv/mom_calc_strain.F

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

revision 1.1 by adcroft, Thu Sep 6 14:23:58 2001 UTC revision 1.2 by adcroft, Tue Nov 27 15:39:15 2001 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6    CBOP
7    C !ROUTINE: MOM_CALC_STRAIN
8    
9    C !INTERFACE: ==========================================================
10        SUBROUTINE MOM_CALC_STRAIN(        SUBROUTINE MOM_CALC_STRAIN(
11       I        bi,bj,k,       I        bi,bj,k,
12       I        uFld, vFld, hFacZ,       I        uFld, vFld, hFacZ,
13       O        strain,       O        strain,
14       I        myThid)       I        myThid)
       IMPLICIT NONE  
 C     /==========================================================\  
 C     | S/R MOM_CALC_STRAIN                                      |  
 C     |==========================================================|  
 C     \==========================================================/  
15    
16  C     == Global variables ==  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"  #include "SIZE.h"
27  #include "EEPARAMS.h"  #include "EEPARAMS.h"
28  #include "PARAMS.h"  #include "PARAMS.h"
29  #include "GRID.h"  #include "GRID.h"
30  C     == Routine arguments ==  
31  C     myThid - Instance number for this innvocation of CALC_MOM_RHS  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        INTEGER bi,bj,k
39        _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40        _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
41        _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
       _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
42        INTEGER myThid        INTEGER myThid
43    
44  C     == Local variables ==  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        INTEGER i,j
51    CEOP
52    
53        DO J=2-Oly,sNy+Oly        DO J=2-Oly,sNy+Oly
54         DO I=2-Olx,sNx+Olx         DO I=2-Olx,sNx+Olx
55    
56  C       Horizontal curl of flow field - ignoring lopping factors  C       Strain of horizontal flow field (ignoring lopping factors)
57          strain(I,J)=          strain(I,J)=
58       &    dyu(I,J,bi,bj)*recip_dxv(I,J,bi,bj)*(       &    dyu(I,J,bi,bj)*recip_dxv(I,J,bi,bj)*(
59       &              vFld( I , J )*recip_dyc( I , J ,bi,bj)       &              vFld( I , J )*recip_dyc( I , J ,bi,bj)
# Line 43  C       Horizontal curl of flow field - Line 62  C       Horizontal curl of flow field -
62       &             +uFld( I , J )*recip_dxc( I , J ,bi,bj)       &             +uFld( I , J )*recip_dxc( I , J ,bi,bj)
63       &             -uFld( I ,J-1)*recip_dxc( I ,J-1,bi,bj) )       &             -uFld( I ,J-1)*recip_dxc( I ,J-1,bi,bj) )
64    
65  C       Horizontal curl of flow field - including lopping factors  C       Set strain to zero on boundaries (free-slip)
66          IF (hFacZ(i,j).EQ.0.) THEN          IF (hFacZ(i,j).EQ.0.) THEN
67           strain(I,J)=0.           strain(I,J)=0.
68          ENDIF          ENDIF

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22