ReportNodeEventRecorder
The node event recorder report (ReportNodeEventRecorder.csv) provides information on the node's population and health status at the time of a node-level event. Node-level events are broadcast by interventions such as BroadcastNodeEvent and node-level intervention distributions.
Additionally, it is possible to break down the population data by specific node properties and individual properties, using the configuration parameters described below.
For recording individual-level events, see ReportEventRecorder. For coordinator-level events, see ReportCoordinatorEventRecorder.
Configuration
To generate this report, the following parameters must be configured in the config.json file:
| Parameter | Data type | Min | Max | Default | Description |
|---|---|---|---|---|---|
Report_Node_Event_Recorder |
boolean | 0 | 1 | 0 | Set to 1 to enable the ReportNodeEventRecorder.csv output report. |
Report_Node_Event_Recorder_Events |
array of strings | NA | NA | [] | The list of node events to include or exclude in the ReportNodeEventRecorder.csv output report, based on how Report_Node_Event_Recorder_Ignore_Events_In_List is set. Events are sourced from Custom_Node_Events or built-in node events. If the list is empty and Report_Node_Event_Recorder_Ignore_Events_In_List is set to 0, no events will be recorded. |
Report_Node_Event_Recorder_Ignore_Events_In_List |
boolean | 0 | 1 | 0 | If set to false (0), only the node events listed in the Report_Node_Event_Recorder_Events array will be included in the ReportNodeEventRecorder.csv output report. If set to true (1), only the node events listed in the array will be excluded, and all other node events will be included. To return all node events from the simulation, set this value to 1 and leave the Report_Node_Event_Recorder_Events array empty. |
Report_Node_Event_Recorder_Node_Properties |
array of strings | NA | NA | [] | An array of optional node property keys, as defined in NodeProperties in the demographics file, to be added as additional columns to the ReportNodeEventRecorder.csv output report. See Individual and node properties for details on setting node properties. |
Report_Node_Event_Recorder_Stats_By_IPs |
array of strings | NA | NA | [] | An array of optional individual property (IP) keys, as defined in IndividualProperties in the demographics file, to be added to the ReportNodeEventRecorder.csv output report. For each IP key listed, two additional columns per IP key-value pair are added: one for the number of qualifying individuals with that value and one for the number of infected individuals with that value. See Individual and node properties for details on setting individual properties. |
{
"Report_Node_Event_Recorder": 1,
"Report_Node_Event_Recorder_Events": ["SpaceSpraying", "Larvicides"],
"Report_Node_Event_Recorder_Ignore_Events_In_List": 0,
"Report_Node_Event_Recorder_Node_Properties": [],
"Report_Node_Event_Recorder_Stats_By_IPs": []
}
Output file data
The report (ReportNodeEventRecorder.csv) contains one row per node event. The columns are described below.
Base columns
These columns are always present.
| Data channel | Data type | Description |
|---|---|---|
Time |
float | The simulation time (in days) when the node event occurred. |
NodeID |
integer | The identification number of the node where the event occurred. |
NodeEventName |
string | The name of the node event being logged. If Report_Node_Event_Recorder_Ignore_Events_In_List is set to 0, only events listed in Report_Node_Event_Recorder_Events appear. |
NumIndividuals |
integer | The total number of individuals in the node at the time of the event. |
NumInfected |
integer | The number of infected individuals in the node at the time of the event. |
Node property columns
If Report_Node_Event_Recorder_Node_Properties is configured with one or more node property key names, an additional column is added for each key listed. Each column shows the node's current value for that property at the time of the event.
Individual property (IP) breakdown columns
If Report_Node_Event_Recorder_Stats_By_IPs is configured with one or more individual property
(IP) key names, additional column pairs are appended for each key-value combination defined in the
demographics file. For example, if Risk has values HIGH and LOW, the following columns
are added:
| Data channel | Data type | Description |
|---|---|---|
Risk:HIGH:NumIndividuals |
integer | The number of individuals in the node whose Risk property is HIGH. |
Risk:HIGH:NumInfected |
integer | The number of infected individuals in the node whose Risk property is HIGH. |
Risk:LOW:NumIndividuals |
integer | The number of individuals in the node whose Risk property is LOW. |
Risk:LOW:NumInfected |
integer | The number of infected individuals in the node whose Risk property is LOW. |
The column naming convention is <Key>:<Value>:NumIndividuals and <Key>:<Value>:NumInfected
for each IP key-value pair.
Example
The following is an example of a ReportNodeEventRecorder.csv report from a malaria simulation that uses node-level vector control interventions:
| Time | NodeID | NodeEventName | NumIndividuals | NumInfected |
|---|---|---|---|---|
| 116 | 1 | SpaceSpraying | 993 | 852 |
| 121 | 1 | IndoorSpaceSpraying | 993 | 854 |
| 126 | 1 | MultiInsecticideSpaceSpraying | 990 | 847 |
| 131 | 1 | Larvicides | 988 | 843 |
| 136 | 1 | ScaleLarvalHabitat | 986 | 840 |
| 141 | 1 | OutdoorRestKill | 983 | 836 |
| 146 | 1 | SugarTrap | 980 | 832 |
| 151 | 1 | SpatialRepellent | 978 | 829 |