The main documentation of the Trace Class contains additional explanation of this code listing.
! ! Author: Michael L. Hall ! P.O. Box 1663, MS-D413, LANL ! Los Alamos, NM 87545 ! ph: 505-665-4312 ! email: Hall@LANL.gov ! ! Created on: 11/08/99 ! CVS Info: $Id: trace.F90,v 2.8 2005/03/02 01:48:19 hall Exp $ module Caesar_Trace_Class ! Global use associations. use Caesar_Intrinsics_Module ifdef([USE_PGSLIB],[ use PGSLib_Module ]) ! Start up with everything untyped and private. implicit none private ! Public procedures. public :: Initialize, Finalize, Valid_State, Initialized interface Initialize module procedure Initialize_Trace_1 module procedure Initialize_Trace_2 end interface interface Finalize module procedure Finalize_Trace end interface interface Valid_State module procedure Valid_State_Trace end interface interface Initialized module procedure Initialized_Trace end interface ! Public type definitions. public :: Trace_type type Trace_type ! Initialization flag. type(logical,1) :: Initialized ! The number of dimensions that the index has. type(integer) :: Dimensionality ! The index values, which may be modified by the communications package. type(integer,1) :: Index1 ! Indirect reference indices (1-D). type(integer,2) :: Index2 ! Indirect reference indices (2-D). ! Masks for zero index values. type(logical,1) :: Mask1 ! Mask (1-D). type(logical,2) :: Mask2 ! Mask (2-D). ! Gather-Scatter Setup information for PGSLib. ifdef([USE_PGSLIB],[ type(PGSLib_GS_Trace), pointer :: Trace ]) end type Trace_type contains
The Trace Class contains the following routines which are listed in separate sections:
end module Caesar_Trace_Class