/[MITgcm]/MITgcm/model/src/calc_gw.F
ViewVC logotype

Diff of /MITgcm/model/src/calc_gw.F

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

revision 1.26 by heimbach, Wed Jun 7 01:55:12 2006 UTC revision 1.27 by baylor, Tue Jun 20 20:57:37 2006 UTC
# Line 9  CBOP Line 9  CBOP
9  C     !ROUTINE: CALC_GW  C     !ROUTINE: CALC_GW
10  C     !INTERFACE:  C     !INTERFACE:
11        SUBROUTINE CALC_GW(        SUBROUTINE CALC_GW(
12       I                    myTime, myIter, myThid )       I         KappaRU, KappaRV,
13         I         myTime, myIter, myThid )
14  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
15  C     *==========================================================*  C     *==========================================================*
16  C     | S/R CALC_GW  C     | S/R CALC_GW
# Line 34  C     == Global variables == Line 35  C     == Global variables ==
35    
36  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
37  C     == Routine arguments ==  C     == Routine arguments ==
38    C     KappaRU:: vertical viscosity at U points
39    C     KappaRV:: vertical viscosity at V points
40  C     myTime :: Current time in simulation  C     myTime :: Current time in simulation
41  C     myIter :: Current iteration number in simulation  C     myIter :: Current iteration number in simulation
42  C     myThid :: Thread number for this instance of the routine.  C     myThid :: Thread number for this instance of the routine.
43          _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
44          _RL KappaRV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
45        _RL     myTime        _RL     myTime
46        INTEGER myIter        INTEGER myIter
47        INTEGER myThid        INTEGER myThid
# Line 69  C     i,j,k - Loop counters Line 74  C     i,j,k - Loop counters
74        _RS  recip_hFacCtmp        _RS  recip_hFacCtmp
75        _RL slipSideFac        _RL slipSideFac
76        _RL tmp_VbarZ, tmp_UbarZ, tmp_WbarZ        _RL tmp_VbarZ, tmp_UbarZ, tmp_WbarZ
77          _RL vischere
78          _RL visc4here
79        _RL  Half        _RL  Half
80        PARAMETER(Half=0.5D0)        PARAMETER(Half=0.5D0)
81  CEOP  CEOP
# Line 209  C     at the southern face Line 215  C     at the southern face
215       &         +_hFacS(I,J, K ,bi,bj)*vVel( I ,J, K ,bi,bj))       &         +_hFacS(I,J, K ,bi,bj)*vVel( I ,J, K ,bi,bj))
216             Flx_NS(I,J,bi,bj)=             Flx_NS(I,J,bi,bj)=
217       &     tmp_VbarZ*Half*(wVel(I,J,K,bi,bj)+wVel(I,J-1,K,bi,bj))       &     tmp_VbarZ*Half*(wVel(I,J,K,bi,bj)+wVel(I,J-1,K,bi,bj))
218       &    -viscAhW*_recip_dyC(I,J,bi,bj)       &    -viscAh_W(I,J,K,bi,bj)*_recip_dyC(I,J,bi,bj)
219       &       *(hFacStmp*(wVel(I,J,K,bi,bj)-wVel(I,J-1,K,bi,bj))       &       *(hFacStmp*(wVel(I,J,K,bi,bj)-wVel(I,J-1,K,bi,bj))
220       &        +(1. _d 0 - hFacStmp)*(1. _d 0 - slipSideFac)       &        +(1. _d 0 - hFacStmp)*(1. _d 0 - slipSideFac)
221       &         *wVel(I,J,K,bi,bj))       &         *wVel(I,J,K,bi,bj))
222       &    +viscA4W*_recip_dyC(I,J,bi,bj)*(del2w(I,J)-del2w(I,J-1))       &    +viscA4_W(I,J,K,bi,bj)
223         &      *_recip_dyC(I,J,bi,bj)*(del2w(I,J)-del2w(I,J-1))
224  #ifdef ISOTROPIC_COS_SCALING  #ifdef ISOTROPIC_COS_SCALING
225  #ifdef COSINEMETH_III  #ifdef COSINEMETH_III
226       &    *sqCosFacV(j,bi,bj)       &    *sqCosFacV(j,bi,bj)
# Line 241  C     at the western face Line 248  C     at the western face
248       &        +_hFacW(I,J, K ,bi,bj)*uVel( I ,J, K ,bi,bj))       &        +_hFacW(I,J, K ,bi,bj)*uVel( I ,J, K ,bi,bj))
249             Flx_EW(I,J,bi,bj)=             Flx_EW(I,J,bi,bj)=
250       &     tmp_UbarZ*Half*(wVel(I,J,K,bi,bj)+wVel(I-1,J,K,bi,bj))       &     tmp_UbarZ*Half*(wVel(I,J,K,bi,bj)+wVel(I-1,J,K,bi,bj))
251       &    -viscAhW*_recip_dxC(I,J,bi,bj)       &    -viscAh_W(I,J,K,bi,bj)*_recip_dxC(I,J,bi,bj)
252       &      *(hFacWtmp*(wVel(I,J,K,bi,bj)-wVel(I-1,J,K,bi,bj))       &      *(hFacWtmp*(wVel(I,J,K,bi,bj)-wVel(I-1,J,K,bi,bj))
253       &       +(1 _d 0 - hFacWtmp)*(1 _d 0 - slipSideFac)       &       +(1 _d 0 - hFacWtmp)*(1 _d 0 - slipSideFac)
254       &        *wVel(I,J,K,bi,bj) )       &        *wVel(I,J,K,bi,bj) )
255       &    +viscA4W*_recip_dxC(I,J,bi,bj)*(del2w(I,J)-del2w(I-1,J))       &    +viscA4_W(I,J,K,bi,bj)
256         &      *_recip_dxC(I,J,bi,bj)*(del2w(I,J)-del2w(I-1,J))
257  #ifdef COSINEMETH_III  #ifdef COSINEMETH_III
258       &                *sqCosFacU(j,bi,bj)       &                *sqCosFacU(j,bi,bj)
259  #else  #else
# Line 262  CML     &       *wVel(I,J,K,bi,bi) + hFa Line 270  CML     &       *wVel(I,J,K,bi,bi) + hFa
270  C Flux on Lower face  C Flux on Lower face
271           DO J=jMin,jMax           DO J=jMin,jMax
272            DO I=iMin,iMax            DO I=iMin,iMax
273    C Interpolate vert viscosity to W points
274               vischere=0.125*(kappaRU(I,J,K)  +kappaRU(I+1,J,K)
275         &                    +kappaRU(I,J,Kp1)+kappaRU(I+1,J,Kp1)
276         &                    +kappaRV(I,J,K)  +kappaRV(I,J+1,K)
277         &                    +kappaRV(I,J,Kp1)+kappaRV(I,J+1,Kp1))
278             Flx_Up(I,J,bi,bj)=Flx_Dn(I,J,bi,bj)             Flx_Up(I,J,bi,bj)=Flx_Dn(I,J,bi,bj)
279             tmp_WbarZ=Half*(wVel(I,J,K,bi,bj)             tmp_WbarZ=Half*(wVel(I,J,K,bi,bj)
280       &         +wOverRide*wVel(I,J,Kp1,bi,bj))       &         +wOverRide*wVel(I,J,Kp1,bi,bj))
281             Flx_Dn(I,J,bi,bj)=             Flx_Dn(I,J,bi,bj)=
282       &     tmp_WbarZ*tmp_WbarZ       &     tmp_WbarZ*tmp_WbarZ
283       &    -viscAr*recip_drF(K)       &    -vischere*recip_drF(K)
284       &       *( wVel(I,J,K,bi,bj)-wOverRide*wVel(I,J,Kp1,bi,bj) )       &       *( wVel(I,J,K,bi,bj)-wOverRide*wVel(I,J,Kp1,bi,bj) )
285            ENDDO            ENDDO
286           ENDDO           ENDDO

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.22