Back to home page

MITgcm

 
 

    


File indexing completed on 2022-03-27 05:09:22 UTC

view on githubraw file Latest commit a67797e4 on 2022-02-17 22:16:14 UTC
d48b8f6d19 Jean*0001 #include "GMREDI_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: GMREDI_DIAGNOSTICS_IMPL
                0005 C     !INTERFACE:
                0006       SUBROUTINE GMREDI_DIAGNOSTICS_IMPL(
                0007      I                  myTime, myIter, myThid )
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | SUBROUTINE GMREDI_DIAGNOSTICS_IMPL
                0011 C     | o fill GM-Redi diagnostics for backward (implicit) terms
                0012 C     *==========================================================*
                0013 C     \ev
                0014 
                0015 C     !USES:
                0016       IMPLICIT NONE
                0017 C     === Global data ===
                0018 #include "SIZE.h"
                0019 #include "EEPARAMS.h"
                0020 #include "PARAMS.h"
                0021 #include "GRID.h"
                0022 #include "DYNVARS.h"
                0023 #include "GMREDI.h"
                0024 
                0025 C     !INPUT/OUTPUT PARAMETERS:
                0026       _RL     myTime
                0027       INTEGER myIter
                0028       INTEGER myThid
                0029 
                0030 #ifdef ALLOW_DIAGNOSTICS
                0031 C     !FUNCTIONS:
                0032       LOGICAL     DIAGNOSTICS_IS_ON
                0033       EXTERNAL    DIAGNOSTICS_IS_ON
                0034 #endif /* ALLOW_DIAGNOSTICS */
                0035 CEOP
                0036 
                0037 #ifdef ALLOW_GMREDI
                0038 #ifdef ALLOW_DIAGNOSTICS
                0039 
                0040 C     !LOCAL VARIABLES:
                0041       INTEGER bi,bj
                0042       INTEGER i,j,k
                0043       _RL tmpVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0044 
                0045 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0046 
                0047       IF ( useDiagnostics .AND. implicitDiffusion .AND.
                0048      &     Nr.GE.2 .AND. tempStepping ) THEN
                0049 
                0050        IF ( DIAGNOSTICS_IS_ON('GM_KwzTz', myThid ) ) THEN
                0051          DO bj=myByLo(myThid),myByHi(myThid)
                0052           DO bi=myBxLo(myThid),myBxHi(myThid)
                0053            CALL DIAGNOSTICS_COUNT( 'GM_KwzTz', bi, bj, myThid )
                0054            DO k=2,Nr
                0055              DO j = 1, sNy
                0056               DO i = 1, sNx
                0057                 tmpVar(i,j) = -recip_drC(k)*rkSign
                0058      &            *(theta(i,j,k,bi,bj)-theta(i,j,k-1,bi,bj))
                0059      &            * maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj)
                0060                 tmpVar(i,j) = tmpVar(i,j)*Kwz(i,j,k,bi,bj)
a67797e4f0 Jean*0061      &                                   *rA(i,j,bi,bj)*deepFac2F(k)
d48b8f6d19 Jean*0062               ENDDO
                0063              ENDDO
                0064              CALL DIAGNOSTICS_FILL( tmpVar, 'GM_KwzTz',
                0065      &                              k, 1, 2, bi, bj, myThid )
                0066            ENDDO
                0067           ENDDO
                0068          ENDDO
                0069        ENDIF
                0070 
                0071       ENDIF
                0072 
                0073 #endif /* ALLOW_DIAGNOSTICS */
                0074 #endif /* ALLOW_GMREDI */
                0075 
                0076       RETURN
                0077       END