#368 closed defect (fixed)
DistX calc with CompundGriddedSurface
Reported by: | Ned Field | Owned by: | Peter Powers |
---|---|---|---|
Priority: | major | Milestone: | OpenSHA 1.3 |
Component: | sha | Version: | |
Keywords: | Cc: |
Description
DistX uses the contains(Loc) method of Region, which is blowing up in CompundGriddedSurface? because of loops in the perimeter (producing an "Internally computed Area is not a single closed path" error).
You can reproduce this as follows:
1) Lunch the HazardCurveApplication?
2) Choose the Abrahamson & Silve (2008) IMR
3) Choose the "Inversion Solution ERF" (last in the list)
4) Click the "Browse" button and load the file "ALLCAL_UCERF2.zip" available from
http://www.its.caltech.edu/~pagem/Inversion/InversionSolutions/ALLCAL_UCERF2.zip
4) Click run
Note that you will need plenty of memory or you'll get that exception.
We need another way of determining the sign of DistX (or we need to fix the perimeter of the surface to ensure there are no loops).
Change History (3)
comment:1 Changed 12 years ago by
comment:2 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
CompoundGriddedSurface? has been updated to compute distX using the closest sub-surface [e.g. min(rRup(surf(i))]; example provided in ticket no longer fails. In most hazard-curve calculation cases (I can think of) one or more distance metrics will be called by and attenuation relationship that will supply a site Location. getDistanceX() now also calls the rRup-distJB-distSeis updater just in case, though this will probably be passed through. The rRup-distJB-distSeis updater sets the subsurface index of the smallest rRup which is then used by getDistanceX() to process the closest subsurface instead of trying to wrangle with complex compound fault geometries.
Although there is a bunch of trace reversing tracking that gets done in order to build upper edges and perimeters, it does not appear to affect the original supplied surfaces. Will confirm with Ned and close ticket.
added in [8519]