/[MITgcm]/MITgcm/pkg/mom_fluxform/mom_v_del2v.F
ViewVC logotype

Diff of /MITgcm/pkg/mom_fluxform/mom_v_del2v.F

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

revision 1.9 by jmc, Tue May 3 19:50:30 2011 UTC revision 1.10 by jmc, Sun Feb 9 18:51:46 2014 UTC
# Line 8  C !ROUTINE: MOM_V_DEL2V Line 8  C !ROUTINE: MOM_V_DEL2V
8    
9  C !INTERFACE: ==========================================================  C !INTERFACE: ==========================================================
10        SUBROUTINE MOM_V_DEL2V(        SUBROUTINE MOM_V_DEL2V(
11       I        bi,bj,k,       I        bi, bj, k,
12       I        vFld, hFacZ,       I        vFld, hFacZ, h0FacZ,
13       O        del2v,       O        del2v,
14       I        myThid)       I        myThid )
15    
16  C !DESCRIPTION:  C !DESCRIPTION:
17  C Calculates the Laplacian of meridional flow  C Calculates the Laplacian of meridional flow
# Line 29  C  bi,bj                :: tile indices Line 29  C  bi,bj                :: tile indices
29  C  k                    :: vertical level  C  k                    :: vertical level
30  C  vFld                 :: meridional flow  C  vFld                 :: meridional flow
31  C  hFacZ                :: fractional thickness at vorticity points  C  hFacZ                :: fractional thickness at vorticity points
32  C  myThid               :: thread number`  C  h0FacZ               :: fixed fractional thickness at vorticity points
33        INTEGER bi,bj,k  C  myThid               :: my Thread Id number
34        _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        INTEGER bi, bj, k
35        _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL vFld  (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
36          _RS hFacZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
37          _RS h0FacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
38        INTEGER myThid        INTEGER myThid
39  C !OUTPUT PARAMETERS: ==================================================  C !OUTPUT PARAMETERS: ==================================================
40  C  del2v                :: Laplacian  C  del2v                :: Laplacian
# Line 43  C  i,j                  :: loop indices Line 45  C  i,j                  :: loop indices
45        INTEGER I,J        INTEGER I,J
46        _RL fZon(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL fZon(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
47        _RL fMer(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL fMer(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
48        _RS hFacZClosedE,hFacZClosedW        _RS hFacZClosedE, hFacZClosedW
49  CEOP  CEOP
50    
51  C     Zonal flux d/dx V  C     Zonal flux d/dx V
52        DO j=1-Oly+1,sNy+Oly-1        DO j=1-OLy+1,sNy+OLy-1
53         DO i=1-Olx+1,sNx+Olx         DO i=1-OLx+1,sNx+OLx
54          fZon(i,j) = drF(k)*hFacZ(i,j)          fZon(i,j) = drF(k)*hFacZ(i,j)
55       &   *_dyU(i,j,bi,bj)       &   *_dyU(i,j,bi,bj)
56       &   *_recip_dxV(i,j,bi,bj)       &   *_recip_dxV(i,j,bi,bj)
# Line 62  c    &   *recip_deepFacC(k)  ! recip_dxV Line 64  c    &   *recip_deepFacC(k)  ! recip_dxV
64        ENDDO        ENDDO
65    
66  C     Meridional flux d/dy V  C     Meridional flux d/dy V
67        DO j=1-Oly,sNy+Oly-1        DO j=1-OLy,sNy+OLy-1
68         DO i=1-Olx+1,sNx+Olx-1         DO i=1-OLx+1,sNx+OLx-1
69          fMer(i,j) = drF(k)*_hFacC(i,j,k,bi,bj)          fMer(i,j) = drF(k)*_hFacC(i,j,k,bi,bj)
70       &   *_dxF(i,j,bi,bj)       &   *_dxF(i,j,bi,bj)
71       &   *_recip_dyF(i,j,bi,bj)       &   *_recip_dyF(i,j,bi,bj)
# Line 80  c    &   *recip_deepFacC(k)  ! recip_dyF Line 82  c    &   *recip_deepFacC(k)  ! recip_dyF
82        ENDDO        ENDDO
83    
84  C     del^2 V  C     del^2 V
85        DO j=1-Oly+1,sNy+Oly-1        DO j=1-OLy+1,sNy+OLy-1
86         DO i=1-Olx+1,sNx+Olx-1         DO i=1-OLx+1,sNx+OLx-1
87          del2v(i,j) =          del2v(i,j) =
88       &   recip_drF(k)*_recip_hFacS(i,j,k,bi,bj)       &   recip_drF(k)*_recip_hFacS(i,j,k,bi,bj)
89       &  *recip_rAs(i,j,bi,bj)*recip_deepFac2C(k)       &  *recip_rAs(i,j,bi,bj)*recip_deepFac2C(k)
# Line 96  C     del^2 V Line 98  C     del^2 V
98    
99        IF (no_slip_sides) THEN        IF (no_slip_sides) THEN
100  C-- No-slip BCs impose a drag at walls...  C-- No-slip BCs impose a drag at walls...
101         DO j=1-Oly+1,sNy+Oly-1         DO j=1-OLy+1,sNy+OLy-1
102          DO i=1-Olx+1,sNx+Olx-1          DO i=1-OLx+1,sNx+OLx-1
103  #ifdef NONLIN_FRSURF  #ifdef NONLIN_FRSURF
104  C-    this will not give any side-drag along thin wall.           hFacZClosedW = h0FacS(i,j,k,bi,bj) - h0FacZ(i,j)
105  C     (but this might just be what we want ...)           hFacZClosedE = h0FacS(i,j,k,bi,bj) - h0FacZ(i+1,j)
          hFacZClosedW = h0FacS(i,j,k,bi,bj) - h0FacS(i-1,j,k,bi,bj)  
          hFacZClosedE = h0FacS(i,j,k,bi,bj) - h0FacS(i+1,j,k,bi,bj)  
          hFacZClosedW = MAX( 0. _d 0, hFacZClosedW )  
          hFacZClosedE = MAX( 0. _d 0, hFacZClosedE )  
106  #else  #else
107           hFacZClosedW = _hFacS(i,j,k,bi,bj) - hFacZ(i,j)           hFacZClosedW = _hFacS(i,j,k,bi,bj) - h0FacZ(i,j)
108           hFacZClosedE = _hFacS(i,j,k,bi,bj) - hFacZ(i+1,j)           hFacZClosedE = _hFacS(i,j,k,bi,bj) - h0FacZ(i+1,j)
109  #endif  #endif
110           del2v(i,j) = del2v(i,j)           del2v(i,j) = del2v(i,j)
111       &    -_recip_hFacS(i,j,k,bi,bj)       &    -_recip_hFacS(i,j,k,bi,bj)

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22