VectorSurveillanceEventCoordinator
The VectorSurveillanceEventCoordinator coordinator class samples the vector population at regular intervals and reports allele frequencies or genome fractions. It is configured with a Counter object that specifies the species, gender, sample size, and counting method, and a Responder object that can broadcast an event each time a survey is completed. Sampling is controlled by trigger events: the coordinator begins sampling when an event from Start_Trigger_Condition_List is received, and stops when an event from Stop_Trigger_Condition_List is received or the Duration expires.
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 | Type | Min | Max | Default | Description |
|---|---|---|---|---|---|
| Coordinator_Name | string | NA | NA | VectorSurveillanceEventCoordinator | The name of the event coordinator, which is useful in output reports such as ReportCoordinatorEventRecorder.csv and ReportSurveillanceEventRecorder.csv. EMOD does not ensure that this name is unique. |
| Count_Type | enum | NA | NA | ALLELE_FREQ | The attribute to count in the mosquitoes being sampled. Possible values are: ALLELE_FREQ Calculates the frequency of every allele in the sampled population. This accounts for the occurrences of the allele where there can be two per vector (i.e. you can get 0, 1, or 2 from each vector). GENOME_FRACTION Calculates the fraction of each (grouped by similar) genome in the sampled population. |
| Counter | json object | NA | NA | NA | Configuration dictionary of the sampling parameters for the vector population. This object uses the VectorCounter type which includes parameters for species, gender, count type, sample size, and update period. |
| Duration | float | -1 | 3.40282E+38 | -1 | The number of days from the creation of the coordinator until coordinator expires. Once this number of days has passed, the event coordinator will unregister for events and expire. A value of -1 (the default) keeps the coordinator running indefinitely. |
| Gender | enum | NA | NA | VECTOR_FEMALE | The sex of the vectors to sample. Possible values are: VECTOR_MALE VECTOR_FEMALE * VECTOR_BOTH_GENDERS |
| Responder | json object | NA | NA | NA | A JSON object for specifying additional parameters on how the coordinator reacts to the counting of the vectors. This is in addition to the coordinator broadcasting the coordinator events returned by the user's Python code. |
| Sample_Size_Constant | float | 0 | 3.40282E+38 | 6 | The number of vectors to sample when Sample_Size_Distribution is set to CONSTANT_DISTRIBUTION. If the population is less than this number, then the entire population will be selected. |
| Sample_Size_Distribution | enum | NA | NA | NOT_INITIALIZED | The distribution type to use for determining the number of vectors in the sample for each sampling. If the population is less than the drawn number, then the entire population will be selected. Possible values are: NOT_INITIALIZED No distribution set. CONSTANT_DISTRIBUTION Use the same value for each sampling. Set Sample_Size_Constant. UNIFORM_DISTRIBUTION Use a uniform distribution with a given minimum and maximum. Set Sample_Size_Max and Sample_Size_Min. GAUSSIAN_DISTRIBUTION The distribution is Gaussian (or normal). Values are resampled to ensure >= 0. Set Sample_Size_Gaussian_Mean and Sample_Size_Gaussian_Std_Dev. EXPONENTIAL_DISTRIBUTION The distribution is exponential with a given mean. Set Sample_Size_Exponential. WEIBULL_DISTRIBUTION Use a Weibull distribution with a given shape and scale. Set Sample_Size_Kappa and Sample_Size_Lambda. LOG_NORMAL_DISTRIBUTION Use a log-normal distribution with a given mean and width. Set Sample_Size_Log_Normal_Mu and Sample_Size_Log_Normal_Sigma. POISSON_DISTRIBUTION Use a Poisson distribution with a given mean. Set Sample_Size_Poisson_Mean. DUAL_CONSTANT_DISTRIBUTION Use a distribution where some instances are set to a value of zero and the rest to a given value. Set Sample_Size_Proportion_0 and Sample_Size_Peak_2_Value. This distribution does not use the parameters set for CONSTANT_DISTRIBUTION. DUAL_EXPONENTIAL_DISTRIBUTION Use two exponential distributions with given means. Set Sample_Size_Mean_1, Sample_Size_Mean_2, and Sample_Size_Proportion_1. This distribution does not use the parameters set for EXPONENTIAL_DISTRIBUTION. |
| Sample_Size_Exponential | float | 0 | 3.40282E+38 | 6 | The mean sample size when Sample_Size_Distribution is set to EXPONENTIAL_DISTRIBUTION. |
| Sample_Size_Gaussian_Mean | float | 0 | 3.40282E+38 | 6 | The mean sample size when Sample_Size_Distribution is set to GAUSSIAN_DISTRIBUTION. |
| Sample_Size_Gaussian_Std_Dev | float | 1.17549E-38 | 3.40282E+38 | 1 | The standard deviation of the sample size when Sample_Size_Distribution is set to GAUSSIAN_DISTRIBUTION. |
| Sample_Size_Kappa | float | 1.17549E-38 | 3.40282E+38 | 1 | The shape value for the sample size when Sample_Size_Distribution is set to WEIBULL_DISTRIBUTION. |
| Sample_Size_Lambda | float | 1.17549E-38 | 3.40282E+38 | 1 | The scale value for the sample size when Sample_Size_Distribution is set to WEIBULL_DISTRIBUTION. |
| Sample_Size_Log_Normal_Mu | float | -3.40282E+38 | 3.40282E+38 | 6 | The mean of the sample size when Sample_Size_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
| Sample_Size_Log_Normal_Sigma | float | -3.40282E+38 | 3.40282E+38 | 1 | The width of the sample size when Sample_Size_Distribution is set to LOG_NORMAL_DISTRIBUTION. |
| Sample_Size_Max | float | 0 | 3.40282E+38 | 1 | The maximum sample size when Sample_Size_Distribution is set to UNIFORM_DISTRIBUTION. |
| Sample_Size_Mean_1 | float | 1.17549E-38 | 3.40282E+38 | 1 | The mean of the first exponential distribution when Sample_Size_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
| Sample_Size_Mean_2 | float | 1.17549E-38 | 3.40282E+38 | 1 | The mean of the second exponential distribution when Sample_Size_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
| Sample_Size_Min | float | 0 | 3.40282E+38 | 0 | The minimum sample size when Sample_Size_Distribution is set to UNIFORM_DISTRIBUTION. |
| Sample_Size_Peak_2_Value | float | 0 | 3.40282E+38 | 1 | The sample size value to assign to the remaining instances when Sample_Size_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
| Sample_Size_Poisson_Mean | float | 0 | 3.40282E+38 | 6 | The mean sample size when Sample_Size_Distribution is set to POISSON_DISTRIBUTION. |
| Sample_Size_Proportion_0 | float | 0 | 1 | 1 | The proportion of instances to assign a value of zero when Sample_Size_Distribution is set to DUAL_CONSTANT_DISTRIBUTION. |
| Sample_Size_Proportion_1 | float | 0 | 1 | 1 | The proportion of instances in the first exponential distribution when Sample_Size_Distribution is set to DUAL_EXPONENTIAL_DISTRIBUTION. |
| Species | string | NA | NA | UNINITIALIZED STRING | The name of the vector species to sample. This must match a species name defined in the Vector_Species_Params configuration parameters. |
| Start_Trigger_Condition_List | array of strings | NA | NA | [] | A list of coordinator events that when heard will start the VectorSurveillanceEventCoordinator sampling every Update_Period, starting at the time the trigger is received. The events must be defined in Custom_Coordinator_Events in the simulation configuration file. |
| Stop_Trigger_Condition_List | array of strings | NA | NA | [] | A list of coordinator events that when heard will cause the Counter to stop sampling and will keep the Responder from responding. The coordinator does not expire until the Duration has expired. The list can be empty. The events must be defined in Custom_Coordinator_Events in the simulation configuration file. |
| Survey_Completed_Event | string | NA | NA | "" | Optional coordinator-level event that will be broadcast every time the VectorSurveillanceEventCoordinator surveys the vector population. The event must be defined in Custom_Coordinator_Events in the simulation configuration file. |
| Update_Period | float | 0 | 999999 | 30 | The number of days between sampling of the mosquito population. If the mosquitoes are sampled on day 1 and the period is 30, then the next sample will be taken on day 31. |
{
"Use_Defaults": 1,
"Events": [
{
"class": "CampaignEvent",
"Start_Day": 1,
"Nodeset_Config": {
"class": "NodeSetAll"
},
"Event_Coordinator_Config": {
"class": "VectorSurveillanceEventCoordinator",
"Coordinator_Name": "Allele_Frequency_Monitor",
"Duration": -1,
"Start_Trigger_Condition_List": [
"Start_Vector_Surveillance"
],
"Stop_Trigger_Condition_List": [],
"Counter": {
"Count_Type": "ALLELE_FREQ",
"Species": "gambiae",
"Gender": "VECTOR_FEMALE",
"Sample_Size_Distribution": "CONSTANT_DISTRIBUTION",
"Sample_Size_Constant": 100,
"Update_Period": 30
},
"Responder": {
"Survey_Completed_Event": "Vector_Survey_Done"
}
}
}
]
}