Back to home page

MITgcm

 
 

    


File indexing completed on 2024-11-30 06:11:14 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_YVISCFLUX
                0008 
                0009 C !INTERFACE: ==========================================================
aea29c8517 Alis*0010       SUBROUTINE MOM_U_YVISCFLUX(
                0011      I        bi,bj,k,
                0012      I        uFld, del2u, hFacZ,
                0013      O        yViscFluxU,
998681995e Bayl*0014      I        viscAh_Z,viscA4_Z,
eaba2fd266 Jean*0015      I        myThid )
aea29c8517 Alis*0016 
71207ba845 Alis*0017 C !DESCRIPTION:
                0018 C Calculates the area integrated meridional viscous fluxes of U:
                0019 C \begin{equation*}
                0020 C F^y = - \frac{ \Delta y_v \Delta r_f h_z }{\Delta y_u}
                0021 C  ( A_h \delta_j u - A_4 \delta_j \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)
                0040       _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
05b9f17ae6 Bayl*0041       _RL viscAh_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0042       _RL viscA4_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
aea29c8517 Alis*0043       INTEGER myThid
                0044 
71207ba845 Alis*0045 C !OUTPUT PARAMETERS: ==================================================
                0046 C  yViscFluxU           :: viscous fluxes
                0047       _RL yViscFluxU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0048 
                0049 C !LOCAL VARIABLES: ====================================================
                0050 C  i,j                  :: loop indices
7bb5a8a109 Jean*0051       INTEGER i,j
71207ba845 Alis*0052 CEOP
aea29c8517 Alis*0053 
                0054 C     - Laplacian  and bi-harmonic terms
7bb5a8a109 Jean*0055       DO j=1-OLy+1,sNy+OLy
                0056        DO i=1-OLx,sNx+OLx
aea29c8517 Alis*0057         yViscFluxU(i,j) =
eaba2fd266 Jean*0058      &    _dxV(i,j,bi,bj)*drF(k)*hFacZ(i,j)
aea29c8517 Alis*0059      &     *(
eaba2fd266 Jean*0060      &       -viscAh_Z(i,j)*( uFld(i,j)-uFld(i,j-1) )
aea29c8517 Alis*0061 #ifdef ISOTROPIC_COS_SCALING
7bb5a8a109 Jean*0062      &       *cosFacV(j,bi,bj)
aea29c8517 Alis*0063 #endif
eaba2fd266 Jean*0064      &       +viscA4_Z(i,j)*(del2u(i,j)-del2u(i,j-1))
aea29c8517 Alis*0065 #ifdef ISOTROPIC_COS_SCALING
                0066 #ifdef COSINEMETH_III
7bb5a8a109 Jean*0067      &       *sqCosFacV(j,bi,bj)
aea29c8517 Alis*0068 #else
7bb5a8a109 Jean*0069      &       *cosFacV(j,bi,bj)
aea29c8517 Alis*0070 #endif
                0071 #endif
                0072      &      )*_recip_dyU(i,j,bi,bj)
eaba2fd266 Jean*0073 c    &       *deepFacC(k)        ! dxV scaling factor
                0074 c    &       *recip_deepFacC(k)  ! recip_dyU scaling factor
aea29c8517 Alis*0075        ENDDO
                0076       ENDDO
                0077 
                0078       RETURN
                0079       END