DelayEventCoordinator#
The DelayEventCoordinator coordinator class insert delays into coordinator event chains. This campaign event is typically used with BroadcastCoordinatorEvent to broadcast events after the delays.
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.
The table below describes all possible parameters with which this class can be configured. The JSON example that follows shows one potential configuration.
Parameter |
Data type |
Minimum |
Maximum |
Default |
Description |
Example |
---|---|---|---|---|---|---|
Coordinator_Name |
string |
NA |
NA |
DelayEventCoordinator |
The unique identifying coordinator name, which is useful with the output report, ReportCoordinatorEventRecorder.csv. |
{
"Event_Coordinator_Config": {
"Coordinator_Name": "DelayEventCoordinator_10",
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1",
"Delay_Period_Distribution": "FIXED_DURATION",
"Delay_Period_Fixed": 25,
"Duration": 100,
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"class": "DelayEventCoordinator"
},
"Event_Name": "Delay",
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent",
"comment": "Delay"
}
|
Delay_Complete_Event |
string |
NA |
NA |
NA |
The delay completion event to be included in the ReportCoordinatorEventRecorder.csv output report, upon completion of the delay period. |
{
"Event_Coordinator_Config": {
"Coordinator_Name": "DelayEventCoordinator_10",
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1",
"Delay_Distribution": "GAUSSIAN_DURATION",
"Delay_Period_Mean": 25,
"Delay_Period_Std_Dev": 5,
"Duration": 100,
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"class": "DelayEventCoordinator"
},
"Event_Name": "Delay",
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent",
"comment": "Delay"
}
|
Delay_Period_Constant |
float |
0 |
3.40282E+38 |
-1 |
The delay period to use for all interventions, in days, when Delay_Period_Distribution is set to CONSTANT_DISTRIBUTION. |
{
"Delay_Period_Distribution": "CONSTANT_DISTRIBUTION",
"Delay_Period_Constant": 8
}
|
Delay_Period_Distribution |
enum |
NA |
NA |
NOT_INITIALIZED |
The distribution type to use for assigning the delay period for distributing interventions. Each assigned value is a random draw from the distribution. Possible values are:
|
{
"Delay_Period_Distribution": "GAUSSIAN_DISTRIBUTION",
"Delay_Period_Gaussian_Mean": 8,
"Delay_Period_Gaussian_Std_Dev": 1.5
}
|
Delay_Period_Exponential |
float |
0 |
3.40282E+38 |
-1 |
The mean of the delay period, in days, when Delay_Period_Distribution is set to EXPONENTIAL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "EXPONENTIAL_DISTRIBUTION",
"Delay_Period_Exponential": 4.25
}
|
Delay_Period_Gaussian_Mean |
float |
0 |
3.40282E+38 |
-1 |
The mean of the delay period, in days, when Delay_Period_Distribution is set to GAUSSIAN_DISTRIBUTION. |
{
"Delay_Period_Distribution": "GAUSSIAN_DISTRIBUTION",
"Delay_Period_Gaussian_Mean": 8,
"Delay_Period_Gaussian_Std_Dev": 1.5
}
|
Delay_Period_Gaussian_Std_Dev |
float |
1.17549E-38 |
3.40282E+38 |
-1 |
The standard deviation of the delay period, in days, when Delay_Period_Distribution is set to GAUSSIAN_DISTRIBUTION. |
{
"Delay_Period_Distribution": "GAUSSIAN_DISTRIBUTION",
"Delay_Period_Gaussian_Mean": 8,
"Delay_Period_Gaussian_Std_Dev": 1.5
}
|
Delay_Period_Kappa |
float |
1.17549E-38 |
3.40282E+38 |
-1 |
The shape value for the delay period, in days, when Delay_Period_Distribution is set to WEIBULL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "WEIBULL_DISTRIBUTION",
"Delay_Period_Kappa": 0.9,
"Delay_Period_Lambda": 1.5
}
|
Delay_Period_Lambda |
float |
1.17549E-38 |
3.40282E+38 |
-1 |
The scale value for the delay period, in days, when Delay_Period_Distribution is set to WEIBULL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "WEIBULL_DISTRIBUTION",
"Delay_Period_Kappa": 0.9,
"Delay_Period_Lambda": 1.5
}
|
Delay_Period_Log_Normal_Mu |
float |
-3.40282e+38 |
1.70141e+38 |
3.40282e+38 |
The mean of the natural log of the delay period, in days, when Delay_Period_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "LOG_NORMAL_DISTRIBUTION",
"Delay_Period_Log_Normal_Mu": 9,
"Delay_Period_Log_Normal_Sigma": 2
}
|
Delay_Period_Log_Normal_Sigma |
float |
-3.40282e+38 |
1.70141e+38 |
3.40282E+38 |
The standard deviation of the natural log of the delay period, in days, when Delay_Period_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "LOG_NORMAL_DISTRIBUTION",
"Delay_Period_Log_Normal_Mu": 9,
"Delay_Period_Log_Normal_Sigma": 2
}
|
Delay_Period_Max |
float |
0 |
3.40282E+38 |
-1 |
The maximum time delay period (in days). This is required if Delay_Distribution is UNIFORM_DURATION. This must be greater than or equal to Delay_Period_Min. |
{
"comment": "Delay",
"Event_Coordinator_Config": {
"class": "DelayEventCoordinator",
"Coordinator_Name": "DelayEventCoordinator_10",
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"Duration": 100,
"Delay_Distribution": "UNIFORM_DURATION",
"Delay_Period_Max": 30,
"Delay_Period_Min": 15,
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1"
},
"Event_Name": "Delay",
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent"
}
|
Delay_Period_Mean_1 |
float |
1.17549E-38 |
3.40282E+38 |
-1 |
The mean of the first exponential distribution, in days, when Delay_Period_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Delay_Period_Mean_1": 4,
"Delay_Period_Mean_2": 12,
"Delay_Period_Proportion_1": 0.2
}
|
Delay_Period_Mean_2 |
float |
1.17549E-38 |
3.40282E+38 |
-1 |
The mean of the second exponential distribution, in days, when Delay_Period_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Delay_Period_Mean_1": 4,
"Delay_Period_Mean_2": 12,
"Delay_Period_Proportion_1": 0.2
}
|
Delay_Period_Min |
float |
0 |
3.40282E+38 |
-1 |
The minimum time delay period (in days). This is required if Delay_Distribution is UNIFORM_DURATION. This must be less than or equal to Delay_Period_Max. |
{
"comment": "Delay",
"Event_Coordinator_Config": {
"class": "DelayEventCoordinator",
"Coordinator_Name": "DelayEventCoordinator_10",
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"Duration": 100,
"Delay_Distribution": "UNIFORM_DURATION",
"Delay_Period_Max": 30,
"Delay_Period_Min": 15,
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1"
},
"Event_Name": "Delay",
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent"
}
|
Delay_Period_Peak_2_Value |
float |
0 |
3.40282E+38 |
-1 |
The delay period value, in days, to assign to the remaining interventions when Delay_Period_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
{
"Delay_Period_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
"Delay_Period_Proportion_0": 0.25,
"Delay_Period_Peak_2_Value": 5
}
|
Delay_Period_Poisson_Mean |
float |
0 |
3.40282E+38 |
-1 |
The mean of the delay period, in days, when Delay_Period_Distribution is set to POISSON_DISTRIBUTION. |
{
"Delay_Period_Distribution": "POISSON_DISTRIBUTION",
"Delay_Period_Poisson_Mean": 5
}
|
Delay_Period_Proportion_0 |
float |
0 |
1 |
-1 |
The proportion of interventions to assign a value of zero delay when Delay_Period_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
{
"Delay_Period_Distribution": "DUAL_CONSTANT_DISTRIBUTION",
"Delay_Period_Proportion_0": 0.25,
"Delay_Period_Peak_2_Value": 5
}
|
Delay_Period_Proportion_1 |
float |
0 |
1 |
-1 |
The proportion of interventions in the first exponential distribution when Delay_Period_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
{
"Delay_Period_Distribution": "DUAL_EXPONENTIAL_DISTRIBUTION",
"Delay_Period_Mean_1": 4,
"Delay_Period_Mean_2": 12,
"Delay_Period_Proportion_1": 0.2
}
|
Duration |
float |
-1 |
3.40282e+38 |
-1 |
The number of days from when the delay event coordinator was created by the campaign event. Once the number of days has passed, the delay event coordinator will unregister for events and expire. The default value of ‘-1’ = never expire. |
{
"Event_Coordinator_Config": {
"Coordinator_Name": "DelayEventCoordinator_10",
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1",
"Delay_Period_Distribution": "FIXED_DURATION",
"Delay_Period_Fixed": 25,
"Duration": 100,
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"class": "DelayEventCoordinator"
},
"Event_Name": "Delay",
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent"
}
|
Start_Trigger_Condition_List |
array of strings |
NA |
NA |
NA |
The start trigger event condition list contains events defined in the Custom_Coordinator_Events config parameter that will trigger to start a new delay. If the delay event coordinator has already been triggered and is currently waiting for the duration of a delay, it will then ignore a new delay event. The list cannot be empty. |
{
"Event_Coordinator_Config": {
"Coordinator_Name": "DelayEventCoordinator_10",
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1",
"Delay_Period_Distribution": "FIXED_DURATION",
"Delay_Period_Fixed": 25,
"Duration": 100,
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"class": "DelayEventCoordinator"
},
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent",
"comment": "Delay"
}
|
Stop_Trigger_Condition_List |
array of strings |
NA |
NA |
NA |
The stop trigger event condition list contains events defined in the Custom_Coordinator_Events config parameter that will trigger to stop a delay period, but does not stop the delay event coordinator. The event is not broadcast. |
{
"Event_Coordinator_Config": {
"Coordinator_Name": "DelayEventCoordinator_10",
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1",
"Delay_Period_Distribution": "FIXED_DURATION",
"Delay_Period_Fixed": 25,
"Duration": 100,
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"class": "DelayEventCoordinator"
},
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent",
"comment": "Delay"
}
|
{
"Events": [
{
"comment": "Trigger to start Delay",
"class": "CampaignEvent",
"Start_Day": 2,
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Event_Coordinator_Config": {
"class": "BroadcastCoordinatorEvent",
"Coordinator_Name": "Coordnator_1",
"Cost_To_Consumer": 10,
"Broadcast_Event": "Coordinator_Event_1"
}
},
{
"comment": "restart Delay",
"class": "CampaignEvent",
"Start_Day": 10,
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Event_Coordinator_Config": {
"class": "BroadcastCoordinatorEvent",
"Coordinator_Name": "Coordnator_1",
"Cost_To_Consumer": 10,
"Broadcast_Event": "Coordinator_Event_1"
}
},
{
"comment": "Delay",
"Event_Coordinator_Config": {
"class": "DelayEventCoordinator",
"Coordinator_Name": "DelayEventCoordinator_10",
"Start_Trigger_Condition_List": [
"Coordinator_Event_1"
],
"Stop_Trigger_Condition_List": [],
"Duration": 100,
"Delay_Period_Distribution": "CONSTANT_DISTRIBUTION",
"Delay_Complete_Event": "Completion_Delayed_Coordinator_Event_1",
"Delay_Period_Constant": 25
},
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Start_Day": 1,
"Target_Demographic": "Everyone",
"class": "CampaignEvent"
}
],
"Use_Defaults": 1
}