inasafe / inasafe

InaSAFE - QGIS plugin for estimating impact from natural disasters
www.inasafe.org
GNU General Public License v3.0
257 stars 136 forks source link

We need a full suite of report actions and notes #3057

Closed Charlotte-Morgan closed 6 years ago

Charlotte-Morgan commented 8 years ago

problem

In our review of the wallpaper, we noted that in some of our impact reports we are missing information about the hazard and exposure data in the notes, and actions for the action list.

proposed solution

we should populate definitions.py with actions and notes for all exposure definitions we should populate definitions.py with actions and notes for all hazard definitions

In some cases notes are included in the impact functions and it may not be necessary to add notes for all hazards or exposure elements.

The aim is to ensure that in every impact report there are some notes about the hazard and exposure element.

contributors

@fredychandra @easmetz @charlotte-morgan

Charlotte-Morgan commented 8 years ago

hi @easmetz - I've assigned this too you. I hope we can work on this with the team in Jakarta next week

easmetz commented 8 years ago
Hazard Notes/Actions
Generic
  • [ ] Notes
  • [ ] Actions
Earthquake
  • [ ] Notes
  • [ ] Actions
Flood
  • [ ] Notes
  • [ ] Actions
Volcanic Ash
  • [ ] Notes
  • [ ] Actions
Tsunami
  • [ ] Notes
  • [ ] Actions
Volcano
  • [ ] Notes
  • [ ] Actions
Exposure Notes/Actions
Land cover
  • [ ] Notes
  • [ ] Actions
People in buildings
  • [ ] Notes
  • [ ] Actions
Population
  • [ ] Notes
  • [ ] Actions
Road
  • [ ] Notes
  • [ ] Actions
Structure
  • [ ] Notes
  • [ ] Actions
Place
  • [ ] Notes
  • [ ] Actions
Charlotte-Morgan commented 8 years ago

Great list @easmetz; we can skip people in buildings for this week if you like :) Generic hazard might also be difficult

easmetz commented 8 years ago

Sounds good. I was planning on leaving Generic and People in Buildings until the end. I could've written the list according to how I have prioritised the hazards/exposures in my head, but I decided to write the list according to the order they appear in the code.

easmetz commented 8 years ago

@Charlotte-Morgan to write notes on hazard. @easmetz to write notes on exposure. @fredychandra to write action checklists.

timlinux commented 8 years ago

Just a quick brain dump from me: Maybe we should add notes for:

I wonder if it is also a good idea to mention that in all cases except EQ IF's impacts calculated are based on direct overlay / interpolation calculations and not on empirical analysis.

Another good general note is to mention that results may vary dramatically depending on the quality (spatial, temporal, attributes) of the input data used.

Charlotte-Morgan commented 8 years ago

Comment from Fredy - copied from #2920 Hi @easmetz and @Charlotte-Morgan

Please find the action list for Land Cover Analysis that I have proposed

2764 (comment)

@fredychandra - I think this comment should maybe be in a different ticket #3057

Charlotte-Morgan commented 8 years ago

@timlinux - question for you. I see that most of the hazard specific notes are in the IF because they use dynamic data, eg for the thresholds. My assumption is that these should stay there and that we should add similar notes to other IF if they are not present. I would like to ensure we also have notes that say when something is affected or not - we should probably make this a component of the exposure notes (thinking aloud here). ?? for two questions-ish

Charlotte-Morgan commented 8 years ago

More questions for @timlinux - how can we refer to a definition (eg for displaced people) in the notes and only get the definition relevant to the terminology in a specific IF

timlinux commented 8 years ago

@Charlotte-Morgan

@timlinux - question for you. I see that most of the hazard specific notes are in the IF because they use dynamic data, eg for the thresholds.

Correct

My assumption is that these should stay there and that we should add similar notes to other IF if they are not present.

Yes whenever we need to access specific information from the impact assessment the notes or actions need to come form inside the IF itself. Any IF can implement some of these methods to support adding data driven notes and actions to the list:

 def exposure_notes(self)
 def exposure_actions(self):
 def hazard_notes(self):
 def hazard_actions(self):

see https://github.com/inasafe/inasafe/blob/develop/safe/impact_functions/base.py#L440

I have an idea that in future we can remove the dual mode of implementing notes and actions both in IF and in definitions.py (in favour of having them just in definitions.py) but I need to spend a little time prototyping it to see if it will work. For now this is the way to do it.

An aside: For background we will probably want to implement this when we do the 7 princes since IF implementations will be largely generic in their implementation and rely on metadata from definitions.py to make them hazard and exposure relevant.

I would like to ensure we also have notes that say when something is affected or not - we should probably make this a component of the exposure notes (thinking aloud here). ?? for two questions-ish

Yes I would put these general explanations as part of definitions.py in the hazard notes sections e.g. https://github.com/inasafe/inasafe/blob/develop/safe/definitions.py#L363

Charlotte-Morgan commented 8 years ago

hi @easmetz - have you incorporated the brain dump ideas above from @timlinux yet? Or will you do the exposure and I will do the hazard?

Charlotte-Morgan commented 8 years ago

@ivanbusthomi - regarding this comment from @timlinux - for #422

I wonder if it is also a good idea to mention that in all cases except EQ IF's impacts calculated are based on direct overlay / interpolation calculations and not on empirical analysis.

timlinux commented 8 years ago

@Charlotte-Morgan

More questions for @timlinux - how can we refer to a definition (eg for displaced people) in the notes and only get the definition relevant to the terminology in a specific IF

Its probably easiest to see by way of an example. Take look at how I defined a hazard concept here :

https://github.com/inasafe/inasafe/blob/develop/safe/definitions.py#L41

And then use it here:

https://github.com/inasafe/inasafe/blob/develop/safe/definitions.py#L62

and here:

https://github.com/inasafe/inasafe/blob/develop/safe/definitions.py#L475

When you want to use that term in a specific IF you need to do three things:

  1. Define the term in definitions.py

Here is a hypothetical grief_councillor concept:

concept_councillor = tr(
     'A grief councillor is someone who provides emotional and psychological '
     'assistance to the relatives and friends of those killed in a disaster.')
  1. implement or augment the one of these methods in your IF:
    • hazard_notes
    • exposure_notes
    • notes
    • hazard_actions
    • exposure_actions
    • actions

Here is an example where notes have been implemented:

https://github.com/inasafe/inasafe/blob/develop/safe/impact_functions/earthquake/itb_earthquake_fatality_model/impact_function.py#L207

  1. Import the definition from definitions.py and then use it in your text e.g.
from safe.definitions import concept_councillor

    def notes(self):
        """IF Specific notes and caveats for the IF report.

        :returns: List of translatable strings containing notes.
        :rtype: list
        """
        fields = [
            tr('Have you got enough grief councillors to assist %s people?') %
            format_int(population_rounding(self.total_population)),
            concept_councillor
        ]
        # include any generic exposure specific notes from definitions.py
        fields = fields + self.exposure_notes()
        # include any generic hazard specific notes from definitions.py
        fields = fields + self.hazard_notes()
        return fields

If this is getting technical, I think you can just file tickets for me to update the IF's with specific behaviours.

fredychandra commented 8 years ago

HI @easmetz @timlinux

I have reviewed the checklist form whole hazard versus exposure. I find action checklist for EQ on Population need to be added.

Existing

[ ] Are there enough victim identification units available for 140 people? [ ] Are there enough shelters and relief items available for 970,000 people? [ ] If y es, where are they located and how will we distribute them? [ ] If no, where can we obtain additional relief items from and how will we transport them?

Suggestion/change (be added) The list below is quiet similar with other Hazard on Population

1. Are there enough victim identification units available for 140 people? 2. Are there enough covered floor area available for 970,000 people?

  1. Which group or population is most affected?
  2. Who are the vulnerable people in the population and why?
  3. What are people's likely movements?
  4. What are the security factors for the affected people?
  5. What are the security factors for relief responders?
  6. How will we reach displaced people?
  7. What kind of food does the population normally consume?
  8. What are the critical non-food items required by the affected population?
  9. Are there enough water supply, sanitation, hygiene, food, shelter, medicines and relief items available for 970.000 displaced people? 12. If yes, where are they located and how will we distribute them? 13. If no, where can we obtain additional relief items and how will we distribute them?
  10. What are the related health risks?
  11. Who are the key people responsible for coordination?

Regards

Charlotte-Morgan commented 8 years ago

hi @fredychandra this is a good list. Do you think its sorted well or can we reorganise a bit: general info, affected people, minumum needs, responders etc?

easmetz commented 8 years ago

structure - indicating that in some cases structures may appear affected on the map even though they are outside of raster hazard zones due to interpolation of hazard data during computation of impacts

This is impact function specific - raster on raster only.

people - indicating that when raster population exposure is used, the number of people affected in a given cell should not be taken literally (will be less misleading when we implement #2987 and use zonal stats)

This is population raster specific.

I wonder if it is also a good idea to mention that in all cases except EQ IF's impacts calculated are based on direct overlay / interpolation calculations and not on empirical analysis.

@ivanbusthomi is working on this in #422

Another good general note is to mention that results may vary dramatically depending on the quality (spatial, temporal, attributes) of the input data used.

This should probably be added to the all notes and assumptions on reports.

I have added the rest of the comments into definitions.py in PR #3093

Charlotte-Morgan commented 8 years ago

added notes for hazards - taking a simple approach to fill the holes for now and looking to add more later

timlinux commented 8 years ago

@fredychandra I tried to incorporate your comments for action lists here:

f9f196b

Charlotte-Morgan commented 7 years ago

@fredychandra - are you happy with this ?

fredychandra commented 7 years ago

Hi @Charlotte-Morgan

I try to grouping the action checklist based on the sector in disaster. I modify the check list from Sphere Project Hand Book to make it more concise although it is still long list :) .

image

@ivanbusthomi @felix-yew Do you have idea how to fit the check list into the layout space? related to #3031

Charlotte-Morgan commented 7 years ago

hi @fredychandra - I have added all these to the exposure_people actions in concepts.py. In future I think it would be good to separate general and sector specific actions in the concepts so we can use them as subsets when needed. But for now they are in. :)

@timlinux - I have also made this list cover all the previous IF specific population exposure actions. And ... resolved the issue of needing a killed post processor just for action lists

timlinux commented 7 years ago

I could add a report like @fredychandra 's mockup to InaSAFE help if you think that is useful? Can we otherwise close this if you are happy with what is in the help?

Charlotte-Morgan commented 7 years ago

We still need more notes and assumptions but we have made good progress on this. I think we can link this ticket to the work @ivanbusthomi will do for version 4.1 to work on report templates.

timlinux commented 7 years ago

@ivanbusthomi are we able to close this?

timlinux commented 7 years ago

@ivanbusthomi Closing, please re-open if there is still something needed.

Charlotte-Morgan commented 7 years ago

@felix-yew - can you please give an update on the status of actions and notes for all reports? use the results from the batch runner to let us know what is missing

Charlotte-Morgan commented 6 years ago

@felix-yew - can you please update on the status of reports?

felix-yew commented 6 years ago

Hi @Charlotte-Morgan - sorry for the delay response. AFAIK that there is nothing missing.

:+1: