Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:42:08 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
9c05b3873e Alis*0001 #include "MOM_COMMON_OPTIONS.h"
aea29c8517 Alis*0002 
71207ba845 Alis*0003 CBOP
                0004 C !ROUTINE: MOM_U_RVISCFLUX
                0005 
                0006 C !INTERFACE: ==========================================================
aea29c8517 Alis*0007       SUBROUTINE MOM_U_RVISCFLUX(
                0008      I        bi,bj,k,
                0009      I        uFld, KappaRU,
                0010      O        rViscFluxU,
                0011      I        myThid)
71207ba845 Alis*0012 
                0013 C !DESCRIPTION:
3a5618e57b Jean*0014 C Calculates the area integrated vertical viscous fluxes of U
                0015 C  at vertical interface k (between level k & k-1):
71207ba845 Alis*0016 C \begin{equation*}
eaba2fd266 Jean*0017 C F^r = - \frac{ {\cal A}_w }{\Delta r_c} A_r \delta_k u
71207ba845 Alis*0018 C \end{equation*}
                0019 
                0020 C !USES: ===============================================================
aea29c8517 Alis*0021       IMPLICIT NONE
                0022 #include "SIZE.h"
                0023 #include "EEPARAMS.h"
                0024 #include "PARAMS.h"
                0025 #include "GRID.h"
                0026 
71207ba845 Alis*0027 C !INPUT PARAMETERS: ===================================================
                0028 C  bi,bj                :: tile indices
                0029 C  k                    :: vertical level
                0030 C  uFld                 :: zonal flow
                0031 C  KappaRU              :: vertical viscosity
                0032 C  myThid               :: thread number
aea29c8517 Alis*0033       INTEGER bi,bj,k
                0034       _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0035       _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
                0036       INTEGER myThid
                0037 
71207ba845 Alis*0038 C !OUTPUT PARAMETERS: ==================================================
                0039 C  rViscFluxU           :: viscous fluxes
                0040       _RL rViscFluxU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0041 
                0042 C !LOCAL VARIABLES: ====================================================
                0043 C  i,j                  :: loop indices
3a5618e57b Jean*0044       INTEGER i,j
71207ba845 Alis*0045 CEOP
aea29c8517 Alis*0046 
3a5618e57b Jean*0047 C     - Vertical viscous flux
                0048       IF ( k.LE.1 .OR. k.GT.Nr ) THEN
                0049        DO j=1-Oly,sNy+Oly
                0050         DO i=1-Olx,sNx+Olx
                0051           rViscFluxU(i,j) = 0. _d 0
                0052         ENDDO
                0053        ENDDO
                0054       ELSE
                0055        DO j=1-Oly,sNy+Oly-1
                0056         DO i=1-Olx,sNx+Olx-1
                0057           rViscFluxU(i,j) =
                0058      &      -KappaRU(i,j,k)
eaba2fd266 Jean*0059      &      *rAw(i,j,bi,bj)*deepFac2F(k)*rhoFacF(k)
3a5618e57b Jean*0060      &      *( uFld(i,j,k,bi,bj)-uFld(i,j,k-1,bi,bj)
                0061      &       )*rkSign*recip_drC(k)
                0062      &      *_maskW(i,j,k,bi,bj)
                0063      &      *_maskW(i,j,k-1,bi,bj)
                0064         ENDDO
aea29c8517 Alis*0065        ENDDO
3a5618e57b Jean*0066       ENDIF
aea29c8517 Alis*0067 
                0068       RETURN
                0069       END