Back to home page

MITgcm

 
 

    


File indexing completed on 2025-05-05 05:08:23 UTC

view on githubraw file Latest commit 31fb0e0e on 2025-05-05 02:15:14 UTC
1c99f96b44 Jean*0001 #include "MOM_COMMON_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: MOM_DIAGNOSTICS_INIT
                0005 C     !INTERFACE:
                0006       SUBROUTINE MOM_DIAGNOSTICS_INIT( myThid )
5644fea420 Jean*0007 
1c99f96b44 Jean*0008 C     !DESCRIPTION:
                0009 C     Routine to initialize Momentum diagnostics
                0010 C      (from mom_common, mom_fluxform & mom_vecinv packages)
                0011 
                0012 C     !USES:
                0013       IMPLICIT NONE
                0014 C     === Global variables ===
                0015 #include "SIZE.h"
                0016 #include "EEPARAMS.h"
                0017 #include "PARAMS.h"
                0018 
                0019 C     !INPUT/OUTPUT PARAMETERS:
                0020 C     === Routine arguments ===
5644fea420 Jean*0021 C     myThid :: my Thread Id. number
1c99f96b44 Jean*0022       INTEGER myThid
                0023 CEOP
                0024 
                0025 #ifdef ALLOW_DIAGNOSTICS
                0026 #ifdef ALLOW_MOM_COMMON
                0027 C     !LOCAL VARIABLES:
                0028 C     === Local variables ===
5644fea420 Jean*0029 C     msgBuf      :: Informational/error message buffer
1c99f96b44 Jean*0030 c     CHARACTER*(MAX_LEN_MBUF) msgBuf
                0031 
                0032       INTEGER       diagNum
8ea90e9de8 Jean*0033       INTEGER       diagMate
1c99f96b44 Jean*0034       CHARACTER*8   diagName
                0035       CHARACTER*16  diagCode
                0036       CHARACTER*16  diagUnits
                0037       CHARACTER*(80) diagTitle
                0038 
                0039 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0040 
9f43ba0942 Jean*0041 C---  Add diagnostics to the (long) list of available diagnostics:
                0042 
                0043 C--   add diagnostics for viscosity coefficients:
b8d51be678 Bayl*0044       diagName  = 'VISCAHZ '
                0045       diagTitle = 'Harmonic Visc Coefficient (m2/s) (Zeta Pt)'
                0046       diagUnits = 'm^2/s           '
                0047       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0048       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0049      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0050 
                0051       diagName  = 'VISCA4Z '
                0052       diagTitle = 'Biharmonic Visc Coefficient (m4/s) (Zeta Pt)'
                0053       diagUnits = 'm^4/s           '
                0054       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0055       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0056      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0057 
b0c3bd7ab0 Bayl*0058       diagName  = 'VISCAHD '
                0059       diagTitle = 'Harmonic Viscosity Coefficient (m2/s) (Div Pt)'
9f43ba0942 Jean*0060       diagUnits = 'm^2/s           '
                0061       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0062       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0063      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
9f43ba0942 Jean*0064 
b0c3bd7ab0 Bayl*0065       diagName  = 'VISCA4D '
                0066       diagTitle = 'Biharmonic Viscosity Coefficient (m4/s) (Div Pt)'
9f43ba0942 Jean*0067       diagUnits = 'm^4/s           '
                0068       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0069       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0070      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b0c3bd7ab0 Bayl*0071 
4362a89eba Bayl*0072       diagName  = 'VISCAHW '
                0073       diagTitle = 'Harmonic Viscosity Coefficient (m2/s) (W Pt)'
                0074       diagUnits = 'm^2/s           '
                0075       diagCode  = 'WM      LR      '
8ea90e9de8 Jean*0076       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0077      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
4362a89eba Bayl*0078 
                0079       diagName  = 'VISCA4W '
                0080       diagTitle = 'Biharmonic Viscosity Coefficient (m4/s) (W Pt)'
                0081       diagUnits = 'm^4/s           '
                0082       diagCode  = 'WM      LR      '
8ea90e9de8 Jean*0083       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0084      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
4362a89eba Bayl*0085 
b8d51be678 Bayl*0086       diagName  = 'VAHZMAX '
                0087       diagTitle = 'CFL-MAX Harm Visc Coefficient (m2/s) (Zeta Pt)'
b0c3bd7ab0 Bayl*0088       diagUnits = 'm^2/s           '
                0089       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0090       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0091      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b0c3bd7ab0 Bayl*0092 
b8d51be678 Bayl*0093       diagName  = 'VA4ZMAX '
                0094       diagTitle = 'CFL-MAX Biharm Visc Coefficient (m4/s) (Zeta Pt)'
                0095       diagUnits = 'm^4/s           '
                0096       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0097       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0098      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0099 
                0100       diagName  = 'VAHDMAX '
                0101       diagTitle = 'CFL-MAX Harm Visc Coefficient (m2/s) (Div Pt)'
                0102       diagUnits = 'm^2/s           '
                0103       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0104       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0105      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0106 
                0107       diagName  = 'VA4DMAX '
                0108       diagTitle = 'CFL-MAX Biharm Visc Coefficient (m4/s) (Div Pt)'
                0109       diagUnits = 'm^4/s           '
                0110       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0111       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0112      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0113 
                0114       diagName  = 'VAHZMIN '
                0115       diagTitle = 'RE-MIN Harm Visc Coefficient (m2/s) (Zeta Pt)'
                0116       diagUnits = 'm^2/s           '
                0117       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0118       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0119      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0120 
                0121       diagName  = 'VA4ZMIN '
                0122       diagTitle = 'RE-MIN Biharm Visc Coefficient (m4/s) (Zeta Pt)'
                0123       diagUnits = 'm^4/s           '
                0124       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0125       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0126      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0127 
                0128       diagName  = 'VAHDMIN '
                0129       diagTitle = 'RE-MIN Harm Visc Coefficient (m2/s) (Div Pt)'
                0130       diagUnits = 'm^2/s           '
                0131       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0132       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0133      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0134 
                0135       diagName  = 'VA4DMIN '
                0136       diagTitle = 'RE-MIN Biharm Visc Coefficient (m4/s) (Div Pt)'
                0137       diagUnits = 'm^4/s           '
                0138       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0139       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0140      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0141 
                0142       diagName  = 'VAHZLTH '
                0143       diagTitle = 'Leith Harm Visc Coefficient (m2/s) (Zeta Pt)'
                0144       diagUnits = 'm^2/s           '
                0145       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0146       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0147      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0148 
                0149       diagName  = 'VA4ZLTH '
                0150       diagTitle = 'Leith Biharm Visc Coefficient (m4/s) (Zeta Pt)'
                0151       diagUnits = 'm^4/s           '
                0152       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0153       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0154      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0155 
                0156       diagName  = 'VAHDLTH '
                0157       diagTitle = 'Leith Harm Visc Coefficient (m2/s) (Div Pt)'
                0158       diagUnits = 'm^2/s           '
                0159       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0160       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0161      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0162 
                0163       diagName  = 'VA4DLTH '
                0164       diagTitle = 'Leith Biharm Visc Coefficient (m4/s) (Div Pt)'
                0165       diagUnits = 'm^4/s           '
                0166       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0167       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0168      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0169 
                0170       diagName  = 'VAHZLTHD'
                0171       diagTitle = 'LeithD Harm Visc Coefficient (m2/s) (Zeta Pt)'
                0172       diagUnits = 'm^2/s           '
                0173       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0174       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0175      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0176 
                0177       diagName  = 'VA4ZLTHD'
                0178       diagTitle = 'LeithD Biharm Visc Coefficient (m4/s) (Zeta Pt)'
                0179       diagUnits = 'm^4/s           '
                0180       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0181       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0182      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0183 
                0184       diagName  = 'VAHDLTHD'
                0185       diagTitle = 'LeithD Harm Visc Coefficient (m2/s) (Div Pt)'
                0186       diagUnits = 'm^2/s           '
                0187       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0188       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0189      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0190 
                0191       diagName  = 'VA4DLTHD'
                0192       diagTitle = 'LeithD Biharm Visc Coefficient (m4/s) (Div Pt)'
                0193       diagUnits = 'm^4/s           '
                0194       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0195       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0196      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0197 
06244a5e4f Jean*0198 #ifdef ALLOW_LEITH_QG
f59d76b0dd Ed D*0199       diagName  = 'VAHZLTHQ'
                0200       diagTitle = 'LeithQG Harm Visc Coefficient (m2/s) (Zeta Pt)'
                0201       diagUnits = 'm^2/s           '
                0202       diagCode  = 'SZ      MR      '
                0203       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0204      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0205 
                0206       diagName  = 'VAHDLTHQ'
                0207       diagTitle = 'LeithQG Harm Visc Coefficient (m2/s) (Div Pt)'
                0208       diagUnits = 'm^2/s           '
                0209       diagCode  = 'SM      MR      '
                0210       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0211      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
06244a5e4f Jean*0212 #endif
f59d76b0dd Ed D*0213 
b8d51be678 Bayl*0214       diagName  = 'VAHZSMAG'
                0215       diagTitle = 'Smagorinsky Harm Visc Coefficient (m2/s) (Zeta Pt)'
                0216       diagUnits = 'm^2/s           '
                0217       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0218       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0219      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0220 
                0221       diagName  = 'VA4ZSMAG'
                0222       diagTitle = 'Smagorinsky Biharm Visc Coeff. (m4/s) (Zeta Pt)'
b0c3bd7ab0 Bayl*0223       diagUnits = 'm^4/s           '
                0224       diagCode  = 'SZ      MR      '
8ea90e9de8 Jean*0225       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0226      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0227 
b8d51be678 Bayl*0228       diagName  = 'VAHDSMAG'
                0229       diagTitle = 'Smagorinsky Harm Visc Coefficient (m2/s) (Div Pt)'
                0230       diagUnits = 'm^2/s           '
                0231       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0232       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0233      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0234 
                0235       diagName  = 'VA4DSMAG'
                0236       diagTitle = 'Smagorinsky Biharm Visc Coeff. (m4/s) (Div Pt)'
                0237       diagUnits = 'm^4/s           '
                0238       diagCode  = 'SM      MR      '
8ea90e9de8 Jean*0239       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0240      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
b8d51be678 Bayl*0241 
8ea90e9de8 Jean*0242 C--   add diagnostics of simple derivative quantities:
                0243       diagName  = 'momKE   '
                0244       diagTitle = 'Kinetic Energy (in momentum Eq.)'
5644fea420 Jean*0245       diagCode  = 'SMR     MR      '
8ea90e9de8 Jean*0246       diagUnits = 'm^2/s^2         '
                0247       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0248      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0249 
                0250 #ifdef ALLOW_MOM_VECINV
8ea90e9de8 Jean*0251       diagName  = 'momHDiv '
                0252       diagTitle = 'Horizontal Divergence (in momentum Eq.)'
5644fea420 Jean*0253       diagCode  = 'SMR     MR      '
8ea90e9de8 Jean*0254       diagUnits = 's^-1            '
                0255       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0256      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0257 
                0258       diagName  = 'momVort3'
                0259       diagTitle = '3rd component (vertical) of Vorticity'
5644fea420 Jean*0260       diagCode  = 'SZR     MR      '
8ea90e9de8 Jean*0261       diagUnits = 's^-1            '
                0262       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0263      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0264 
                0265       diagName  = 'Strain  '
                0266       diagTitle = 'Horizontal Strain of Horizontal Velocities'
5644fea420 Jean*0267       diagCode  = 'SZR     MR      '
8ea90e9de8 Jean*0268       diagUnits = 's^-1            '
                0269       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0270      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0271 
                0272       diagName  = 'Tension '
                0273       diagTitle = 'Horizontal Tension of Horizontal Velocities'
5644fea420 Jean*0274       diagCode  = 'SMR     MR      '
8ea90e9de8 Jean*0275       diagUnits = 's^-1            '
                0276       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0277      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0278 #endif /* ALLOW_MOM_VECINV */
                0279 
f59d76b0dd Ed D*0280       diagName  = 'Stretch '
                0281       diagTitle = 'Vortex stretching from QG Leith dynamic viscosity'
                0282       diagCode  = 'SM      MR      '
                0283       diagUnits = 's^-1            '
                0284       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0285      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0286 
8ea90e9de8 Jean*0287 C--   add diagnostics of tendencies from each terms
                0288       diagUnits = 'm/s^2           '
                0289 
df999eca2c Jean*0290       diagName  = 'USidDrag'
                0291       diagTitle = 'U momentum tendency from Side Drag'
5644fea420 Jean*0292       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0293       diagMate  = diagNum + 2
                0294       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0295      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
df999eca2c Jean*0296       diagName  = 'VSidDrag'
                0297       diagTitle = 'V momentum tendency from Side Drag'
5644fea420 Jean*0298       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0299       diagMate  = diagNum
                0300       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0301      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
df999eca2c Jean*0302 
                0303       diagName  = 'Um_Diss '
                0304       diagTitle = 'U momentum tendency from Dissipation'
                0305      &          //' (Explicit part)'
5644fea420 Jean*0306       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0307       diagMate  = diagNum + 2
                0308       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0309      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
df999eca2c Jean*0310       diagName  = 'Vm_Diss '
                0311       diagTitle = 'V momentum tendency from Dissipation'
                0312      &          //' (Explicit part)'
5644fea420 Jean*0313       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0314       diagMate  = diagNum
                0315       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0316      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0317 
df999eca2c Jean*0318       diagName  = 'Um_ImplD'
8ea90e9de8 Jean*0319       diagTitle = 'U momentum tendency from Dissipation'
df999eca2c Jean*0320      &          //' (Implicit part)'
5644fea420 Jean*0321       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0322       diagMate  = diagNum + 2
                0323       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0324      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
df999eca2c Jean*0325       diagName  = 'Vm_ImplD'
8ea90e9de8 Jean*0326       diagTitle = 'V momentum tendency from Dissipation'
df999eca2c Jean*0327      &          //' (Implicit part)'
5644fea420 Jean*0328       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0329       diagMate  = diagNum
                0330       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0331      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0332 
                0333       diagName  = 'Um_Advec'
                0334       diagTitle = 'U momentum tendency from Advection terms'
5644fea420 Jean*0335       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0336       diagMate  = diagNum + 2
                0337       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0338      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0339       diagName  = 'Vm_Advec'
                0340       diagTitle = 'V momentum tendency from Advection terms'
5644fea420 Jean*0341       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0342       diagMate  = diagNum
                0343       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0344      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0345 
                0346       diagName  = 'Um_Cori '
                0347       diagTitle = 'U momentum tendency from Coriolis term'
5644fea420 Jean*0348       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0349       diagMate  = diagNum + 2
                0350       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0351      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0352       diagName  = 'Vm_Cori '
                0353       diagTitle = 'V momentum tendency from Coriolis term'
5644fea420 Jean*0354       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0355       diagMate  = diagNum
                0356       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0357      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0358 
df999eca2c Jean*0359       diagName  = 'Um_dPhiX'
                0360       diagTitle = 'U momentum tendency from Pressure/Potential grad'
943e1d7d46 Jean*0361       diagCode  = 'UUR     MR      '
                0362       diagMate  = diagNum + 2
                0363       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0364      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
df999eca2c Jean*0365       diagName  = 'Vm_dPhiY'
                0366       diagTitle = 'V momentum tendency from Pressure/Potential grad'
943e1d7d46 Jean*0367       diagCode  = 'VVR     MR      '
                0368       diagMate  = diagNum
                0369       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0370      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0371 
8ea90e9de8 Jean*0372       diagName  = 'Um_Ext  '
                0373       diagTitle = 'U momentum tendency from external forcing'
5644fea420 Jean*0374       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0375       diagMate  = diagNum + 2
                0376       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0377      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0378       diagName  = 'Vm_Ext  '
                0379       diagTitle = 'V momentum tendency from external forcing'
5644fea420 Jean*0380       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0381       diagMate  = diagNum
                0382       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0383      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
ca16750d41 Bayl*0384 
1c99f96b44 Jean*0385 #ifdef ALLOW_MOM_VECINV
a340904e5a Ou W*0386       diagName  = 'Um_hDis2'
                0387       diagTitle = 'U momentum tendency from harmonic visc alone'
                0388       diagCode  = 'UUR     MR      '
                0389       diagMate  = diagNum + 2
                0390       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0391      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0392       diagName  = 'Vm_hDis2'
                0393       diagTitle = 'V momentum tendency from harmonic visc alone'
                0394       diagCode  = 'VVR     MR      '
                0395       diagMate  = diagNum
                0396       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0397      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0398 
                0399       diagName  = 'Um_hDis4'
                0400       diagTitle = 'U momentum tendency from biharmonic visc alone'
                0401       diagCode  = 'UUR     MR      '
                0402       diagMate  = diagNum + 2
                0403       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0404      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0405       diagName  = 'Vm_hDis4'
                0406       diagTitle = 'V momentum tendency from biharmonic visc alone'
                0407       diagCode  = 'VVR     MR      '
                0408       diagMate  = diagNum
                0409       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0410      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0411 
8ea90e9de8 Jean*0412       diagName  = 'Um_AdvZ3'
                0413       diagTitle = 'U momentum tendency from Vorticity Advection'
5644fea420 Jean*0414       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0415       diagMate  = diagNum + 2
                0416       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0417      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0418       diagName  = 'Vm_AdvZ3'
                0419       diagTitle = 'V momentum tendency from Vorticity Advection'
5644fea420 Jean*0420       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0421       diagMate  = diagNum
                0422       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0423      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0424 
                0425       diagName  = 'Um_AdvRe'
                0426       diagTitle = 'U momentum tendency from vertical Advection'
                0427      &          //' (Explicit part)'
5644fea420 Jean*0428       diagCode  = 'UUR     MR      '
8ea90e9de8 Jean*0429       diagMate  = diagNum + 2
                0430       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0431      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0432       diagName  = 'Vm_AdvRe'
                0433       diagTitle = 'V momentum tendency from vertical Advection'
                0434      &          //' (Explicit part)'
5644fea420 Jean*0435       diagCode  = 'VVR     MR      '
8ea90e9de8 Jean*0436       diagMate  = diagNum
                0437       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0438      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
ca16750d41 Bayl*0439 
1c99f96b44 Jean*0440 #endif /* ALLOW_MOM_VECINV */
                0441 
31fb0e0e6d Jean*0442 C-    diagnostics of metric-terms tendencies:
                0443       diagName  = 'Um_Metr '
                0444       diagTitle = 'U momentum tendency from Metric terms'
                0445       diagCode  = 'UUR     MR      '
                0446       diagMate  = diagNum + 2
                0447       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0448      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0449       diagName  = 'Vm_Metr '
                0450       diagTitle = 'V momentum tendency from Metric terms'
                0451       diagCode  = 'VVR     MR      '
                0452       diagMate  = diagNum
                0453       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0454      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0455 
7d6d4ca1be Jean*0456 #ifdef ALLOW_NONHYDROSTATIC
8ea90e9de8 Jean*0457 C-    vertical momentum tendencies
                0458       IF ( usingPCoords ) THEN
                0459         diagUnits = 'Pa/s^2          '
                0460       ELSE
                0461         diagUnits = 'm/s^2           '
                0462       ENDIF
31fb0e0e6d Jean*0463       diagName  = 'WSidDrag'
                0464       diagTitle = 'Vertical momentum tendency from Side Drag'
                0465       diagCode  = 'WMr     LR      '
                0466       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0467      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
8ea90e9de8 Jean*0468       diagName  = 'Wm_Diss '
                0469       diagTitle = 'W momentum tendency from Dissipation'
5644fea420 Jean*0470       diagCode  = 'WMr     LR      '
8ea90e9de8 Jean*0471       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0472      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0473 
                0474       diagName  = 'Wm_Advec'
                0475       diagTitle = 'W momentum tendency from Advection terms'
5644fea420 Jean*0476       diagCode  = 'WMr     LR      '
8ea90e9de8 Jean*0477       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0478      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
31fb0e0e6d Jean*0479       diagName  = 'Wm_Metr '
                0480       diagTitle = 'W momentum tendency from Metric terms'
5644fea420 Jean*0481       diagCode  = 'WMr     LR      '
8ea90e9de8 Jean*0482       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0483      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
7d6d4ca1be Jean*0484 #endif /* ALLOW_NONHYDROSTATIC */
                0485 
a340904e5a Ou W*0486 #ifdef ALLOW_MOM_TEND_EXTRA_DIAGS
                0487 cHP putting this back in
                0488       diagName  = 'UBotDrag'
                0489       diagTitle = 'U momentum tendency from Bottom Drag'
                0490       diagCode  = 'UUR     MR      '
                0491       diagMate  = diagNum + 2
                0492       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0493      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0494       diagName  = 'VBotDrag'
                0495       diagTitle = 'V momentum tendency from Bottom Drag'
                0496       diagCode  = 'VVR     MR      '
                0497       diagMate  = diagNum
                0498       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0499      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0500 #endif
                0501 
8ea90e9de8 Jean*0502 C--   add diagnostics of advective & viscous flux :
df999eca2c Jean*0503 C-    bottom fluxes:
                0504       diagName  = 'botTauX '
                0505       diagTitle = 'zonal bottom stress, >0 increases uVel'
                0506       diagUnits = 'N/m^2           '
                0507       diagCode  = 'UU      U1      '
                0508       diagMate  = diagNum + 2
                0509       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0510      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0511       diagName  = 'botTauY '
                0512       diagTitle = 'meridional bottom stress, >0 increases vVel'
                0513       diagUnits = 'N/m^2           '
                0514       diagCode  = 'VV      U1      '
                0515       diagMate  = diagNum
                0516       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0517      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0518 
8ea90e9de8 Jean*0519       IF ( usingPCoords ) THEN
                0520         diagUnits = 'Pa.m^3/s^2      '
                0521       ELSE
                0522         diagUnits = 'm^4/s^2         '
                0523       ENDIF
1c99f96b44 Jean*0524 
                0525 C-     Advective flux of Zonal momentum:
                0526 #ifdef ALLOW_MOM_FLUXFORM
8ea90e9de8 Jean*0527       diagName  = 'ADVx_Um '
                0528       diagTitle = 'Zonal      Advective Flux of U momentum'
                0529       diagCode  = 'UM      MR      '
                0530       diagMate  = diagNum + 2
                0531       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0532      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0533       diagName  = 'ADVy_Um '
                0534       diagTitle = 'Meridional Advective Flux of U momentum'
                0535       diagCode  = 'VZ      MR      '
                0536       diagMate  = diagNum
                0537       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0538      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0539       diagName  = 'ADVrE_Um'
                0540       diagTitle = 'Vertical   Advective Flux of U momentum'
                0541      &          //' (Explicit part)'
                0542       diagCode  = 'WU      LR      '
                0543       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0544      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0545 #endif /* ALLOW_MOM_FLUXFORM */
8ea90e9de8 Jean*0546 c     diagName  = 'ADVrI_Um'
                0547 c     diagTitle = 'Vertical   Advective Flux of U momentum'
                0548 c    &          //' (Implicit part)'
                0549 c     diagCode  = 'WU      LR      '
                0550 c     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0551 c    I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0552 
                0553 C-    Advective flux of Meridional momentum:
1c99f96b44 Jean*0554 #ifdef ALLOW_MOM_FLUXFORM
8ea90e9de8 Jean*0555       diagName  = 'ADVx_Vm '
                0556       diagTitle = 'Zonal      Advective Flux of V momentum'
                0557       diagCode  = 'UZ      MR      '
                0558       diagMate  = diagNum + 2
                0559       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0560      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0561       diagName  = 'ADVy_Vm '
                0562       diagTitle = 'Meridional Advective Flux of V momentum'
                0563       diagCode  = 'VM      MR      '
                0564       diagMate  = diagNum
                0565       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0566      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0567       diagName  = 'ADVrE_Vm'
                0568       diagTitle = 'Vertical   Advective Flux of V momentum'
                0569      &          //' (Explicit part)'
                0570       diagCode  = 'WV      LR      '
                0571       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0572      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0573 #endif /* ALLOW_MOM_FLUXFORM */
8ea90e9de8 Jean*0574 c     diagName  = 'ADVrI_Vm'
                0575 c     diagTitle = 'Vertical   Advective Flux of V momentum'
                0576 c    &          //' (Implicit part)'
                0577 c     diagCode  = 'WV      LR      '
                0578 c     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0579 c    I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0580 
                0581 C-    Viscous flux of Zonal momentum :
1c99f96b44 Jean*0582 #ifdef ALLOW_MOM_FLUXFORM
8ea90e9de8 Jean*0583       diagName  = 'VISCx_Um'
                0584       diagTitle = 'Zonal      Viscous Flux of U momentum'
                0585       diagCode  = 'UM      MR      '
                0586       diagMate  = diagNum + 2
                0587       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0588      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0589       diagName  = 'VISCy_Um'
                0590       diagTitle = 'Meridional Viscous Flux of U momentum'
                0591       diagCode  = 'VZ      MR      '
                0592       diagMate  = diagNum
                0593       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0594      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0595       diagName  = 'VISrE_Um'
                0596       diagTitle = 'Vertical   Viscous Flux of U momentum'
                0597      &          //' (Explicit part)'
                0598       diagCode  = 'WU      LR      '
                0599       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0600      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0601 #endif /* ALLOW_MOM_FLUXFORM */
8ea90e9de8 Jean*0602       diagName  = 'VISrI_Um'
                0603       diagTitle = 'Vertical   Viscous Flux of U momentum'
                0604      &          //' (Implicit part)'
                0605       diagCode  = 'WU      LR      '
                0606       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0607      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
                0608 
                0609 C-    Viscous flux of Meridional momentum :
1c99f96b44 Jean*0610 #ifdef ALLOW_MOM_FLUXFORM
8ea90e9de8 Jean*0611       diagName  = 'VISCx_Vm'
                0612       diagTitle = 'Zonal      Viscous Flux of V momentum'
                0613       diagCode  = 'UZ      MR      '
                0614       diagMate  = diagNum + 2
                0615       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0616      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0617       diagName  = 'VISCy_Vm'
                0618       diagTitle = 'Meridional Viscous Flux of V momentum'
                0619       diagCode  = 'VM      MR      '
                0620       diagMate  = diagNum
                0621       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0622      I   diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
                0623       diagName  = 'VISrE_Vm'
                0624       diagTitle = 'Vertical   Viscous Flux of V momentum'
                0625      &          //' (Explicit part)'
                0626       diagCode  = 'WV      LR      '
                0627       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0628      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0629 #endif /* ALLOW_MOM_FLUXFORM */
8ea90e9de8 Jean*0630       diagName  = 'VISrI_Vm'
                0631       diagTitle = 'Vertical   Viscous Flux of V momentum'
                0632      &          //' (Implicit part)'
                0633       diagCode  = 'WV      LR      '
                0634       CALL DIAGNOSTICS_ADDTOLIST( diagNum,
                0635      I          diagName, diagCode, diagUnits, diagTitle, 0, myThid )
1c99f96b44 Jean*0636 
                0637 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0638 
                0639 #endif /* ALLOW_MOM_COMMON */
                0640 #endif /* ALLOW_DIAGNOSTICS */
                0641 
                0642       RETURN
                0643       END