Road damage#
Description
This analysis computes road damage based on a particular hazard. Currently supported hazards are: earthquake and tsunami.
The process for computing the structural damage is similar to other parts of the built environment. First, a fragility is obtained based on the hazard type and attributes of the roads. Based on the fragility, the hazard intensity is computed. Using this information, the probability of exceeding each limit state is computed, along with the probability of damage. If the road dataset contains soil information, the median value of the associated fragility can be modified to account for liquefaction in the damage.
The outputs of this analysis are CSV file with probabilities of damage and JSON file with information about hazard and fragilities.
Input Parameters
key name |
type |
name |
description |
---|---|---|---|
|
|
Result name |
Name of the result dataset. |
|
|
Hazard type |
Hazard type, earthquake or tsunami. |
|
|
Hazard id |
ID of the hazard from the Hazard service |
|
|
Fragility key |
Fragility key used in mapping dataset. |
|
|
Geology id |
A geology dataset for liquefaction adjustment. |
|
|
Hazard uncertainty |
Use hazard uncertainty. |
|
|
Number of CPUs |
Number of CPUs used for parallel computations. |
Input Hazards
key name |
type |
name |
description |
---|---|---|---|
|
|
Hazard |
Supported hazard object for using local and remote hazards. |
Input Datasets
key name |
type |
name |
description |
---|---|---|---|
|
Road dataset |
A road dataset. |
|
|
DFR3 Mapping Set |
DFR3 Mapping Set. |
Output Datasets
key name |
type |
parent key |
name |
description |
---|---|---|---|---|
|
|
Results |
A dataset containing results |
|
|
|
Results |
Information about applied hazard value and fragility |
(* required)
Execution
code snippet:
# Create Road damage analysis
road_dmg = RoadDamage(client)
# Load road inventory for Seaside, OR
road_dmg.load_remote_input_dataset("roads", road_dataset_id)
# Load fragility mapping
fragility_service = FragilityService(client)
mapping_set = MappingSet(fragility_service.get_mapping(mapping_id))
road_dmg.set_input_dataset('dfr3_mapping_set', mapping_set)
# Set result name
road_dmg.set_parameter("result_name", "seaside_earthquake_road_result")
# Set a hazard: Seaside Earthquake
road_dmg.set_parameter("hazard_type", "earthquake")
road_dmg.set_parameter("hazard_id", hazard_id)
if fragility_key is not None:
road_dmg.set_parameter("fragility_key", fragility_key)
road_dmg.set_parameter("use_liquefaction", liquefaction)
road_dmg.set_parameter("use_hazard_uncertainty", uncertainty)
# Set number of CPU for computation
road_dmg.set_parameter("num_cpu", 4)
# Run eoad damage analysis
result = road_dmg.run_analysis()
full analysis: road_dmg.ipynb