Opened 10 years ago

Closed 10 years ago

#462 closed defect (fixed)

write class to fetch precomputed EALs for each rupture in a branch averaged solution

Reported by: Kevin Milner Owned by: Kevin Milner
Priority: major Milestone: OpenSHA 1.4
Component: UCERF3 Version:
Keywords: Cc:


This will allow quick mean loss calculations for OEF

Change History (1)

comment:1 Changed 10 years ago by Kevin Milner

Resolution: fixed
Status: newclosed

Done in [10686].

New class added: scratch.kevin.ucerf3.eal.UCERF3_BranchAvgLossFetcher

Ned, you will need a few data files from me in order to use this. Let me know when you're ready to go and I'll walk you through it. It uses about 3GB of memory and takes about 2 minutes per FM/IMR. Results could also easily be cached in a file.

The main method shows how to use it. Results are fetched one IMR and Fault Model at a time. The getFaultLosses(AttenRelRef?, FaultModels?, boolean) method will return a DiscretizedFunc? array, one function for each rupture in the fault model. A function (as opposed to single loss value) is returned as rupture mag/rake/area changes between branches resulting in a loss distribution. There is a flag for returning normalized distributions (conditional losses), otherwise it will return time independent annual rate as a function of loss.

One important consideration is that the loss distributions account for ruptures below the section minimum magnitude on each individual branch, while the branch averaged solution does so based on averaged magnitudes. Thus for a small percentage (<1%) of ruptures, the sum of y values in the un-normalized loss distributions does not match the branch averaged annual rate.

There is also a function to retrieve gridded seismicity loss values, getGriddedMagLossDists(AttenRelRef?, GriddedRegion?). This returns a magnitude loss distribution for gridded seismicity at every node in the given region. These distributions will need to be used along with the GridSourceProvider? object in the branch averaged solution to calculate losses, as is shown in the main method. The GriddedRegion? argument is optional and only used to verify that the same gridding is used, but recommended as you will already have the region loaded in the GridSourceProvider? in order to use the results.

Note: See TracTickets for help on using tickets.