Back to home page

MITgcm

 
 

    


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

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
6d54cf9ca1 Ed H*0001 #include "MOM_FLUXFORM_OPTIONS.h"
aea29c8517 Alis*0002 
71207ba845 Alis*0003 CBOP
                0004 C !ROUTINE: MOM_U_XVISCFLUX
                0005 
                0006 C !INTERFACE: ==========================================================
aea29c8517 Alis*0007       SUBROUTINE MOM_U_XVISCFLUX(
                0008      I        bi,bj,k,
                0009      I        uFld, del2u,
                0010      O        xViscFluxU,
998681995e Bayl*0011      I        viscAh_D,viscA4_D,
eaba2fd266 Jean*0012      I        myThid )
aea29c8517 Alis*0013 
71207ba845 Alis*0014 C !DESCRIPTION:
                0015 C Calculates the area integrated zonal viscous fluxes of U:
                0016 C \begin{equation*}
eaba2fd266 Jean*0017 C F^x = - \frac{ \Delta y_f \Delta r_f h_c }{\Delta x_f}
71207ba845 Alis*0018 C  ( A_h \delta_i u - A_4 \delta_i \nabla^2 u )
                0019 C \end{equation*}
                0020 
                0021 C !USES: ===============================================================
                0022       IMPLICIT NONE
aea29c8517 Alis*0023 #include "SIZE.h"
                0024 #include "EEPARAMS.h"
                0025 #include "PARAMS.h"
                0026 #include "GRID.h"
                0027 
71207ba845 Alis*0028 C !INPUT PARAMETERS: ===================================================
                0029 C  bi,bj                :: tile indices
                0030 C  k                    :: vertical level
                0031 C  uFld                 :: zonal flow
                0032 C  del2u                :: Laplacian of zonal flow
                0033 C  myThid               :: thread number
aea29c8517 Alis*0034       INTEGER bi,bj,k
                0035       _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0036       _RL del2u(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
05b9f17ae6 Bayl*0037       _RL viscAh_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0038       _RL viscA4_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
aea29c8517 Alis*0039       INTEGER myThid
                0040 
71207ba845 Alis*0041 C !OUTPUT PARAMETERS: ==================================================
                0042 C  xViscFluxU           :: viscous fluxes
                0043       _RL xViscFluxU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0044 
                0045 C !LOCAL VARIABLES: ====================================================
                0046 C  i,j                  :: loop indices
aea29c8517 Alis*0047       INTEGER I,J
71207ba845 Alis*0048 CEOP
aea29c8517 Alis*0049 
                0050 C     - Laplacian  and bi-harmonic terms
                0051       DO j=1-Oly,sNy+Oly-1
                0052        DO i=1-Olx,sNx+Olx-1
                0053         xViscFluxU(i,j) =
                0054      &    _dyF(i,j,bi,bj)*drF(k)*_hFacC(i,j,k,bi,bj)
                0055      &     *(
eaba2fd266 Jean*0056      &       -viscAh_D(i,j)*( uFld(i+1,j)-uFld(i,j) )
aea29c8517 Alis*0057      &       *cosFacU(J,bi,bj)
eaba2fd266 Jean*0058      &       +viscA4_D(i,j)*(del2u(i+1,j)-del2u(i,j))
aea29c8517 Alis*0059 #ifdef COSINEMETH_III
eaba2fd266 Jean*0060      &       *sqCosFacU(J,bi,bj)
aea29c8517 Alis*0061 #else
                0062      &       *cosFacU(J,bi,bj)
                0063 #endif
                0064      &      )*_recip_dxF(i,j,bi,bj)
eaba2fd266 Jean*0065 c    &       *deepFacC(k)        ! dyF scaling factor
                0066 c    &       *recip_deepFacC(k)  ! recip_dxF scaling factor
aea29c8517 Alis*0067        ENDDO
                0068       ENDDO
                0069 
                0070       RETURN
                0071       END