irie 0.0.21__py3-none-any.whl → 0.0.23__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.

Potentially problematic release.


This version of irie might be problematic. Click here for more details.

Files changed (36) hide show
  1. irie/apps/__init__.py +1 -1
  2. irie/apps/config.py +5 -0
  3. irie/apps/evaluation/models.py +3 -0
  4. irie/apps/events/models.py +1 -1
  5. irie/apps/inventory/models.py +14 -1
  6. irie/apps/inventory/sitemaps.py +5 -1
  7. irie/apps/inventory/urls.py +5 -4
  8. irie/apps/inventory/views.py +55 -12
  9. irie/apps/prediction/apps.py +3 -4
  10. irie/apps/prediction/forms.py +10 -8
  11. irie/apps/prediction/migrations/0003_alter_predictormodel_protocol.py +18 -0
  12. irie/apps/prediction/models.py +4 -4
  13. irie/apps/prediction/predictor.py +2 -2
  14. irie/apps/prediction/runners/__init__.py +5 -0
  15. irie/apps/prediction/runners/hazus.py +24 -39
  16. irie/apps/prediction/runners/opensees/__init__.py +1 -1
  17. irie/apps/prediction/runners/ssid.py +5 -1
  18. irie/apps/prediction/templatetags/predictor.py +0 -1
  19. irie/apps/prediction/urls.py +2 -2
  20. irie/apps/prediction/views.py +7 -9
  21. irie/apps/prediction/views_api.py +0 -4
  22. irie/apps/site/view_utils.py +2 -2
  23. irie/apps/sitemaps.py +7 -2
  24. irie/apps/templates/accounts/login.html +5 -5
  25. irie/apps/templates/inventory/asset-evals.html +70 -0
  26. irie/apps/templates/inventory/asset-event-summary.html +10 -9
  27. irie/apps/templates/inventory/asset-profile.html +12 -18
  28. irie/core/settings.py +6 -0
  29. irie/init/__main__.py +19 -9
  30. irie/init/bridges.py +26 -39
  31. irie/init/calid.py +111 -30
  32. {irie-0.0.21.dist-info → irie-0.0.23.dist-info}/METADATA +2 -2
  33. {irie-0.0.21.dist-info → irie-0.0.23.dist-info}/RECORD +36 -34
  34. {irie-0.0.21.dist-info → irie-0.0.23.dist-info}/WHEEL +0 -0
  35. {irie-0.0.21.dist-info → irie-0.0.23.dist-info}/entry_points.txt +0 -0
  36. {irie-0.0.21.dist-info → irie-0.0.23.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ {% extends "layouts/base.html" %}
2
+
3
+ {% block title %} {{ asset.calid }} {% endblock %}
4
+
5
+ {% block stylesheets %}
6
+ {% endblock stylesheets %}
7
+
8
+ {% block content %}
9
+ <div class="print">
10
+ <div class="col-10 mb-4 d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center py-4">
11
+ <div class="d-block mb-4 mb-md-0">
12
+ <nav aria-label="breadcrumb" class="d-none d-md-inline-block">
13
+ <ol class="breadcrumb breadcrumb-dark breadcrumb-transparent">
14
+ <li class="breadcrumb-item">
15
+ <a href="{% url 'dashboard' %}">
16
+ <svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>
17
+ </a>
18
+ </li>
19
+ <li class="breadcrumb-item" aria-current="page"><a href="{% url 'asset_table' %}">Inventory</a></li>
20
+ <li class="breadcrumb-item active"><code>{{ asset.calid }}</code></li>
21
+ <li class="breadcrumb-item active">Evaluations</li>
22
+ </ol>
23
+ </nav>
24
+ <h2 class="h4">{{ asset.id }} - {{ asset.name }}</h2>
25
+ </div>
26
+ </div>
27
+ </div>
28
+
29
+
30
+ <details id="event-table" open><summary><h3>Health History</h3></summary>
31
+ {% if asset.cesmd %}
32
+ <div class="row">
33
+ <div class="col-10 mb-4">
34
+ {% include 'includes/asset-event-table.html' with evaluations=evaluations %}
35
+ </div>
36
+ </div>
37
+ {% endif %}
38
+ </details>
39
+ <hr>
40
+
41
+ {% endblock content %}
42
+
43
+ {% block javascripts %}
44
+ <script>
45
+ const table_keys = [
46
+ {% for method in evaluations.0.evaluation %}
47
+ "{{ method }}",
48
+ {% endfor %}
49
+ ];
50
+ for (const key of table_keys) {
51
+ let elem = document.querySelector(`#ssid-set-${key}`);
52
+ elem.onclick = () => {
53
+ // Unhide
54
+ [...document.querySelectorAll(`.ssid-method-${key}`)].map((x) => {
55
+ console.log(x);
56
+ x.style.display = null;
57
+ });
58
+ document.querySelector("#ssid-name").textContent = elem.innerText;
59
+ // Hide rest
60
+ for (const oth of table_keys) {
61
+ if (oth != key)
62
+ [...document.querySelectorAll(`.ssid-method-${oth}`)].map((x) => {
63
+ console.log(x);
64
+ x.style.display = 'none';
65
+ });
66
+ }
67
+ };
68
+ }
69
+ </script>
70
+ {% endblock javascripts %}
@@ -536,16 +536,18 @@
536
536
  </div>
537
537
  {% endcomment %}
538
538
  <div class="tab-content" id="ssid-pills" style="overflow-x:auto;">
539
- {% if all_evaluations.SPECTRAL_SHIFT_IDENTIFICATION %}
539
+ {% if all_evaluations.SPECTRAL_SHIFT_IDENTIFICATION %}
540
540
  {% with summary=all_evaluations.SPECTRAL_SHIFT_IDENTIFICATION.summary %}
541
541
  {% for model_name, metric_data in summary.items %}
542
542
  {{ metric_data.description }}
543
- {% if "error" in metric_data %}
544
- <b>{{ metric_data.error }}</b>
545
- {% else %}
546
543
  <div class="tab-pane fade {% if not forloop.counter0 %}show active{% endif %}" id="pills-{{ model_name }}-ssid"
547
544
  role="tabpanel">
548
- {# metric_data.data #}
545
+ {% if "error" in metric_data %}
546
+ This metric failed to run. The error message reads:
547
+ <blockquote style="padding: 20px;">
548
+ {{ metric_data.error }}
549
+ </blockquote>
550
+ {% else %}
549
551
  <table class="table align-items-center table-flush">
550
552
  <thead class="thead-light">
551
553
  <tr>
@@ -568,11 +570,10 @@
568
570
  </div>
569
571
  {% endfor %}
570
572
  {% endwith %}
571
- {% else %}
573
+ {% else %}
572
574
  <center>NA</center>
573
- {% endif %}
574
- {# #}
575
- </div>
575
+ {% endif %}
576
+ </div>
576
577
  </div>
577
578
  <div class="card-footer">
578
579
  <ul class="nav nav-pills my-0" id="pills-tab" role="tablist">
@@ -21,16 +21,10 @@
21
21
  height: auto;
22
22
  margin: -200px 0 -100px -100px;
23
23
  }
24
- /*
25
- width: 400px;
26
- height: 300px;
27
- margin: -75px 0 0 -100px;
28
- */
29
24
  </style>
30
25
  <style>
31
26
  @media print {
32
27
  @page {
33
- /* size:210mm 297mm; */
34
28
  size: 8.5in 11in;
35
29
  }
36
30
  #event-table, #rendering, #structureProfile {
@@ -61,12 +55,9 @@
61
55
  }
62
56
  h1 {
63
57
  font-size: 16pt;
64
- /* position: fixed;
65
- top: 0; */
66
58
  }
67
59
  h2, h3, h4 {
68
60
  font-size: 14pt;
69
- /* margin-top: 25px; */
70
61
  }
71
62
  main, div.print {
72
63
  visibility: visible;
@@ -121,7 +112,7 @@
121
112
 
122
113
  {% block content %}
123
114
  <div class="print">
124
- <div class="col-8 mb-4 d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center py-4">
115
+ <div class="col-10 mb-4 d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center py-4">
125
116
  <div class="d-block mb-4 mb-md-0">
126
117
  <nav aria-label="breadcrumb" class="d-none d-md-inline-block">
127
118
  <ol class="breadcrumb breadcrumb-dark breadcrumb-transparent">
@@ -191,13 +182,17 @@
191
182
  {% endif %}
192
183
  {% if asset.cesmd %}
193
184
  <div id="sensors" class="row">
194
- <div class="col-8 mb-4">
185
+ <div class="col-10 mb-4">
195
186
  <div class="card h-100 bg-white-100 border-0 shadow">
196
187
  <div class="card-header d-sm-flex flex-row align-items-center flex-0">
197
188
  </div>
198
189
  <div class="card-body align-items-center p-2">
199
190
  <img src="{{ ASSETS_ROOT }}/inventory/ll{{ asset.cesmd|slice:"2:" }}.svg">
200
191
  </div>
192
+ <div class="card-footer">
193
+ <span class="small">
194
+ Source: <a href="https://www.strongmotioncenter.org/cgi-bin/CESMD/stationhtml.pl?stationID={{asset.cesmd}}&network=CGS">CGS</a></span>
195
+ </div>
201
196
  </div>
202
197
  </div>
203
198
  </div>
@@ -205,20 +200,19 @@
205
200
  </details>
206
201
 
207
202
 
208
- {% if asset.cesmd %}
203
+ {% if asset.cesmd or hazus %}
209
204
  <details id="event-table" open><summary><h3>Health History</h3></summary>
210
-
205
+ {% if asset.cesmd %}
211
206
  <div class="row">
212
- <div class="col-8 mb-4">
213
- <!-- <div class="card bg-white-100 border-0 shadow table-wrapper table-responsive"> -->
207
+ <div class="col-10 mb-4">
214
208
  {% include 'includes/asset-event-table.html' with evaluations=evaluations %}
215
- <!-- </div> -->
216
209
  </div>
217
210
  </div>
211
+ {% endif %}
218
212
 
219
213
  {# Hazus #}
220
214
  <div class="row">
221
- <div class="col-8 mb-4">
215
+ <div class="col-10 mb-4">
222
216
  <div class="card bg-white-100 border-0 shadow ">
223
217
  <div class="card-header">
224
218
  <h4>Hazus Fragility</h4>
@@ -239,7 +233,7 @@
239
233
  <details open><summary><h3>Structure Details</h3></summary>
240
234
 
241
235
  <div class="row">
242
- <div class="col-8 mb-4">
236
+ <div class="col-10 mb-4">
243
237
  {% for table in tables %}
244
238
  <div class="card bg-white-100 border-0 shadow table-wrapper table-responsive">
245
239
  <div class="card">
irie/core/settings.py CHANGED
@@ -222,3 +222,9 @@ LOGGING = {
222
222
  "level": "DEBUG",
223
223
  },
224
224
  }
225
+
226
+ if not DEBUG:
227
+ SECURE_SSL_REDIRECT = True
228
+ # Specific to Heroku:
229
+ SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
230
+
irie/init/__main__.py CHANGED
@@ -7,7 +7,13 @@ from django.core.management import execute_from_command_line, call_command
7
7
 
8
8
  cd = pathlib.Path(__file__).parents[0]
9
9
 
10
- def init(settings):
10
+ def init(argv):
11
+ settings = argv[1]
12
+
13
+ if len(argv) > 2:
14
+ actions = argv[2]
15
+ else:
16
+ actions = "magcp"
11
17
 
12
18
  os.environ.setdefault('DJANGO_SETTINGS_MODULE', settings)
13
19
 
@@ -16,21 +22,25 @@ def init(settings):
16
22
  "migrate"
17
23
  ])
18
24
 
19
- call_command("makemigrations")
20
-
21
- call_command("migrate")
25
+ if "m" in actions:
26
+ call_command("makemigrations")
27
+ call_command("migrate")
22
28
 
23
- # call_command("init_assets")
29
+ if "a" in actions:
30
+ call_command("init_assets")
24
31
 
25
- call_command("init_cesmd")
32
+ if "g" in actions:
33
+ call_command("init_cesmd")
26
34
 
27
- # call_command("init_corridors")
35
+ if "c" in actions:
36
+ call_command("init_corridors")
28
37
 
29
- # call_command("init_predictors")
38
+ if "p" in actions:
39
+ call_command("init_predictors")
30
40
 
31
41
 
32
42
 
33
43
 
34
44
  if __name__ == "__main__":
35
- init(sys.argv[1])
45
+ init(sys.argv)
36
46
 
irie/init/bridges.py CHANGED
@@ -1,3 +1,8 @@
1
+ #===----------------------------------------------------------------------===#
2
+ #
3
+ # STAIRLab -- STructural Artificial Intelligence Laboratory
4
+ #
5
+ #===----------------------------------------------------------------------===#
1
6
  # - clean names
2
7
  # - add descriptions
3
8
  import sys
@@ -16,7 +21,7 @@ PYTHON = sys.executable
16
21
 
17
22
  CE58658 = {
18
23
  "channels": {
19
- # channel node dof rotationangle locationname
24
+ # channel node dof rotation angle location name
20
25
  "1": (1031, 3, 37.66*pi/180, "abutment_1"),
21
26
  "2": (1031, 2, 37.66*pi/180, "abutment_1"),
22
27
  "3": (1031, 1, 37.66*pi/180, "abutment_1"),
@@ -64,9 +69,12 @@ CE58658 = {
64
69
  {'key': 12020, 'strain': True, 'label': 'Bent 12 South'},
65
70
  {'key': 12030, 'strain': True, 'label': 'Bent 12 Center'},
66
71
  {'key': 13010, 'strain': True, 'label': 'Bent 13 South, NE Line'},
67
- {'key': 13020, 'strain': True, 'label': 'Bent 13 North, NE Line'}, {'key': 13040, 'strain': False, 'label': 'Bent 13, NR Line'},
68
- {'key': 14010, 'strain': True, 'label': 'Bent 14 South, NE Line'}, {'key': 14020, 'strain': True, 'label': 'Bent 14 North, NE Line'},
69
- {'key': 14030, 'strain': True, 'label': 'Bent 14 Center, NE Line'}, {'key': 14040, 'strain': False, 'label': 'Bent 14, NR Line'}
72
+ {'key': 13020, 'strain': True, 'label': 'Bent 13 North, NE Line'},
73
+ {'key': 13040, 'strain': False, 'label': 'Bent 13, NR Line'},
74
+ {'key': 14010, 'strain': True, 'label': 'Bent 14 South, NE Line'},
75
+ {'key': 14020, 'strain': True, 'label': 'Bent 14 North, NE Line'},
76
+ {'key': 14030, 'strain': True, 'label': 'Bent 14 Center, NE Line'},
77
+ {'key': 14040, 'strain': False, 'label': 'Bent 14, NR Line'}
70
78
  ],
71
79
  "bents": [
72
80
  {'node': 203, 'record': True, 'label': 'Bent 2 North'},
@@ -202,9 +210,8 @@ BRIDGES = {
202
210
  },
203
211
  ]
204
212
  },
205
- "CE24704": {
206
- "cesmd": "CE24704",
207
- "calid": "53-2791 (07-LA-10-8.8)",
213
+ "CE24704": { # La Cienega
214
+ "cesmd": "CE24704",
208
215
  "name": "Los Angeles - I10/La Cienega Bridge",
209
216
  "accelerometers": {
210
217
  "ground_channels": [9, 10, 11],
@@ -233,7 +240,7 @@ BRIDGES = {
233
240
  },
234
241
  ]
235
242
  },
236
- "CE24706": {
243
+ "CE24706": { # Palmdale
237
244
  "cesmd": "CE24706",
238
245
  "calid": "53-1794 (07-LA-14-R57.37)",
239
246
  "name": "Palmdale - Hwy 14/Barrel Springs Bridge",
@@ -264,7 +271,7 @@ BRIDGES = {
264
271
  }
265
272
  ]
266
273
  },
267
- "CE24775": {
274
+ "CE24775": { # Grapevine
268
275
  "cesmd": "CE24775",
269
276
  "calid": "50-0271 (06-KER-5-4.1)",
270
277
  "name": "Grapevine - I5/Lebec Rd Bridge",
@@ -299,7 +306,7 @@ BRIDGES = {
299
306
  }
300
307
  ]
301
308
  },
302
- "CE47315": {
309
+ "CE47315": { # San Juan Bautista
303
310
  "cesmd": "CE47315",
304
311
  "calid": "43-0031E (05-SBT-156-0.00)",
305
312
  "name": "San Juan Bautista - Hwy 101/156 Overpass",
@@ -334,7 +341,7 @@ BRIDGES = {
334
341
  # }
335
342
  ]
336
343
  },
337
- "CE68185": { # (Alfred Zampa Memorial Bridge) (Carquinez West, Southbound, Suspension)
344
+ "CE68185": { # (Carquinez West, Southbound, Suspension) (Alfred Zampa Memorial Bridge)
338
345
  "cesmd": "CE68185",
339
346
  "calid": "28-0352L (04-SOL-80-0.01)",
340
347
  "name": "Vallejo - Carquinez/I80 West Bridge",
@@ -428,7 +435,7 @@ BRIDGES = {
428
435
  }
429
436
  ]
430
437
  },
431
- "CE79421": {
438
+ "CE79421": { # Leggett
432
439
  "cesmd": "CE79421",
433
440
  "calid": "10-0299 (01-MEN-101-160.03)",
434
441
  "name": "Leggett - Hwy 101/Confusion Hill Bridge",
@@ -487,7 +494,7 @@ BRIDGES = {
487
494
  }
488
495
  ]
489
496
  },
490
- "CE89708": {
497
+ "CE89708": { # Arcata
491
498
  "cesmd": "CE89708",
492
499
  "calid": "04-0170 (01-HUM-101-R92.99)",
493
500
  "name": "Arcata - Hwy 101/Murray Road Bridge",
@@ -604,7 +611,7 @@ BRIDGES = {
604
611
  }
605
612
  ]
606
613
  },
607
- "CE89973": {
614
+ "CE89973": { # rio-dell eel river
608
615
  "cesmd": "CE89973",
609
616
  "calid": "04-0016R (01-HUM-101-53.9)",
610
617
  "Location": "40.5093 N, 124.1196 W",
@@ -667,7 +674,7 @@ BRIDGES = {
667
674
  }
668
675
  ]
669
676
  },
670
- "CE24694": { # sylmar
677
+ "CE24694": { # Sylmar
671
678
  "cesmd": "CE24694",
672
679
  "calid": "53-2795F",
673
680
  "Location": "34.3349 N, 118.5084 W",
@@ -706,7 +713,7 @@ BRIDGES = {
706
713
  }
707
714
  ]
708
715
  },
709
- "CE13795": { # capistrano
716
+ "CE13795": { # Capistrano
710
717
  "cesmd": "CE13795",
711
718
  "calid": "55-0225 (07-ORA-5-6.62)",
712
719
  "name": "Capistrano Beach - I5/Via Calif. Bridge",
@@ -994,7 +1001,7 @@ BRIDGES = {
994
1001
  {
995
1002
  "name": f"OpenSees",
996
1003
  "metrics": [*LINEAR_METRICS, *NONLINEAR_METRICS],
997
- "protocol": "IRIE_PREDICTOR_T4",
1004
+ "protocol": "IRIE_PREDICTOR_V1",
998
1005
  "entry_point": [PYTHON, "-mCE58658", f"Procedures/nonlinear.tcl"],
999
1006
  "platform": "OpenSees",
1000
1007
  "active": False,
@@ -1043,27 +1050,8 @@ BRIDGES = {
1043
1050
  },
1044
1051
  ]
1045
1052
  },
1046
- # "CE68682": {
1047
- # "cesmd": "CE68682",
1048
- # "calid": "28-0153 (04-CC-68-25.04)"},
1049
-
1050
- # "CE58600": {
1051
- # "cesmd": "CE58600",
1052
- # "calid": "34-0006 (04-SF-80-13.2)",
1053
- # "name": "Oakland - SF Bay Bridge/East: SAS",
1054
- # "predictors": [
1055
- # {
1056
- # "name": "SRIM_tran", "description": "Transverse configuration.", "protocol": "", "metrics": ["SPECTRAL_SHIFT_IDENTIFICATION"], "entry_point": [PYTHON, "-m", "mdof", "srim"],
1057
- # "config": {
1058
- # "--decimate", SS_DEC, "--ss-size", 12, "--arx-order", 190,
1059
- # "--inputs", "[4,28,71]", "--outputs", "[9,33,51,71]"
1060
- # ],
1061
- # }
1062
- # ]
1063
- # },
1064
1053
  # "CE58700": {
1065
- # "cesmd": "CE58700",
1066
- # "calid": "CE58700",
1054
+ # "cesmd": "CE58700",
1067
1055
  # "name": "San Francisco - Golden Gate Bridge",
1068
1056
  # "predictors": [
1069
1057
  # {
@@ -1095,8 +1083,7 @@ BRIDGES = {
1095
1083
  # ]
1096
1084
  # },
1097
1085
  # "CE58601": {
1098
- # "cesmd": "CE58601",
1099
- # "calid": "34-0006 (04-SF-80-8.7)",
1086
+ # "cesmd": "CE58601",
1100
1087
  # "name": "Oakland - SF Bay Bridge/East: Skyway",
1101
1088
  # "predictors": [
1102
1089
  # {
irie/init/calid.py CHANGED
@@ -1,34 +1,115 @@
1
-
1
+ #===----------------------------------------------------------------------===#
2
+ #
3
+ # STAIRLab -- STructural Artificial Intelligence Laboratory
4
+ #
5
+ #===----------------------------------------------------------------------===#
2
6
  CESMD = {
3
- # "CE89324": {},
4
- # "CE58700": "CE58700", # CE58700
5
- "04-0236": "CE89324", # painter
6
- "04-0228": "CE89686", # eureka-samoa
7
- "10-0299": "CE79421", # CE79421
8
- "23-0015R": "CE68184", # carquinez-east-northbound
9
- "28-0352L": "CE68185", # carquinez-west-southbound
10
- "28-0153": "CE68682", # CE68682
11
- "33-0214L": "CE58658", # hayward
12
- "34-0003": "CE58632", # CE58632
13
- "34-0006": "CE58600", # CE58600
14
- "34-0006": "CE58601", # CE58601
15
- "04-0016R": "CE89973", # CE89973
16
- "04-0170": "CE89708", # CE89708
17
- "04-0229": "CE89735", # CE89735
18
- "04-0230": "CE89736", # CE89736
19
-
20
- "43-0031E": "CE47315", # CE47315
21
- "47-0048": "CE54730", # crowley
22
- "50-0271": "CE24775", # CE24775
23
- "50-0340": "CE33742", # ridgecrest
24
- "53-1471": "CE14406", # CE14406
25
- "53-1794": "CE24706", # CE24706
26
- "53-2791": "CE24704", # CE24704
27
- "53-2795F": "CE24694", # sylmar
28
- "54-0823G": "CE23631", # bernardino
29
- "55-0225": "CE13795", # capistrano
30
- "56-0586G": "CE13705", # CE13705
31
- "58-0215": "CE01336", # meloland
7
+ "56-0586G": "CE13705", # "08-RIV-15-R41.57", "Corona - I15/Hwy91 Interchange Bridge"
8
+ "53-1471": "CE14406", # "07-LA-47-0.86", "Vincent Thomas Bridge"
9
+ "53-2791": "CE24704", # "07-LA-10-8.8", "La Cienega Bridge"
10
+ "53-1794": "CE24706", # "07-LA-14-R57.37", "Palmdale - Hwy 14/Barrel Springs Bridge"
11
+ "50-0271": "CE24775", # "06-KER-5-4.1", "Grapevine - I5/Lebec Rd Bridge"
12
+ "43-0031E": "CE47315", # "05-SBT-156-0.00", "San Juan Bautista - Hwy 101/156 Overpass"
13
+ "28-0352L": "CE68185", # "04-SOL-80-0.01", "Vallejo - Carquinez/I80 West Bridge"
14
+ "23-0015R": "CE68184", # "04-SOL-80-12.8", "Vallejo - Carquinez/I80 East Bridge"
15
+ "10-0299": "CE79421", # "01-MEN-101-160.03", "Confusion Hill Bridge (Leggett, Hwy 101)"
16
+ "04-0170": "CE89708", # "01-HUM-101-R92.99", "Arcata - Hwy 101/Murray Road Bridge"
17
+ "04-0229": "CE89735", # "01-HUM-255-0.7", "Eureka - Middle Channel Bridge"
18
+ "04-0230": "CE89736", # "01-HUM-255-0.2", "Eureka - Eureka Channel Bridge"
19
+ "04-0016R": "CE89973", # "01-HUM-101-53.9", "Rio Dell - Hwy 101/Eel River Bridge"
20
+ "50-0340": "CE33742", # "09-KER-395-R25.08", "Ridgecrest - Hwy 395/Brown Road Bridge"
21
+ "53-2795F": "CE24694", # "07-LA-5-24.5", "Sylmar - I5/14 Interchange Bridge"
22
+ "55-0225": "CE13795", # "07-ORA-5-6.62", "Capistrano Beach - I5/Via Calif. Bridge"
23
+
24
+ "58-0215": "CE01336", # "El Centro - Hwy8/Meloland Overpass [Abandoned]"
25
+ "47-0048": "CE54730", # "Lake Crowley - Hwy 395 Bridge"
26
+ "04-0228": "CE89686", # "Eureka - Samoa Channel Bridge"
27
+ "04-0236": "CE89324", # "Rio Dell - Hwy 101/Painter St. Overpass"
28
+ "54-0823G": "CE23631", # "San Bernardino - I10/215 Interchange Br"
29
+ "33-0214L": "CE58658", # "Hayward - Hwy 580/238 Interchange Bridge"
30
+
31
+ #-------------------------------------
32
+
33
+ "34-0006": "CE58600", # "Oakland - SF Bay Bridge/East: SAS"
34
+ # "34-0006": "CE58601", # "04-SF-80-8.7", "Oakland - SF Bay Bridge/East: Skyway"
35
+ # "34-0006": "CE58602", # "Oakland - SF Bay Bridge/East: YBITS"
36
+ # "34-0006": "CE58603", # "Oakland - SF Bay Bridge/East: E Approach"
37
+ "34-0003": "CE58632", # "04-SF-80-5.6", "San Francisco - Bay Bridge/West"
38
+
39
+ "35-0054": "CE58677", # "San Mateo Bridge"
40
+ # "35-0054": "CE58799", # "San Mateo Bridge Trestle"
41
+ "53-3032": "CE14709", # "Long Beach - Schuyler Heim Bridge"
42
+ "51-0104": "CE25749", # "Santa Barbara - San Roque Canyon Bridge"
43
+ "44-0298": "CE47646", # "Big Sur - New Hwy 1/Pfeiffer Cnyn Bridge"
44
+ "44-0060": "CE47729", # "Big Sur - Hwy 1/Pfeiffer Canyon Bridge [Demolished]"
45
+ # "37-0470L": "CE57748", # "Santa Clara - Hwy 237/Alviso Overpass"
46
+ # "37-0470K": "CE57748", # "Santa Clara - Hwy 237/Alviso Overpass"
47
+ "27-0013": "CE68778", # "Novato - Hwy37/Petaluma River Bridge"
48
+ "17-0058L": "CE76741", # "Truckee - I80/Truckee River Bridge"
49
+ "06-0210": "CE88638", # "Shasta Lake - I5/Antlers Bridge"
50
+ "54-0474F": "CE12666", # "North Palm Springs - I10/Hwy 62 Bridge"
51
+ "53-1185": "CE14690", # "Los Angeles - I405/San Gabriel River Br"
52
+ "50-0402R": "CE34715", # "Mojave - Hwy 14/Railroad Bridge"
53
+ "33-0347S": "CE58656", # "Oakland - Hwy 580/13 Interchange Bridge"
54
+ "33-0302H": "CE58657", # "Oakland - Hwy 580/24 Interchange Bridge"
55
+ # "35-0285": "CE58678", # "Belmont - I280 Pedestrian Bridge"
56
+
57
+ "01-0020": "CE99190", # "01-DN-101-36.06", "Crescent City - Hwy 101/Smith Rvr Bridge"
58
+ "01-0028": "CE99710", # "01-DN-101-R4.04", "Klamath - Hwy 101/Klamath River Bridge"
59
+ "10-0081": "CE69760", # "01-MEN-101-R9.53", "Hopland - Hwy 101/Railroad Bridge"
60
+ "10-0134": "CE79683", # "01-MEN-1-43.00", "Albion - Hwy 1/Salmon Creek Bridge"
61
+ "10-0031": "CE79757", # "01-MEN-271-5.2", "Leggett - Cedar Creek Bridge"
62
+ "10-0030": "CE79761", # "01-MEN-271-4.9", "Leggett - Big Dann Bridge"
63
+ "10-0176": "CE79296", # "01-MEN-1-96.9", "Fort Bragg - Hwy 1/Noyo River Bridge"
64
+
65
+ "06-0021": "CE88194", # "02-SHA-5-R28.14", "Redding - I5/Shasta Lake Bridge"
66
+
67
+ "24-0045": "CE67972", # "03-YOL-80-7.25", "West Sacramento - I80/Yolo Causeway"
68
+
69
+ "35-0038": "CE58596", # "04-SM-84-29.0", "Dumbarton Bridge"
70
+ "35-0130": "CE58536", # "04-SM-101-23.7", "South San Francisco - Sierra Pt Overpass"
71
+ "35-0031": "CE58754", # "04-SM-1-20.82", "Half Moon Bay - Hwy 1/Tunitas Cr. Bridge"
72
+ "28-0009": "CE67771", # "04-CC-160-0.82", "Antioch - San Joaquin River Bridge"
73
+ "28-0153": "CE68682", # "04-CC-68-25.04", "Benicia - Martinez"
74
+ "28-0153R": "CE68322", # "04-CC,Sol-680-L0.0", "Benicia - Martinez/I680 East Bridge"
75
+ "28-0100": "CE58258", # "04-CC,MRN-580-6.1/7.8,0.0/2.6", "Richmond - San Rafael Bridge"
76
+ "36-0088R": "CE47707", # "04-SCR-1-R1.59", "Watsonville - Hwy1/Struve Slough Bridge"
77
+ "20-0195": "CE69671", # "04-SON-1-19.72", "Jenner - Hwy 1/Russian River Bridge"
78
+ "20-0235": "CE68717", # "04-SON-101-13.88", "Rohnert Park - Hwy 101 Bridge"
79
+
80
+ "51-0090": "CE26917", # "05-SB-01-R6.78", "Lompoc - Hwy 1/El Jaro Creek Bridge"
81
+ "49-0036": "CE36668", # "05-SLO-46-54.77", "Parkfield - Hwy 46/Cholame Creek Bridge"
82
+ "49-0046": "CE37728", # "05-SLO-52.92", "San Simeon - Hwy 1/San Simeon Crk Bridge"
83
+ "51-0066": "CE25758", # "05-SB-166-R69.94", "Cuyama - Hwy 166/Cuyama River Bridge"
84
+
85
+ "53-1630G": "CE24670", # "07-LS-405-29.43", "Los Angeles - I10/405 Interchange Bridge"
86
+ "53-2318G": "CE24689", # "07-LA-134-R13.25", "Pasadena - I210/Hwy134 Interchnge Bridge"
87
+ "52-0449": "CE25324", # "07-VEN-101-37.21", "Oxnard - Hwy 101/Santa Clara Rvr Bridge"
88
+ "52-0331L": "CE24738", # "07-VEN-023/118-21.0", "Moorpark - Hwy 23/118 Bridge"
89
+ "52-0214L": "CE25725", # "07-VEN-101-R26", "Ventura - Hwy101/Telephone Rd. Bridge"
90
+
91
+ "54-1177": "CE22503", # "08-SBd-18,38-44.4", "Big Bear Lake - Hwys 18 & 38 Bridge"
92
+ "56-0452F": "CE12649", # "08-RIV-10-6.67", "Beaumont - I10/60 Interchange Bridge"
93
+ "54-0783R": "CE23650", # "08-SBD-15-16.35", "Devore - I15/215 Interchange Bridge"
94
+
95
+ "23-0064": "CE68065", # "10-SOL-37-R7.39", "Vallejo - Hwy 37/Napa River Bridge"
96
+
97
+ "57-0520L": "CE03731", # "11-SD-5-25.91", "San Diego - I5/Hwy 52 Interchange Bridge"
98
+ "57-0857": "CE03679", # "11-SD-75-R20.49", "San Diego - Coronado Bridge"
99
+ "27-0052": "CE58700", # "", "San Francisco - Golden Gate Bridge",
32
100
  }
33
101
 
102
+ """
103
+ "": "CE24714", # "San Fernando - I210/Hwy 118 Bridge [Abandoned]"
104
+ "": "CE25697", # "Cuyama Valley - Hwy 33/Quatal Cyn Bridge [Abandoned]"
105
+ "": "NP5235", # "Riverside; Santa Ana River Bridge"
106
+ "": "NP1571", # "San Jose; Interchange 101/280/680"
107
+
108
+ "": "CE58414", # "Pacifica - Hwy1/Devils Slide Bridge"
109
+ "": "CE57595", # "Fremont - Channel B Bridge"
110
+ "": "CE14703", # "Long Beach - Gerald Desmond Bridge",
111
+ "": "CE58501", # "Hayward - BART Elevated Section",
112
+ "": "CE58633", # "San Francisco - Bay Bridge/East [Abandoned]",
113
+ """
114
+
34
115
  CALID = {v: k for k, v in CESMD.items()}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: irie
3
- Version: 0.0.21
3
+ Version: 0.0.23
4
4
  Summary: An infrastructure resilience engine
5
5
  Author-email: "Claudio M. Perez" <50180406+claudioperez@users.noreply.github.com>
6
6
  Project-URL: Repository, https://github.com/STAIRLab
@@ -90,7 +90,7 @@ Requires-Dist: dj-database-url==2.1.0
90
90
  </td>
91
91
 
92
92
  <td>
93
- <a href="https://brace2.herokuapp.com">
93
+ <a href="https://structures.live">
94
94
  <img src="https://raw.githubusercontent.com/claudioperez/sdof/master/docs/assets/stairlab.svg"
95
95
  alt="STAIRlab Logo" width="200"/>
96
96
  </a>