Characteristic fault sources are being ignore during logic tree validation

Bug #1166756 reported by Lars Butler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenQuake Engine
Fix Released
Critical
Lars Butler

Bug Description

This bug was observed when running a calculation with a source model containing only characteristic fault source(s) for a given tectonic region type:

[2013-04-09 14:10:45,386 #3 1.0.0.127.in-addr.arpa PROGRESS MainProcess/19494 root] ** pre_executing (hazard)
[2013-04-09 14:10:45,395 #3 1.0.0.127.in-addr.arpa PROGRESS MainProcess/19494 root] ** initializing sources
[2013-04-09 14:10:45,423 #3 1.0.0.127.in-addr.arpa CRITICAL MainProcess/19494 root] Calculation failed with exception: 'basepath '/Users/larsbutler/proj/oq-engine/demos/event_based_hazard', filename u'/Users/larsbutler/proj/oq-engine/demos/event_based_hazard/gmpe_logic_tree.xml', line 8: source models don't define sources of tectonic region type 'Active Shallow Crust''
Traceback (most recent call last):
  File "bin/openquake", line 615, in <module>
    main()
  File "bin/openquake", line 581, in main
    args.exports)
  File "bin/openquake", line 265, in run_hazard
    job, log_level, log_file, exports, 'hazard')
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/engine.py", line 343, in run_calc
    _do_run_calc(job, exports, calc, job_type)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/engine.py", line 417, in _do_run_calc
    calc.pre_execute()
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/calculators/hazard/event_based/core.py", line 624, in pre_execute
    self.initialize_sources()
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/calculators/hazard/general.py", line 548, in initialize_sources
    self.hc.base_path, smlt.path, gsimlt.path)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 1040, in read_logic_trees
    gmpe_logictree_path, validate=True)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 916, in __init__
    super(GMPELogicTree, self).__init__(*args, **kwargs)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 401, in __init__
    self.parse_tree(tree, validate)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 412, in parse_tree
    self.parse_branchinglevel(branchinglevel_node, depth, validate)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 452, in parse_branchinglevel
    validate)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 485, in parse_branchset
    self.validate_filters(branchset_node, uncertainty_type, filters)
  File "/Users/larsbutler/proj/oq-engine/openquake/engine/input/logictree.py", line 970, in validate_filters
    "type %r" % trt
openquake.engine.input.logictree.ValidationError: basepath '/Users/larsbutler/proj/oq-engine/demos/event_based_hazard', filename u'/Users/larsbutler/proj/oq-engine/demos/event_based_hazard/gmpe_logic_tree.xml', line 8: source models don't define sources of tectonic region type 'Active Shallow Crust'
[2013-04-09 14:10:46,429 #3 - ERROR MainProcess/19495 supervisor] job process 19494 crashed or terminated
Job 3 failed

I did some quick analysis and the following patch should resolve the issue:
----------
--- a/openquake/engine/input/logictree.py
+++ b/openquake/engine/input/logictree.py
@@ -649,7 +649,8 @@ class SourceModelLogicTree(BaseLogicTree):
     """
     Source model logic tree parser.
     """
- SOURCE_TYPES = ('point', 'area', 'complexFault', 'simpleFault')
+ SOURCE_TYPES = ('point', 'area', 'complexFault', 'simpleFault',
+ 'characteristicFault')

     def __init__(self, *args, **kwargs):
         self.source_ids = set()
----------

We ran some tests and confirmed that the correctness of the calculation is not affected by this bug; this is purely a validation bug.

Revision history for this message
Lars Butler (lars-butler) wrote :
Changed in oq-engine:
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Lars Butler (lars-butler)
milestone: none → 1.0.0
status: Confirmed → In Progress
Changed in oq-engine:
status: In Progress → Fix Committed
Changed in oq-engine:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.