Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:41:35 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
2fa42a6013 Alis*0001 #include "KPP_OPTIONS.h"
c9c3d7103f Ed H*0002 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0003 CBOP 0
0e80c592e9 Jean*0004 C     !ROUTINE: KPP_INIT_VARIA
2fa42a6013 Alis*0005 
c9c3d7103f Ed H*0006 C     !INTERFACE:
0e80c592e9 Jean*0007       SUBROUTINE KPP_INIT_VARIA( myThid )
2fa42a6013 Alis*0008 
c9c3d7103f Ed H*0009 C     !DESCRIPTION:
                0010 C     Routine to initialize KPP parameters and variables.
                0011 
                0012 C     !USES:
                0013       IMPLICIT NONE
2fa42a6013 Alis*0014 #include "SIZE.h"
                0015 #include "EEPARAMS.h"
                0016 #include "PARAMS.h"
                0017 #include "GRID.h"
059d9fc14f Dimi*0018 #include "GAD.h"
2fa42a6013 Alis*0019 #include "KPP.h"
                0020 #include "KPP_PARAMS.h"
                0021 
c9c3d7103f Ed H*0022 C     !INPUT PARAMETERS:
2fa42a6013 Alis*0023       INTEGER myThid
c9c3d7103f Ed H*0024 CEOP
2fa42a6013 Alis*0025 
                0026 #ifdef ALLOW_KPP
d6f292d8c0 Jean*0027 C     !LOCAL VARIABLES:
2fa42a6013 Alis*0028 C     i,j,k,bi,bj - Loop counters
                0029       INTEGER i, j, k, bi, bj
9b8b001637 Jean*0030 
                0031 C-----------------------------------------------------------------------
                0032 C     calculate mask pMask for pressure/tracer cells
                0033 C        (0 => land, 1 => water)
                0034 C     compute maximum number of wet levels in each column
                0035 C-----------------------------------------------------------------------
                0036 
                0037       DO bj = myByLo(myThid), myByHi(myThid)
                0038        DO bi = myBxLo(myThid), myBxHi(myThid)
                0039 
d6f292d8c0 Jean*0040              DO j = 1-OLy, sNy+OLy
                0041                DO i = 1-OLx, sNx+OLx
36aa272a96 Mart*0042                   nzmax(i,j,bi,bj) = kLowC(I,J,bi,bj)
d6f292d8c0 Jean*0043 CML                  DO k = 1, Nr
                0044 CMLc                    IF (_hFacC(i,j,k,bi,bj).EQ.0.) THEN
36aa272a96 Mart*0045 CMLc                       pMask (i,j,k,bi,bj) = 0.
d6f292d8c0 Jean*0046 CMLc                    ELSE
36aa272a96 Mart*0047 CMLc                       pMask (i,j,k,bi,bj) = 1.
d6f292d8c0 Jean*0048 CMLc                    ENDIF
36aa272a96 Mart*0049 CML                     nzmax(i,j,bi,bj) = nzmax(i,j,bi,bj)
                0050 CML     &                                + INT(maskC(i,j,k,bi,bj))
                0051 CMLc    &                                + INT(pMask(i,j,k,bi,bj))
d6f292d8c0 Jean*0052 CML                  ENDDO
                0053                ENDDO
                0054             ENDDO
9b8b001637 Jean*0055 
2fa42a6013 Alis*0056 C-----------------------------------------------------------------------
                0057 C Initialize KPP variables KPPhbl, KPPghat, KPPviscAz,
                0058 C    KPPdiffKzT, and KPPdiffKzS
                0059 C-----------------------------------------------------------------------
                0060 
d6f292d8c0 Jean*0061             DO j = 1-OLy, sNy+OLy
                0062                DO i = 1-OLx, sNx+OLx
2fa42a6013 Alis*0063                   KPPhbl(i,j,bi,bj) = 0.
d6f292d8c0 Jean*0064                ENDDO
                0065             ENDDO
                0066             DO k = 1, Nr
                0067                DO j = 1-OLy, sNy+OLy
                0068                   DO i = 1-OLx, sNx+OLx
2fa42a6013 Alis*0069                      KPPghat       (i,j,k,bi,bj) = 0.
a9d2e4c565 Jean*0070                      KPPviscAz  (i,j,k,bi,bj) = viscArNr(1)
25d22b0742 Patr*0071                      KPPdiffKzS (i,j,k,bi,bj) = 0.
                0072                      KPPdiffKzT (i,j,k,bi,bj) = 0.
d6f292d8c0 Jean*0073                   ENDDO
                0074                ENDDO
                0075             ENDDO
9b8b001637 Jean*0076 
25d22b0742 Patr*0077 cph Not needed here. Do this in kpp_calc.
                0078 cph            CALL CALC_3D_DIFFUSIVITY(
                0079 cph     I           bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy,
                0080 cph     I           GAD_SALINITY, .FALSE., .FALSE.,
                0081 cph     O           KPPdiffKzS(1-Olx,1-Oly,1,bi,bj),
                0082 cph     I           myThid)
                0083 cph            CALL CALC_3D_DIFFUSIVITY(
                0084 cph     I           bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy,
                0085 cph     I           GAD_TEMPERATURE, .FALSE., .FALSE.,
                0086 cph     O           KPPdiffKzT(1-Olx,1-Oly,1,bi,bj),
                0087 cph     I           myThid)
059d9fc14f Dimi*0088 
9b8b001637 Jean*0089        ENDDO
                0090       ENDDO
2fa42a6013 Alis*0091 
                0092 #endif /* ALLOW_KPP */
                0093 
9b8b001637 Jean*0094       RETURN
                0095       END