Back to home page

MITgcm

 
 

    


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

view on githubraw file Latest commit a4576c7c on 2024-02-28 22:55:11 UTC
d29d98918f Jean*0001 #include "GMREDI_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: GMREDI_DIAGNOSTICS_INIT
                0005 C     !INTERFACE:
                0006       SUBROUTINE GMREDI_DIAGNOSTICS_INIT( myThid )
                0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
                0010 C     | SUBROUTINE GMREDI_DIAGNOSTICS_INIT
                0011 C     | o Routine to initialize list of all available diagnostics
                0012 C     |   for GM/Redi package
                0013 C     *==========================================================*
                0014 C     \ev
                0015 C     !USES:
                0016       IMPLICIT NONE
                0017 
                0018 C     === Global variables ===
                0019 #include "EEPARAMS.h"
                0020 c #include "SIZE.h"
                0021 c #include "PARAMS.h"
                0022 c #include "GMREDI.h"
                0023 
                0024 C     !INPUT/OUTPUT PARAMETERS:
                0025 C     === Routine arguments ===
                0026 C     myThid ::  my Thread Id number
                0027       INTEGER myThid
                0028 CEOP
                0029 
                0030 #ifdef ALLOW_DIAGNOSTICS
                0031 C     !LOCAL VARIABLES:
                0032 C     === Local variables ===
                0033 C     diagNum   :: diagnostics number in the (long) list of available diag.
8e7e785cad Jean*0034 C     diagMate  :: diag. mate number in the (long) list of available diag.
d29d98918f Jean*0035 C     diagName  :: local short name (8c) of a diagnostics
                0036 C     diagCode  :: local parser field with characteristics of the diagnostics
                0037 C              cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT
                0038 C     diagUnits :: local string (16c): physical units of a diagnostic field
                0039 C     diagTitle :: local string (80c): description of field in diagnostic
                0040       INTEGER       diagNum
8e7e785cad Jean*0041       INTEGER       diagMate
d29d98918f Jean*0042       CHARACTER*8   diagName
                0043       CHARACTER*16  diagCode
                0044       CHARACTER*16  diagUnits
                0045       CHARACTER*(80) diagTitle
                0046 
                0047 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0048 
                0049 c     IF ( useDiagnotics ) THEN
                0050 
e2259a1942 Jean*0051         diagName  = 'GM_hTrsL'
                0052         diagTitle = 'Base depth (>0) of the Transition Layer'
                0053         diagUnits = 'm               '
                0054         diagCode  = 'SM P    M1      '
8e7e785cad Jean*0055         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0056      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
e2259a1942 Jean*0057 
                0058         diagName  = 'GM_baseS'
                0059         diagTitle = 'Slope at the base of the Transition Layer'
                0060         diagUnits = '1               '
                0061         diagCode  = 'SM P    M1      '
8e7e785cad Jean*0062         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0063      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
e2259a1942 Jean*0064 
                0065         diagName  = 'GM_rLamb'
                0066         diagTitle =
                0067      &    'Slope vertical gradient at Trans. Layer Base (=recip.Lambda)'
                0068         diagUnits = '1/m             '
                0069         diagCode  = 'SM P    M1      '
8e7e785cad Jean*0070         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0071      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
e2259a1942 Jean*0072 
050b4366e6 Jean*0073 #ifndef GM_EXCLUDE_SUBMESO
                0074         diagName  = 'SubMesLf'
                0075         diagTitle = 'Sub-Meso horiz. Length Scale (Lf)'
                0076         diagUnits = 'm               '
                0077         diagCode  = 'SM P    M1      '
                0078         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0079      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0080 
                0081         diagName  = 'SubMpsiX'
                0082         diagTitle =
                0083      &    'Sub-Meso transp.stream-funct. magnitude (Psi0): U component'
                0084         diagUnits = 'm^2/s           '
                0085         diagCode  = 'UU      M1      '
                0086         diagMate  = diagNum + 2
                0087         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0088      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0089 
                0090         diagName  = 'SubMpsiY'
                0091         diagTitle =
                0092      &    'Sub-Meso transp.stream-funct. magnitude (Psi0): V component'
                0093         diagUnits = 'm^2/s           '
                0094         diagCode  = 'VV      M1      '
                0095         diagMate  = diagNum
                0096         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0097      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
a4576c7cde Juli*0098 #endif /* ndef GM_EXCLUDE_SUBMESO */
050b4366e6 Jean*0099 
d29d98918f Jean*0100         diagName  = 'GM_Kux  '
                0101         diagTitle = 'K_11 element (U.point, X.dir) of GM-Redi tensor'
                0102         diagUnits = 'm^2/s           '
8e7e785cad Jean*0103         diagCode  = 'UU P    MR      '
                0104         diagMate  = diagNum + 2
                0105         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0106      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0107 
                0108         diagName  = 'GM_Kvy  '
                0109         diagTitle = 'K_22 element (V.point, Y.dir) of GM-Redi tensor'
                0110         diagUnits = 'm^2/s           '
8e7e785cad Jean*0111         diagCode  = 'VV P    MR      '
                0112         diagMate  = diagNum
                0113         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0114      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0115 
                0116         diagName  = 'GM_Kuz  '
                0117         diagTitle = 'K_13 element (U.point, Z.dir) of GM-Redi tensor'
                0118         diagUnits = 'm^2/s           '
8e7e785cad Jean*0119         diagCode  = 'UU      MR      '
                0120         diagMate  = diagNum + 2
                0121         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0122      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0123 
                0124         diagName  = 'GM_Kvz  '
                0125         diagTitle = 'K_23 element (V.point, Z.dir) of GM-Redi tensor'
                0126         diagUnits = 'm^2/s           '
8e7e785cad Jean*0127         diagCode  = 'VV      MR      '
                0128         diagMate  = diagNum
                0129         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0130      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0131 
                0132         diagName  = 'GM_Kwx  '
                0133         diagTitle = 'K_31 element (W.point, X.dir) of GM-Redi tensor'
                0134         diagUnits = 'm^2/s           '
8e7e785cad Jean*0135         diagCode  = 'UM      LR      '
                0136         diagMate  = diagNum + 2
                0137         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0138      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0139 
                0140         diagName  = 'GM_Kwy  '
                0141         diagTitle = 'K_32 element (W.point, Y.dir) of GM-Redi tensor'
                0142         diagUnits = 'm^2/s           '
8e7e785cad Jean*0143         diagCode  = 'VM      LR      '
                0144         diagMate  = diagNum
                0145         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0146      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0147 
                0148         diagName  = 'GM_Kwz  '
                0149         diagTitle = 'K_33 element (W.point, Z.dir) of GM-Redi tensor'
                0150         diagUnits = 'm^2/s           '
                0151         diagCode  = 'WM P    LR      '
8e7e785cad Jean*0152         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0153      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
d29d98918f Jean*0154 
                0155         diagName  = 'GM_PsiX '
050b4366e6 Jean*0156         diagTitle = 'GM Bolus transport stream-function : U component'
d29d98918f Jean*0157         diagUnits = 'm^2/s           '
8e7e785cad Jean*0158         diagCode  = 'UU      LR      '
                0159         diagMate  = diagNum + 2
                0160         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0161      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0162 
                0163         diagName  = 'GM_PsiY '
050b4366e6 Jean*0164         diagTitle = 'GM Bolus transport stream-function : V component'
d29d98918f Jean*0165         diagUnits = 'm^2/s           '
8e7e785cad Jean*0166         diagCode  = 'VV      LR      '
                0167         diagMate  = diagNum
                0168         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0169      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
d29d98918f Jean*0170 
066e0d5e64 Jean*0171         diagName  = 'GM_KuzTz'
5a08ec604d Davi*0172         diagTitle = 'Redi Off-diagonal Temperature flux: X component'
066e0d5e64 Jean*0173         diagUnits = 'degC.m^3/s      '
8e7e785cad Jean*0174         diagCode  = 'UU      MR      '
                0175         diagMate  = diagNum + 2
                0176         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0177      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
066e0d5e64 Jean*0178 
                0179         diagName  = 'GM_KvzTz'
5a08ec604d Davi*0180         diagTitle = 'Redi Off-diagonal Temperature flux: Y component'
066e0d5e64 Jean*0181         diagUnits = 'degC.m^3/s      '
8e7e785cad Jean*0182         diagCode  = 'VV      MR      '
                0183         diagMate  = diagNum
                0184         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0185      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
066e0d5e64 Jean*0186 
d48b8f6d19 Jean*0187         diagName  = 'GM_KwzTz'
                0188         diagTitle = 'Redi main-diagonal vertical Temperature flux'
                0189         diagUnits = 'degC.m^3/s      '
                0190         diagCode  = 'WM      LR      '
                0191         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0192      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0193 
5a08ec604d Davi*0194         diagName  = 'GM_ubT  '
                0195         diagTitle = 'Zonal Mass-Weight Bolus Transp of Pot Temp'
                0196         diagUnits = 'degC.m^3/s      '
8e7e785cad Jean*0197         diagCode  = 'UUr     MR      '
                0198         diagMate  = diagNum + 2
                0199         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0200      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
5a08ec604d Davi*0201 
                0202         diagName  = 'GM_vbT  '
                0203         diagTitle = 'Meridional Mass-Weight Bolus Transp of Pot Temp'
                0204         diagUnits = 'degC.m^3/s      '
8e7e785cad Jean*0205         diagCode  = 'VVr     MR      '
                0206         diagMate  = diagNum
                0207         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0208      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
5a08ec604d Davi*0209 
43af9695da Gael*0210 #ifdef ALLOW_EDDYPSI
f9bac5a287 Patr*0211         diagName  = 'GMEdTauX'
c2dd265de5 Mich*0212         diagTitle = 'eddy-induced stress X-comp.'
f9bac5a287 Patr*0213         diagUnits = 'N/m^2           '
8e7e785cad Jean*0214         diagCode  = 'UM      LR      '
                0215         diagMate  = diagNum + 2
                0216         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0217      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
f9bac5a287 Patr*0218 
                0219         diagName  = 'GMEdTauY'
c2dd265de5 Mich*0220         diagTitle = 'eddy-induced stress Y-comp.'
f9bac5a287 Patr*0221         diagUnits = 'N/m^2           '
8e7e785cad Jean*0222         diagCode  = 'VM      LR      '
                0223         diagMate  = diagNum
                0224         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0225      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
a4576c7cde Juli*0226 #endif /* ALLOW_EDDYPSI */
f9bac5a287 Patr*0227 
d0035fac68 Jean*0228 #ifdef GM_BOLUS_BVP
                0229         diagName  = 'GM_BVPcW'
                0230         diagTitle = 'WKB wave speed (at Western edge location)'
                0231         diagUnits = 'm/s             '
                0232         diagCode  = 'SU P    M1      '
                0233         diagMate  = diagNum + 2
                0234         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0235      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0236 
                0237         diagName  = 'GM_BVPcS'
                0238         diagTitle = 'WKB wave speed (at Southern edge location)'
                0239         diagUnits = 'm/s             '
                0240         diagCode  = 'SV P    M1      '
                0241         diagMate  = diagNum
                0242         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0243      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
a4576c7cde Juli*0244 #endif /* GM_BOLUS_BVP */
                0245 
                0246 #ifdef GM_VISBECK_VARIABLE_K
                0247         diagName  = 'GM_VisbK'
                0248         diagTitle =
                0249      &     'Mixing coefficient from Visbeck etal parameterization'
                0250         diagUnits = 'm^2/s           '
                0251         diagCode  = 'SM P    M1      '
                0252         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0253      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0254 #endif /* GM_VISBECK_VARIABLE_K */
                0255 
                0256 #ifdef GM_GEOM_VARIABLE_K
                0257         diagName  = 'GM_GEOMK'
                0258         diagTitle = 'GEOM 3d kgm field'
                0259         diagUnits = 'm/s^2           '
                0260         diagCode  = 'SMRP    LR      '
                0261         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0262      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0263 
                0264         diagName  = 'GEOMeE  '
                0265         diagTitle = 'GEOM parameterised depth-int eddy energy'
                0266         diagUnits = 'm^3/s^2         '
                0267         diagCode  = 'SM P    M1      '
                0268         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0269      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0270 
                0271         diagName  = 'GEOMstru'
                0272         diagTitle = 'spatial structure function'
                0273         diagUnits = '                '
                0274         diagCode  = 'SMRP    LR      '
                0275         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0276      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0277 
                0278         diagName  = 'GEOMEgen'
                0279         diagTitle = 'GEOM eddy energy generation tendency'
                0280         diagUnits = 'm^3/s^3         '
                0281         diagCode  = 'SM P    M1      '
                0282         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0283      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0284 
                0285         diagName  = 'GEOMEdis'
                0286         diagTitle = 'GEOM eddy energy dissipation tendency'
                0287         diagUnits = 'm^3/s^3         '
                0288         diagCode  = 'SM      M1      '
                0289         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0290      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0291 
                0292         diagName  = 'GEOMEadv'
                0293         diagTitle = 'GEOM eddy energy advective tendency'
                0294         diagUnits = 'm^3/s^3         '
                0295         diagCode  = 'SM      M1      '
                0296         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0297      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0298 
                0299         diagName  = 'GEOMEwav'
                0300         diagTitle = 'GEOM eddy energy wave advection tendency'
                0301         diagUnits = 'm^3/s^3         '
                0302         diagCode  = 'SM      M1      '
                0303         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0304      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0305 
                0306         diagName  = 'GEOMElap'
                0307         diagTitle = 'GEOM eddy energy diffusion tendency'
                0308         diagUnits = 'm^3/s^3         '
                0309         diagCode  = 'SM      M1      '
                0310         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0311      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0312 
                0313         diagName  = 'GEOM_c1 '
                0314         diagTitle = 'first baroclinic wave phase speed'
                0315         diagUnits = 'm/s             '
                0316         diagCode  = 'SM P    M1      '
                0317         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0318      I       diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0319 #endif /* GM_GEOM_VARIABLE_K */
d0035fac68 Jean*0320 
05118ac017 Jean*0321 #ifdef GM_BATES_K3D
                0322         diagName  = 'GM_BaK  '
0d1e4b948d Mich*0323         diagTitle = '3D diffusivity'
                0324         diagUnits = 'm**2/s          '
40312237e2 Mich*0325         diagCode  = 'SM P    MR      '
                0326         diagMate  = diagNum
                0327         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0328      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0329 
40312237e2 Mich*0330         diagName  = 'GM_KPV  '
                0331         diagTitle = '3D eddy transport diffusivity'
                0332         diagUnits = 'm**2/s          '
                0333         diagCode  = 'SM P    MR      '
                0334         diagMate  = diagNum
                0335         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0336      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0337 
05118ac017 Jean*0338         diagName  = 'GM_BaK_T'
40312237e2 Mich*0339         diagTitle = '3D Redi diffusivity'
                0340         diagUnits = 'm**2/s          '
0d1e4b948d Mich*0341         diagCode  = 'SM P    MR      '
                0342         diagMate  = diagNum
                0343         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0344      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0345 
a4576c7cde Juli*0346 # ifdef HAVE_LAPACK
0d1e4b948d Mich*0347         diagName  = 'GM_A3D'
                0348         diagTitle = '3D lower diagona'
                0349         diagUnits = '1/m**2          '
                0350         diagCode  = 'SM      MR      '
                0351         diagMate  = diagNum
                0352         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0353      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0354 
0d1e4b948d Mich*0355         diagName  = 'GM_B3D'
                0356         diagTitle = '3D lower diagona'
                0357         diagUnits = '1/m**2          '
                0358         diagCode  = 'SM      MR      '
                0359         diagMate  = diagNum
                0360         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0361      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0362 
0d1e4b948d Mich*0363         diagName  = 'GM_C3D'
                0364         diagTitle = '3D lower diagona'
                0365         diagUnits = '1/m**2          '
                0366         diagCode  = 'SM      MR      '
                0367         diagMate  = diagNum
                0368         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0369      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
a4576c7cde Juli*0370 # endif /* HAVE_LAPACK */
c8602656d9 Davi*0371 
5a6ef5c2b4 Mich*0372         diagName  = 'GM_MODEC'
0d1e4b948d Mich*0373         diagTitle = 'Eigen vector for the first barcolinic mode'
                0374         diagUnits = 'dimensionless   '
                0375         diagCode  = 'SM      MR      '
                0376         diagMate  = diagNum
                0377         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0378      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0379 
0d1e4b948d Mich*0380         diagName  = 'GM_URMS'
                0381         diagTitle = 'rms Eddy Velocity'
                0382         diagUnits = 'm/s             '
                0383         diagCode  = 'SM P    MR      '
                0384         diagMate  = diagNum
                0385         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0386      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0387 
0d1e4b948d Mich*0388         diagName  = 'GM_UMC  '
                0389         diagTitle = 'ubar-c'
                0390         diagUnits = 'm/s             '
                0391         diagCode  = 'SM      MR      '
                0392         diagMate  = diagNum
                0393         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0394      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0395 
0d1e4b948d Mich*0396         diagName  = 'GM_SFLYR'
                0397         diagTitle = 'mixed layer depth'
                0398         diagUnits = 'm               '
                0399         diagCode  = 'SM P    MR      '
                0400         diagMate  = diagNum
                0401         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0402      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0403 
0d1e4b948d Mich*0404         diagName  = 'GM_USTAR'
                0405         diagTitle = 'u^*'
                0406         diagUnits = 'm/s         '
                0407         diagCode  = 'UU      MR      '
                0408         diagMate  = diagNum
                0409         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0410      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0411 
0d1e4b948d Mich*0412         diagName  = 'GM_VSTAR'
                0413         diagTitle = 'v^*'
                0414         diagUnits = 'm/s         '
                0415         diagCode  = 'VV      MR      '
                0416         diagMate  = diagNum
                0417         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0418      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0419 
0d1e4b948d Mich*0420         diagName  = 'GM_RDEF'
                0421         diagTitle = 'Deformation Radius'
                0422         diagUnits = 'm               '
                0423         diagCode  = 'SM P    M1      '
                0424         diagMate  = diagNum
                0425         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0426      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0427 
0ea5811d0e Mich*0428         diagName  = 'GM_RURMS'
c8602656d9 Davi*0429         diagTitle =
05118ac017 Jean*0430      I      'Mixing length for calculating u_rms: MIN(Rdef,Bates_Rmax)'
0ea5811d0e Mich*0431         diagUnits = 'm               '
                0432         diagCode  = 'SM P    M1      '
                0433         diagMate  = diagNum
                0434         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0435      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0436 
0ea5811d0e Mich*0437         diagName  = 'GM_RRHNS'
6ceb7fd966 Davi*0438         diagTitle = 'Rhines scale: sqrt(urms/beta)'
0d1e4b948d Mich*0439         diagUnits = 'm               '
                0440         diagCode  = 'SM P    M1      '
                0441         diagMate  = diagNum
                0442         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0443      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0444 
0d1e4b948d Mich*0445         diagName  = 'GM_RMIX'
6ceb7fd966 Davi*0446         diagTitle = 'Unmodulated Mixing Length: MIN(Rdef, RRhines)'
0d1e4b948d Mich*0447         diagUnits = 'm               '
                0448         diagCode  = 'SM P    M1      '
                0449         diagMate  = diagNum
                0450         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0451      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0452 
0d1e4b948d Mich*0453         diagName  = 'GM_SUPP'
05118ac017 Jean*0454         diagTitle = 'Suppression Factor for BatesK3d'
0d1e4b948d Mich*0455         diagUnits = 'none            '
                0456         diagCode  = 'SM P    MR      '
                0457         diagMate  = diagNum
                0458         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0459      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0460 
0d1e4b948d Mich*0461         diagName  = 'GM_dqdx '
                0462         diagTitle = 'dq/dx'
                0463         diagUnits = '1/(m*s)         '
                0464         diagCode  = 'UU      MR      '
                0465         diagMate  = diagNum
                0466         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0467      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0468 
0d1e4b948d Mich*0469         diagName  = 'GM_dqdy '
                0470         diagTitle = 'dq/dy'
                0471         diagUnits = '1/(m*s)         '
                0472         diagCode  = 'VV      MR      '
                0473         diagMate  = diagNum
                0474         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0475      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0476 
40739f94bb Mich*0477         diagName  = 'GM_Kdqdx'
                0478         diagTitle = 'K*dq/dx'
                0479         diagUnits = 'm/s*2           '
                0480         diagCode  = 'UU      MR      '
                0481         diagMate  = diagNum
                0482         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0483      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0484 
40739f94bb Mich*0485         diagName  = 'GM_Kdqdy'
                0486         diagTitle = 'K*dq/dy'
                0487         diagUnits = 'm/s**2          '
                0488         diagCode  = 'VV      MR      '
                0489         diagMate  = diagNum
                0490         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0491      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0492 
0d1e4b948d Mich*0493         diagName  = 'GM_Xix  '
                0494         diagTitle = '-k dq/dx expansion'
5d78180c3f Mich*0495         diagUnits = 'm/s**2          '
0d1e4b948d Mich*0496         diagCode  = 'UU      MR      '
                0497         diagMate  = diagNum
                0498         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0499      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0500 
0d1e4b948d Mich*0501         diagName  = 'GM_Xiy  '
                0502         diagTitle = '-k dq/dy expansion'
5d78180c3f Mich*0503         diagUnits = 'm/s**2          '
0d1e4b948d Mich*0504         diagCode  = 'VV      MR      '
                0505         diagMate  = diagNum
                0506         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0507      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0508 
0d1e4b948d Mich*0509         diagName  = 'GM_Sx   '
                0510         diagTitle = 'Zonal isopycnal slope'
                0511         diagUnits = 'none            '
                0512         diagCode  = 'UU      LR      '
                0513         diagMate  = diagNum
                0514         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0515      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0516 
0d1e4b948d Mich*0517         diagName  = 'GM_Sy   '
                0518         diagTitle = 'Meridional isopycnal slope'
                0519         diagUnits = 'none            '
                0520         diagCode  = 'VV      LR      '
                0521         diagMate  = diagNum
                0522         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0523      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0524 
0d1e4b948d Mich*0525         diagName  = 'GM_TFLXX'
                0526         diagTitle = 'Zonal thickness flux'
05118ac017 Jean*0527         diagUnits = '1/(m*s)         '
0d1e4b948d Mich*0528         diagCode  = 'UU      MR      '
                0529         diagMate  = diagNum
                0530         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0531      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0532 
0d1e4b948d Mich*0533         diagName  = 'GM_TFLXY'
                0534         diagTitle = 'meridional thickness flux'
                0535         diagUnits = '1/(m*s)         '
                0536         diagCode  = 'VV      MR      '
                0537         diagMate  = diagNum
                0538         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0539      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0540 
0d1e4b948d Mich*0541         diagName  = 'GM_C'
                0542         diagTitle = 'Doppler shifted long Rossby wave speed'
                0543         diagUnits = 'm/s             '
                0544         diagCode  = 'SM      M1      '
                0545         diagMate  = diagNum
                0546         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0547      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0548 
0d1e4b948d Mich*0549         diagName  = 'GM_UBARO'
                0550         diagTitle = 'Barotropic velocity'
                0551         diagUnits = 'm/s             '
                0552         diagCode  = 'SM      M1      '
                0553         diagMate  = diagNum
                0554         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0555      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0556 
0d1e4b948d Mich*0557         diagName  = 'GM_EADY '
                0558         diagTitle = 'Eady Growth rate'
                0559         diagUnits = '1/s             '
                0560         diagCode  = 'SM      M1      '
                0561         diagMate  = diagNum
                0562         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0563      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0564 
0d1e4b948d Mich*0565         diagName  = 'GM_UBAR '
                0566         diagTitle = 'Mean zonal velocity'
                0567         diagUnits = 'm/s             '
                0568         diagCode  = 'SM      MR      '
                0569         diagMate  = diagNum
                0570         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0571      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0572 
74b49ccfa8 Mich*0573         diagName  = 'GM_M4   '
                0574         diagTitle = 'M**4'
                0575         diagUnits = '1/s**4          '
                0576         diagCode  = 'SM      MR      '
                0577         diagMate  = diagNum
                0578         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0579      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0580 
74b49ccfa8 Mich*0581         diagName  = 'GM_N2   '
                0582         diagTitle = 'N**2'
                0583         diagUnits = '1/s**2          '
                0584         diagCode  = 'SM      MR      '
                0585         diagMate  = diagNum
                0586         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0587      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0588 
40739f94bb Mich*0589         diagName  = 'GM_M4_N2'
                0590         diagTitle = 'M**4/N**2'
                0591         diagUnits = '1/s**2          '
                0592         diagCode  = 'SM      MR      '
                0593         diagMate  = diagNum
                0594         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0595      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0596 
74b49ccfa8 Mich*0597         diagName  = 'GM_SLOPE'
                0598         diagTitle = 'SLOPE'
                0599         diagUnits = 'm/m             '
                0600         diagCode  = 'SM      MR      '
                0601         diagMate  = diagNum
                0602         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0603      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0604 
df226773af Mich*0605         diagName  = 'GM_RENRM'
                0606         diagTitle = 'renormalisation factor'
                0607         diagUnits = 'none            '
                0608         diagCode  = 'SM      M1      '
                0609         diagMate  = diagNum
                0610         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0611      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
c8602656d9 Davi*0612 
a4576c7cde Juli*0613 # ifdef GM_BATES_PASSIVE
6ceb7fd966 Davi*0614         diagName  = 'GM_PSTAR'
                0615         diagTitle = 'Diagnosed bolus streamfunction: V component'
                0616         diagUnits = 'm**2/s          '
                0617         diagCode  = 'VV      LR      '
                0618         diagMate  = diagNum
                0619         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0620      I    diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
a4576c7cde Juli*0621 # endif
                0622 #endif /* GM_BATES_K3D */
0d1e4b948d Mich*0623 
f59d76b0dd Ed D*0624 #ifdef ALLOW_GM_LEITH_QG
                0625         diagName  = 'GM_LTHQG'
                0626         diagTitle = 'QGLeith viscosity used as kappa_GM in GMRedi'
                0627         diagUnits = 'm^2/s           '
                0628         diagCode  = 'SM      MR      '
                0629         CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0630      I    diagName, diagCode, diagUnits, diagTitle, 0, myThid )
a4576c7cde Juli*0631 #endif /* ALLOW_GM_LEITH_QG */
f59d76b0dd Ed D*0632 
d29d98918f Jean*0633 c     ENDIF
a10c595eb6 Timo*0634 # ifdef ALLOW_AUTODIFF
                0635       diagName  = 'ADJkapgm'
                0636       diagTitle = 'dJ/dKgm: Sensitivity to GM Intensity'
                0637       diagUnits = 'dJ/d[m^2/s]'
                0638       diagCode  = 'SMRA    MR      '
                0639       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0640      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0641 
                0642       diagName  = 'ADJkapre'
                0643       diagTitle = 'dJ/dKredi: Sensitivity to Redi Coefficient'
                0644       diagUnits = 'dJ/d[m^2/s]'
                0645       diagCode  = 'SMRA    MR      '
                0646       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0647      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0648 # endif
d29d98918f Jean*0649 
                0650 #endif /* ALLOW_DIAGNOSTICS */
                0651 
                0652       RETURN
                0653       END