NREL-erad 0.0.0a0__py3-none-any.whl → 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- erad/__init__.py +1 -0
- erad/constants.py +80 -11
- erad/default_fragility_curves/__init__.py +15 -0
- erad/default_fragility_curves/default_fire_boundary_dist.py +94 -0
- erad/default_fragility_curves/default_flood_depth.py +108 -0
- erad/default_fragility_curves/default_flood_velocity.py +101 -0
- erad/default_fragility_curves/default_fragility_curves.py +23 -0
- erad/default_fragility_curves/default_peak_ground_acceleration.py +163 -0
- erad/default_fragility_curves/default_peak_ground_velocity.py +94 -0
- erad/default_fragility_curves/default_wind_speed.py +94 -0
- erad/enums.py +40 -0
- erad/gdm_mapping.py +83 -0
- erad/models/__init__.py +1 -0
- erad/models/asset.py +300 -0
- erad/models/asset_mapping.py +20 -0
- erad/models/edit_store.py +22 -0
- erad/models/fragility_curve.py +116 -0
- erad/models/hazard/__init__.py +5 -0
- erad/models/hazard/base_models.py +12 -0
- erad/models/hazard/common.py +26 -0
- erad/models/hazard/earthquake.py +93 -0
- erad/models/hazard/flood.py +83 -0
- erad/models/hazard/wild_fire.py +121 -0
- erad/models/hazard/wind.py +143 -0
- erad/models/probability.py +76 -0
- erad/probability_builder.py +38 -0
- erad/quantities.py +31 -0
- erad/runner.py +125 -0
- erad/systems/__init__.py +2 -0
- erad/systems/asset_system.py +462 -0
- erad/systems/hazard_system.py +122 -0
- nrel_erad-0.1.1.dist-info/METADATA +61 -0
- nrel_erad-0.1.1.dist-info/RECORD +36 -0
- {NREL_erad-0.0.0a0.dist-info → nrel_erad-0.1.1.dist-info}/WHEEL +1 -1
- NREL_erad-0.0.0a0.dist-info/METADATA +0 -61
- NREL_erad-0.0.0a0.dist-info/RECORD +0 -42
- erad/cypher_queries/load_data_v1.cypher +0 -212
- erad/data/World_Earthquakes_1960_2016.csv +0 -23410
- erad/db/__init__.py +0 -0
- erad/db/assets/__init__.py +0 -0
- erad/db/assets/critical_infras.py +0 -171
- erad/db/assets/distribution_lines.py +0 -101
- erad/db/credential_model.py +0 -20
- erad/db/disaster_input_model.py +0 -23
- erad/db/inject_earthquake.py +0 -52
- erad/db/inject_flooding.py +0 -53
- erad/db/neo4j_.py +0 -162
- erad/db/utils.py +0 -14
- erad/exceptions.py +0 -68
- erad/metrics/__init__.py +0 -0
- erad/metrics/check_microgrid.py +0 -208
- erad/metrics/metric.py +0 -178
- erad/programs/__init__.py +0 -0
- erad/programs/backup.py +0 -62
- erad/programs/microgrid.py +0 -45
- erad/scenarios/__init__.py +0 -0
- erad/scenarios/abstract_scenario.py +0 -103
- erad/scenarios/common.py +0 -93
- erad/scenarios/earthquake_scenario.py +0 -161
- erad/scenarios/fire_scenario.py +0 -160
- erad/scenarios/flood_scenario.py +0 -494
- erad/scenarios/utilities.py +0 -76
- erad/scenarios/wind_scenario.py +0 -89
- erad/utils/__init__.py +0 -0
- erad/utils/ditto_utils.py +0 -252
- erad/utils/hifld_utils.py +0 -147
- erad/utils/opendss_utils.py +0 -357
- erad/utils/overpass.py +0 -76
- erad/utils/util.py +0 -178
- erad/visualization/__init__.py +0 -0
- erad/visualization/plot_graph.py +0 -218
- {NREL_erad-0.0.0a0.dist-info → nrel_erad-0.1.1.dist-info/licenses}/LICENSE.txt +0 -0
- {NREL_erad-0.0.0a0.dist-info → nrel_erad-0.1.1.dist-info}/top_level.txt +0 -0
erad/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.0.1"
|
erad/constants.py
CHANGED
@@ -1,20 +1,89 @@
|
|
1
|
-
"""
|
1
|
+
"""Module for managing constants in ERAD package.
|
2
2
|
|
3
3
|
_Do not change this constants in your code._
|
4
4
|
"""
|
5
5
|
|
6
|
-
import
|
6
|
+
from datetime import datetime
|
7
|
+
from pathlib import Path
|
7
8
|
|
8
|
-
|
9
|
+
import elevation
|
10
|
+
|
11
|
+
import erad.models.fragility_curve as frag
|
12
|
+
import erad.models.probability as prob
|
13
|
+
import erad.models.hazard as hazard
|
14
|
+
import erad.models.asset as asset
|
15
|
+
|
16
|
+
from erad.enums import AssetTypes
|
17
|
+
|
18
|
+
# Get list of continuous distributions
|
19
|
+
|
20
|
+
RASTER_DOWNLOAD_PATH = Path(elevation.CACHE_DIR) / "SRTM1" / "raster.tif"
|
21
|
+
ROOT_PATH = Path(__file__).parent.parent.parent
|
22
|
+
TEST_PATH = Path(__file__).parent.parent.parent / "tests"
|
9
23
|
DATA_FOLDER_NAME = "data"
|
10
|
-
DATA_FOLDER =
|
24
|
+
DATA_FOLDER = TEST_PATH / DATA_FOLDER_NAME
|
25
|
+
|
26
|
+
DEFAULT_TIME_STAMP = datetime(1970, 1, 1, 0, 0, 0)
|
27
|
+
|
28
|
+
DEFAULT_HEIGHTS_M = {
|
29
|
+
AssetTypes.substation: 0.0,
|
30
|
+
AssetTypes.solar_panels: 3.0,
|
31
|
+
AssetTypes.distribution_underground_cables: -1.0,
|
32
|
+
AssetTypes.transmission_underground_cables: -1.0,
|
33
|
+
AssetTypes.battery_storage: 1.0,
|
34
|
+
AssetTypes.transmission_tower: 0.0,
|
35
|
+
AssetTypes.distribution_poles: 0.0,
|
36
|
+
AssetTypes.transmission_overhead_lines: 30.0,
|
37
|
+
AssetTypes.distribution_overhead_lines: 10.0,
|
38
|
+
AssetTypes.transformer_mad_mount: 0.3,
|
39
|
+
AssetTypes.transformer_pole_mount: 6.0,
|
40
|
+
AssetTypes.transmission_junction_box: -1.0,
|
41
|
+
AssetTypes.distribution_junction_box: -1.0,
|
42
|
+
AssetTypes.switch: 6.0,
|
43
|
+
}
|
44
|
+
|
45
|
+
ASSET_TYPES = (
|
46
|
+
asset.AssetState,
|
47
|
+
asset.Asset,
|
48
|
+
prob.AccelerationProbability,
|
49
|
+
prob.TemperatureProbability,
|
50
|
+
prob.DistanceProbability,
|
51
|
+
prob.SpeedProbability,
|
52
|
+
)
|
11
53
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
54
|
+
HAZARD_TYPES = (
|
55
|
+
hazard.EarthQuakeModel,
|
56
|
+
hazard.FloodModel,
|
57
|
+
hazard.FireModel,
|
58
|
+
hazard.WindModel,
|
59
|
+
)
|
17
60
|
|
18
|
-
|
19
|
-
|
61
|
+
HAZARD_MODELS = (
|
62
|
+
hazard.EarthQuakeModel,
|
63
|
+
hazard.FloodModelArea,
|
64
|
+
hazard.FireModelArea,
|
65
|
+
hazard.FloodModel,
|
66
|
+
hazard.FireModel,
|
67
|
+
hazard.WindModel,
|
68
|
+
frag.ProbabilityFunction,
|
69
|
+
frag.FragilityCurve,
|
70
|
+
frag.HazardFragilityCurves,
|
71
|
+
)
|
20
72
|
|
73
|
+
SUPPORTED_MODELS = [
|
74
|
+
hazard.EarthQuakeModel,
|
75
|
+
hazard.FloodModelArea,
|
76
|
+
hazard.FireModelArea,
|
77
|
+
hazard.FloodModel,
|
78
|
+
hazard.FireModel,
|
79
|
+
hazard.WindModel,
|
80
|
+
prob.AccelerationProbability,
|
81
|
+
prob.TemperatureProbability,
|
82
|
+
prob.DistanceProbability,
|
83
|
+
prob.SpeedProbability,
|
84
|
+
frag.ProbabilityFunction,
|
85
|
+
frag.FragilityCurve,
|
86
|
+
frag.HazardFragilityCurves,
|
87
|
+
asset.AssetState,
|
88
|
+
asset.Asset,
|
89
|
+
]
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from erad.default_fragility_curves.default_peak_ground_acceleration import (
|
2
|
+
DEFAULT_PEAK_GROUND_ACCELERATION_FRAGILITY_CURVES,
|
3
|
+
)
|
4
|
+
from erad.default_fragility_curves.default_peak_ground_velocity import (
|
5
|
+
DEFAULT_PEAK_GROUND_VELOCITY_FRAGILITY_CURVES,
|
6
|
+
)
|
7
|
+
from erad.default_fragility_curves.default_fire_boundary_dist import (
|
8
|
+
DEFAULT_FIRE_BOUNDARY_FRAGILITY_CURVES,
|
9
|
+
)
|
10
|
+
from erad.default_fragility_curves.default_flood_velocity import (
|
11
|
+
DEFAULT_FLOOD_VELOCITY_FRAGILITY_CURVES,
|
12
|
+
)
|
13
|
+
from erad.default_fragility_curves.default_flood_depth import DEFAULT_FLOOD_DEPTH_FRAGILITY_CURVES
|
14
|
+
from erad.default_fragility_curves.default_wind_speed import DEFAULT_WIND_SPEED_FRAGILITY_CURVES
|
15
|
+
from erad.default_fragility_curves.default_fragility_curves import DEFAULT_FRAGILTY_CURVES
|
@@ -0,0 +1,94 @@
|
|
1
|
+
from gdm.quantities import Distance
|
2
|
+
|
3
|
+
import erad.models.fragility_curve as frag
|
4
|
+
from erad.enums import AssetTypes
|
5
|
+
|
6
|
+
DEFAULT_FIRE_BOUNDARY_FRAGILITY_CURVES = frag.HazardFragilityCurves(
|
7
|
+
asset_state_param="fire_boundary_dist",
|
8
|
+
curves=[
|
9
|
+
frag.FragilityCurve(
|
10
|
+
asset_type=AssetTypes.switch,
|
11
|
+
prob_function=frag.ProbabilityFunction(
|
12
|
+
distribution="expon", parameters=[Distance(0.65, "km"), 0.95]
|
13
|
+
),
|
14
|
+
),
|
15
|
+
frag.FragilityCurve(
|
16
|
+
asset_type=AssetTypes.battery_storage,
|
17
|
+
prob_function=frag.ProbabilityFunction(
|
18
|
+
distribution="expon", parameters=[Distance(0.65, "km"), 0.95]
|
19
|
+
),
|
20
|
+
),
|
21
|
+
frag.FragilityCurve(
|
22
|
+
asset_type=AssetTypes.distribution_junction_box,
|
23
|
+
prob_function=frag.ProbabilityFunction(
|
24
|
+
distribution="expon", parameters=[Distance(0.5, "km"), 0.95]
|
25
|
+
),
|
26
|
+
),
|
27
|
+
frag.FragilityCurve(
|
28
|
+
asset_type=AssetTypes.distribution_overhead_lines,
|
29
|
+
prob_function=frag.ProbabilityFunction(
|
30
|
+
distribution="expon", parameters=[Distance(0.5, "km"), 0.95]
|
31
|
+
),
|
32
|
+
),
|
33
|
+
frag.FragilityCurve(
|
34
|
+
asset_type=AssetTypes.distribution_poles,
|
35
|
+
prob_function=frag.ProbabilityFunction(
|
36
|
+
distribution="expon", parameters=[Distance(1.0, "km"), 0.95]
|
37
|
+
),
|
38
|
+
),
|
39
|
+
frag.FragilityCurve(
|
40
|
+
asset_type=AssetTypes.distribution_underground_cables,
|
41
|
+
prob_function=frag.ProbabilityFunction(
|
42
|
+
distribution="expon", parameters=[Distance(0.1, "km"), 0.95]
|
43
|
+
),
|
44
|
+
),
|
45
|
+
frag.FragilityCurve(
|
46
|
+
asset_type=AssetTypes.solar_panels,
|
47
|
+
prob_function=frag.ProbabilityFunction(
|
48
|
+
distribution="expon", parameters=[Distance(0.55, "km"), 0.95]
|
49
|
+
),
|
50
|
+
),
|
51
|
+
frag.FragilityCurve(
|
52
|
+
asset_type=AssetTypes.substation,
|
53
|
+
prob_function=frag.ProbabilityFunction(
|
54
|
+
distribution="expon", parameters=[Distance(0.7, "km"), 0.95]
|
55
|
+
),
|
56
|
+
),
|
57
|
+
frag.FragilityCurve(
|
58
|
+
asset_type=AssetTypes.transformer_mad_mount,
|
59
|
+
prob_function=frag.ProbabilityFunction(
|
60
|
+
distribution="expon", parameters=[Distance(0.9, "km"), 0.95]
|
61
|
+
),
|
62
|
+
),
|
63
|
+
frag.FragilityCurve(
|
64
|
+
asset_type=AssetTypes.transformer_pole_mount,
|
65
|
+
prob_function=frag.ProbabilityFunction(
|
66
|
+
distribution="expon", parameters=[Distance(1.0, "km"), 0.95]
|
67
|
+
),
|
68
|
+
),
|
69
|
+
frag.FragilityCurve(
|
70
|
+
asset_type=AssetTypes.transmission_junction_box,
|
71
|
+
prob_function=frag.ProbabilityFunction(
|
72
|
+
distribution="expon", parameters=[Distance(0.55, "km"), 0.95]
|
73
|
+
),
|
74
|
+
),
|
75
|
+
frag.FragilityCurve(
|
76
|
+
asset_type=AssetTypes.transmission_overhead_lines,
|
77
|
+
prob_function=frag.ProbabilityFunction(
|
78
|
+
distribution="expon", parameters=[Distance(1.1, "km"), 0.95]
|
79
|
+
),
|
80
|
+
),
|
81
|
+
frag.FragilityCurve(
|
82
|
+
asset_type=AssetTypes.transmission_tower,
|
83
|
+
prob_function=frag.ProbabilityFunction(
|
84
|
+
distribution="expon", parameters=[Distance(0.7, "km"), 0.95]
|
85
|
+
),
|
86
|
+
),
|
87
|
+
frag.FragilityCurve(
|
88
|
+
asset_type=AssetTypes.transmission_underground_cables,
|
89
|
+
prob_function=frag.ProbabilityFunction(
|
90
|
+
distribution="expon", parameters=[Distance(0.15, "km"), 0.95]
|
91
|
+
),
|
92
|
+
),
|
93
|
+
],
|
94
|
+
)
|
@@ -0,0 +1,108 @@
|
|
1
|
+
from gdm.quantities import Distance
|
2
|
+
|
3
|
+
import erad.models.fragility_curve as frag
|
4
|
+
from erad.enums import AssetTypes
|
5
|
+
|
6
|
+
DEFAULT_FLOOD_DEPTH_FRAGILITY_CURVES = frag.HazardFragilityCurves(
|
7
|
+
asset_state_param="flood_depth",
|
8
|
+
curves=[
|
9
|
+
frag.FragilityCurve(
|
10
|
+
asset_type=AssetTypes.switch,
|
11
|
+
prob_function=frag.ProbabilityFunction(
|
12
|
+
distribution="lognorm",
|
13
|
+
parameters=[Distance(0.35, "m"), Distance(0.50, "m"), 1 / 0.35],
|
14
|
+
),
|
15
|
+
),
|
16
|
+
frag.FragilityCurve(
|
17
|
+
asset_type=AssetTypes.battery_storage,
|
18
|
+
prob_function=frag.ProbabilityFunction(
|
19
|
+
distribution="lognorm",
|
20
|
+
parameters=[Distance(0.35, "m"), Distance(0.50, "m"), 1 / 0.35],
|
21
|
+
),
|
22
|
+
),
|
23
|
+
frag.FragilityCurve(
|
24
|
+
asset_type=AssetTypes.distribution_junction_box,
|
25
|
+
prob_function=frag.ProbabilityFunction(
|
26
|
+
distribution="lognorm",
|
27
|
+
parameters=[Distance(0.40, "m"), Distance(1.0, "m"), 1 / 0.40],
|
28
|
+
),
|
29
|
+
),
|
30
|
+
frag.FragilityCurve(
|
31
|
+
asset_type=AssetTypes.distribution_overhead_lines,
|
32
|
+
prob_function=frag.ProbabilityFunction(
|
33
|
+
distribution="lognorm",
|
34
|
+
parameters=[Distance(0.35, "m"), Distance(1.0, "m"), 1 / 0.35],
|
35
|
+
),
|
36
|
+
),
|
37
|
+
frag.FragilityCurve(
|
38
|
+
asset_type=AssetTypes.distribution_poles,
|
39
|
+
prob_function=frag.ProbabilityFunction(
|
40
|
+
distribution="lognorm",
|
41
|
+
parameters=[Distance(0.35, "m"), Distance(1.0, "m"), 1 / 0.35],
|
42
|
+
),
|
43
|
+
),
|
44
|
+
frag.FragilityCurve(
|
45
|
+
asset_type=AssetTypes.distribution_underground_cables,
|
46
|
+
prob_function=frag.ProbabilityFunction(
|
47
|
+
distribution="lognorm",
|
48
|
+
parameters=[Distance(0.8, "m"), Distance(1.0, "m"), 1 / 0.8],
|
49
|
+
),
|
50
|
+
),
|
51
|
+
frag.FragilityCurve(
|
52
|
+
asset_type=AssetTypes.solar_panels,
|
53
|
+
prob_function=frag.ProbabilityFunction(
|
54
|
+
distribution="lognorm",
|
55
|
+
parameters=[Distance(0.35, "m"), Distance(0.6, "m"), 1 / 0.35],
|
56
|
+
),
|
57
|
+
),
|
58
|
+
frag.FragilityCurve(
|
59
|
+
asset_type=AssetTypes.substation,
|
60
|
+
prob_function=frag.ProbabilityFunction(
|
61
|
+
distribution="lognorm",
|
62
|
+
parameters=[Distance(0.40, "m"), Distance(1.0, "m"), 1 / 0.4],
|
63
|
+
),
|
64
|
+
),
|
65
|
+
frag.FragilityCurve(
|
66
|
+
asset_type=AssetTypes.transformer_mad_mount,
|
67
|
+
prob_function=frag.ProbabilityFunction(
|
68
|
+
distribution="lognorm",
|
69
|
+
parameters=[Distance(0.35, "m"), Distance(0.6, "m"), 1 / 0.35],
|
70
|
+
),
|
71
|
+
),
|
72
|
+
frag.FragilityCurve(
|
73
|
+
asset_type=AssetTypes.transformer_pole_mount,
|
74
|
+
prob_function=frag.ProbabilityFunction(
|
75
|
+
distribution="lognorm",
|
76
|
+
parameters=[Distance(0.30, "m"), Distance(0.8, "m"), 1 / 0.3],
|
77
|
+
),
|
78
|
+
),
|
79
|
+
frag.FragilityCurve(
|
80
|
+
asset_type=AssetTypes.transmission_junction_box,
|
81
|
+
prob_function=frag.ProbabilityFunction(
|
82
|
+
distribution="lognorm",
|
83
|
+
parameters=[Distance(0.40, "m"), Distance(1.0, "m"), 1 / 0.40],
|
84
|
+
),
|
85
|
+
),
|
86
|
+
frag.FragilityCurve(
|
87
|
+
asset_type=AssetTypes.transmission_overhead_lines,
|
88
|
+
prob_function=frag.ProbabilityFunction(
|
89
|
+
distribution="lognorm",
|
90
|
+
parameters=[Distance(0.30, "m"), Distance(1.8, "m"), 1 / 0.3],
|
91
|
+
),
|
92
|
+
),
|
93
|
+
frag.FragilityCurve(
|
94
|
+
asset_type=AssetTypes.transmission_tower,
|
95
|
+
prob_function=frag.ProbabilityFunction(
|
96
|
+
distribution="lognorm",
|
97
|
+
parameters=[Distance(0.40, "m"), Distance(2.2, "m"), 1 / 0.40],
|
98
|
+
),
|
99
|
+
),
|
100
|
+
frag.FragilityCurve(
|
101
|
+
asset_type=AssetTypes.transmission_underground_cables,
|
102
|
+
prob_function=frag.ProbabilityFunction(
|
103
|
+
distribution="lognorm",
|
104
|
+
parameters=[Distance(0.25, "m"), Distance(0.8, "m"), 1 / 0.25],
|
105
|
+
),
|
106
|
+
),
|
107
|
+
],
|
108
|
+
)
|
@@ -0,0 +1,101 @@
|
|
1
|
+
import erad.models.fragility_curve as frag
|
2
|
+
from erad.quantities import Speed
|
3
|
+
from erad.enums import AssetTypes
|
4
|
+
|
5
|
+
DEFAULT_FLOOD_VELOCITY_FRAGILITY_CURVES = frag.HazardFragilityCurves(
|
6
|
+
asset_state_param="flood_velocity",
|
7
|
+
curves=[
|
8
|
+
frag.FragilityCurve(
|
9
|
+
asset_type=AssetTypes.switch,
|
10
|
+
prob_function=frag.ProbabilityFunction(
|
11
|
+
distribution="lognorm",
|
12
|
+
parameters=[Speed(0.35, "m/s"), Speed(1.5, "m/s"), 1 / 0.35],
|
13
|
+
),
|
14
|
+
),
|
15
|
+
frag.FragilityCurve(
|
16
|
+
asset_type=AssetTypes.battery_storage,
|
17
|
+
prob_function=frag.ProbabilityFunction(
|
18
|
+
distribution="lognorm",
|
19
|
+
parameters=[Speed(0.35, "m/s"), Speed(1.5, "m/s"), 1 / 0.35],
|
20
|
+
),
|
21
|
+
),
|
22
|
+
frag.FragilityCurve(
|
23
|
+
asset_type=AssetTypes.distribution_junction_box,
|
24
|
+
prob_function=frag.ProbabilityFunction(
|
25
|
+
distribution="lognorm", parameters=[Speed(0.4, "m/s"), Speed(2.0, "m/s"), 1 / 0.40]
|
26
|
+
),
|
27
|
+
),
|
28
|
+
frag.FragilityCurve(
|
29
|
+
asset_type=AssetTypes.distribution_overhead_lines,
|
30
|
+
prob_function=frag.ProbabilityFunction(
|
31
|
+
distribution="lognorm",
|
32
|
+
parameters=[Speed(0.35, "m/s"), Speed(3.5, "m/s"), 1 / 0.35],
|
33
|
+
),
|
34
|
+
),
|
35
|
+
frag.FragilityCurve(
|
36
|
+
asset_type=AssetTypes.distribution_poles,
|
37
|
+
prob_function=frag.ProbabilityFunction(
|
38
|
+
distribution="lognorm",
|
39
|
+
parameters=[Speed(0.35, "m/s"), Speed(3.0, "m/s"), 1 / 0.35],
|
40
|
+
),
|
41
|
+
),
|
42
|
+
frag.FragilityCurve(
|
43
|
+
asset_type=AssetTypes.distribution_underground_cables,
|
44
|
+
prob_function=frag.ProbabilityFunction(
|
45
|
+
distribution="lognorm", parameters=[Speed(0.4, "m/s"), Speed(2.0, "m/s"), 1 / 0.4]
|
46
|
+
),
|
47
|
+
),
|
48
|
+
frag.FragilityCurve(
|
49
|
+
asset_type=AssetTypes.solar_panels,
|
50
|
+
prob_function=frag.ProbabilityFunction(
|
51
|
+
distribution="lognorm",
|
52
|
+
parameters=[Speed(0.35, "m/s"), Speed(2.0, "m/s"), 1 / 0.35],
|
53
|
+
),
|
54
|
+
),
|
55
|
+
frag.FragilityCurve(
|
56
|
+
asset_type=AssetTypes.substation,
|
57
|
+
prob_function=frag.ProbabilityFunction(
|
58
|
+
distribution="lognorm", parameters=[Speed(0.4, "m/s"), Speed(2.0, "m/s"), 1 / 0.4]
|
59
|
+
),
|
60
|
+
),
|
61
|
+
frag.FragilityCurve(
|
62
|
+
asset_type=AssetTypes.transformer_mad_mount,
|
63
|
+
prob_function=frag.ProbabilityFunction(
|
64
|
+
distribution="lognorm",
|
65
|
+
parameters=[Speed(0.35, "m/s"), Speed(1.5, "m/s"), 1 / 0.35],
|
66
|
+
),
|
67
|
+
),
|
68
|
+
frag.FragilityCurve(
|
69
|
+
asset_type=AssetTypes.transformer_pole_mount,
|
70
|
+
prob_function=frag.ProbabilityFunction(
|
71
|
+
distribution="lognorm", parameters=[Speed(0.3, "m/s"), Speed(2.5, "m/s"), 1 / 0.30]
|
72
|
+
),
|
73
|
+
),
|
74
|
+
frag.FragilityCurve(
|
75
|
+
asset_type=AssetTypes.transmission_junction_box,
|
76
|
+
prob_function=frag.ProbabilityFunction(
|
77
|
+
distribution="lognorm", parameters=[Speed(0.4, "m/s"), Speed(1.5, "m/s"), 1 / 0.4]
|
78
|
+
),
|
79
|
+
),
|
80
|
+
frag.FragilityCurve(
|
81
|
+
asset_type=AssetTypes.transmission_overhead_lines,
|
82
|
+
prob_function=frag.ProbabilityFunction(
|
83
|
+
distribution="lognorm",
|
84
|
+
parameters=[Speed(0.35, "m/s"), Speed(3.5, "m/s"), 1 / 0.35],
|
85
|
+
),
|
86
|
+
),
|
87
|
+
frag.FragilityCurve(
|
88
|
+
asset_type=AssetTypes.transmission_tower,
|
89
|
+
prob_function=frag.ProbabilityFunction(
|
90
|
+
distribution="lognorm",
|
91
|
+
parameters=[Speed(0.40, "m/s"), Speed(3.0, "m/s"), 1 / 0.40],
|
92
|
+
),
|
93
|
+
),
|
94
|
+
frag.FragilityCurve(
|
95
|
+
asset_type=AssetTypes.transmission_underground_cables,
|
96
|
+
prob_function=frag.ProbabilityFunction(
|
97
|
+
distribution="lognorm", parameters=[Speed(0.40, "m/s"), Speed(2.0, "m/s"), 1 / 0.4]
|
98
|
+
),
|
99
|
+
),
|
100
|
+
],
|
101
|
+
)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from erad.default_fragility_curves.default_peak_ground_acceleration import (
|
2
|
+
DEFAULT_PEAK_GROUND_ACCELERATION_FRAGILITY_CURVES,
|
3
|
+
)
|
4
|
+
from erad.default_fragility_curves.default_peak_ground_velocity import (
|
5
|
+
DEFAULT_PEAK_GROUND_VELOCITY_FRAGILITY_CURVES,
|
6
|
+
)
|
7
|
+
from erad.default_fragility_curves.default_fire_boundary_dist import (
|
8
|
+
DEFAULT_FIRE_BOUNDARY_FRAGILITY_CURVES,
|
9
|
+
)
|
10
|
+
from erad.default_fragility_curves.default_flood_velocity import (
|
11
|
+
DEFAULT_FLOOD_VELOCITY_FRAGILITY_CURVES,
|
12
|
+
)
|
13
|
+
from erad.default_fragility_curves.default_flood_depth import DEFAULT_FLOOD_DEPTH_FRAGILITY_CURVES
|
14
|
+
from erad.default_fragility_curves.default_wind_speed import DEFAULT_WIND_SPEED_FRAGILITY_CURVES
|
15
|
+
|
16
|
+
DEFAULT_FRAGILTY_CURVES = [
|
17
|
+
DEFAULT_PEAK_GROUND_ACCELERATION_FRAGILITY_CURVES,
|
18
|
+
DEFAULT_PEAK_GROUND_VELOCITY_FRAGILITY_CURVES,
|
19
|
+
DEFAULT_FIRE_BOUNDARY_FRAGILITY_CURVES,
|
20
|
+
DEFAULT_FLOOD_VELOCITY_FRAGILITY_CURVES,
|
21
|
+
DEFAULT_FLOOD_DEPTH_FRAGILITY_CURVES,
|
22
|
+
DEFAULT_WIND_SPEED_FRAGILITY_CURVES,
|
23
|
+
]
|
@@ -0,0 +1,163 @@
|
|
1
|
+
import erad.models.fragility_curve as frag
|
2
|
+
from erad.quantities import Acceleration
|
3
|
+
from erad.enums import AssetTypes
|
4
|
+
|
5
|
+
DEFAULT_PEAK_GROUND_ACCELERATION_FRAGILITY_CURVES = frag.HazardFragilityCurves(
|
6
|
+
asset_state_param="peak_ground_acceleration",
|
7
|
+
curves=[
|
8
|
+
frag.FragilityCurve(
|
9
|
+
asset_type=AssetTypes.switch,
|
10
|
+
prob_function=frag.ProbabilityFunction(
|
11
|
+
distribution="lognorm",
|
12
|
+
parameters=[
|
13
|
+
Acceleration(0.8, "m/s**2"),
|
14
|
+
Acceleration(0.40 * 9.81, "m/s**2"),
|
15
|
+
1 / 0.80,
|
16
|
+
],
|
17
|
+
),
|
18
|
+
),
|
19
|
+
frag.FragilityCurve(
|
20
|
+
asset_type=AssetTypes.battery_storage,
|
21
|
+
prob_function=frag.ProbabilityFunction(
|
22
|
+
distribution="lognorm",
|
23
|
+
parameters=[
|
24
|
+
Acceleration(0.8, "m/s**2"),
|
25
|
+
Acceleration(0.40 * 9.81, "m/s**2"),
|
26
|
+
1 / 0.80,
|
27
|
+
],
|
28
|
+
),
|
29
|
+
),
|
30
|
+
frag.FragilityCurve(
|
31
|
+
asset_type=AssetTypes.distribution_junction_box,
|
32
|
+
prob_function=frag.ProbabilityFunction(
|
33
|
+
distribution="lognorm",
|
34
|
+
parameters=[
|
35
|
+
Acceleration(0.5, "m/s**2"),
|
36
|
+
Acceleration(0.45 * 9.81, "m/s**2"),
|
37
|
+
1 / 0.50,
|
38
|
+
],
|
39
|
+
),
|
40
|
+
),
|
41
|
+
frag.FragilityCurve(
|
42
|
+
asset_type=AssetTypes.distribution_overhead_lines,
|
43
|
+
prob_function=frag.ProbabilityFunction(
|
44
|
+
distribution="lognorm",
|
45
|
+
parameters=[
|
46
|
+
Acceleration(0.55, "m/s**2"),
|
47
|
+
Acceleration(0.50 * 9.81, "m/s**2"),
|
48
|
+
1 / 0.55,
|
49
|
+
],
|
50
|
+
),
|
51
|
+
),
|
52
|
+
frag.FragilityCurve(
|
53
|
+
asset_type=AssetTypes.distribution_poles,
|
54
|
+
prob_function=frag.ProbabilityFunction(
|
55
|
+
distribution="lognorm",
|
56
|
+
parameters=[
|
57
|
+
Acceleration(0.6, "m/s**2"),
|
58
|
+
Acceleration(0.40 * 9.81, "m/s**2"),
|
59
|
+
1 / 0.6,
|
60
|
+
],
|
61
|
+
),
|
62
|
+
),
|
63
|
+
frag.FragilityCurve(
|
64
|
+
asset_type=AssetTypes.distribution_underground_cables,
|
65
|
+
prob_function=frag.ProbabilityFunction(
|
66
|
+
distribution="lognorm",
|
67
|
+
parameters=[
|
68
|
+
Acceleration(0.8, "m/s**2"),
|
69
|
+
Acceleration(1.0 * 9.81, "m/s**2"),
|
70
|
+
1 / 0.8,
|
71
|
+
],
|
72
|
+
),
|
73
|
+
),
|
74
|
+
frag.FragilityCurve(
|
75
|
+
asset_type=AssetTypes.solar_panels,
|
76
|
+
prob_function=frag.ProbabilityFunction(
|
77
|
+
distribution="lognorm",
|
78
|
+
parameters=[
|
79
|
+
Acceleration(0.45, "m/s**2"),
|
80
|
+
Acceleration(0.45 * 9.81, "m/s**2"),
|
81
|
+
1 / 0.45,
|
82
|
+
],
|
83
|
+
),
|
84
|
+
),
|
85
|
+
frag.FragilityCurve(
|
86
|
+
asset_type=AssetTypes.substation,
|
87
|
+
prob_function=frag.ProbabilityFunction(
|
88
|
+
distribution="lognorm",
|
89
|
+
parameters=[
|
90
|
+
Acceleration(0.5, "m/s**2"),
|
91
|
+
Acceleration(0.40 * 9.81, "m/s**2"),
|
92
|
+
1 / 0.5,
|
93
|
+
],
|
94
|
+
),
|
95
|
+
),
|
96
|
+
frag.FragilityCurve(
|
97
|
+
asset_type=AssetTypes.transformer_mad_mount,
|
98
|
+
prob_function=frag.ProbabilityFunction(
|
99
|
+
distribution="lognorm",
|
100
|
+
parameters=[
|
101
|
+
Acceleration(0.6, "m/s**2"),
|
102
|
+
Acceleration(0.40 * 9.81, "m/s**2"),
|
103
|
+
1 / 0.6,
|
104
|
+
],
|
105
|
+
),
|
106
|
+
),
|
107
|
+
frag.FragilityCurve(
|
108
|
+
asset_type=AssetTypes.transformer_pole_mount,
|
109
|
+
prob_function=frag.ProbabilityFunction(
|
110
|
+
distribution="lognorm",
|
111
|
+
parameters=[
|
112
|
+
Acceleration(0.8, "m/s**2"),
|
113
|
+
Acceleration(0.50 * 9.81, "m/s**2"),
|
114
|
+
1 / 0.70,
|
115
|
+
],
|
116
|
+
),
|
117
|
+
),
|
118
|
+
frag.FragilityCurve(
|
119
|
+
asset_type=AssetTypes.transmission_junction_box,
|
120
|
+
prob_function=frag.ProbabilityFunction(
|
121
|
+
distribution="lognorm",
|
122
|
+
parameters=[
|
123
|
+
Acceleration(0.5, "m/s**2"),
|
124
|
+
Acceleration(0.50 * 9.81, "m/s**2"),
|
125
|
+
1 / 0.50,
|
126
|
+
],
|
127
|
+
),
|
128
|
+
),
|
129
|
+
frag.FragilityCurve(
|
130
|
+
asset_type=AssetTypes.transmission_overhead_lines,
|
131
|
+
prob_function=frag.ProbabilityFunction(
|
132
|
+
distribution="lognorm",
|
133
|
+
parameters=[
|
134
|
+
Acceleration(0.6, "m/s**2"),
|
135
|
+
Acceleration(0.60 * 9.81, "m/s**2"),
|
136
|
+
1 / 0.60,
|
137
|
+
],
|
138
|
+
),
|
139
|
+
),
|
140
|
+
frag.FragilityCurve(
|
141
|
+
asset_type=AssetTypes.transmission_tower,
|
142
|
+
prob_function=frag.ProbabilityFunction(
|
143
|
+
distribution="lognorm",
|
144
|
+
parameters=[
|
145
|
+
Acceleration(0.4, "m/s**2"),
|
146
|
+
Acceleration(0.35 * 9.81, "m/s**2"),
|
147
|
+
1 / 0.40,
|
148
|
+
],
|
149
|
+
),
|
150
|
+
),
|
151
|
+
frag.FragilityCurve(
|
152
|
+
asset_type=AssetTypes.transmission_underground_cables,
|
153
|
+
prob_function=frag.ProbabilityFunction(
|
154
|
+
distribution="lognorm",
|
155
|
+
parameters=[
|
156
|
+
Acceleration(0.55, "m/s**2"),
|
157
|
+
Acceleration(0.80 * 9.81, "m/s**2"),
|
158
|
+
1 / 0.55,
|
159
|
+
],
|
160
|
+
),
|
161
|
+
),
|
162
|
+
],
|
163
|
+
)
|