Skip to content

outdoor_node_emanator

add_outdoor_node_emanator_scheduled(campaign, killing_initial_effect, killing_box_duration, killing_decay_time_constant, repelling_initial_effect, repelling_box_duration, repelling_decay_time_constant, start_day, spray_coverage=1.0, node_ids=None, repetitions=1, timesteps_between_repetitions=365, node_property_restrictions=None, receiving_broadcast_event=None, insecticide='', cost=0, new_property_value='', intervention_name='OutdoorNodeEmanator')

Add a scheduled OutdoorNodeEmanator intervention.

Parameters:

Name Type Description Default
campaign EMODCampaign

object for building, modifying, and writing campaign configuration files.

required
start_day int

The day the intervention is given out.

required
node_ids list

List of node ids representing nodes to target with the intervention. [] or None indicates all nodes will be targeted.

None
repetitions int

The number of times an intervention is given, used with timesteps_between_repetitions. -1 means the intervention repeats forever. Sets Number_Repetitions

1
timesteps_between_repetitions int

The interval, in timesteps, between repetitions. Ignored if repetitions = 1. Sets Timesteps_Between_Repetitions.

365
node_property_restrictions list

A list of dictionaries of NodeProperties, which are needed for the node to receive the intervention. Sets the Node_Property_Restrictions.

None
receiving_broadcast_event str

Optional. BroadcastNodeEvent that's sent out when OutdoorNodeEmanator is received.

None
killing_initial_effect float

Initial strength of the Killing effect. The effect may decay over time.

required
killing_box_duration float

Box duration of effect in days before the decay of Killing Initial_Effect.

required
killing_decay_time_constant float

The exponential decay length, in days of the Killing Initial_Effect.

required
repelling_initial_effect float

Initial strength of the Repelling effect. The effect may decay over time.

required
repelling_box_duration float

Box duration of effect in days before the decay of Repelling Initial_Effect.

required
repelling_decay_time_constant float

The exponential decay length, in days of the Repelling Initial_Effect.

required
insecticide str

The name of the insecticide defined in config.Insecticides for this intervention. If insecticides are being used, then this must be defined as one of those values. If they are not being used, then this does not needed to be specified or can be empty string. It cannot have a value if config.Insecticides does not define anything.

''
cost float

Unit cost per OutdoorNodeEmanator

0
new_property_value str

New NodeProperty value to assign to nodes receiving this intervention. Must be in format of "PropertyName:Value", e.g. "EmanatorNode:Yes".

''
intervention_name str

The optional name used to refer to this intervention as a means to differentiate it from others that use the same class.

'OutdoorNodeEmanator'
Source code in emodpy_malaria/interventions/outdoor_node_emanator.py
def add_outdoor_node_emanator_scheduled(campaign,
                                        killing_initial_effect: float,
                                        killing_box_duration: float,
                                        killing_decay_time_constant: float,
                                        repelling_initial_effect: float,
                                        repelling_box_duration: float,
                                        repelling_decay_time_constant: float,
                                        start_day: int,
                                        spray_coverage: float = 1.0,
                                        node_ids: list = None,
                                        repetitions: int = 1,
                                        timesteps_between_repetitions: int = 365,
                                        node_property_restrictions: list = None,
                                        receiving_broadcast_event: str = None,
                                        insecticide: str = "",
                                        cost: float = 0,
                                        new_property_value: str = "",
                                        intervention_name: str = "OutdoorNodeEmanator"
                                        ):
    """
        Add a scheduled OutdoorNodeEmanator intervention.

    Args:
        campaign (emodpy.campaign.emod_campaign.EMODCampaign): object for building, modifying, and writing campaign configuration files.
        start_day: The day the intervention is given out.
        node_ids: List of node ids representing nodes to target with the intervention. [] or None indicates all
            nodes will be targeted.
        repetitions: The number of times an intervention is given, used with timesteps_between_repetitions. -1 means
            the intervention repeats forever. Sets **Number_Repetitions**
        timesteps_between_repetitions: The interval, in timesteps, between repetitions. Ignored if repetitions = 1.
            Sets **Timesteps_Between_Repetitions**.
        node_property_restrictions: A list of dictionaries of NodeProperties, which are needed for the node
            to receive the intervention. Sets the **Node_Property_Restrictions**.
        receiving_broadcast_event: Optional. BroadcastNodeEvent that's sent out when OutdoorNodeEmanator is
            received.
        killing_initial_effect: Initial strength of the Killing effect. The effect may decay over time.
        killing_box_duration: Box duration of effect in days before the decay of Killing Initial_Effect.
        killing_decay_time_constant: The exponential decay length, in days of the Killing Initial_Effect.
        repelling_initial_effect: Initial strength of the Repelling effect. The effect may decay over time.
        repelling_box_duration: Box duration of effect in days before the decay of Repelling Initial_Effect.
        repelling_decay_time_constant: The exponential decay length, in days of the Repelling Initial_Effect.
        insecticide: The name of the insecticide defined in config.Insecticides for this intervention.
            If insecticides are being used, then this must be defined as one of those values.  If they are not
            being used, then this does not needed to be specified or can be empty string.  It cannot have a
            value if config.Insecticides does not define anything.
        cost: Unit cost per OutdoorNodeEmanator
        new_property_value: New NodeProperty value to assign to nodes receiving this intervention. Must be
            in format of "PropertyName:Value", e.g. "EmanatorNode:Yes".
        intervention_name: The optional name used to refer to this intervention as a means to differentiate it from
            others that use the same class.
    """
    intervention = _outdoor_node_emanator(campaign,
                                          killing_initial_effect=killing_initial_effect,
                                          killing_box_duration=killing_box_duration,
                                          killing_decay_time_constant=killing_decay_time_constant,
                                          repelling_initial_effect=repelling_initial_effect,
                                          repelling_box_duration=repelling_box_duration,
                                          repelling_decay_time_constant=repelling_decay_time_constant,
                                          cost=cost,
                                          insecticide=insecticide,
                                          new_property_value=new_property_value,
                                          intervention_name=intervention_name)

    if receiving_broadcast_event:
        broadcast_node_event = s2c.get_class_with_defaults("BroadcastNodeEvent", campaign.schema_path)
        broadcast_node_event.Broadcast_Event = receiving_broadcast_event
        intervention = [intervention, broadcast_node_event]

    add_campaign_event(campaign,
                       start_day=start_day,
                       node_ids=node_ids,
                       repetitions=repetitions,
                       timesteps_between_repetitions=timesteps_between_repetitions,
                       node_property_restrictions=node_property_restrictions,
                       node_intervention=intervention)