AttributeError: 'MultiPolygon' object has no attribute 'exterior'

560 views
Skip to first unread message

zeckra

unread,
Jan 28, 2015, 6:18:33 AM1/28/15
to openqua...@googlegroups.com
Hey Guys,

I have a problem with calculating the Hazard Curve of a SimpleFault. The terminal output is like:

openquake@ubuntu-64:~/Desktop/PSHA_cologne/testSimpleSource$ oq-engine --rh job.ini 
[2015-01-28 00:31:44,385 hazard job #3 - PROGRESS MainProcess/4069] **  pre_executing (hazard)
[2015-01-28 00:31:44,399 hazard job #3 - PROGRESS MainProcess/4069] **  initializing sites
[2015-01-28 00:31:44,427 hazard job #3 - PROGRESS MainProcess/4069] **  initializing site collection
[2015-01-28 00:31:44,439 hazard job #3 - PROGRESS MainProcess/4069] **  initializing sources
[2015-01-28 00:32:33,817 hazard job #3 - INFO MainProcess/4069] splitting <TrtModel #0 Active Shallow Crust, 36 source(s)>
[2015-01-28 00:32:33,840 hazard job #3 - INFO MainProcess/4069] Total weight of the sources=4375000
[2015-01-28 00:32:33,841 hazard job #3 - INFO MainProcess/4069] Expected output size=112.0
[2015-01-28 00:32:34,142 hazard job #3 - PROGRESS MainProcess/4069] **  executing (hazard)
[2015-01-28 00:32:34,143 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #1
[2015-01-28 00:32:34,152 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #2
[2015-01-28 00:32:34,161 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #3
[2015-01-28 00:32:34,172 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #4
[2015-01-28 00:32:34,182 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #5
[2015-01-28 00:32:34,195 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #6
[2015-01-28 00:32:34,201 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #7
[2015-01-28 00:32:34,207 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #8
[2015-01-28 00:32:34,216 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #9
[2015-01-28 00:32:34,221 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #10
[2015-01-28 00:32:34,225 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #11
[2015-01-28 00:32:34,230 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #12
[2015-01-28 00:32:34,237 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #13
[2015-01-28 00:32:34,244 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #14
[2015-01-28 00:32:34,249 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #15
[2015-01-28 00:32:34,256 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #16
[2015-01-28 00:32:34,265 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #17
[2015-01-28 00:32:34,274 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #18
[2015-01-28 00:32:34,285 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #19
[2015-01-28 00:32:34,456 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #20
[2015-01-28 00:32:34,463 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #21
[2015-01-28 00:32:34,469 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #22
[2015-01-28 00:32:34,476 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #23
[2015-01-28 00:32:34,483 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #24
[2015-01-28 00:32:34,496 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #25
[2015-01-28 00:32:34,505 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #26
[2015-01-28 00:32:34,514 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #27
[2015-01-28 00:32:34,525 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #28
[2015-01-28 00:32:34,534 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #29
[2015-01-28 00:32:34,539 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #30
[2015-01-28 00:32:34,545 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #31
[2015-01-28 00:32:34,554 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #32
[2015-01-28 00:32:34,561 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #33
[2015-01-28 00:32:34,567 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #34
[2015-01-28 00:32:34,575 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #35
[2015-01-28 00:32:34,582 hazard job #3 - PROGRESS MainProcess/4069] **  Submitting task compute_hazard_curves #36
[2015-01-28 00:32:34,590 hazard job #3 - PROGRESS MainProcess/4069] **  Sent 0M of data
[2015-01-28 00:32:34,591 hazard job #3 - PROGRESS MainProcess/4069] **  spawned 36 tasks of kind compute_hazard_curves
[2015-01-28 00:44:12,168 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves   2%
[2015-01-28 00:44:13,811 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves   5%
[2015-01-28 00:44:19,179 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves   8%
[2015-01-28 00:44:24,767 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves  11%
[2015-01-28 01:01:10,238 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves  13%
[2015-01-28 01:01:16,727 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves  16%
[2015-01-28 01:01:22,538 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves  19%
[2015-01-28 01:01:35,526 hazard job #3 - PROGRESS MainProcess/4069] **  compute_hazard_curves  22%
[2015-01-28 01:12:59,917 hazard job #3 - WARNING MainProcess/4069] Revoking 4 tasks
Traceback (most recent call last):
  File "/usr/bin/oq-engine", line 9, in <module>
    load_entry_point('openquake.engine==1.2.2', 'console_scripts', 'oq-engine')()
  File "/usr/lib/python2.7/dist-packages/openquake/engine/bin/openquake_cli.py", line 464, in main
    log_file, args.exports)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 362, in run_job
    run_calc(job, log_level, log_file, exports)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 179, in run_calc
    _do_run_calc(calculator, exports)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/engine.py", line 216, in _do_run_calc
    calc.execute()
  File "/usr/lib/python2.7/dist-packages/openquake/engine/performance.py", line 45, in newmeth
    return method(self, *args)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/calculators/hazard/general.py", line 151, in execute
    weight=attrgetter('weight'), key=attrgetter('trt_model_id'))
  File "/usr/lib/python2.7/dist-packages/openquake/engine/utils/tasks.py", line 131, in apply_reduce
    return starmap(task, task_args, logs.LOG.progress, name).reduce(agg, acc)
  File "/usr/lib/python2.7/dist-packages/openquake/commonlib/parallel.py", line 288, in reduce
    agg_result = self.aggregate_result_set(agg_and_percent, acc)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/utils/tasks.py", line 92, in aggregate_result_set
    acc = agg(acc, result.unpickle())
  File "/usr/lib/python2.7/dist-packages/openquake/commonlib/parallel.py", line 280, in agg_and_percent
    raise RuntimeError(val)
RuntimeError: 
  File "/usr/lib/python2.7/dist-packages/openquake/commonlib/parallel.py", line 84, in safely_call
    res = func(*args), None
  File "/usr/lib/python2.7/dist-packages/openquake/engine/utils/tasks.py", line 168, in wrapped
    return task_func(*args)
  File "/usr/lib/python2.7/dist-packages/openquake/engine/calculators/hazard/classical/core.py", line 231, in compute_hazard_curves
    for _source, rupture, r_sites in rows:
  File "/usr/lib/python2.7/dist-packages/openquake/commonlib/calculators/calc.py", line 72, in gen_ruptures
    rupture, maximum_distance, s_sites)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/calc/filters.py", line 82, in filter_sites_by_distance_to_rupture
    jb_dist = rupture.surface.get_joyner_boore_distance(sites.mesh)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/surface/base.py", line 226, in get_joyner_boore_distance
    return self.get_mesh().get_joyner_boore_distance(mesh)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/mesh.py", line 239, in get_joyner_boore_distance
    mesh_xx, mesh_yy)
  File "/usr/lib/python2.7/dist-packages/openquake/hazardlib/geo/utils.py", line 389, in _c_point_to_polygon_distance
    cxx, cyy = numpy.array(polygon.exterior).transpose()
AttributeError: 'MultiPolygon' object has no attribute 'exterior'


I've done some other calculations with different FaultGeometry Specs and it all worked fine. Additionally I run it on different machines but the Error remains the same

my input-files look like that:



For the ground motion I used the model of AkkarBommer2010

Do you have any hints how to solve the problem? 
The polygon vertices are ordered into one line, so the error prompt doesn't make any sense to me.

Thanks for your help,
Martin

Michele Simionato

unread,
Jan 28, 2015, 9:10:19 AM1/28/15
to openqua...@googlegroups.com
It is good that you are sending us the files you are using, since in this way we can reproduce your computation.
For the future, please zip all the files (including the logic tree files) in a single archive and send it to us.
I will leave the answer to our hazard scientists, since it looks like a hazardlib error due to some problem
with the source geometry.
Reply all
Reply to author
Forward
0 new messages