Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:42:10 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_V_RVISCFLUX
                0005 
                0006 C !INTERFACE: ==========================================================
aea29c8517 Alis*0007       SUBROUTINE MOM_V_RVISCFLUX(
                0008      I        bi,bj,k,
                0009      I        vFld, KappaRV,
                0010      O        rViscFluxV,
                0011      I        myThid)
71207ba845 Alis*0012 
                0013 C !DESCRIPTION:
3a5618e57b Jean*0014 C Calculates the area integrated vertical viscous fluxes of V
                0015 C  at vertical interface k (between level k & k-1):
71207ba845 Alis*0016 C \begin{equation*}
                0017 C F^r = - \frac{ {\cal A}_s }{\Delta r_c} A_r \delta_k v
                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  vFld                 :: meridional flow
                0031 C  KappaRV              :: vertical viscosity
                0032 C  myThid               :: thread number
aea29c8517 Alis*0033       INTEGER bi,bj,k
                0034       _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0035       _RL KappaRV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
                0036       INTEGER myThid
                0037 
71207ba845 Alis*0038 C !OUTPUT PARAMETERS: ==================================================
                0039 C  rViscFluxV           :: viscous fluxes
                0040       _RL rViscFluxV(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           rViscFluxV(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           rViscFluxV(i,j) =
                0058      &     -KappaRV(i,j,k)
eaba2fd266 Jean*0059      &     *rAs(i,j,bi,bj)*deepFac2F(k)*rhoFacF(k)
3a5618e57b Jean*0060      &     *( vFld(i,j,k,bi,bj)-vFld(i,j,k-1,bi,bj)
                0061      &      )*rkSign*recip_drC(k)
                0062      &     *_maskS(i,j,k,bi,bj)
                0063      &     *_maskS(i,j,k-1,bi,bj)
                0064         ENDDO
aea29c8517 Alis*0065        ENDDO
3a5618e57b Jean*0066       ENDIF
aea29c8517 Alis*0067 
                0068       RETURN
                0069       END