Issues running DisaggCalc for certain CEUS sites
I cloned and compiled the most recent version of nshmp-haz and nshm-conus this past Friday (Jan 7), and have started testing out the calculation capabilities a bit more today beyond the documented examples. One of the things I was hoping to do was perform disaggregation calcs for multiple sites across the US in the same sites.csv file. So I ran a slightly modified version of the disagg example in etc/examples/7-disaggregation using a site file that includes some WUS (SF, Seattle, LA, Salt Lake), and CEUS (Memphis and Charleston) sites, for five IMs (PGA, SA0P1, SA0P5, SA1P0, SA2P0).
The WUS worked perfectly, but I ran into some issues with Charleston and Memphis, ultimately crashing with the following stack:
INFO
INFO Sites file: C:\Users\amakdisi\Projects\nshm-project\latest-version-2\nshmp-haz\etc\examples\7-disagg-CEUS-test\sites.csv
INFO Sites: Sites [size=6]
Los Angeles CA -118.250 34.050 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN
San Francisco CA -122.400 37.750 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN
Seattle WA -122.300 47.600 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN
Salt Lake City UT -111.900 40.750 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN
Charleston SC -79.930 32.780 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN
... and 1 more ...
INFO Threads: 16
INFO DisaggCalc: calculating ...
SEVERE @ HazardCalc.handleError()
** Exiting **
DisaggCalc: error
Arguments: [../../../../nshm-conus, sites.csv, config.json]
java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50
at gov.usgs.earthquake.nshmp.data.IntervalTable.get(IntervalTable.java:90)
at gov.usgs.earthquake.nshmp.calc.DisaggExport.createSummaryElements(DisaggExport.java:343)
at gov.usgs.earthquake.nshmp.calc.DisaggExport.<init>(DisaggExport.java:79)
at gov.usgs.earthquake.nshmp.calc.HazardExport.writeDisagg(HazardExport.java:334)
at gov.usgs.earthquake.nshmp.calc.HazardExport.write(HazardExport.java:207)
at gov.usgs.earthquake.nshmp.DisaggCalc.calc(DisaggCalc.java:153)
at gov.usgs.earthquake.nshmp.DisaggCalc.run(DisaggCalc.java:106)
at gov.usgs.earthquake.nshmp.DisaggCalc.main(DisaggCalc.java:63)
DisaggCalc [TODO get version from resource]
Usage:
java -cp nshmp-haz.jar gov.usgs.earthquake.nshmp.DisaggCalc model sites [config]
Where:
'model' is a model directory
'sites' is a *.csv file or *.geojson file of sites and data
- site class and basin terms are optional
'config' (optional) supplies a calculation configuration
For more information, see:
https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main/docs
For Charleston, I was able to at least obtain the hazard curves for all IMs, and the Disagg results for PGA, SA0P1, and SA0P5. Memphis didn't work for any of the IMs. I should note that I was able to run these sites through the HazardCalc module with no issues.