C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_diagnostics_init.F,v 1.22 2015/09/24 21:31:35 dfer Exp $
C $Name: $
#include "GMREDI_OPTIONS.h"
CBOP
C !ROUTINE: GMREDI_DIAGNOSTICS_INIT
C !INTERFACE:
SUBROUTINE GMREDI_DIAGNOSTICS_INIT( myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | SUBROUTINE GMREDI_DIAGNOSTICS_INIT
C | o Routine to initialize list of all available diagnostics
C | for GM/Redi package
C *==========================================================*
C \ev
C !USES:
IMPLICIT NONE
C === Global variables ===
#include "EEPARAMS.h"
c #include "SIZE.h"
c #include "PARAMS.h"
c #include "GMREDI.h"
C !INPUT/OUTPUT PARAMETERS:
C === Routine arguments ===
C myThid :: my Thread Id number
INTEGER myThid
CEOP
#ifdef ALLOW_DIAGNOSTICS
C !LOCAL VARIABLES:
C === Local variables ===
C diagNum :: diagnostics number in the (long) list of available diag.
C diagMate :: diag. mate number in the (long) list of available diag.
C diagName :: local short name (8c) of a diagnostics
C diagCode :: local parser field with characteristics of the diagnostics
C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT
C diagUnits :: local string (16c): physical units of a diagnostic field
C diagTitle :: local string (80c): description of field in diagnostic
INTEGER diagNum
INTEGER diagMate
CHARACTER*8 diagName
CHARACTER*16 diagCode
CHARACTER*16 diagUnits
CHARACTER*(80) diagTitle
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
c IF ( useDiagnotics ) THEN
diagName = 'GM_VisbK'
diagTitle =
& 'Mixing coefficient from Visbeck etal parameterization'
diagUnits = 'm^2/s '
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'GM_hTrsL'
diagTitle = 'Base depth (>0) of the Transition Layer'
diagUnits = 'm '
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'GM_baseS'
diagTitle = 'Slope at the base of the Transition Layer'
diagUnits = '1 '
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'GM_rLamb'
diagTitle =
& 'Slope vertical gradient at Trans. Layer Base (=recip.Lambda)'
diagUnits = '1/m '
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#ifndef GM_EXCLUDE_SUBMESO
diagName = 'SubMesLf'
diagTitle = 'Sub-Meso horiz. Length Scale (Lf)'
diagUnits = 'm '
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'SubMpsiX'
diagTitle =
& 'Sub-Meso transp.stream-funct. magnitude (Psi0): U component'
diagUnits = 'm^2/s '
diagCode = 'UU M1 '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'SubMpsiY'
diagTitle =
& 'Sub-Meso transp.stream-funct. magnitude (Psi0): V component'
diagUnits = 'm^2/s '
diagCode = 'VV M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#endif
diagName = 'GM_Kux '
diagTitle = 'K_11 element (U.point, X.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'UU P MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kvy '
diagTitle = 'K_22 element (V.point, Y.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'VV P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kuz '
diagTitle = 'K_13 element (U.point, Z.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'UU MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kvz '
diagTitle = 'K_23 element (V.point, Z.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kwx '
diagTitle = 'K_31 element (W.point, X.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'UM LR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kwy '
diagTitle = 'K_32 element (W.point, Y.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'VM LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kwz '
diagTitle = 'K_33 element (W.point, Z.dir) of GM-Redi tensor'
diagUnits = 'm^2/s '
diagCode = 'WM P LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'GM_PsiX '
diagTitle = 'GM Bolus transport stream-function : U component'
diagUnits = 'm^2/s '
diagCode = 'UU LR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_PsiY '
diagTitle = 'GM Bolus transport stream-function : V component'
diagUnits = 'm^2/s '
diagCode = 'VV LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_KuzTz'
diagTitle = 'Redi Off-diagonal Temperature flux: X component'
diagUnits = 'degC.m^3/s '
diagCode = 'UU MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_KvzTz'
diagTitle = 'Redi Off-diagonal Temperature flux: Y component'
diagUnits = 'degC.m^3/s '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_KwzTz'
diagTitle = 'Redi main-diagonal vertical Temperature flux'
diagUnits = 'degC.m^3/s '
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'GM_ubT '
diagTitle = 'Zonal Mass-Weight Bolus Transp of Pot Temp'
diagUnits = 'degC.m^3/s '
diagCode = 'UUr MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_vbT '
diagTitle = 'Meridional Mass-Weight Bolus Transp of Pot Temp'
diagUnits = 'degC.m^3/s '
diagCode = 'VVr MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#ifdef ALLOW_EDDYPSI
diagName = 'GMEdTauX'
diagTitle = 'eddy-induced stress X-comp.'
diagUnits = 'N/m^2 '
diagCode = 'UM LR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GMEdTauY'
diagTitle = 'eddy-induced stress Y-comp.'
diagUnits = 'N/m^2 '
diagCode = 'VM LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#endif
#ifdef GM_BOLUS_BVP
diagName = 'GM_BVPcW'
diagTitle = 'WKB wave speed (at Western edge location)'
diagUnits = 'm/s '
diagCode = 'SU P M1 '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_BVPcS'
diagTitle = 'WKB wave speed (at Southern edge location)'
diagUnits = 'm/s '
diagCode = 'SV P M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#endif
#ifdef GM_K3D
diagName = 'GM_K3D '
diagTitle = '3D diffusivity'
diagUnits = 'm**2/s '
diagCode = 'SM P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_KPV '
diagTitle = '3D eddy transport diffusivity'
diagUnits = 'm**2/s '
diagCode = 'SM P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_K3D_T'
diagTitle = '3D Redi diffusivity'
diagUnits = 'm**2/s '
diagCode = 'SM P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#ifdef HAVE_LAPACK
diagName = 'GM_A3D'
diagTitle = '3D lower diagona'
diagUnits = '1/m**2 '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_B3D'
diagTitle = '3D lower diagona'
diagUnits = '1/m**2 '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_C3D'
diagTitle = '3D lower diagona'
diagUnits = '1/m**2 '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#endif
diagName = 'GM_MODEC'
diagTitle = 'Eigen vector for the first barcolinic mode'
diagUnits = 'dimensionless '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_URMS'
diagTitle = 'rms Eddy Velocity'
diagUnits = 'm/s '
diagCode = 'SM P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_UMC '
diagTitle = 'ubar-c'
diagUnits = 'm/s '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_SFLYR'
diagTitle = 'mixed layer depth'
diagUnits = 'm '
diagCode = 'SM P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_USTAR'
diagTitle = 'u^*'
diagUnits = 'm/s '
diagCode = 'UU MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_VSTAR'
diagTitle = 'v^*'
diagUnits = 'm/s '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_RDEF'
diagTitle = 'Deformation Radius'
diagUnits = 'm '
diagCode = 'SM P M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_RURMS'
diagTitle =
I 'Mixing length for calculating u_rms: MIN(Rdef,GM_K3D_Rmax)'
diagUnits = 'm '
diagCode = 'SM P M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_RRHNS'
diagTitle = 'Rhines scale: sqrt(urms/beta)'
diagUnits = 'm '
diagCode = 'SM P M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_RMIX'
diagTitle = 'Unmodulated Mixing Length: MIN(Rdef, RRhines)'
diagUnits = 'm '
diagCode = 'SM P M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_SUPP'
diagTitle = 'Suppression Factor for K3D'
diagUnits = 'none '
diagCode = 'SM P MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_dqdx '
diagTitle = 'dq/dx'
diagUnits = '1/(m*s) '
diagCode = 'UU MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_dqdy '
diagTitle = 'dq/dy'
diagUnits = '1/(m*s) '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kdqdx'
diagTitle = 'K*dq/dx'
diagUnits = 'm/s*2 '
diagCode = 'UU MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Kdqdy'
diagTitle = 'K*dq/dy'
diagUnits = 'm/s**2 '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Xix '
diagTitle = '-k dq/dx expansion'
diagUnits = 'm/s**2 '
diagCode = 'UU MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Xiy '
diagTitle = '-k dq/dy expansion'
diagUnits = 'm/s**2 '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Sx '
diagTitle = 'Zonal isopycnal slope'
diagUnits = 'none '
diagCode = 'UU LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_Sy '
diagTitle = 'Meridional isopycnal slope'
diagUnits = 'none '
diagCode = 'VV LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_TFLXX'
diagTitle = 'Zonal thickness flux'
diagUnits = '1/(m*s) '
diagCode = 'UU MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_TFLXY'
diagTitle = 'meridional thickness flux'
diagUnits = '1/(m*s) '
diagCode = 'VV MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_C'
diagTitle = 'Doppler shifted long Rossby wave speed'
diagUnits = 'm/s '
diagCode = 'SM M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_UBARO'
diagTitle = 'Barotropic velocity'
diagUnits = 'm/s '
diagCode = 'SM M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_EADY '
diagTitle = 'Eady Growth rate'
diagUnits = '1/s '
diagCode = 'SM M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_UBAR '
diagTitle = 'Mean zonal velocity'
diagUnits = 'm/s '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_M4 '
diagTitle = 'M**4'
diagUnits = '1/s**4 '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_N2 '
diagTitle = 'N**2'
diagUnits = '1/s**2 '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_M4_N2'
diagTitle = 'M**4/N**2'
diagUnits = '1/s**2 '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_SLOPE'
diagTitle = 'SLOPE'
diagUnits = 'm/m '
diagCode = 'SM MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'GM_RENRM'
diagTitle = 'renormalisation factor'
diagUnits = 'none '
diagCode = 'SM M1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#ifdef GM_K3D_PASSIVE
diagName = 'GM_PSTAR'
diagTitle = 'Diagnosed bolus streamfunction: V component'
diagUnits = 'm**2/s '
diagCode = 'VV LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#endif
#endif
c ENDIF
#endif /* ALLOW_DIAGNOSTICS */
RETURN
END