C $Header: /u/gcmpack/MITgcm/pkg/atm_phys/atm_phys_diagnostics_init.F,v 1.5 2017/08/08 20:45:19 jmc Exp $
C $Name: $
#include "ATM_PHYS_OPTIONS.h"
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
CBOP 0
C !ROUTINE: ATM_PHYS_DIAGNOSTICS_INIT
C !INTERFACE:
SUBROUTINE ATM_PHYS_DIAGNOSTICS_INIT( myThid )
C !DESCRIPTION:
C Initialize list of all available diagnostics for pkg AtmPhys
C !USES:
IMPLICIT NONE
#include "EEPARAMS.h"
#include "SIZE.h"
c#include "ATM_PHYS_PARAMS.h"
C !INPUT/OUTPUT PARAMETERS:
C myThid :: my Thread Id number
INTEGER myThid
CEOP
#ifdef ALLOW_DIAGNOSTICS
C !LOCAL VARIABLES:
C === Local variables ===
C diagNum :: diagnostics number in the (long) list of available diag.
C diagMate :: diag. mate number in the (long) list of available diag.
C diagName :: local short name (8c) of a diagnostics
C diagCode :: local parser field with characteristics of the diagnostics
C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT
C diagUnits :: local string (16c): physical units of a diagnostic field
C diagTitle :: local string (80c): description of field in diagnostic
INTEGER diagNum
INTEGER diagMate
CHARACTER*8 diagName
CHARACTER*16 diagCode
CHARACTER*16 diagUnits
CHARACTER*(80) diagTitle
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
c IF ( useDiagnotics ) THEN
diagName = 'AtPh_SST'
diagTitle = 'Sea Surface Temperature in Atm_Phys package'
diagUnits = 'K '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdTdt'
diagTitle = ' Pot.Temp. tendency from package ATM_PHYS'
diagUnits = 'K/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdQdt'
diagTitle = ' Spec.Humid tendency from package ATM_PHYS'
diagUnits = '1/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdUdt'
diagTitle = 'u-Velocity tendency from package ATM_PHYS'
diagUnits = 'm/s^2 '
diagCode = 'UMR MR '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'AtPhdVdt'
diagTitle = 'v-Velocity tendency from package ATM_PHYS'
diagUnits = 'm/s^2 '
diagCode = 'VMR MR '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'AtPhDifT'
diagTitle = 'ATM_PHYS: Vertical Diffusion for Temp & Q'
diagUnits = 'unit '
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhDifM'
diagTitle = 'ATM_PHYS: Vertical Diffusion for Momentum'
diagUnits = 'unit '
diagCode = 'WM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhCnvP'
diagTitle = 'ATM_PHYS: Convective Precip'
diagUnits = 'kg/m^2/s '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhLscP'
diagTitle = 'ATM_PHYS: Large-Scale Precip'
diagUnits = 'kg/m^2/s '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdTlc'
diagTitle = 'ATM_PHYS: lsc cond. tendency of Temp'
diagUnits = 'K/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
C-- Radiation & Surface fluxes:
diagName = 'AtPhdTrd'
diagTitle = 'ATM_PHYS: radiation tendency of Temp'
diagUnits = 'K/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhNSR '
diagTitle = 'ATM_PHYS: Net Shortwave Radiation (3D,+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM LX '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
CALL DIAGNOSTICS_SETKLEV( diagName, Nr+1, myThid )
diagName = 'AtPhNLR '
diagTitle = 'ATM_PHYS: Net Longwave Radiation (3D,+=up)'
diagUnits = 'W/m^2 '
diagCode = 'SM LX '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
CALL DIAGNOSTICS_SETKLEV( diagName, Nr+1, myThid )
diagName = 'AtPhDSR '
diagTitle = 'ATM_PHYS: Downward Shortwave Radiation (3D,+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P LX '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
CALL DIAGNOSTICS_SETKLEV( diagName, Nr+1, myThid )
diagName = 'AtPhDLR '
diagTitle = 'ATM_PHYS: Downward Longwave Radiation (3D,+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P LX '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
CALL DIAGNOSTICS_SETKLEV( diagName, Nr+1, myThid )
diagName = 'AtPhInSR'
diagTitle = 'ATM_PHYS: Incoming Shortwave Radiation (+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhNTSR'
diagTitle = 'ATM_PHYS: Net Top Shortwave Radiation (+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhOLR '
diagTitle = 'ATM_PHYS: Outgoing Longwave Radiation (+=up)'
diagUnits = 'W/m^2 '
diagCode = 'SM P U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhDSSR'
diagTitle = 'ATM_PHYS: Downward Surface Shortwave Rad. (+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P U1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhNSSR'
diagTitle = 'ATM_PHYS: Net Surface Shortwave Radiation (+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhDSLR'
diagTitle = 'ATM_PHYS: Downward Surface Longwave Rad. (+=dw)'
diagUnits = 'W/m^2 '
diagCode = 'SM P L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhUSLR'
diagTitle = 'ATM_PHYS: Upward Surface Longwave Rad. (+=up)'
diagUnits = 'W/m^2 '
diagCode = 'SM P L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhSens'
diagTitle = 'ATM_PHYS: surface sensible heat flux (+=up)'
diagUnits = 'W/m^2 '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhEvap'
diagTitle = 'ATM_PHYS: surface evaporation'
diagUnits = 'kg/m^2/s '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhTauX'
diagTitle = 'ATM_PHYS: Zonal comp of surface stress'
diagUnits = 'N/m^2 '
diagCode = 'UM L1 '
diagMate = diagNum + 2
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
diagName = 'AtPhTauY'
diagTitle = 'ATM_PHYS: Meridional comp of surface stress'
diagUnits = 'N/m^2 '
diagCode = 'VM L1 '
diagMate = diagNum
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
C-- Dargan BettsMiller Convection:
diagName = 'AtPhCAPE'
diagTitle = 'ATM_PHYS: Convective Avail. Pot. Energy: CAPE'
diagUnits = 'J/kg '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhCnIn'
diagTitle = 'ATM_PHYS: Convection inhibition'
diagUnits = '1 '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhKlzb'
diagTitle = 'ATM_PHYS: Level of zero buoyancy (=klzb, Convect)'
diagUnits = '1 '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhConv'
diagTitle = 'ATM_PHYS: B.M. Convection Flag '
& //'(0:no, 1:shallow, 2:Deep)'
diagUnits = '1 '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhRlxT'
diagTitle = 'ATM_PHYS: Temp. Relax. inv time-scale (Convection)'
diagUnits = '1/s '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhRlxQ'
diagTitle = 'ATM_PHYS: Humid Relax. inv time-scale (Convection)'
diagUnits = '1/s '
diagCode = 'SM L1 '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPh_Trf'
diagTitle = 'ATM_PHYS: Ref Temp for convection (Moist Adiabat)'
diagUnits = 'K '
diagCode = 'SM MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPh_Qrf'
diagTitle = 'ATM_PHYS: Ref Humid for convection (Saturated)'
diagUnits = 'kg/kg '
diagCode = 'SM MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdTcv'
diagTitle = 'ATM_PHYS: convection tendency of Temp'
diagUnits = 'K/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdtTg'
diagTitle = 'ATM_PHYS: vertical diff. tendency of Temp.'
diagUnits = 'K/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhdtQg'
diagTitle = 'ATM_PHYS: vertical diff. tendency of spec.humid'
diagUnits = '1/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
diagName = 'AtPhDisH'
diagTitle = 'ATM_PHYS: heating from dissipation'
diagUnits = 'K/s '
diagCode = 'SMR MR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
c ENDIF
#endif /* ALLOW_DIAGNOSTICS */
RETURN
END