Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:37:05 UTC

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