pub(super) fn white_zone(
    infected_zone_size: f32,
    infected_zone: u8,
    buffer_zone_size: f32,
    buffer_zone: u8,
    white_zone_size: f32,
    white_zone: u8,
    managed_cells: PyObject,
    reaction_time: Option<u32>
) -> SystemWrapper
Expand description

Dynamic zoning scheme marking a buffer zone and a white zone around the infected zone

This zoning scheme is based on the full model state instead of tests of hunted animals and removed carcasses.

While the reaction time delays updating the zones, they are determined based on the current model state.

The same numeric identifier is assigned for fences, hunting and carcass removal.

Parameters:

infected_zone_size - size of the inner zone around infected cells, measured in cells

infected_zone - the numeric zone identifier assigned to cells which are part of the infected zone

buffer_zone_size - size of the buffer zone between infected and white zone, measured in cells

buffer_zone - the numeric zone identifier assigned to cells which are part of the buffer zone

white_zone_size - size of the outer zone beyond the buffer zone, measured in cells

white_zone - the numeric zone identifier assigned to cells which are part of the white zone

managed_cells - callback passes the x and y coordinates indicating whether that cell is being managed by this zoning scheme

reaction_time - number of ticks between infected animals or infectious carcasses being present in a managed cell and the zoning being updated