Back to home page

MITgcm

 
 

    


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

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
08be60903a Mart*0001 #include "PP81_OPTIONS.h"
                0002 
5e48dccc42 Jean*0003       SUBROUTINE PP81_CALC_VISC(
                0004      I        bi,bj,iMin,iMax,jMin,jMax,k,
08be60903a Mart*0005      U        KappaRU,KappaRV,
                0006      I        myThid)
                0007 
                0008 CBOP
5e48dccc42 Jean*0009 C     *==========================================================*
08be60903a Mart*0010 C     | SUBROUTINE PP81_CALC_VISC                                |
                0011 C     | o Add contrubution to net viscosity from PP81 mixing     |
5e48dccc42 Jean*0012 C     *==========================================================*
08be60903a Mart*0013       IMPLICIT NONE
                0014 
                0015 C     == GLobal variables ==
                0016 #include "SIZE.h"
                0017 #include "EEPARAMS.h"
                0018 #include "PARAMS.h"
                0019 #include "DYNVARS.h"
                0020 #include "GRID.h"
5e48dccc42 Jean*0021 #include "PP81.h"
08be60903a Mart*0022 
                0023 C     == Routine arguments ==
5e48dccc42 Jean*0024 C     bi, bj :: tile numbers
                0025 C     iMin, iMax, jMin, jMax :: Range of points for which calculation
                0026 C     maskUp :: land/water mask for Wvel points (above tracer level)
                0027 C     myThid :: Instance number for this innvocation of PP81_CALC_VISC
08be60903a Mart*0028 C
5e48dccc42 Jean*0029       INTEGER bi,bj,iMin,iMax,jMin,jMax,k
08be60903a Mart*0030       _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
                0031       _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
                0032       INTEGER myThid
                0033 
                0034 #ifdef ALLOW_PP81
                0035 
                0036 C     == Local variables ==
5e48dccc42 Jean*0037 C     i, j    :: Loop counters
08be60903a Mart*0038       INTEGER i,j
                0039 CEOP
                0040       DO j=jMin,jMax
                0041        DO i=iMin,iMax
                0042         KappaRU(i,j,k) = max ( KappaRU(i,j,k),
5e48dccc42 Jean*0043      &         KappaRU(i,j,k) - viscArNr(k) + _maskW(i,j,k,bi,bj) *
08be60903a Mart*0044      &         0.5*(PPviscAr(i,j,k,bi,bj)+PPviscAr(i-1,j,k,bi,bj)) )
                0045        ENDDO
                0046       ENDDO
                0047 
                0048       DO j=jMin,jMax
                0049        DO i=iMin,iMax
                0050         KappaRV(i,j,k) = max ( KappaRV(i,j,k),
5e48dccc42 Jean*0051      &         KappaRV(i,j,k) - viscArNr(k) + _maskS(i,j,k,bi,bj) *
08be60903a Mart*0052      &         0.5*(PPviscAr(i,j,k,bi,bj)+PPviscAr(i,j-1,k,bi,bj)) )
                0053        ENDDO
                0054       ENDDO
                0055 
                0056 #endif /* ALLOW_PP81 */
                0057 
                0058       RETURN
                0059       END