A module that column separated data 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 |