TYPE T_Diagnostics



A diagnostic object contains a bunch of explicitly named optional arrays of 2 and 3 dimensions In code, we can test for whether a particular item is wanted using something like:

if ( diag%W_ent%wanted ) diag%W_ent%val(:,:,:) = We(:,:,:)

It also contains a arrays of T_Diag_DB_Rec2 and T_Diag_DB_Rec3 that point to these explicitly named arrays. The scalars2 and scalars3 arrays can be used to quickly do repetitive tasks with all diagnostics.

The key names to be used in MarkDiagWanted are indicated in brackets in the comments following the declaration of the T_Diag_Vectors and T_Diag_Items

TYPE T_Diagnostics

LOGICAL :: created
LOGICAL :: initialized
LOGICAL :: db_initialized
LOGICAL :: enabled
LOGICAL :: active
INTEGER :: Nscalars1 Number of defined items within scalars1
INTEGER :: Nscalars2 Number of defined items within scalars2
INTEGER :: Nscalars3 Number of defined items within scalars3
INTEGER :: Nvectors1 Number of defined items within vectors1
INTEGER :: Nvectors2 Number of defined items within vectors2
INTEGER :: Nvectors3 Number of defined items within vectors3
TYPE T_DIAG_DB_REC1 :: scalars1(MAX_DIAGNOSTICS) DB to the above 2-d optional arrays
TYPE T_DIAG_DB_REC2 :: scalars2(MAX_DIAGNOSTICS) DB to the above 2-d optional arrays
TYPE T_DIAG_DB_REC3 :: scalars3(MAX_DIAGNOSTICS) DB to the above 3-d optional arrays
TYPE T_DIAG_DB_REC2 :: Vectors1(MAX_DIAGNOSTICS) DB to the above 2-d vector arrays
TYPE T_DIAG_DB_REC3 :: Vectors2(MAX_DIAGNOSTICS) DB to the above 2-d vector arrays
TYPE T_DIAG_DB_REC4 :: Vectors3(MAX_DIAGNOSTICS) DB to the above 3-d vector arrays
TYPE T_DIAG_VECTOR3 :: momTend Tendency [dVdt]
TYPE T_DIAG_VECTOR3 :: momHydro Tendency in hydro [dvHydro]
TYPE T_DIAG_VECTOR3 :: momGradP Pressure gradient force [GradP]
TYPE T_DIAG_VECTOR3 :: momCoriolis Coriolis [Cor]
TYPE T_DIAG_VECTOR3 :: momNonLinear Non-linear momentum terms [NL]
TYPE T_DIAG_VECTOR3 :: momHdiffuse Horizontal momentum diffusion [Hdif]
TYPE T_DIAG_VECTOR3 :: momVmix Vertical diffusive momentum tendency (plus sflux) [Vmix]
TYPE T_DIAG_VECTOR3 :: momVadv Vertical advective momentum tendency [Vadv]
TYPE T_DIAG_VECTOR3 :: momKFlux Advecitve Cross-coordinate v momentum flux [Kflux]
TYPE T_DIAG_VECTOR3 :: momVFlux Advecitve Cross-coordinate v momentum flux [Vflux]
TYPE T_DIAG_VECTOR3 :: momFilter Shapiro Filtering [Filt]
TYPE T_DIAG_VECTOR3 :: Nu Viscosity [Nu]
TYPE T_DIAG_VECTOR3 :: A_Current A-grid current [Vel]
TYPE T_DIAG_VECTOR3 :: ViscBiharmA Biharmonic viscosity [Abi]
TYPE T_DIAG_VECTOR3 :: ViscLapK Laplacian viscosity [Kla]
TYPE T_DIAG_VECTOR2 :: momAvePress Vertical average of baroclinic pressure terms [Ap]
TYPE T_DIAG_VECTOR2 :: momAveForce Vertical average of surface forcing [As]
TYPE T_DIAG_VECTOR2 :: momAveAdvct Vertical average of momentum advection [Aa]
TYPE T_DIAG_VECTOR2 :: momAveFrict Vertical average of horizontal friction [Af]
TYPE T_DIAG_VECTOR2 :: momAveTend Vertical average momentum tendency [ATend]
TYPE T_DIAG_VECTOR2 :: momAveGradP Barotropic Pressure gradient [AgradP]
TYPE T_DIAG_VECTOR2 :: momAveCoriolis Barotropic Coriolis [ACor]
TYPE T_DIAG_VECTOR2 :: momAvedVdt Change inside barotropic step [AdVdt]
TYPE T_DIAG_VECTOR2 :: momAveFx Forcing for barotropic step [AFx]
TYPE T_DIAG_VECTOR2 :: momUSB External mode mass fluxes [USB]
TYPE T_DIAG_VECTOR2 :: momUH Vertical integral of u*h [UH]
TYPE T_DIAG_VECTOR2 :: momBolusFlux Vertical integral of bolus fluxes [Bf]
TYPE T_DIAG_VECTOR2 :: momAveFilter Shapiro Filtering [AFilt]
TYPE T_DIAG_VECTOR2 :: momAveVmix Shapiro Filtering [AFilt]
TYPE T_DIAG_VECTOR2 :: momMassCorr Vertical integral of mass flux correction [Uhc]
TYPE T_DIAG_VECTOR2 :: momRemapErr Vertical remapping error [RemapErr]
TYPE T_DIAG_SCALAR3 :: W_ent Cross-coorindinate mass flux (dyn m/sec) [W_ent]
TYPE T_DIAG_SCALAR3 :: W_z Z-velocity [W_z]
TYPE T_DIAG_SCALAR3 :: Vert_Heat_Flux Advecitve Cross-coordinate heat flux [wT]
TYPE T_DIAG_SCALAR3 :: Vert_Salt_Flux Advecitve Cross-coordinate salt flux [wS]
TYPE T_DIAG_SCALAR3 :: Ri Richardson number [Ri]
TYPE T_DIAG_SCALAR3 :: Kappa Kappa (for heat) (m^2/s^2) [Kappa]
TYPE T_DIAG_SCALAR3 :: KFluxT Vertical diffusive heat flux (W/m^2) [KFluxT]
TYPE T_DIAG_SCALAR3 :: KFluxS Vertical diffusive salt flux (psu/m^2) [KFluxS]
TYPE T_DIAG_SCALAR3 :: Convergence Horizontal mass flux convergence (m/s) [Conv]
TYPE T_DIAG_SCALAR3 :: H_e Face thickness on east grid box (m)
TYPE T_DIAG_SCALAR3 :: H_n Face thickness on north grid box (m)
TYPE T_DIAG_SCALAR3 :: Kappa_S Kappa for salt(m^2/s^2) [Kappa_S]
TYPE T_DIAG_SCALAR2 :: Ext_Mass_eq External mode mass equalization term [Emassc]
TYPE T_DIAG_SCALAR2 :: SST Sea surface temperature [SST]
TYPE T_DIAG_SCALAR2 :: SSS Sea surface salinity [SSS]
TYPE T_DIAG_SCALAR2 :: Ext_Mass_Change Rate of change in mass by extmode [dpE]
TYPE T_DIAG_SCALAR2 :: Int_Mass_Change Rate of change in mass by total [dpI]
TYPE T_DIAG_SCALAR2 :: Mixed_Layer_Depth Mixed Layer depth [Hml]
TYPE T_DIAG_SCALAR2 :: Mixed_Layer_Entrainment Mixed Layer entrainment rate [Wml]
TYPE T_DIAG_SCALAR2 :: Qbuoy Mixed Layer buoyancy flux [Wml]
TYPE T_DIAG_SCALAR2 :: Bpen Mixed Layer penetrating buoyancy flux [Wml]
TYPE T_DIAG_SCALAR2 :: Pendepth e-folding scale for penrad [Pendep]
TYPE T_DIAG_SCALAR2 :: Penfrac fraction of SW that penetrates [Penfr]
TYPE T_DIAG_VECTOR3 :: Hor_Heat_Flux
TYPE T_DIAG_VECTOR3 :: Hor_Salt_Flux
TYPE T_DIAG_VECTOR3 :: Hor_Heat_Diff
TYPE T_DIAG_VECTOR3 :: Hor_Salt_Diff
End Type T_Diagnostics

Poseidon Ocean Model (Release: c_92_rp1 )
Documentation automation by Paul Schopf's DocFort Perl scripts.