Error of complex ruture building

53 views
Skip to first unread message

Jian Ma

unread,
Sep 22, 2021, 1:23:17 AM9/22/21
to OpenQuake Users
Dear all,

I built a muti rupture with the tool of openquake engine.

During handling of the above exception, another exception occurred

Does anyone know why this error? 

The rupture model has been attached.

Thanks

Jian


Traceback (most recent call last):
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\engine\engine.py", line 263, in run_calc
    calc.run(exports=exports, **kw)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 247, in run
    self.pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\scenario_risk.py", line 118, in pre_execute
    super().pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 581, in pre_execute
    calc.run(remove=False)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 248, in run
    self.result = self.execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 308, in execute
    self._read_scenario_ruptures()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 253, in _read_scenario_ruptures
    rup = readinput.get_rupture(oq)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commonlib\readinput.py", line 634, in get_rupture
    rup = conv.convert_node(rup_node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 418, in convert_node
    return getattr(self, 'convert_' + striptag(node.tag))(node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
  File "e:\program files\openquake engine\python3.6\lib\contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 804, in context
    raise_(etype, msg, tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\python3compat.py", line 86, in raise_
    raise exc.with_traceback(tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 799, in context
    yield node
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
ValueError: node complexFaultRupture: too many values to unpack (expected 1), line 3 of None

[2021-09-19 09:52:20 #894 INFO] Stopping the workers
Traceback (most recent call last):
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 799, in context
    yield node
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
ValueError: too many values to unpack (expected 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "e:\program files\openquake engine\python3.6\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "e:\program files\openquake engine\python3.6\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\Program Files\OpenQuake Engine\python3.6\Scripts\oq.exe\__main__.py", line 7, in <module>
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commands\__main__.py", line 44, in oq
    sap.run(commands, prog='oq')
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\sap.py", line 225, in run
    return _run(parser(funcdict, **parserkw), argv)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\sap.py", line 216, in _run
    return func(**dic)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commands\engine.py", line 164, in main
    run_jobs(job_inis, log_level, log_file, exports, **pars)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\engine\engine.py", line 407, in run_jobs
    run_calc(*args)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\engine\engine.py", line 263, in run_calc
    calc.run(exports=exports, **kw)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 247, in run
    self.pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\scenario_risk.py", line 118, in pre_execute
    super().pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 581, in pre_execute
    calc.run(remove=False)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 248, in run
    self.result = self.execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 308, in execute
    self._read_scenario_ruptures()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 253, in _read_scenario_ruptures
    rup = readinput.get_rupture(oq)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commonlib\readinput.py", line 634, in get_rupture
    rup = conv.convert_node(rup_node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 418, in convert_node
    return getattr(self, 'convert_' + striptag(node.tag))(node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
  File "e:\program files\openquake engine\python3.6\lib\contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 804, in context
    raise_(etype, msg, tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\python3compat.py", line 86, in raise_
    raise exc.with_traceback(tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 799, in context
    yield node
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
ValueError: node complexFaultRupture: too many values to unpack (expected 1), line 3 of None




During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\engine\engine.py", line 263, in run_calc
    calc.run(exports=exports, **kw)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 247, in run
    self.pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\scenario_risk.py", line 118, in pre_execute
    super().pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 581, in pre_execute
    calc.run(remove=False)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 248, in run
    self.result = self.execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 308, in execute
    self._read_scenario_ruptures()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 253, in _read_scenario_ruptures
    rup = readinput.get_rupture(oq)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commonlib\readinput.py", line 634, in get_rupture
    rup = conv.convert_node(rup_node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 418, in convert_node
    return getattr(self, 'convert_' + striptag(node.tag))(node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
  File "e:\program files\openquake engine\python3.6\lib\contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 804, in context
    raise_(etype, msg, tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\python3compat.py", line 86, in raise_
    raise exc.with_traceback(tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 799, in context
    yield node
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
ValueError: node complexFaultRupture: too many values to unpack (expected 1), line 3 of None

[2021-09-19 09:52:20 #894 INFO] Stopping the workers
Traceback (most recent call last):
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 799, in context
    yield node
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
ValueError: too many values to unpack (expected 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "e:\program files\openquake engine\python3.6\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "e:\program files\openquake engine\python3.6\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\Program Files\OpenQuake Engine\python3.6\Scripts\oq.exe\__main__.py", line 7, in <module>
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commands\__main__.py", line 44, in oq
    sap.run(commands, prog='oq')
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\sap.py", line 225, in run
    return _run(parser(funcdict, **parserkw), argv)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\sap.py", line 216, in _run
    return func(**dic)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commands\engine.py", line 164, in main
    run_jobs(job_inis, log_level, log_file, exports, **pars)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\engine\engine.py", line 407, in run_jobs
    run_calc(*args)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\engine\engine.py", line 263, in run_calc
    calc.run(exports=exports, **kw)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 247, in run
    self.pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\scenario_risk.py", line 118, in pre_execute
    super().pre_execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 581, in pre_execute
    calc.run(remove=False)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\base.py", line 248, in run
    self.result = self.execute()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 308, in execute
    self._read_scenario_ruptures()
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\calculators\event_based.py", line 253, in _read_scenario_ruptures
    rup = readinput.get_rupture(oq)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\commonlib\readinput.py", line 634, in get_rupture
    rup = conv.convert_node(rup_node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 418, in convert_node
    return getattr(self, 'convert_' + striptag(node.tag))(node)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
  File "e:\program files\openquake engine\python3.6\lib\contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 804, in context
    raise_(etype, msg, tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\python3compat.py", line 86, in raise_
    raise exc.with_traceback(tb)
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\baselib\node.py", line 799, in context
    yield node
  File "e:\program files\openquake engine\python3.6\lib\site-packages\openquake\hazardlib\sourceconverter.py", line 547, in convert_complexFaultRupture
    [surface] = node.getnodes('complexFaultGeometry')
ValueError: node complexFaultRupture: too many values to unpack (expected 1), line 3 of None
earthquake_rupture_modelF1F2.xml

anirudh.rao

unread,
Oct 21, 2021, 10:12:07 AM10/21/21
to OpenQuake Users
Hi Jian,

The engine does not accept complexFaultRupture files that contain multiple <complexFaultGeometry> definitions. See the previous discussion on this topic here: https://github.com/gem/oq-engine/issues/5440. The input preparation toolkit has not been updated to conform with this stricter definition.

Best regards,
Anirudh

Reply all
Reply to author
Forward
0 new messages