oq-engine
oq-engine copied to clipboard
Implementation of post-loss amplification (PLA)
Background
Post-loss amplification refers to the phenomenon where the demand for goods and services increases significantly following an earthquake or other catastrophe. This surge in demand typically occurs when the impact exceeds the local capacity to cope with the disaster and increases the costs for reconstruction, repair, and replacement of damaged or destroyed infrastructure and belongings.
The catastrophe modelling industry might require aggregated loss curves, event loss tables and other risk metrics that consider the post-loss amplification, as they can considerably affect the magnitude of losses experienced.
Implementation
The post-loss amplification (PLA) is typically modelled using an empirical relationship that correlates with the return period of the ground-up economic loss. In OpenQuake, the PLA models only apply to event-based risk or event-based damage calculations that incorporate economic losses (i.e., loss_types structural, nonstructural, and contents, as well as the total_losses if present in the calculation).
To include post-loss amplification in the calculation, the user can specify in the configuration file the amplification model (in csv format) and the reference loss_type for the return period estimation.
Configuration file
The implementation will require adding to the configuration file the following two parameters:
post_loss_amplification_file = pla_model.csv
pla_reference_loss_type = total_losses
The table below shows an example of a PLA_model:
return_period | pla_factor |
---|---|
1 | 1 |
5 | 1 |
10 | 1.092 |
50 | 1.1738 |
100 | 1.209 |
500 | 1.2908 |
1,000 | 1.326 |
5,000 | 1.4 |
10,000 | 1.4 |
Calculation steps:
- Each loss (ground-up loss) present in the event-loss table is associated with a corresponding return period, using as a reference the
loss_type
indicated by the parameter pla_reference_loss_type.CHECK: The string indicated in the pla_reference_loss_type should be within the loss_types specified in the calculation
- Get the PLA model specified in the configuration file.
CHECK: The PLA model has two columns (headers [`return_period`, `pla_factor`], all with positive float values.
- Each loss is amplified by multiplying the loss_value by the corresponding pla_factor. Linear interpolation for the PLA model will be used when necessary.
When the return period associated with the loss is below the minimum value specified in the PLA model, the corresponding pla_factor will be assigned to 1. No extrapolation will be applied for return periods beyond the maximum value specified in the PLA model.
CHECK: if the return period of the loss is greater than the maximum return period specified in the PLA model, then an error will be raised
- The aggregated loss curves (ep, oep and aep), the aggregated risk metrics and the average losses per asset will be estimated using the amplified losses.
Outputs
The same output files will be generated for event-based calculations that include economic losses, but:
- The Aggregated Risk By Event (risk_by_event) or event loss table will include an additional column indicating the loss after applying the PLA model (loss_pla).
risk_by_event headers could be: [`event_id`, `loss`, `loss_pla`, `loss_type`, `rup_id`, `year`]
- The remaining risk results that include economic losses will report the values after applying the post-loss amplification. The outputs include Aggregate Risk (aggrisk), Aggregate Risk Statistics (aggrisk-stats), Aggregate Risk Curves (aggcurves), Aggregate Risk Curves Statistics (aggcurves-stats), Average Asset Losses (avg_losses), and Average Asset Losses Statistics (avg_losses-mean and avg_losses-quantile)
Each loss (ground-up loss) present in the event-loss table is associated with a corresponding return period
This is not so, @CatalinaYepes , the risk_by_event
table does not contain a return_period
field, so what do you mean exactly?
I mean that each loss (ground-up loss) present in the event-loss table can
be associated with a corresponding return period. The return period is not stored in the outputs (and we do not want to include it in the risk_by_event
) but it's computed internally to generate the aggregated loss curves (aggcurves
). Given that the calculation could have multiple loss_types, the engine will use as a reference the loss_type indicated by the parameter pla_reference_loss_type.
Reopened since the calculation for AOP/AEP is implemented incorrectly