Hello everyone,
I am trying to run an event_based_damage calculation with
infrastructure_connectivity_analysis = true, based on the infrastructure demo that normally runs under scenario_damage.
However, the event-based calculation fails at the post-risk stage with the following error:
[2025-12-04 11:25:30 #194 INFO] Running PostRiskCalculator with concurrent_tasks = 12
[2025-12-04 11:25:30 #194 INFO] Aggregating by []
[2025-12-04 11:25:30 #194 INFO] Building aggrisk from 7.16 KB of risk_by_event
[2025-12-04 11:25:30 #194 INFO] Performing 1 aggregations
[2025-12-04 11:25:30 #194 INFO] Building aggcurves
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Scripts\oq.exe\__main__.py", line 7, in <module>
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\commands\__main__.py", line 48, in oq
sap.run(commands, prog='oq')
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\baselib\sap.py", line 212, in run
return _run(parser(funcdict, **parserkw), argv)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\baselib\sap.py", line 203, in _run
return func(**dic)
^^^^^^^^^^^
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\commands\engine.py", line 180, in main
run_jobs(jobs, nodes=nodes, sbatch=True, precalc=not multi)
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\engine\engine.py", line 407, in run_jobs
run_calc(jobctx)
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\engine\engine.py", line 269, in run_calc
calc.run(shutdown=True)
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\base.py", line 289, in run
raise exc from None
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\base.py", line 275, in run
self.post_execute(self.result)
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\event_based_damage.py", line 276, in post_execute
prc.run(exports='')
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\base.py", line 289, in run
raise exc from None
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\base.py", line 273, in run
self.result = self.execute()
^^^^^^^^^^^^^^
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\post_risk.py", line 576, in execute
self.aggrisk = build_store_agg(
^^^^^^^^^^^^^^^^
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\post_risk.py", line 390, in build_store_agg
store_aggcurves(
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\calculators\post_risk.py", line 282, in store_aggcurves
units = dstore['exposure'].cost_calculator.get_units(oq.loss_types)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Paraskevi Tsoumani\AppData\Local\Programs\OpenQuake Engine\python3\Lib\site-packages\openquake\risklib\asset.py", line 171, in get_units
unit = self.units[lt]
~~~~~~~~~~^^^^
KeyError: 'structural'
Any guidance would be extremely helpful.
Thank you in advance!
Paraskevi