tem_debug_type Derived Type

type, public :: tem_debug_type

Debug option definitions


Inherits

type~~tem_debug_type~~InheritsGraph type~tem_debug_type tem_debug_type type~tem_logging_type tem_logging_type type~tem_debug_type->type~tem_logging_type logger

Components

Type Visibility Attributes Name Initial
logical, public :: active = .false.

debug mode activated?

logical, public :: debugFiles = .false.

open separate file for each process

character(len=PathLen), public :: debugMesh

folder to store the debug mesh

integer, public :: unit = -1

unit to write in

logical, public :: checkEachAlgorithmicStep = .false.

output debug output after each step in compute

logical, public :: dumpLevelwiseState = .false.

write element state information to the debugFiles

logical, public :: dumpHaloState = .false.

write halo state information to the debugFiles

logical, public :: dumpTreeIDlists = .false.

write all the required and generated treeIDs in a level-wise manner to the debug file this includes fluid, ghost and halo elements and can serve as a detailed debug output

logical, public :: dumpPropBits = .false.

write all the property bits to disk for all elements

logical, public :: dumpDependencies = .false.

write all dependencies of ghost elements to disk

logical, public :: debugDependencies = .false.

write all dependencies of ghost elements to disk

logical, public :: checkDependencies = .false.

check if the dependencies are correct by cross checking

logical, public :: dumpAuxLists = .false.

write auxiliary lists to disk such as boundary element lists

logical, public :: unitTests = .false.
logical, public :: dumpSource = .false.

write out source debug statements to debug unit

logical, public :: debugRestart = .false.

write out restart debug info

logical, public :: traceMemory = .false.

trace memory consumption

logical, public :: checkNaNs = .false.

Check the state array for NaNs

logical, public :: dumpBoundaries = .false.

Dump boundary elements information

type(tem_logging_type), public :: logger

A logger to describe the output capabilities of this debug object.


Source Code

  type tem_debug_type
    !> debug mode activated?
    logical :: active     = .false.
    !> open separate file for each process
    logical :: debugFiles = .false.
    !> folder to store the debug mesh
    character(len=PathLen) :: debugMesh
    !> unit to write in
    integer :: unit  = -1
    !> output debug output after each step in compute
    logical :: checkEachAlgorithmicStep  = .false.
    !> write element state information to the debugFiles
    logical :: dumpLevelwiseState        = .false.
    !> write halo state information to the debugFiles
    logical :: dumpHaloState             = .false.
    !> write all the required and generated treeIDs in a level-wise manner to
    !! the debug file this includes fluid, ghost and halo elements and can
    !! serve as a detailed debug output
    logical :: dumpTreeIDlists   = .false.
    !> write all the property bits to disk for all elements
    logical :: dumpPropBits      = .false.
    !> write all dependencies of ghost elements to disk
    logical :: dumpDependencies  = .false.
    !> write all dependencies of ghost elements to disk
    logical :: debugDependencies  = .false.
    !> check if the dependencies are correct by cross checking
    logical :: checkDependencies  = .false.
    !> write auxiliary lists to disk such as boundary element lists
    logical :: dumpAuxLists      = .false.
    logical :: unitTests         = .false.
    !> write out source debug statements to debug unit
    logical :: dumpSource        = .false.
    !> write out restart debug info
    logical :: debugRestart  = .false.
    !> trace memory consumption
    logical :: traceMemory  = .false.
    !> Check the state array for NaNs
    logical :: checkNaNs = .false.

    !> Dump boundary elements information
    logical :: dumpBoundaries = .false.

    !> A logger to describe the output capabilities of this debug object.
    type(tem_logging_type) :: logger
  end type tem_debug_type