Skip to content

Shelter-in-place compliance is lost when a sheltering agent recovers from infection #159

@debog

Description

@debog

shelterStart() sets withdrawn once, for a shelter_compliance fraction of agents (src/AgentContainer.cpp). It is the only place shelter compliance is applied, and it is called once, on the order's start day:

if (amrex::Random(engine) < shelter_compliance) { withdrawn_ptr[i] = 1; }

The withdrawn attribute gets cleared on recovery (src/DiseaseStatus.H):

if (!marked_for_hosp_ptr[i] && !inHospital(i, ptd) && counter_ptr[i] == recovered_period) {
    status_ptr[i] = Status::immune;
    ...
    withdrawn_ptr[i] = 0;   // also cancels an active shelter-in-place order
}

There is no code path that re-sets withdrawn from shelter_compliance after recovery.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions