Back to home page

MITgcm

 
 

    


File indexing completed on 2024-02-29 06:10:24 UTC

view on githubraw file Latest commit a4576c7c on 2024-02-28 22:55:11 UTC
d9061778c1 Patr*0001 #include "GMREDI_OPTIONS.h"
                0002 
796b5e35f7 Jean*0003 CBOP
                0004 C     !ROUTINE: GMREDI_DIAGNOSTICS_FILL
                0005 C     !INTERFACE:
7c23b426b4 Jean*0006       SUBROUTINE GMREDI_DIAGNOSTICS_FILL(
796b5e35f7 Jean*0007      I                  bi, bj, myThid )
                0008 
                0009 C     !DESCRIPTION: \bv
aeaed80e69 Jean*0010 C     *==========================================================*
7c23b426b4 Jean*0011 C     | SUBROUTINE GMREDI_DIAGNOSTICS_FILL
aeaed80e69 Jean*0012 C     | o fill GM-Redi diagnostics
                0013 C     *==========================================================*
796b5e35f7 Jean*0014 C     | Note: formerly was part of S/R GMREDI_CALC_TENSOR
aeaed80e69 Jean*0015 C     |       and was isolated in this S/R for TAF reasons
                0016 C     *==========================================================*
796b5e35f7 Jean*0017 C     \ev
                0018 
                0019 C     !USES:
d9061778c1 Patr*0020       IMPLICIT NONE
                0021 
                0022 C     == Global variables ==
                0023 #include "SIZE.h"
                0024 #include "EEPARAMS.h"
                0025 #include "PARAMS.h"
aeaed80e69 Jean*0026 #include "GRID.h"
d9061778c1 Patr*0027 #include "GMREDI.h"
                0028 
796b5e35f7 Jean*0029 C     !INPUT/OUTPUT PARAMETERS:
                0030 C     bi, bj :: tile indices
                0031 C     myThid :: my Thread Id number
d9061778c1 Patr*0032       INTEGER bi,bj
                0033       INTEGER myThid
796b5e35f7 Jean*0034 
                0035 #ifdef ALLOW_GMREDI
fb18084f32 Gael*0036 #ifdef ALLOW_DIAGNOSTICS
796b5e35f7 Jean*0037 C     !FUNCTIONS:
fb18084f32 Gael*0038       LOGICAL     DIAGNOSTICS_IS_ON
                0039       EXTERNAL    DIAGNOSTICS_IS_ON
                0040 #endif /* ALLOW_DIAGNOSTICS */
796b5e35f7 Jean*0041 CEOP
d9061778c1 Patr*0042 
796b5e35f7 Jean*0043 C     !LOCAL VARIABLES:
43af9695da Gael*0044 #ifdef ALLOW_EDDYPSI
f9bac5a287 Patr*0045       INTEGER i,j,k
                0046       _RL tmpfld3dloc (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
aeaed80e69 Jean*0047 #endif
d9061778c1 Patr*0048 
                0049 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0050 
                0051 #ifdef ALLOW_DIAGNOSTICS
                0052       IF ( useDiagnostics ) THEN
                0053 
                0054 #ifdef GM_VISBECK_VARIABLE_K
                0055        IF ( GM_Visbeck_alpha.NE.0. ) THEN
                0056          CALL DIAGNOSTICS_FILL(VisbeckK,'GM_VisbK',0,1,1,bi,bj,myThid)
                0057        ENDIF
                0058 #endif
a4576c7cde Juli*0059 #ifdef GM_GEOM_VARIABLE_K
                0060        IF ( GEOM_alpha.NE.0. ) THEN
                0061          CALL DIAGNOSTICS_FILL(GEOM_K3d,'GM_GEOMK',0,Nr,1,bi,bj,myThid)
                0062          CALL DIAGNOSTICS_FILL(GEOM_EKE,'GEOMeE  ',0,1,1,bi,bj,myThid)
                0063        ENDIF
                0064 #endif
d9061778c1 Patr*0065          CALL DIAGNOSTICS_FILL(Kux,'GM_Kux  ',0,Nr,1,bi,bj,myThid)
                0066          CALL DIAGNOSTICS_FILL(Kvy,'GM_Kvy  ',0,Nr,1,bi,bj,myThid)
                0067 #ifdef GM_EXTRA_DIAGONAL
                0068        IF ( GM_ExtraDiag ) THEN
                0069          CALL DIAGNOSTICS_FILL(Kuz,'GM_Kuz  ',0,Nr,1,bi,bj,myThid)
                0070          CALL DIAGNOSTICS_FILL(Kvz,'GM_Kvz  ',0,Nr,1,bi,bj,myThid)
                0071        ENDIF
                0072 #endif
                0073          CALL DIAGNOSTICS_FILL(Kwx,'GM_Kwx  ',0,Nr,1,bi,bj,myThid)
                0074          CALL DIAGNOSTICS_FILL(Kwy,'GM_Kwy  ',0,Nr,1,bi,bj,myThid)
                0075          CALL DIAGNOSTICS_FILL(Kwz,'GM_Kwz  ',0,Nr,1,bi,bj,myThid)
                0076 #ifdef GM_BOLUS_ADVEC
                0077        IF ( GM_AdvForm ) THEN
                0078          CALL DIAGNOSTICS_FILL(GM_PsiX,'GM_PsiX ',0,Nr,1,bi,bj,myThid)
                0079          CALL DIAGNOSTICS_FILL(GM_PsiY,'GM_PsiY ',0,Nr,1,bi,bj,myThid)
                0080        ENDIF
                0081 #endif
aeaed80e69 Jean*0082 
43af9695da Gael*0083 #ifdef ALLOW_EDDYPSI
51abab9524 Patr*0084        IF ( DIAGNOSTICS_IS_ON('GMEdTauX',myThid) ) THEN
                0085         DO k = 1, Nr
796b5e35f7 Jean*0086          DO j = 1, sNy
                0087           DO i = 1, sNx
51abab9524 Patr*0088            tmpfld3dloc(i,j,k,bi,bj) =
                0089      &      0.5*rhoConst*fCori(i,j,bi,bj)*
                0090      &      Kwy(i,j,k,bi,bj)
                0091           ENDDO
f9bac5a287 Patr*0092          ENDDO
                0093         ENDDO
51abab9524 Patr*0094         CALL DIAGNOSTICS_FILL(tmpfld3dloc,'GMEdTauX',
                0095      &   0,Nr,1,bi,bj,myThid)
                0096        ENDIF
                0097 c
                0098        IF ( DIAGNOSTICS_IS_ON('GMEdTauY',myThid) ) THEN
                0099         DO k = 1, Nr
796b5e35f7 Jean*0100          DO j = 1, sNy
                0101           DO i = 1, sNx
51abab9524 Patr*0102            tmpfld3dloc(i,j,k,bi,bj) =
                0103      &      -0.5*rhoConst*fCori(i,j,bi,bj)*
                0104      &      Kwx(i,j,k,bi,bj)
                0105           ENDDO
f9bac5a287 Patr*0106          ENDDO
                0107         ENDDO
51abab9524 Patr*0108         CALL DIAGNOSTICS_FILL(tmpfld3dloc,'GMEdTauY',
                0109      &   0,Nr,1,bi,bj,myThid)
                0110        ENDIF
43af9695da Gael*0111 #endif /* ALLOW_EDDYPSI */
05118ac017 Jean*0112 #ifdef GM_BATES_K3D
                0113        IF (GM_useBatesK3d) THEN
                0114          CALL DIAGNOSTICS_FILL(GM_BatesK3d,'GM_BaK  ',0,Nr,0,1,1,myThid)
0d1e4b948d Mich*0115        ENDIF
                0116 #endif
aeaed80e69 Jean*0117 
d9061778c1 Patr*0118       ENDIF
                0119 #endif /* ALLOW_DIAGNOSTICS */
                0120 
                0121 #endif /* ALLOW_GMREDI */
                0122 
                0123       RETURN
                0124       END