safe.impact_functions.earthquake.pager_earthquake_fatality_model.impact_function module

InaSAFE Disaster risk tool by Australian Aid - PAGER Earthquake Impact Function on Population.

Contact : ole.moller.nielsen@gmail.com

Note

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

class safe.impact_functions.earthquake.pager_earthquake_fatality_model.impact_function.PAGFatalityFunction[source]

Bases: safe.impact_functions.earthquake.itb_earthquake_fatality_model.impact_function.ITBFatalityFunction

USGS Pager fatality estimation model.

Fatality rate(MMI) = cum. standard normal dist(1/BETA * ln(MMI/THETA)).

Reference: Jaiswal, K. S., Wald, D. J., and Hearne, M. (2009a). Estimating casualties for large worldwide earthquakes using an empirical approach. U.S. Geological Survey Open-File Report 2009-1136.

v1.0:
Theta: 14.05, Beta: 0.17, Zeta 2.15 Jaiswal, K, and Wald, D (2010) An Empirical Model for Global Earthquake Fatality Estimation Earthquake Spectra, Volume 26, No. 4, pages 1017–1037
v2.0:
Theta: 13.249, Beta: 0.151, Zeta: 1.641) (http://pubs.usgs.gov/of/2009/1136/pdf/ PAGER%20Implementation%20of%20Empirical%20model.xls)
cdf_normal(x)[source]

Cumulative distribution function of standard normal distribution.

Logic based on http://en.wikipedia.org/wiki/Normal_distribution

Parameters:x (float) – random variable x
Returns:phi of (x)
Return type:float
compute_probability(total_fatalities)[source]

Pager method compute probaility of fatality in each magnitude bin.

(0,1), (1,10), (10,10^2), (10^2,10^3), (10^3, 10^4), (10^4, 10^5), (10^5, 10^6+)

Parameters:total_fatalities (int, float) – List of total fatalities in each MMI class.
Returns:Probability of fatality magnitude bin from lognorm.cdf(bin, shape=Zeta, scale=total_fatalities)
Return type:list(float)
fatality_rate(mmi)[source]

Pager method to compute fatality rate.

Parameters:mmi (float) – MMI
Returns:Fatality rate calculated as: lognorm.cdf(mmi, shape=Beta, scale=Theta)
Return type:float
static round_to_sum(l, r)[source]

Round a list of numbers while maintaining the sum.

http://stackoverflow.com/questions/15769948/ round-a-python-list-of-numbers-and-maintain-the-sum

Parameters:
  • l (list(float)) – array
  • r (int) – decimal place
Returns:

A list of rounded numbers whose sum is equal to the sum of the list of input numbers.

Return type:

list