Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle confusion between occupants and residents losses (fatalities, injuries, homeless) #8976

Closed
nicolepaul opened this issue Sep 1, 2023 · 4 comments · Fixed by #8981
Closed
Assignees
Labels
Milestone

Comments

@nicolepaul
Copy link
Contributor

Overview

It seems to be that there is a lot of inconsistency with how we treat occupants and residents losses. There are some cases where we are using the incorrect field. For example:

Explanation

Casualties (fatalities, injuries) using occupants

For the case of casualties (fatalities, injuries), we care about the number of occupants in the building at the time of the earthquake. For example, let's consider a person that lives in a highly vulnerable residence, but works a 9-5 job in a resilient office building. If the earthquake occurs at 2am and their house collapses, they are likely to be injured or killed. However, if the earthquake occurs at 11am and their office building experiences little damage, they are unlikely to be injured or killed. Moreover, if the earthquake occurs at 8:30am, they are likely to be transiting to their job and may be outdoors.

For a scenario_damage or scenario_risk calculation, we are likely to know the time_period of the earthquake. As such, we will se the parameter in the job configuration (e.g., time_period=night for the 2am earthquake, time_period=day for the 11am earthquake, and time_period=transit for the 8:30am earthquake). When time_period is specified, we should use that for the occupants risk calculations. This way we use the relevant occupant count for that time of earthquake.

For an event_based_damage or event_based_risk calculation, the earthquake is equally likely to happen at any time of day (day, night, or transit). Therefore, it makes sense to use the time-averaged occupants of the buildings (occupants_avg). In this way, we account for the fact that sometimes people are in their residence, in their workplace, visiting other building types (e.g., shops, schools), or are outdoors. If we assumed all earthquakes were at night, we would likely overestimate our risk (as residences tend to be more fragile than other building types). Alternatively, if we assumed all earthquakes happened during transit hours, we would likely underestimate our risk.

Homeless using residents

In contrast to casualty calculations, we don't care whether the normal inhabitants (residents) of a given residence are actively occupying their home (or some other building type) during the time of the earthquake. If their home is damaged such that it is uninhabitable, it doesn't matter if they are in the home, at their workplace, or even on vacation. Because their home has been damaged such that it is uninhabitable, they are considered to be rendered homeless. We do not need to use any time-based calculations here.

Before we introduced the residents loss type, it was a common assumption to assume residents == occupants_night. However, we no longer need to make this assumption. If we were to assume this, we would likely underestimate our risk slightly as <100% of residents are in their homes at night.

Suggested actions

I suggest we do two things:

  • Resolve the confusion between occupants (and their associated time periods) and residents loss types
  • Add new tests to explicitly confirm these calculations are as expected

In summary, we should have:

  • Homeless calculations always use the residents field
  • Fatality and injury calculations use the relevant occupants field
    • occupants_<time_period> if a time_period is specified in the job configuration (scenario calculations)
    • occupants_avg otherwise
@raoanirudh
Copy link
Member

raoanirudh commented Sep 3, 2023

  • Homeless calculations always use the residents field
  • Fatality and injury calculations use the relevant occupants field
    • occupants_<time_period> if a time_period is specified in the job configuration (scenario calculations)
    • occupants_avg otherwise

@nicolepaul can you confirm that at least the first item is resolved by #8972?

@ptormene
Copy link
Member

ptormene commented Sep 4, 2023

I assume with time_period @nicolepaul means the existing time_event parameter, that is avg by default, so we can always use occupants_<time_event>.

@nicolepaul
Copy link
Contributor Author

nicolepaul commented Sep 4, 2023

  • Homeless calculations always use the residents field

  • Fatality and injury calculations use the relevant occupants field

    • occupants_<time_period> if a time_period is specified in the job configuration (scenario calculations)
    • occupants_avg otherwise

@nicolepaul can you confirm that at least the first item is resolved by #8972?

Yes, LGTM.

@ptormene ptormene self-assigned this Sep 4, 2023
@ptormene ptormene added the bug label Sep 4, 2023
@ptormene ptormene added this to the Engine 3.18.0 milestone Sep 4, 2023
@nicolepaul
Copy link
Contributor Author

I am including some test cases and their expected output here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants