C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_main_init.F,v 1.52 2016/05/28 23:24:47 jmc Exp $
C $Name: $
#include "DIAG_OPTIONS.h"
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
CBOP 0
C !ROUTINE: DIAGNOSTICS_MAIN_INIT
C !INTERFACE:
SUBROUTINE DIAGNOSTICS_MAIN_INIT( myThid )
C !DESCRIPTION:
C Initialize available diagnostics list for variables of the main code
C (not part of a package): set the following attributes:
C name (=cdiag), parsing code (=gdiag), units (=udiag), and title (=tdiag)
C Notes: 1) diagnostics defined here do not require any EQUIVALENCE
C since they get filled-in with S/R FILL_DIAGNOSTICS
C 2) GDIAG is defined as character*16 and can be to character*1
C parse(16) with the following codes currently defined:
C \begin{center}
C \begin{tabular}[h]{|c|c|}\hline
C \textbf{Positions} & \textbf{Characters}
C & \textbf{Meanings} \\\hline
C parse(1) & S & scalar \\
C & U & vector component in X direction \\
C & V & vector component in Y direction \\
C & W & vector component in vertical direction \\
C parse(2) & U & C-grid U-Point \\
C & V & C-grid V-Point \\
C & M & C-grid Mass Point \\
C & Z & C-grid Corner Point \\
C parse(3) & & Used for Level Integrated output: cumulate levels \\
C & r & same but cumulate product by model level thickness \\
C & R & same but cumulate product by hFac & level thickness \\
C parse(4) & P & positive definite \\
C parse(5 ) & C & with counter array \\
C & P & post-processed (not filled up) from other diags \\
C & D & disable an array for output \\
C parse(6--8) & '123' & retired, formerly: 3-digit mate number \\
C parse(9) & U & model-level plus 1/2 \\
C & M & model-level middle \\
C & L & model-level minus 1/2 \\
C parse(10) & 0 & levels = 0 \\
C & 1 & levels = 1 \\
C & R & levels = Nr \\
C & L & levels = MAX(Nr,NrPhys) \\
C & M & levels = MAX(Nr,NrPhys) - 1 \\
C & G & levels = Ground_level Number \\
C & I & levels = sea-Ice_level Number \\
C & X & free levels option (need to be set explicitly) \\
C \end{tabular}
C \end{center}
C !USES:
IMPLICIT NONE
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C !INPUT PARAMETERS:
INTEGER myThid
CEOP
C !LOCAL VARIABLES:
C rTitle :: r-coordinate title
C eTitle :: free-surface title
C fTitle :: fixed boundary title
C pTitle :: "Phi" title
C sTitle :: "salt" title
INTEGER diagNum
INTEGER diagMate
CHARACTER*8 diagName
CHARACTER*16 diagCode
CHARACTER*16 diagUnits
CHARACTER*(80) diagTitle
CHARACTER*2 rUnit2c
CHARACTER*4 tUnit4c
CHARACTER*5 sUnit5c
CHARACTER*(10) rTitle, eTitle, fTitle
CHARACTER*(20) pTitle, sTitle
CHARACTER*(16) DIAGS_MK_UNITS
EXTERNAL
CHARACTER*(80) DIAGS_MK_TITLE
EXTERNAL
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
C For each output variable,
C specify Name (cdiag, 8c), Descriptions (tdiag, *c), Units (udiag, 16c)
C and Type/Parms (location on C grid, 2D/3D, ...) (gdiag, 16c)
C----------------------------------------------------------------------
IF ( usingPCoords ) THEN
rUnit2c= 'Pa'
rTitle = ' Pressure '
pTitle = ' Geopotential '
ELSE
rUnit2c= 'm '
rTitle = ' Height '
pTitle = 'Pressure Pot.(p/rho)'
ENDIF
IF ( fluidIsAir ) THEN
tUnit4c= 'K '
sUnit5c= 'kg/kg'
sTitle = ' Specific Humidity '
IF (useAIM) sUnit5c= 'g/kg '
ELSEIF ( eosType.EQ.'TEOS10' ) THEN
tUnit4c= 'degC'
sUnit5c= 'g/kg '
c tTitle = 'Conservative Temp. '
sTitle = ' Absolute Salinity '
ELSE
tUnit4c= 'degC'
sUnit5c= 'psu '
c tTitle = 'Potential Temperature'
sTitle = ' Salinity '
ENDIF
C- free-surface (eTitle) and fixed-boundary (fTitle) position:
IF ( fluidIsAir ) THEN
eTitle = ' Surface '
fTitle = ' Top '
ELSEIF ( usingPCoords ) THEN
eTitle = ' Bottom '
fTitle = ' Surface '
ELSE
eTitle = ' Surface '
fTitle = ' Bottom '
ENDIF
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
C- state variables of the main code (and related quadratic var):
diagName = 'ETAN '
diagTitle = DIAGS_MK_TITLE( eTitle//rTitle//' Anomaly', myThid )
c IF ( fluidIsWater .AND. usingZCoords )
c &diagTitle = 'Sea Surface Elevation'
diagUnits = DIAGS_MK_UNITS( rUnit2c, myThid )
diagCode = 'SM M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'ETANSQ '
diagTitle = DIAGS_MK_TITLE( 'Square of '//eTitle//rTitle
I //' Anomaly', myThid )
diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2', myThid )
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'DETADT2 '
diagTitle = DIAGS_MK_TITLE( 'Square of '//eTitle//rTitle
I //' Anomaly Tendency', myThid )
diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid )
diagCode = 'SM M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'THETA '
diagTitle = 'Potential Temperature'
diagUnits = DIAGS_MK_UNITS( tUnit4c, myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
c diagName = 'SST '
c diagTitle = 'Sea Surface Temperature (degC,K)'
c diagUnits = DIAGS_MK_UNITS( tUnit4c, myThid )
c diagCode = 'SM M1 '
c CALL DIAGNOSTICS_ADDTOLIST( diagNum,
c I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'SALT '
diagTitle = DIAGS_MK_TITLE( sTitle, myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c, myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'RELHUM '
diagTitle = 'Relative Humidity'
diagUnits = 'percent '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
c diagName = 'SSS '
c diagTitle = 'Sea Surface Salinity '
c diagUnits = DIAGS_MK_UNITS( sUnit5c, myThid )
c diagCode = 'SM M1 '
c CALL DIAGNOSTICS_ADDTOLIST( diagNum,
c I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
IF ( fluidIsWater ) THEN
diagName = 'SALTanom'
diagTitle = 'Salt anomaly (=SALT-35; g/kg)'
diagUnits = DIAGS_MK_UNITS( sUnit5c, myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
ENDIF
diagName = 'UVEL '
diagTitle = 'Zonal Component of Velocity (m/s)'
diagUnits = 'm/s '
diagCode = 'UUR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VVEL '
diagTitle = 'Meridional Component of Velocity (m/s)'
diagUnits = 'm/s '
diagCode = 'VVR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WVEL '
diagTitle = 'Vertical Component of Velocity (r_units/s)'
diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'THETASQ '
diagTitle = 'Square of Potential Temperature'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'^2', myThid )
diagCode = 'SMRP MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'SALTSQ '
diagTitle = DIAGS_MK_TITLE( 'Square of '//sTitle, myThid )
diagUnits = DIAGS_MK_UNITS( '('//sUnit5c//')^2', myThid )
diagCode = 'SMRP MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
IF ( fluidIsWater ) THEN
diagName = 'SALTSQan'
diagTitle = 'Square of Salt anomaly (=(SALT-35)^2 (g^2/kg^2)'
diagUnits = DIAGS_MK_UNITS( '('//sUnit5c//')^2', myThid )
diagCode = 'SMRP MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
ENDIF
diagName = 'UVELSQ '
diagTitle = 'Square of Zonal Comp of Velocity (m^2/s^2)'
diagUnits = 'm^2/s^2 '
diagCode = 'UURP MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VVELSQ '
diagTitle = 'Square of Meridional Comp of Velocity (m^2/s^2)'
diagUnits = 'm^2/s^2 '
diagCode = 'VVRP MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WVELSQ '
diagTitle = 'Square of Vertical Comp of Velocity'
diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid )
diagCode = 'WM P LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'UE_VEL_C'
diagTitle = 'Eastward Velocity (m/s) (cell center)'
diagUnits = 'm/s '
diagCode = 'UMR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VN_VEL_C'
diagTitle = 'Northward Velocity (m/s) (cell center)'
diagUnits = 'm/s '
diagCode = 'VMR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'UV_VEL_C'
diagTitle ='Product of horizontal Comp of velocity (cell center)'
diagUnits = 'm^2/s^2 '
diagCode = 'UMR MR '
diagMate = diagNum + 1
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'UV_VEL_Z'
diagTitle = 'Meridional Transport of Zonal Momentum (m^2/s^2)'
diagUnits = 'm^2/s^2 '
diagCode = 'UZR MR '
diagMate = diagNum + 1
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WU_VEL '
diagTitle = 'Vertical Transport of Zonal Momentum'
diagUnits = DIAGS_MK_UNITS( 'm.'//rUnit2c//'/s^2', myThid )
diagCode = 'WU LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'WV_VEL '
diagTitle ='Vertical Transport of Meridional Momentum'
diagUnits = DIAGS_MK_UNITS( 'm.'//rUnit2c//'/s^2', myThid )
diagCode = 'WV LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'UVELMASS'
diagTitle = 'Zonal Mass-Weighted Comp of Velocity (m/s)'
diagUnits = 'm/s '
diagCode = 'UUr MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VVELMASS'
diagTitle = 'Meridional Mass-Weighted Comp of Velocity (m/s)'
diagUnits = 'm/s '
diagCode = 'VVr MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WVELMASS'
diagTitle = 'Vertical Mass-Weighted Comp of Velocity'
diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'PhiVEL '
diagTitle = 'Horizontal Velocity Potential (m^2/s)'
diagUnits = 'm^2/s '
diagCode = 'SMR P MR '
C- use 'UVELMASS' as mate.
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'PsiVEL '
diagTitle = 'Horizontal Velocity Stream-Function'
diagUnits = DIAGS_MK_UNITS( rUnit2c//'.m^2/s', myThid )
diagCode = 'SZ P MR '
C- use 'PhiVEL' as mate.
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'UTHMASS '
diagTitle = 'Zonal Mass-Weight Transp of Pot Temp'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
diagCode = 'UUr MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VTHMASS '
diagTitle = 'Meridional Mass-Weight Transp of Pot Temp'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
diagCode = 'VVr MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WTHMASS '
diagTitle = 'Vertical Mass-Weight Transp of Pot Temp (K.m/s)'
diagUnits = DIAGS_MK_UNITS(tUnit4c//'.'//rUnit2c//'/s', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'USLTMASS'
diagTitle = DIAGS_MK_TITLE( 'Zonal Mass-Weight Transp of '
I //sTitle, myThid )
diagUnits = DIAGS_MK_UNITS(sUnit5c//'.m/s', myThid )
diagCode = 'UUr MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VSLTMASS'
diagTitle = DIAGS_MK_TITLE( 'Meridional Mass-Weight Transp of '
I //sTitle, myThid )
diagUnits = DIAGS_MK_UNITS(sUnit5c//'.m/s', myThid )
diagCode = 'VVr MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WSLTMASS'
diagTitle = DIAGS_MK_TITLE( 'Vertical Mass-Weight Transp of '
I //sTitle, myThid )
diagUnits = DIAGS_MK_UNITS(sUnit5c//'.'//rUnit2c//'/s', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'UVELTH '
diagTitle = 'Zonal Transport of Pot Temp'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
diagCode = 'UUR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VVELTH '
diagTitle = 'Meridional Transport of Pot Temp'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
diagCode = 'VVR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WVELTH '
diagTitle = 'Vertical Transport of Pot Temp'
diagUnits = DIAGS_MK_UNITS(tUnit4c//'.'//rUnit2c//'/s', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'UVELSLT '
diagTitle = DIAGS_MK_TITLE( 'Zonal Transport of '
I //sTitle, myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c//'.m/s', myThid )
diagCode = 'UUR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VVELSLT '
diagTitle = DIAGS_MK_TITLE( 'Meridional Transport of '
I //sTitle, myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c//'.m/s', myThid )
diagCode = 'VVR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WVELSLT '
diagTitle = DIAGS_MK_TITLE( 'Vertical Transport of '
I //sTitle, myThid )
diagUnits = DIAGS_MK_UNITS(sUnit5c//'.'//rUnit2c//'/s', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'UVELPHI '
diagTitle = DIAGS_MK_TITLE( 'Zonal Mass-Weight Transp of '
I //pTitle//' Anomaly', myThid )
diagUnits = 'm^3/s^3 '
diagCode = 'UUr MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VVELPHI '
diagTitle = DIAGS_MK_TITLE( 'Merid. Mass-Weight Transp of '
I //pTitle//' Anomaly', myThid )
diagUnits = 'm^3/s^3 '
diagCode = 'VVr MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
diagName = 'RHOAnoma'
diagTitle = 'Density Anomaly (=Rho-rhoConst)'
diagUnits = 'kg/m^3 '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'RHOANOSQ'
diagTitle = 'Square of Density Anomaly (=(Rho-rhoConst)^2)'
diagUnits = 'kg^2/m^6 '
diagCode = 'SMRP MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'URHOMASS'
diagTitle = 'Zonal Transport of Density'
diagUnits = 'kg/m^2/s '
diagCode = 'UUr MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'VRHOMASS'
diagTitle = 'Meridional Transport of Density'
diagUnits = 'kg/m^2/s '
diagCode = 'VVr MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'WRHOMASS'
diagTitle = 'Vertical Transport of Density'
diagUnits = 'kg/m^2/s '
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'WdRHO_P '
diagTitle = 'Vertical velocity times delta^k(Rho)_at-const-P'
diagUnits = 'kg/m^2/s '
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'WdRHOdP '
diagTitle = 'Vertical velocity times delta^k(Rho)_at-const-T,S'
diagUnits = 'kg/m^2/s '
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'PHIHYD '
diagTitle = DIAGS_MK_TITLE( 'Hydrostatic '
I //pTitle//' Anomaly', myThid )
diagUnits = 'm^2/s^2 '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'PHIHYDSQ'
diagTitle = DIAGS_MK_TITLE( 'Square of Hyd. '
I //pTitle//' Anomaly', myThid )
diagUnits = 'm^4/s^4 '
diagCode = 'SMRP MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'PHIBOT '
c diagTitle = 'ocean bottom pressure / top. atmos geo-Potential'
diagTitle = DIAGS_MK_TITLE( fTitle
I //pTitle//' Anomaly', myThid )
diagUnits = 'm^2/s^2 '
diagCode = 'SM M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'PHIBOTSQ'
c diagTitle = 'Square of ocean bottom pressure / top. geo-Potential'
diagTitle = DIAGS_MK_TITLE( 'Square of '//fTitle
I //pTitle//' Anomaly', myThid )
diagUnits = 'm^4/s^4 '
diagCode = 'SM P M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'PHI_SURF'
diagTitle = DIAGS_MK_TITLE('Surface Dynamical '//pTitle,myThid)
diagUnits = 'm^2/s^2 '
diagCode = 'SM M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#ifdef NONLIN_FRSURF
diagName = 'PHIHYDcR'
diagTitle = DIAGS_MK_TITLE( 'Hydrostatic '
I //pTitle//' Anomaly @ const r', myThid )
diagUnits = 'm^2/s^2 '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#endif
#ifdef ALLOW_NONHYDROSTATIC
diagName = 'PHI_NH '
diagTitle = DIAGS_MK_TITLE( 'Non-Hydrostatic '//pTitle, myThid )
diagUnits = 'm^2/s^2 '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#endif /* ALLOW_NONHYDROSTATIC */
diagName = 'MXLDEPTH'
diagTitle = 'Mixed-Layer Depth (>0)'
diagUnits = 'm '
diagCode = 'SM M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'DRHODR '
diagTitle = 'Stratification: d.Sigma/dr (kg/m3/r_unit)'
diagUnits = 'kg/m^4 '
IF ( usingPCoords ) diagUnits = 's^2/m^2 '
diagCode = 'SM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'CONVADJ '
diagTitle = 'Convective Adjustment Index [0-1] '
diagUnits = 'fraction '
diagCode = 'SMR LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
C-- surface fluxes:
diagName = 'oceTAUX '
diagTitle = 'zonal surface wind stress, >0 increases uVel'
diagUnits = 'N/m^2 '
diagCode = 'UU U1 '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'oceTAUY '
diagTitle = 'meridional surf. wind stress, >0 increases vVel'
diagUnits = 'N/m^2 '
diagCode = 'VV U1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'atmPload'
diagTitle = 'Atmospheric pressure loading'
diagUnits = 'Pa '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'sIceLoad'
diagTitle = 'sea-ice loading (in Mass of ice+snow / area unit)'
diagUnits = 'kg/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'oceFWflx'
diagTitle = 'net surface Fresh-Water flux into the ocean'
& //' (+=down), >0 decreases salinity'
diagUnits = 'kg/m^2/s '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'oceSflux'
diagTitle = 'net surface Salt flux into the ocean (+=down),'
& //' >0 increases salinity'
diagUnits = 'g/m^2/s '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'oceQnet '
diagTitle = 'net surface heat flux into the ocean (+=down),'
& //' >0 increases theta'
diagUnits = 'W/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'oceQsw '
diagTitle = 'net Short-Wave radiation (+=down),'
& //' >0 increases theta'
diagUnits = 'W/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'oceFreez'
diagTitle = 'heating from freezing of sea-water (allowFreezing=T)'
diagUnits = 'W/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'TRELAX '
diagTitle = 'surface temperature relaxation, >0 increases theta'
diagUnits = 'W/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'SRELAX '
diagTitle = 'surface salinity relaxation, >0 increases salt'
diagUnits = 'g/m^2/s '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'surForcT'
diagTitle = 'model surface forcing for Temperature,'
& //' >0 increases theta'
diagUnits = 'W/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'surForcS'
diagTitle = 'model surface forcing for Salinity,'
& //' >0 increases salinity'
diagUnits = 'g/m^2/s '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'TFLUX '
diagTitle = 'total heat flux (match heat-content variations),'
& //' >0 increases theta'
diagUnits = 'W/m^2 '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'SFLUX '
diagTitle = 'total salt flux (match salt-content variations),'
& //' >0 increases salt'
diagUnits = 'g/m^2/s '
diagCode = 'SM U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
diagName = 'RCENTER '
c diagTitle = 'Cell-Center r-Position (Pressure, Height) (Pa,m)'
diagTitle = DIAGS_MK_TITLE( 'Cell-Center '//rTitle, myThid )
diagUnits = DIAGS_MK_UNITS( rUnit2c, myThid )
diagCode = 'SM MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'RSURF '
c diagTitle = 'Free-Surface r-Position (Pressure, Height) (Pa,m)'
diagTitle = DIAGS_MK_TITLE( eTitle//rTitle, myThid )
diagUnits = DIAGS_MK_UNITS( rUnit2c, myThid )
diagCode = 'SM M1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'TOTUTEND'
diagTitle = 'Tendency of Zonal Component of Velocity'
diagUnits = 'm/s/day '
diagCode = 'UUR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'TOTVTEND'
diagTitle = 'Tendency of Meridional Component of Velocity'
diagUnits = 'm/s/day '
diagCode = 'VVR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'TOTTTEND'
diagTitle = 'Tendency of Potential Temperature'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'/day', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'TOTSTEND'
diagTitle = DIAGS_MK_TITLE('Tendency of '//sTitle, myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c//'/day', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'MoistCor'
diagTitle = 'Heating correction due to moist thermodynamics'
diagUnits = 'W/m^2 '
diagCode = 'SM MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#ifdef ALLOW_FRICTION_HEATING
diagName = 'HeatDiss'
diagTitle = 'Heating from frictional dissipation'
diagUnits = 'W/m^2 '
diagCode = 'SM MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#endif /* ALLOW_FRICTION_HEATING */
#ifdef ALLOW_GENERIC_ADVDIFF
diagName = 'gT_Forc '
diagTitle = 'Potential Temp. forcing tendency'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'/s', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'gS_Forc '
diagTitle = DIAGS_MK_TITLE(
& sTitle//'forcing tendency', myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c//'/s', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AB_gT '
diagTitle = 'Potential Temp. tendency from Adams-Bashforth'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'/s', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AB_gS '
diagTitle = DIAGS_MK_TITLE(
& sTitle//'tendency from Adams-Bashforth', myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c//'/s', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'gTinAB '
diagTitle = 'Potential Temp. tendency going in Adams-Bashforth'
diagUnits = DIAGS_MK_UNITS( tUnit4c//'/s', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'gSinAB '
diagTitle = DIAGS_MK_TITLE(
& sTitle//'tendency going in Adams-Bashforth', myThid )
diagUnits = DIAGS_MK_UNITS( sUnit5c//'/s', myThid )
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#endif /* ALLOW_GENERIC_ADVDIFF */
diagName = 'AB_gU '
diagTitle = 'U momentum tendency from Adams-Bashforth'
diagUnits = 'm/s^2 '
diagCode = 'UUR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'AB_gV '
diagTitle = 'V momentum tendency from Adams-Bashforth'
diagUnits = 'm/s^2 '
diagCode = 'VVR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
#ifdef ALLOW_NONHYDROSTATIC
diagName = 'AB_gW '
diagTitle = 'W momentum tendency from Adams-Bashforth'
diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s^2', myThid )
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
#endif /* ALLOW_NONHYDROSTATIC */
#ifdef ALLOW_EDDYPSI
diagName = 'TAUXEDDY'
diagTitle = 'Zonal Eddy Stress'
diagUnits = 'N/m^2 '
diagCode = 'UU LR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'TAUYEDDY'
diagTitle = 'Meridional Eddy Stress'
diagUnits = 'N/m^2 '
diagCode = 'VV LR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
# ifdef ALLOW_GMREDI
diagName = 'U_EulerM'
diagTitle = 'Zonal Eulerian-Mean Velocity (m/s)'
diagUnits = 'm/s '
diagCode = 'UUR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'V_EulerM'
diagTitle = 'Meridional Eulerian-Mean Velocity (m/s)'
diagUnits = 'm/s '
diagCode = 'VVR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
# endif /* ALLOW_GMREDI */
#endif /* ALLOW_EDDYPSI */
RETURN
END