Output settings#

The following parameters configure whether or not output reports are created for the simulation, such as reports detailing spatial or demographic data at each time step. By default, the InsetChart is always created.

Note

Parameters are case-sensitive. For Boolean parameters, set to 1 for true or 0 for false. Minimum, maximum, or default values of “NA” indicate that those values are not applicable for that parameter.

EMOD does not use true defaults; that is, if the dependency relationships indicate that a parameter is required, you must supply a value for it. However, many of the tools used to work with EMOD will use the default values provided below.

JSON format does not permit comments, but you can add “dummy” parameters to add contextual information to your files. Any keys that are not EMOD parameter names will be ignored by the model.

Parameter

Data type

Minimum

Maximum

Default

Description

Example

Custom_Coordinator_Events

array of strings

NA

NA

[]

The list of valid, user-defined Coordinator Events that will be included in the campaign. These are specifically events which apply with EventCoordinators, such completing distribution of a collection of interventions. Any event used in the campaign must be in this list.

{
  "Custom_Coordinator_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ]
}

Custom_Individual_Events

array of strings

NA

NA

[]

The list of valid, user-defined Individual Events that will be included in the campaign. These are specifically events which apply at an individual level, such as receiving a vaccine. Any individual event used in the campaign must either be one of the built-in events or in this list. See Event list for a list of all possible built-in events.

{
  "Custom_Individual_Events": [
    "Individual_Event_1",
    "Individual_Event_2",
    "Individual_Event_3"
  ]
}

Custom_Node_Events

array of strings

NA

NA

[]

The list of valid, user-defined Node Events that will be included in the campaign. These are specifically events which apply at the node/location level, such as finishing using an EnvironmentalDiagnostic. Any event used in the campaign must be in this list.

{
  "Custom_Node_Events": [
    "Node_Event_1",
    "Node_Event_2",
    "Node_Event_3"
  ]
}

Custom_Reports_Filename

string

NA

NA

“”

The name of the file containing custom report configuration parameters. Omitting this parameter or setting it to RunAllCustomReports will load all reporters found that are valid for the given simulation type. The file must be in JSON format.

{
  "Custom_Reports_Filename": "custom_reports.json"
}

Enable_Default_Reporting

boolean

0

1

1

Controls whether or not the default InsetChart.json report is created.

{
  "Enable_Default_Reporting": 1
}

Enable_Demographics_Reporting

boolean

0

1

1

Controls whether or not demographic summary data and age-binned reports are outputted to file.

{
  "Enable_Demographics_Reporting": 1
}

Enable_Property_Output

boolean

0

1

0

Controls whether or not to create property output reports, which detail groups as defined in IndividualProperties in the demographics file (see NodeProperties and IndividualProperties parameters). When there is more than one property type, the report will display the channel information for all combinations of the property type groups.

{
  "Enable_Property_Output": 1
}

Enable_Spatial_Output

boolean

0

1

0

Controls whether or not spatial output reports are created. If set to true (1), spatial output reports include all channels listed in the parameter Spatial_Output_Channels.

Note

Spatial output files require significant processing time and disk space.

{
  "Enable_Spatial_Output": 1,
  "Spatial_Output_Channels": [
    "Prevalence",
    "New_Infections"
  ]
}

Event_Trigger_List

array of strings

NA

NA

NA

The list of event triggers for the events included in the report.

{
  "Start_Day": 5,
  "Nodeset_Config": {
    "class": "NodeSetNodeList",
    "Node_List": [
      2
    ]
  },
  "Pretty_Format": 1,
  "Reporting_Interval": 40,
  "Age_Bins": [
    10,
    100
  ],
  "Event_Trigger_List": [
    "EveryUpdate"
  ]
}

Max_Number_Reports

float

1

1000000

1

Used by reports and custom reports. The maximum number of report output files that will be produced for a given simulation.

{
  "Max_Number_Reports": 15,
  "Report_Description": "Day0",
  "Reporting_Interval": 73
}

Pretty_Format

boolean

0

1

0

True (1) sets pretty JSON formatting, which includes carriage returns, line feeds, and spaces for easier readability. The default, false (0), saves space where everything is on one line.

{
  "Pretty_Format": 1
}

Report_Coordinator_Event_Recorder

boolean

0

1

0

Enables or disables the ReportCoordinatorEventRecorder.csv output report for coordinator events. When enabled (set to 1) reports will be generated for the broadcasted valid coordinator events, as specified in Report_Coordinator_Event_Recorder_Events.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

{
  "Custom_Coordinator_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ],
  "Report_Coordinator_Event_Recorder": 1,
  "Report_Coordinator_Event_Recorder_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ]
}

Report_Coordinator_Event_Recorder_Events

array of strings

NA

NA

[]

The list of events to include or exclude in the ReportCoordinatorEventRecorder.csv output report, based on how Report_Coordinator_Event_Recorder_Ignore_Events_In_List is set. This list must not be empty and is dependent upon Report_Coordinator_Event_Recorder being enabled. In addition, the events must be defined in Customer_Coordinator_Events.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

{
  "Custom_Coordinator_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ],
  "Report_Coordinator_Event_Recorder": 1,
  "Report_Coordinator_Event_Recorder_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ]
}

Report_Coordinator_Event_Recorder_Ignore_Events_In_List

boolean

0

1

0

If set to false (0), only the events listed in the Report_Coordinator_Event_Recorder_Events array will be included in the ReportCoordinatorEventRecorder.csv output report. If set to true (1), only the events listed in the array will be excluded, and all other events will be included. If you want to return all events from the simulation, leave the events array empty.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

{
  "Custom_Coordinator_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ],
  "Report_Coordinator_Event_Recorder": 1,
  "Report_Coordinator_Event_Recorder_Events": [
    "Coordinator_Event_1",
    "Coordinator_Event_2",
    "Coordinator_Event_3"
  ],
  "Report_Coordinator_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder

boolean

0

1

0

Set to 1 to generate the report.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_End_Day

float

0

3.40282e+38

3.40282e+38

The day of the simulation to stop collecting data.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Events

array of strings

NA

NA

[]

The list of events to include or exclude in the ReportEventRecorder.csv output report, based on how Report_Event_Recorder_Ignore_Events_In_List is set. See Event list for a list of all possible built-in events. Custom_Individual_Events may also be included. Warning: If the list is empty and Report_Event_Recorder_Ignore_Events_In_List is set to 0, no events will be returned.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Ignore_Events_In_List

boolean

0

1

0

If set to false (0), only the events listed in Report_Event_Recorder_Events will be included in the output report. If set to true (1), only the events listed in Report_Event_Recorder_Events will be excluded, and all other events will be included. To return all events from the simulation, set this value to 1 and leave the the Report_Event_Recorder_Events array empty.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Individual_Properties

array of strings

NA

NA

[]

An array of optional individual property (IP) keys to be added to the report. One column will be added for each IP Key listed, indicating the individual’s value for that IP Key at the time of the event. See Individual and node properties for details on setting individual properties.

{
  "Report_Event_Recorder_Individual_Properties": [
    "Accessibility",
    "Risk"
  ]
}

Report_Event_Recorder_Max_Age_Years

float

0

9.3228e+35

9.3228e+35

Maximum age in years of people to collect data on.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Min_Age_Years": 5,
  "Report_Event_Recorder_Max_Age_Years": 10,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Min_Age_Years

float

0

9.3228e+35

0

Minimum age in years of people to collect data on.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Min_Age_Years": 5,
  "Report_Event_Recorder_Max_Age_Years": 10,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Must_Have_Intervention

string

NA

NA

“”

The name of the intervention that the individual must have in order to be included in the report. Leave the string empty (default value) to not include interventions in the selection criteria. See Individual-level interventions for more information.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Min_Age_Years": 5,
  "Report_Event_Recorder_Max_Age_Years": 10,
  "Report_Event_Recorder_Must_Have_IP_Key_Value": "Risk:LOW",
  "Report_Event_Recorder_Must_Have_Intervention": "UsageDependentBednet",
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Must_Have_IP_Key_Value

string

NA

NA

“”

An individual property (IP) Key:Value pair that an individual must have in order to be included in the report. Leave the string empty (default value) to not include IPs in the selection criteria. See Individual and node properties for more information.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Min_Age_Years": 5,
  "Report_Event_Recorder_Max_Age_Years": 10,
  "Report_Event_Recorder_Must_Have_IP_Key_Value": "Risk:LOW",
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_Node_IDs_Of_Interest

array of integers

0

2.14748e+09

[]

Data will be collected for the nodes in this list. Leave the array empty (default value) to collect data on all nodes.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Node_IDs_Of_Interest": [
    2,
    7
  ],
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Event_Recorder_PropertyChange_IP_Key_Of_Interest

string

NA

NA

“”

If the string is not empty, then the recorder will add the PropertyChange event to the list of events that the report is listening to. However, it will only record the events where the property changed the value of the given key.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_PropertyChange_IP_Key_Of_Interest": "Risk"
}

Report_Event_Recorder_Start_Day

float

0

3.40282e+38

0

The day of the simulation to start collecting data.

{
  "Report_Event_Recorder": 1,
  "Report_Event_Recorder_Start_Day": 365,
  "Report_Event_Recorder_End_Day": 730,
  "Report_Event_Recorder_Events": [
    "VaccinatedA",
    "VaccineExpiredA",
    "VaccinatedB",
    "VaccineExpiredB"
  ],
  "Report_Event_Recorder_Ignore_Events_In_List": 0
}

Reporting_Interval

float

1

1000000

1000000

Used by reports and custom reports. Defines the cadence of the report by specifying how many time steps to collect data before writing to the file.

{
  "Max_Number_Reports": 15,
  "Report_Description": "Day0",
  "Reporting_Interval": 73
}

Report_Node_Event_Recorder

boolean

0

1

0

Enables or disables the ReportNodeEventRecorder.csv output report. When enabled (set to 1) reports will be generated for the broadcasted valid node events, as specified in Report_Node_Event_Recorder_Events.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

{
  "Custom_Node_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder": 1,
  "Report_Node_Event_Recorder_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ]
}

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.

{
  "Custom_Node_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder": 1,
  "Report_Node_Event_Recorder_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder_Ignore_Events_In_List": 0
}

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. If you want to return all node events from the simulation, leave the node events array empty.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

Value

Events array

Output file

0

No events

No events

0

One or more events

Only the listed events.

1

No events

All events occurring in the simulation.

1

One or more events

All simulation events occurring in the simulation, except for those listed.

{
  "Custom_Node_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder": 1,
  "Report_Node_Event_Recorder_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Node_Event_Recorder_Node_Properties

array of strings

NA

NA

[]

Specifies 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.

{
  "Custom_Node_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder": 1,
  "Report_Node_Event_Recorder_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder_Ignore_Events_In_List": 0,
  "Report_Node_Event_Recorder_Node_Properties": [
    "Geographic"
  ]
}

Report_Node_Event_Recorder_Stats_By_IPs

array of strings

NA

NA

[]

Specifies an array of (optional) individual property keys, as defined in IndividualProperties in the demographics file, to be added to the ReportNodeEventRecorder.csv output report. For each key:value pair there will be two additional columns (Key:Value:NumIndividuals, Key:Value:NumInfected) added to the report. For example, with a Risk property key assigned the values of LOW and HIGH there would then be four additional columns (Risk:LOW:NumIndividuals, Risk:LOW:NumInfected, Risk:HIGH:NumIndividuals, Risk:HIGH:NumInfected). An empty array equals no additional columns added.

{
  "Custom_Node_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder": 1,
  "Report_Node_Event_Recorder_Events": [
    "Node_Event_1",
    "Node_Event_2"
  ],
  "Report_Node_Event_Recorder_Ignore_Events_In_List": 0,
  "Report_Node_Event_Recorder_Node_Properties": [
    "Geographic"
  ],
  "Report_Node_Event_Recorder_Stats_By_IPs": [
    "Risk"
  ]
}

Report_Surveillance_Event_Recorder

boolean

0

1

0

Enables or disables the ReportSurveillanceEventRecorder.csv output report. When enabled (set to 1) reports will be generated for the broadcasted valid coordinator events, as specified in Report_Surveillance_Event_Recorder_Events.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

{
  "Custom_Coordinator_Events": [
    "Start_ACF",
    "Start_SIA_2",
    "Start_SIA_4",
    "Ind_Start_SIA_2",
    "Ind_Start_SIA_4",
    "Respond_To_Surveillance"
  ],
  "Report_Surveillance_Event_Recorder": 1,
  "Report_Surveillance_Event_Recorder_Events": [
    "Respond_To_Surveillance"
  ]
}

Report_Surveillance_Event_Recorder_Events

array of strings

NA

NA

[]

The list of events to include or exclude in the ReportSurveillanceEventRecorder.csv output report, based on how Report_Surveillance_Event_Recorder_Ignore_Events_In_List is set. This list must not be empty and is dependent upon Report_Surveillance_Event_Recorder being enabled.

{
  "Custom_Coordinator_Events": [
    "Start_ACF",
    "Start_SIA_2",
    "Start_SIA_4",
    "Ind_Start_SIA_2",
    "Ind_Start_SIA_4",
    "Respond_To_Surveillance"
  ],
  "Report_Surveillance_Event_Recorder": 1,
  "Report_Surveillance_Event_Recorder_Events": [
    "Respond_To_Surveillance"
  ]
}

Report_Surveillance_Event_Recorder_Ignore_Events_In_List

boolean

0

1

0

If set to false (0), only the events listed in the Report_Surveillance_Event_Recorder_Events array will be included in the ReportSurveillanceEventRecorder.csv output report. If set to true (1), only the events listed in the array will be excluded, and all other events will be included. If you want to return all events from the simulation, leave the events array empty.

Note: This configuration parameter is currently in beta release and has not yet been fully tested.

Value

Events array

Output file

0

No events

No events

0

One or more events

Only the listed events.

1

No events

All events occurring in the simulation.

1

One or more events

All simulation events occurring in the simulation, except for those listed.

{
  "Custom_Coordinator_Events": [
    "Start_ACF",
    "Start_SIA_2",
    "Start_SIA_4",
    "Ind_Start_SIA_2",
    "Ind_Start_SIA_4",
    "Respond_To_Surveillance"
  ],
  "Report_Surveillance_Event_Recorder": 1,
  "Report_Surveillance_Event_Recorder_Events": [
    "Respond_To_Surveillance"
  ],
  "Report_Surveillance_Event_Recorder_Ignore_Events_In_List": 0
}

Report_Surveillance_Event_Recorder_Stats_By_IPs

array of strings

NA

NA

[]

Specifies an array of (optional) individual property keys, as defined in IndividualProperties in the demographics file, to be added to the ReportSurveillanceEventRecorder.csv output report. For each key:value pair there will be two additional columns (Key:Value:NumIndividuals, Key:Value:NumInfected) added to the report. For example, with a Risk property key assigned the values of LOW and HIGH there would then be four additional columns (Risk:LOW:NumIndividuals, Risk:LOW:NumInfected, Risk:HIGH:NumIndividuals, Risk:HIGH:NumInfected). An empty array equals no additional columns added.

{
  "Custom_Coordinator_Events": [
    "Start_ACF",
    "Start_SIA_2",
    "Start_SIA_4",
    "Ind_Start_SIA_2",
    "Ind_Start_SIA_4",
    "Respond_To_Surveillance"
  ],
  "Report_Surveillance_Event_Recorder": 1,
  "Report_Surveillance_Event_Recorder_Events": [
    "Respond_To_Surveillance"
  ],
  "Report_Surveillance_Event_Recorder_Stats_By_IPs": []
}

Spatial_Output_Channels

array of strings

NA

NA

[]

An array of channel names for spatial output by node and time step. The data from each channel will be written to a separate binary file. Enable_Spatial_Output must be set to true (1). Possible values are:

Air_Temperature

Data related to air temperature.

Births

Data related to the number of births.

Campaign_Cost

Data related to the costs of a campaign.

Disease_Deaths

Data related to the number of deaths due to disease.

Human_Infectious_Reservoir

Data related to the total infectiousness of the population.

Infections

The fraction of the population currently infected.

Land_Temperature

Data related to the average land temperature over all nodes.

New_Infections

Data related to the presence of new infections.

New_Reported_Infections

Data related to the presence of reported new infections.

Population

Data related to the total population in the simulation.

Prevalence

Data related to the fraction of the population that is infected.

Rainfall

Data related to the presence of rainfall.

Relative_Humidity

Data related to the presence of relative humidity.

{
  "Spatial_Output_Channels": [
    "Prevalence",
    "New_Infections"
  ]
}

Start_Day

float

0

3.40282e+38

0

The day to start collecting data for the report. Used in all reports that are subclasses of BaseEventReport, such as: ReportEventCounter, MalariaTransmissionReport, and BaseEventReportIntervalOutput.

{
  "class": "ReportEventCounter",
  "Filename_Suffix": "",
  "Start_Day": 0,
  "End_Day": 1000,
  "Node_IDs_Of_Interest": [],
  "Min_Age_Years": 0,
  "Max_Age_Years": 1000,
  "Must_Have_IP_Key_Value": "",
  "Must_Have_Intervention": "",
  "Event_Trigger_List": [
    "Emigrating",
    "Immigrating",
    "NewInfectionEvent"
  ]
}