A module that writes data computed on-the-fly to the stdout and/or ascii files.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private, | parameter | :: | MONITOR_SET_HTBL_SIZE | = | 20 | |
character(len=*), | private, | parameter | :: | baseDirName | = | "./monitors" |
base directory name |
character(len=*), | private, | parameter | :: | baseFileName | = | "" |
base file name |
integer, | private, | parameter | :: | colSize | = | 16 |
Size of each column |
integer, | private, | parameter | :: | monSize | = | 64 |
Size of the monitor name |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(monitor_obj), | public, | allocatable | :: | m(:) |
Array of monitors |
||
type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
type(hashtbl_obj), | private | :: | tbl |
Hash table |
procedure, public :: Create => monitor_set_Create | ../../ Create a new monitor |
procedure, public :: Expand => monitor_set_Expand | ../../ Add a new monitor slot |
procedure, public :: Finalize => monitor_set_Final | ../../ Finalize the structure |
procedure, public :: GetIndex => monitor_set_GetIndex | ../../ Return the index of a monitor |
procedure, public :: Info => monitor_set_Info | ../../ Print a number of diagnostics information |
procedure, public :: Initialize => monitor_set_Init | ../../ Initialize the structure |
procedure, public :: Print => monitor_set_Print | ../../ Print the content of the monitors |
procedure, public :: Set => monitor_set_Set | ../../ Set the label or value of a monitor |
Column object
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=colSize), | public | :: | label |
Column label |
|||
character(len=colSize), | public | :: | value |
Value |
Monitor object
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=16), | public | :: | FMT(4) |
Format specifiers |
|||
type(column_obj), | public, | allocatable | :: | col(:) |
Columns |
||
integer, | public | :: | fid |
Monitor IO unit |
|||
character(len=monSize), | public | :: | name |
Name of the monitor file |
|||
character(len=1), | public | :: | sep |
Column seperator |
|||
logical, | public | :: | stdout |
Print to stdout |
procedure, public :: Finalize => monitor_obj_Final | ../../ Finalize a monitor object |
procedure, public :: Formats => monitor_obj_Formats | ../../ Define the format specifiers |
procedure, public :: Initialize => monitor_obj_Init | ../../ Intialize a monitor object |
procedure, public :: Print => monitor_obj_Print | ../../ Print the content of this monitor |
procedure, public :: SetVal => monitor_obj_SetVal | ../../ Set the value |
Returns the ID of a monitor identified by name
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
Set of monitor objects |
||
character(len=*), | intent(in) | :: | name |
Name of the monitor |
Monitor ID
Finalize the monitor object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_obj), | intent(inout) | :: | this |
A monitor object |
Define how to print numbers Format specifier for an integer Format specifier for a real Format specifier for a logical Format specifier for a full line
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_obj), | intent(inout) | :: | this |
A monitor object |
Intializes a single monitor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_obj), | intent(inout) | :: | this |
A monitor object |
||
character(len=*), | intent(in) | :: | name |
Name of the monitor |
||
integer, | intent(in) | :: | ncol |
Number of columns |
||
character(len=*), | intent(in), | optional | :: | sep |
Number of columns |
Prints to file or stdout content of the monitor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_obj), | intent(inout) | :: | this |
A monitor object |
||
logical, | intent(in) | :: | print_labels |
True if we want to print the labels |
Finalize the monitor object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_obj), | intent(inout) | :: | this |
A monitor object |
||
integer, | intent(in) | :: | n |
Column index |
||
class(*), | intent(in) | :: | value |
Value |
Creates a new monitor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
Set of monitor objects |
||
character(len=*), | intent(in) | :: | name |
Name of the monitor |
||
integer, | intent(in) | :: | ncol |
Number of columns |
||
logical, | intent(in), | optional | :: | stdout |
Switch to write to the stdout |
|
character(len=*), | intent(in), | optional | :: | sep |
Number of columns |
Changes the size of an array of monitors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
Set of monitor objects |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
A set of monitor objects |
Print a number of diagnostics information
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
Set of monitor objects |
Initialize a set of monitors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
A set of monitor objects |
||
type(parallel_obj), | intent(in), | target | :: | parallel |
parallel structure from main program |
Prints content of monitors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
Set of monitor objects |
||
logical, | intent(in), | optional | :: | print_labels |
True if we want to print the labels |
Set the label or value of a column of a certain monitor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(monitor_set), | intent(inout) | :: | this |
Set of monitor objects |
||
character(len=*), | intent(in) | :: | name |
Name of the monitor |
||
integer, | intent(in) | :: | colID |
Number of columns |
||
class(*), | intent(in), | optional | :: | value |
Value |
|
character(len=*), | intent(in), | optional | :: | label |
Column label |