From 438e8f9923cb3923ea057048e396c9c7a1064967 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 14:55:45 -0700
Subject: [PATCH 01/57] add actual results

---
 build.gradle                                  |  36 ++++
 gradle/nshm.gradle                            |  27 ++-
 .../nshm-conus-5.2.0-2018-BOSTON_MA.json}     | 154 +++++++++---------
 .../nshm-conus-5.2.0-2018-CHICAGO_IL.json}    | 118 +++++++-------
 ...nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json} |  58 +++----
 .../nshm-conus-5.2.0-2018-NEW_MADRID_MO.json} | 138 ++++++++--------
 .../nshm-conus-5.2.0-2018-NEW_YORK_NY.json}   | 136 ++++++++--------
 .../nshm-conus-5.2.0-2018-RENO_NV.json}       |  82 +++++-----
 ...m-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json} | 118 +++++++-------
 ...hm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json} |  54 +++---
 .../nshm-conus-5.2.0-2018-SEATTLE_WA.json}    |  88 +++++-----
 .../nshm-hawaii-2.0.2-2021-HILO_HI.json}      |  62 +++----
 .../nshm-hawaii-2.0.2-2021-HONOLULU_HI.json}  |  40 ++---
 ...shm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json} |  66 ++++----
 14 files changed, 614 insertions(+), 563 deletions(-)
 rename src/test/resources/e2e/{nshm-conus-2018-BOSTON_MA.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json} (53%)
 rename src/test/resources/e2e/{nshm-conus-2018-CHICAGO_IL.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json} (64%)
 rename src/test/resources/e2e/{nshm-conus-2018-LOS_ANGELES_CA.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json} (83%)
 rename src/test/resources/e2e/{nshm-conus-2018-NEW_MADRID_MO.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json} (58%)
 rename src/test/resources/e2e/{nshm-conus-2018-NEW_YORK_NY.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json} (59%)
 rename src/test/resources/e2e/{nshm-conus-2018-RENO_NV.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json} (75%)
 rename src/test/resources/e2e/{nshm-conus-2018-SALT_LAKE_CITY_UT.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json} (64%)
 rename src/test/resources/e2e/{nshm-conus-2018-SAN_FRANCISCO_CA.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json} (84%)
 rename src/test/resources/e2e/{nshm-conus-2018-SEATTLE_WA.json => nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json} (73%)
 rename src/test/resources/e2e/{nshm-hawaii-2021-HILO_HI.json => nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json} (81%)
 rename src/test/resources/e2e/{nshm-hawaii-2021-HONOLULU_HI.json => nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json} (88%)
 rename src/test/resources/e2e/{nshm-hawaii-2021-KAILUA_KONA_HI.json => nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json} (80%)

diff --git a/build.gradle b/build.gradle
index 5110420ec..6619f6d7c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -82,3 +82,39 @@ test {
     excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsHawaii"
   }
 }
+
+task testNshms(type: Test) {
+  useJUnitPlatform()
+  jvmArgs(
+      '-Xms2g',
+      '-Xmx32g',
+  )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"
+  }
+}
+
+task testConus2018(type: Test) {
+  useJUnitPlatform()
+  jvmArgs(
+      '-Xms2g',
+      '-Xmx32g',
+  )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsConus2018"
+  }
+}
+
+task testHawaii2021(type: Test) {
+  useJUnitPlatform()
+  jvmArgs(
+      '-Xms2g',
+      '-Xmx32g',
+  )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsHawaii2021"
+  }
+}
diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index 56bf10cf7..939658a43 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -1,7 +1,8 @@
 apply plugin: "de.undercouch.download"
 
 ext {
-  archiveUrl = "https://code.usgs.gov/ghsc/nshmp/nshms/nshm-conus/-/archive"
+  conusArchiveUrl = "https://code.usgs.gov/ghsc/nshmp/nshms/nshm-conus/-/archive"
+  hawaiiArchiveUrl = "https://code.usgs.gov/ghsc/nshmp/nshms/nshm-hawaii/-/archive"
   nshmDir = "nshms";
 }
 
@@ -11,17 +12,31 @@ ext {
 task downloadNshms() {
   doLast {
     // Download and unzip nshm-conus tag 5.2.0
-    def zipFile = new File(nshmDir, "nshm-conus-5.2.0.zip")
+    def conus2018 = new File(nshmDir, "nshm-conus-5.2.0.zip")
     download.run {
-      src "${archiveUrl}/5.2.0/nshm-conus-5.2.0.zip"
-      dest zipFile
+      src "${conusArchiveUrl}/5.2.0/nshm-conus-5.2.0.zip"
+      dest conus2018
     }
     copy {
-      from zipTree(zipFile)
+      from zipTree(conus2018)
       into nshmDir
     }
     delete {
-      delete zipFile
+      delete conus2018
+    }
+
+    // Download and unzip nshm-hawaii tag 2.0.2
+    def hawaii2021 = new File(nshmDir, "nshm-hawaii-2.0.2.zip")
+    download.run {
+      src "${hawaiiArchiveUrl}/2.0.2/nshm-hawaii-2.0.2.zip"
+      dest hawaii2021
+    }
+    copy {
+      from zipTree(hawaii2021)
+      into nshmDir
+    }
+    delete {
+      delete hawaii2021
     }
   }
 }
diff --git a/src/test/resources/e2e/nshm-conus-2018-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
similarity index 53%
rename from src/test/resources/e2e/nshm-conus-2018-BOSTON_MA.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
index cd25c781f..4ba51b726 100644
--- a/src/test/resources/e2e/nshm-conus-2018-BOSTON_MA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
@@ -3,52 +3,52 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      0.02078455097994014,
-      0.013752036153143975,
+      0.020784550979940135,
+      0.01375203615314397,
       0.008853912425965713,
-      0.005504502737593541,
-      0.0032956032209899913,
-      0.001851496392326522,
-      9.93143597796057E-4,
-      4.956595518220795E-4,
-      2.3401548992797768E-4,
-      1.0471944598011259E-4,
-      4.5084212737722855E-5,
-      1.8896301560235415E-5,
-      7.725874681605789E-6,
-      3.039143578552158E-6,
-      1.1170515811344104E-6,
-      3.745132401726646E-7,
-      1.0752962397804165E-7,
-      2.596070736658151E-8,
-      4.917918081492094E-9,
-      6.503383766857791E-10
+      0.005504502737593539,
+      0.0032956032209899917,
+      0.0018514963923265215,
+      9.931435977960567E-4,
+      4.956595518220793E-4,
+      2.3401548992797762E-4,
+      1.0471944598011257E-4,
+      4.508421273772284E-5,
+      1.889630156023541E-5,
+      7.725874681605785E-6,
+      3.0391435785521572E-6,
+      1.11705158113441E-6,
+      3.745132401726645E-7,
+      1.0752962397804161E-7,
+      2.5960707366581506E-8,
+      4.917918081492093E-9,
+      6.50338376685779E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.003849668670011357,
+      0.0038496686700113564,
       0.0025078664183317764,
       0.0015597948853785955,
-      9.157017059864715E-4,
-      5.001931310456336E-4,
+      9.157017059864713E-4,
+      5.001931310456335E-4,
       2.547249918503188E-4,
-      1.194486623970574E-4,
-      5.2327359356867026E-5,
-      2.1561183371151274E-5,
-      8.4003477208669E-6,
-      3.1469958181727803E-6,
-      1.1420236854051995E-6,
+      1.1944866239705738E-4,
+      5.232735935686702E-5,
+      2.156118337115127E-5,
+      8.400347720866899E-6,
+      3.14699581817278E-6,
+      1.1420236854051993E-6,
       3.9303700685767165E-7,
-      1.2947742656347805E-7,
-      3.718668812692663E-8,
-      9.324871744942211E-9,
-      1.8778829487123563E-9,
-      2.846632932077524E-10,
-      2.6974731510803602E-11,
-      1.0385526508492285E-12
+      1.2947742656347803E-7,
+      3.7186688126926624E-8,
+      9.324871744942213E-9,
+      1.877882948712356E-9,
+      2.8466329320775234E-10,
+      2.6974731510803595E-11,
+      1.0385526508492283E-12
     ]
   },
   "Peak Ground Acceleration": {
@@ -107,33 +107,33 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
-      0.039154336261104566,
-      0.028874987776381145,
+      0.03915433626110455,
+      0.028874987776381138,
       0.020883581441243287,
-      0.014675088491569479,
+      0.014675088491569477,
       0.009966398305490464,
       0.006525399875535823,
       0.004122194389111176,
-      0.0025039012846601923,
+      0.002503901284660192,
       0.0014759816292745382,
-      8.455590549998983E-4,
-      4.744378692952328E-4,
-      2.5614908673281055E-4,
-      1.357929724979682E-4,
-      6.854218948534535E-5,
-      3.291803684798866E-5,
-      1.4569587193494361E-5,
-      5.782794746110382E-6,
-      1.9737183250309452E-6,
-      5.657594675445636E-7,
+      8.455590549998979E-4,
+      4.7443786929523266E-4,
+      2.5614908673281044E-4,
+      1.3579297249796823E-4,
+      6.854218948534534E-5,
+      3.291803684798865E-5,
+      1.4569587193494358E-5,
+      5.782794746110381E-6,
+      1.9737183250309444E-6,
+      5.657594675445634E-7,
       1.2462940285422407E-7
     ]
   },
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.06054799387340501,
-      0.045010937165688894,
-      0.032384225534707246,
-      0.022605947101161122,
-      0.015060131175111444,
-      0.009690757366506481,
-      0.005957079199326996,
-      0.003490107511158219,
-      0.001962702434309726,
-      0.0010598138716072614,
-      5.526846406248315E-4,
-      2.7876439975788514E-4,
-      1.3582948573407556E-4,
-      6.359388081275608E-5,
-      2.8287825293638217E-5,
-      1.1707073491487452E-5,
-      4.419923256430148E-6,
-      1.4745471754128646E-6,
-      4.1424535992947296E-7,
+      0.060547993873405,
+      0.04501093716568888,
+      0.03238422553470723,
+      0.022605947101161112,
+      0.01506013117511144,
+      0.009690757366506484,
+      0.005957079199326997,
+      0.0034901075111582196,
+      0.0019627024343097255,
+      0.0010598138716072616,
+      5.526846406248313E-4,
+      2.787643997578851E-4,
+      1.358294857340756E-4,
+      6.359388081275606E-5,
+      2.8287825293638214E-5,
+      1.1707073491487447E-5,
+      4.4199232564301465E-6,
+      1.4745471754128641E-6,
+      4.142453599294728E-7,
       9.342364439170645E-8
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-2018-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
similarity index 64%
rename from src/test/resources/e2e/nshm-conus-2018-CHICAGO_IL.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
index 68072a3b0..04374779e 100644
--- a/src/test/resources/e2e/nshm-conus-2018-CHICAGO_IL.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
@@ -3,52 +3,52 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      0.01767550023787113,
-      0.011804993270225165,
+      0.017675500237871122,
+      0.011804993270225163,
       0.007916670756587606,
       0.0053491472480445695,
-      0.003631390427708423,
+      0.003631390427708422,
       0.002384405538478485,
-      0.0014870231028831253,
-      8.355484214788523E-4,
-      4.1460657776932683E-4,
-      1.757911127856578E-4,
-      6.240935342700552E-5,
-      1.8240832144136128E-5,
-      4.414927964063778E-6,
+      0.0014870231028831248,
+      8.355484214788524E-4,
+      4.1460657776932694E-4,
+      1.7579111278565783E-4,
+      6.240935342700551E-5,
+      1.824083214413613E-5,
+      4.4149279640637774E-6,
       9.994457044956116E-7,
       2.4855133647506633E-7,
-      7.726459746150786E-8,
+      7.726459746150785E-8,
       2.121042318488014E-8,
-      4.860565864414978E-9,
-      8.64105244261508E-10,
-      1.0633132855584107E-10
+      4.8605658644149765E-9,
+      8.641052442615079E-10,
+      1.0633132855584105E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.004904504983066266,
-      0.0037556118245414046,
-      0.0029006854981177593,
-      0.002197256906365074,
-      0.0015714972511203787,
-      0.0010317853455482512,
-      5.988137176440332E-4,
+      0.004904504983066265,
+      0.003755611824541404,
+      0.002900685498117759,
+      0.0021972569063650727,
+      0.001571497251120379,
+      0.001031785345548251,
+      5.98813717644033E-4,
       2.999898092710794E-4,
       1.2636087757687215E-4,
-      4.334153727062957E-5,
-      1.1727951025836871E-5,
-      2.383247006424206E-6,
+      4.334153727062956E-5,
+      1.1727951025836876E-5,
+      2.3832470064242063E-6,
       3.5209264942037673E-7,
       3.7851796592772213E-8,
-      5.963076928168122E-9,
+      5.963076928168123E-9,
       1.4910332126633127E-9,
-      3.141788737237651E-10,
+      3.1417887372376505E-10,
       5.2511189664780556E-11,
-      5.968234937924545E-12,
+      5.968234937924543E-12,
       3.1469632224157163E-13
     ]
   },
@@ -107,31 +107,31 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
-      0.022709150996398572,
+      0.02270915099639857,
       0.015516400129389082,
       0.01063565058866354,
-      0.007250987342509733,
+      0.007250987342509732,
       0.00484747526482874,
-      0.0031114243186504235,
-      0.0018782779132334622,
+      0.003111424318650424,
+      0.0018782779132334618,
       0.0010500224979932131,
       5.534113089259502E-4,
       2.81605357092695E-4,
-      1.4369489671881903E-4,
+      1.4369489671881906E-4,
       7.346403339083293E-5,
       3.8325297999058965E-5,
-      1.9431569974270378E-5,
+      1.9431569974270375E-5,
       9.42159253961068E-6,
-      4.1976884388553816E-6,
-      1.6696279770654772E-6,
+      4.197688438855381E-6,
+      1.6696279770654767E-6,
       5.688244700978395E-7,
       1.6230550529800464E-7,
       3.549954903295298E-8
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.04184772415672415,
-      0.02851981218255562,
-      0.01902862263652819,
-      0.012597694078764635,
-      0.008183488070776039,
-      0.005256326568188244,
+      0.028519812182555615,
+      0.019028622636528186,
+      0.01259769407876463,
+      0.008183488070776035,
+      0.005256326568188243,
       0.0032378832457639964,
-      0.0018635316801681953,
-      9.90711951482253E-4,
-      4.830130551236983E-4,
+      0.001863531680168195,
+      9.907119514822528E-4,
+      4.8301305512369827E-4,
       2.1935879450693264E-4,
-      9.551470151347582E-5,
-      4.1247826827249706E-5,
+      9.551470151347578E-5,
+      4.124782682724971E-5,
       1.7924007974639768E-5,
-      7.691633829460732E-6,
-      3.129256114185964E-6,
+      7.69163382946073E-6,
+      3.1292561141859636E-6,
       1.1644839692951632E-6,
-      3.8155425174464243E-7,
-      1.0444941528551557E-7,
-      2.265638077580196E-8
+      3.815542517446424E-7,
+      1.0444941528551554E-7,
+      2.2656380775801956E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-2018-LOS_ANGELES_CA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
similarity index 83%
rename from src/test/resources/e2e/nshm-conus-2018-LOS_ANGELES_CA.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
index c22520b8f..72661624b 100644
--- a/src/test/resources/e2e/nshm-conus-2018-LOS_ANGELES_CA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
@@ -3,44 +3,44 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
       0.6366574720501088,
-      0.47180374791963997,
+      0.4718037479196399,
       0.336364557146257,
-      0.2311796226192394,
+      0.23117962261923944,
       0.15426255108470943,
       0.09868641697941964,
-      0.06168226983900997,
+      0.061682269839009964,
       0.037095482704419605,
       0.021775137700280892,
       0.012418053525144834,
       0.006834724125143083,
       0.0035759571677002966,
       0.0017322386889934245,
-      7.490722245704205E-4,
+      7.490722245704206E-4,
       2.781308992738419E-4,
-      8.55525189246937E-5,
+      8.555251892469371E-5,
       1.9638736883809428E-5,
-      2.96393173511507E-6,
+      2.9639317351150696E-6,
       2.2713550419680115E-7,
       2.172828515836533E-9
     ]
@@ -48,7 +48,7 @@
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,9 +69,9 @@
       0.7929925155296614
     ],
     "ys": [
-      0.16844377244854847,
+      0.1684437724485485,
       0.11829589663275786,
-      0.08101452065128258,
+      0.08101452065128259,
       0.05406282717487072,
       0.035127313944556586,
       0.02246250359719528,
@@ -82,11 +82,11 @@
       0.0011102558974719061,
       4.306689571156029E-4,
       1.3931953053831388E-4,
-      3.7833745729080926E-5,
+      3.783374572908093E-5,
       8.044063188459818E-6,
       1.3835389066707896E-6,
       1.5518435606411874E-7,
-      7.36238777232291E-9,
+      7.362387772322911E-9,
       8.557445185989779E-13,
       0.0
     ]
@@ -107,10 +107,10 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
@@ -118,15 +118,15 @@
       0.7850465833348313,
       0.6149388088135578,
       0.46880770081149936,
-      0.348104179748503,
-      0.25232659558218706,
+      0.34810417974850305,
+      0.252326595582187,
       0.17814867226367861,
       0.12154240052962642,
       0.07901532677500141,
       0.04903288877565289,
       0.02903200372417984,
       0.016462922915925538,
-      0.00872825444898973,
+      0.008728254448989729,
       0.004380357672598145,
       0.001967488906616791,
       7.622024986858485E-4,
@@ -161,23 +161,23 @@
       1.998773638612381
     ],
     "ys": [
-      0.9277678999858486,
-      0.753748033038108,
-      0.5931923233025838,
+      0.9277678999858487,
+      0.7537480330381081,
+      0.5931923233025839,
       0.45540482519284387,
       0.3391134734752599,
-      0.24809053741765913,
+      0.2480905374176591,
       0.1766116798966622,
-      0.12123002464436061,
+      0.1212300246443606,
       0.07985280215586492,
       0.050147609948821836,
       0.030081503068165788,
       0.01724538444217736,
-      0.009432364207667705,
+      0.009432364207667703,
       0.004883172427187242,
       0.002333377346825734,
       9.819488750632801E-4,
-      3.476070212087309E-4,
+      3.4760702120873095E-4,
       9.771982942272988E-5,
       1.9713363600257578E-5,
       2.3576513888748996E-6
diff --git a/src/test/resources/e2e/nshm-conus-2018-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
similarity index 58%
rename from src/test/resources/e2e/nshm-conus-2018-NEW_MADRID_MO.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
index 2345a4a76..cd06e3826 100644
--- a/src/test/resources/e2e/nshm-conus-2018-NEW_MADRID_MO.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
@@ -3,52 +3,52 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      0.05460474620644813,
+      0.05460474620644812,
       0.039322200263679656,
-      0.027742521888583595,
-      0.019256487920663257,
-      0.013309032474447959,
+      0.02774252188858359,
+      0.019256487920663253,
+      0.013309032474447957,
       0.009158100387208452,
-      0.0064699544926735564,
+      0.006469954492673559,
       0.004711825464791655,
-      0.00361441996860359,
-      0.0029237508993505794,
-      0.002458976181859003,
-      0.0020724707675324793,
-      0.0016635058660181773,
-      0.001206920974532014,
-      7.58005194921214E-4,
-      4.028136886385925E-4,
+      0.003614419968603591,
+      0.002923750899350579,
+      0.0024589761818590034,
+      0.002072470767532478,
+      0.001663505866018177,
+      0.0012069209745320132,
+      7.580051949212139E-4,
+      4.028136886385924E-4,
       1.7473743872927871E-4,
       6.14366486371895E-5,
-      1.660370716466393E-5,
+      1.6603707164663944E-5,
       3.2819885795529328E-6
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.011183350950193821,
-      0.00820850133786319,
-      0.0061259943786559495,
+      0.01118335095019382,
+      0.008208501337863189,
+      0.006125994378655951,
       0.004704029030923133,
-      0.0037445097750955785,
-      0.0031134253259270835,
+      0.0037445097750955776,
+      0.003113425325927084,
       0.0026896900327019677,
-      0.0023879637030226153,
-      0.002117544110718752,
-      0.0018011501748482462,
-      0.0014173471729516552,
-      0.0010068130175955078,
+      0.0023879637030226144,
+      0.0021175441107187517,
+      0.0018011501748482464,
+      0.0014173471729516554,
+      0.0010068130175955076,
       6.301951022408455E-4,
-      3.4447816991405093E-4,
-      1.561396083486973E-4,
-      5.887416288449927E-5,
-      1.748301261392189E-5,
-      3.857677678049851E-6,
+      3.4447816991405077E-4,
+      1.5613960834869736E-4,
+      5.887416288449928E-5,
+      1.7483012613921885E-5,
+      3.8576776780498505E-6,
       5.776336202494065E-7,
-      3.6035648979050635E-8
+      3.603564897905063E-8
     ]
   },
   "Peak Ground Acceleration": {
@@ -107,34 +107,34 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
       0.11111072621136198,
-      0.09432125494016415,
-      0.07822805599600462,
-      0.06292369383675941,
-      0.048970144357273364,
+      0.09432125494016416,
+      0.0782280559960046,
+      0.06292369383675939,
+      0.04897014435727336,
       0.036942153943163344,
-      0.027163843299139248,
-      0.019537877568746243,
-      0.013915832488455515,
+      0.027163843299139255,
+      0.019537877568746236,
+      0.013915832488455513,
       0.009887221698272164,
-      0.0070940413496668455,
-      0.005146435316179508,
-      0.003865608590322207,
-      0.0029837666408947206,
-      0.0023260711475453035,
-      0.0017237133487967339,
+      0.007094041349666844,
+      0.0051464353161795075,
+      0.0038656085903222065,
+      0.00298376664089472,
+      0.002326071147545303,
+      0.001723713348796734,
       0.0011265388791854103,
-      6.015982295191782E-4,
-      2.5104779111283416E-4,
-      7.632592705118943E-5
+      6.015982295191785E-4,
+      2.510477911128342E-4,
+      7.632592705118941E-5
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -161,26 +161,26 @@
       1.998773638612381
     ],
     "ys": [
-      0.13557175676510386,
+      0.13557175676510383,
       0.11487697773688868,
-      0.09473336922159181,
-      0.07576523916620488,
-      0.058061656399242885,
-      0.04307702076073272,
-      0.03089333087514904,
+      0.09473336922159178,
+      0.0757652391662049,
+      0.05806165639924289,
+      0.04307702076073271,
+      0.030893330875149033,
       0.02154336192618488,
-      0.014802677054253843,
-      0.01011911451019241,
-      0.006988258677940676,
-      0.00495471722552012,
-      0.003663126515262553,
+      0.014802677054253841,
+      0.010119114510192404,
+      0.006988258677940673,
+      0.004954717225520118,
+      0.003663126515262554,
       0.002832444396585898,
-      0.002237940845752877,
+      0.002237940845752876,
       0.0017164930070629656,
       0.0011926180558950762,
       6.965535536645009E-4,
-      3.211131756404801E-4,
-      1.1269789534198825E-4
+      3.2111317564048023E-4,
+      1.1269789534198828E-4
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-2018-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
similarity index 59%
rename from src/test/resources/e2e/nshm-conus-2018-NEW_YORK_NY.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
index 5ba624ee1..a37b667f8 100644
--- a/src/test/resources/e2e/nshm-conus-2018-NEW_YORK_NY.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
@@ -3,44 +3,44 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      0.018666421015364296,
-      0.012277714382170502,
+      0.018666421015364292,
+      0.012277714382170499,
       0.007819753747405414,
-      0.0047835883866622865,
-      0.0028112191687725907,
-      0.0015540453407317347,
+      0.004783588386662285,
+      0.00281121916877259,
+      0.0015540453407317345,
       8.285075887238436E-4,
-      4.1827330817572424E-4,
+      4.182733081757242E-4,
       2.0477961806545264E-4,
-      9.76841382864806E-5,
-      4.582979651500823E-5,
+      9.768413828648057E-5,
+      4.582979651500822E-5,
       2.1108151934584483E-5,
-      9.40307880873417E-6,
-      3.952177823009206E-6,
-      1.5239368107090302E-6,
-      5.283693302216128E-7,
-      1.5532448868679193E-7,
-      3.807576669004164E-8,
+      9.403078808734168E-6,
+      3.952177823009205E-6,
+      1.52393681070903E-6,
+      5.283693302216127E-7,
+      1.553244886867919E-7,
+      3.807576669004163E-8,
       7.285190754922316E-9,
       9.713305930824852E-10
     ]
@@ -48,7 +48,7 @@
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0036839290291613555,
-      0.002335050751486981,
-      0.001402579620737425,
-      7.930112908299476E-4,
-      4.1808903382999877E-4,
+      0.003683929029161356,
+      0.0023350507514869807,
+      0.0014025796207374245,
+      7.930112908299475E-4,
+      4.1808903382999866E-4,
       2.0733134457052304E-4,
-      9.623213274255234E-5,
-      4.279209350393817E-5,
+      9.623213274255237E-5,
+      4.2792093503938167E-5,
       1.8488428033840786E-5,
-      7.785121676935125E-6,
-      3.2094244668835695E-6,
-      1.2788721198896172E-6,
-      4.7640365740538307E-7,
-      1.651037823961913E-7,
-      4.9341854768598423E-8,
-      1.2738983551119943E-8,
+      7.785121676935123E-6,
+      3.20942446688357E-6,
+      1.2788721198896168E-6,
+      4.764036574053829E-7,
+      1.6510378239619124E-7,
+      4.934185476859842E-8,
+      1.2738983551119938E-8,
       2.6202525850572688E-9,
       4.0485837495960446E-10,
-      3.904486628199482E-11,
-      1.5324451927867105E-12
+      3.9044866281994814E-11,
+      1.53244519278671E-12
     ]
   },
   "Peak Ground Acceleration": {
@@ -107,34 +107,34 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
-      0.029878942979656188,
-      0.02169931498570595,
+      0.029878942979656185,
+      0.021699314985705948,
       0.015627345176841466,
       0.011107491120984697,
-      0.007776586292284123,
-      0.005349775331002555,
-      0.0036068398003160375,
-      0.00236476621256421,
-      0.0015114836562529481,
-      9.383042482967955E-4,
-      5.672612883032052E-4,
-      3.2775630190425736E-4,
-      1.8379026685332687E-4,
-      9.707147245294277E-5,
-      4.8216709391054424E-5,
-      2.1867540425618328E-5,
+      0.007776586292284122,
+      0.005349775331002554,
+      0.003606839800316037,
+      0.002364766212564209,
+      0.001511483656252948,
+      9.383042482967953E-4,
+      5.672612883032051E-4,
+      3.2775630190425725E-4,
+      1.837902668533268E-4,
+      9.707147245294275E-5,
+      4.8216709391054403E-5,
+      2.186754042561832E-5,
       8.83267345573992E-6,
       3.054523154324783E-6,
       8.84797873298568E-7,
-      1.9672786782893157E-7
+      1.9672786782893154E-7
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.048301983959234095,
-      0.0350497356176406,
-      0.024744052454742888,
-      0.017095234304717735,
+      0.035049735617640576,
+      0.024744052454742878,
+      0.01709523430471773,
       0.01141511174006545,
       0.007482577963101015,
-      0.0047698738556462535,
-      0.0029480912847476026,
-      0.0017725798590443338,
+      0.004769873855646253,
+      0.002948091284747602,
+      0.0017725798590443333,
       0.0010323738247512593,
-      5.823000408387339E-4,
-      3.1694058457143036E-4,
+      5.823000408387338E-4,
+      3.169405845714303E-4,
       1.656074574036077E-4,
-      8.238484623559816E-5,
-      3.852324830287548E-5,
+      8.238484623559815E-5,
+      3.852324830287547E-5,
       1.657549901909999E-5,
-      6.439186747078616E-6,
-      2.1925820654928877E-6,
-      6.249719391706649E-7,
-      1.4238886738032344E-7
+      6.439186747078615E-6,
+      2.1925820654928872E-6,
+      6.249719391706647E-7,
+      1.423888673803234E-7
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-2018-RENO_NV.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
similarity index 75%
rename from src/test/resources/e2e/nshm-conus-2018-RENO_NV.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
index 0bab9a416..6cc0d1e22 100644
--- a/src/test/resources/e2e/nshm-conus-2018-RENO_NV.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
@@ -3,28 +3,28 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      0.5639424382793682,
-      0.41970430872704,
+      0.5639424382793681,
+      0.41970430872703995,
       0.2996355631700337,
       0.20436506496344023,
       0.13386011296908937,
@@ -32,23 +32,23 @@
       0.05072763584783538,
       0.02970332088645175,
       0.016962428614047866,
-      0.009368748098138393,
-      0.004942501068704084,
+      0.009368748098138395,
+      0.004942501068704083,
       0.002420101079214425,
-      0.0010564988095787106,
+      0.0010564988095787104,
       3.945561117465654E-4,
       1.2048922319737728E-4,
       2.8266770250121335E-5,
-      4.252380705836177E-6,
+      4.252380705836178E-6,
       4.4029329263288646E-7,
-      2.573585831849357E-8,
+      2.5735858318493567E-8,
       8.240992980384035E-11
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,23 +69,23 @@
       0.7929925155296614
     ],
     "ys": [
-      0.16195200240025112,
-      0.11197070315750861,
+      0.1619520024002511,
+      0.11197070315750862,
       0.07461644808670248,
-      0.04806931482649302,
-      0.029904421907731293,
-      0.01809720511043038,
-      0.010526649862628145,
+      0.048069314826493036,
+      0.029904421907731286,
+      0.018097205110430375,
+      0.010526649862628149,
       0.0058497036090659794,
       0.003024869157973338,
       0.001398899091725516,
-      5.607903420664931E-4,
+      5.607903420664932E-4,
       1.884917390363045E-4,
-      5.034839107343867E-5,
-      1.0331505761726529E-5,
+      5.034839107343866E-5,
+      1.033150576172653E-5,
       1.5403732253339458E-6,
       1.766940560506774E-7,
-      9.230578884022922E-9,
+      9.230578884022919E-9,
       0.0,
       0.0,
       0.0
@@ -107,30 +107,30 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
-      0.6547357887817037,
+      0.6547357887817038,
       0.5154175476805015,
-      0.3956456162265481,
+      0.39564561622654804,
       0.2946377853731455,
       0.21261726439098355,
       0.14856083770157558,
-      0.10023112298791949,
+      0.1002311229879195,
       0.06449394268051883,
       0.03938928323399141,
-      0.022644338964053448,
-      0.012321069753420741,
+      0.02264433896405345,
+      0.012321069753420743,
       0.006191664090278571,
-      0.0028672800399024167,
+      0.0028672800399024163,
       0.001131585475187518,
       3.666664317975439E-4,
-      9.021209601637859E-5,
+      9.021209601637857E-5,
       1.523566711127091E-5,
       1.4539154793262797E-6,
       6.099357830874233E-8,
@@ -164,21 +164,21 @@
       0.7737520693137596,
       0.626158058671475,
       0.4943026693905384,
-      0.38152373161093633,
+      0.3815237316109364,
       0.2849928378328236,
-      0.20811270361164624,
-      0.14726293268062962,
-      0.1003374121401908,
-      0.06562437576887946,
+      0.20811270361164622,
+      0.14726293268062965,
+      0.10033741214019079,
+      0.06562437576887947,
       0.04081755703105158,
-      0.02407438562720991,
+      0.024074385627209913,
       0.013446854247539834,
       0.007078613802080741,
       0.003434334658947344,
-      0.0014729955574711105,
+      0.0014729955574711107,
       5.304815215680369E-4,
       1.5325010460188717E-4,
-      3.2864405116884194E-5,
+      3.28644051168842E-5,
       4.5541957008082325E-6,
       3.3625843088903307E-7
     ]
diff --git a/src/test/resources/e2e/nshm-conus-2018-SALT_LAKE_CITY_UT.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
similarity index 64%
rename from src/test/resources/e2e/nshm-conus-2018-SALT_LAKE_CITY_UT.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
index b8b668efa..07ded0139 100644
--- a/src/test/resources/e2e/nshm-conus-2018-SALT_LAKE_CITY_UT.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
@@ -3,52 +3,52 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      0.10141210582180435,
-      0.07447849798602046,
+      0.10141210582180434,
+      0.07447849798602045,
       0.05330127231316856,
-      0.037102818795138215,
-      0.025232028167263765,
+      0.03710281879513821,
+      0.02523202816726377,
       0.01661034649634634,
-      0.010874067593129609,
-      0.00708922479836808,
+      0.010874067593129606,
+      0.0070892247983680825,
       0.004735625457686324,
       0.003249464756093951,
-      0.002245495226811022,
-      0.0014914478772558575,
-      8.988552768687256E-4,
-      4.656680939512108E-4,
-      1.9882970591587768E-4,
+      0.0022454952268110232,
+      0.0014914478772558568,
+      8.988552768687258E-4,
+      4.65668093951211E-4,
+      1.9882970591587773E-4,
       6.785029212800548E-5,
-      1.6876651512201575E-5,
-      2.6537417417255936E-6,
+      1.6876651512201572E-5,
+      2.653741741725594E-6,
       1.731813940276621E-7,
-      1.0355704040041718E-10
+      1.0355704040041717E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.03338701576491687,
+      0.033387015764916865,
       0.02465096645560166,
       0.01764423071929716,
       0.012269680846161648,
       0.008337057201618096,
-      0.005635024432572457,
-      0.0037891327023550233,
-      0.0025149123784953846,
-      0.0015863429059217115,
-      9.014315449747968E-4,
-      4.414029650416536E-4,
-      1.7921117169766217E-4,
-      5.754118100356993E-5,
+      0.005635024432572455,
+      0.0037891327023550246,
+      0.002514912378495384,
+      0.001586342905921711,
+      9.014315449747966E-4,
+      4.4140296504165355E-4,
+      1.7921117169766214E-4,
+      5.754118100356994E-5,
       1.4224526877692228E-5,
-      2.207856914416273E-6,
+      2.2078569144162738E-6,
       1.8880753843912258E-7,
       2.916565870061635E-9,
       1.3533194681297857E-11,
       1.4761223207476851E-12,
-      7.365315902026219E-14
+      7.365315902026218E-14
     ]
   },
   "Peak Ground Acceleration": {
@@ -107,34 +107,34 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
-      0.13047100258720734,
-      0.09849712329595019,
-      0.07246017969843056,
+      0.1304710025872074,
+      0.09849712329595017,
+      0.07246017969843055,
       0.05191828655903307,
-      0.03636526505318484,
-      0.024993217741374765,
+      0.036365265053184825,
+      0.024993217741374762,
       0.01690096807101634,
-      0.011231650127527283,
-      0.007452801108191979,
-      0.005017181957434341,
+      0.011231650127527285,
+      0.007452801108191982,
+      0.005017181957434342,
       0.003470567929844281,
-      0.0024023685398152327,
-      0.0016078002266633948,
-      9.514053815001429E-4,
-      4.656644721669267E-4,
+      0.002402368539815233,
+      0.0016078002266633955,
+      9.51405381500143E-4,
+      4.6566447216692683E-4,
       1.7536330043880214E-4,
       4.811667218966291E-5,
-      8.632653500921545E-6,
+      8.632653500921544E-6,
       8.008388400062674E-7,
-      2.268010646406833E-8
+      2.2680106464068337E-8
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,24 +162,24 @@
     ],
     "ys": [
       0.16740950916822125,
-      0.13018273718211873,
+      0.1301827371821187,
       0.09802333688436565,
       0.0720099099078939,
       0.05129669394322607,
       0.03606585232915037,
-      0.02491600581620359,
-      0.01691309964162624,
-      0.011363408680915814,
-      0.007619737320678116,
+      0.024916005816203585,
+      0.016913099641626243,
+      0.011363408680915812,
+      0.0076197373206781166,
       0.0051864199911304905,
       0.003611556059854821,
-      0.00253928053666354,
-      0.0017305585661145017,
-      0.0010724055561078662,
+      0.002539280536663541,
+      0.0017305585661145013,
+      0.0010724055561078668,
       5.639609734298516E-4,
-      2.39568674519544E-4,
-      7.88212371379923E-5,
-      1.8675841989591893E-5,
+      2.3956867451954396E-4,
+      7.882123713799232E-5,
+      1.8675841989591896E-5,
       2.701116080577684E-6
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-2018-SAN_FRANCISCO_CA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
similarity index 84%
rename from src/test/resources/e2e/nshm-conus-2018-SAN_FRANCISCO_CA.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
index 6e30c26a5..bdab6add0 100644
--- a/src/test/resources/e2e/nshm-conus-2018-SAN_FRANCISCO_CA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
@@ -3,33 +3,33 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
       0.5831008919911462,
       0.4284199090706749,
       0.3043299517318651,
-      0.20991504534178368,
+      0.20991504534178365,
       0.14211631298661964,
       0.09374868521078619,
-      0.06138384495043732,
+      0.061383844950437326,
       0.039071093308164724,
       0.024201671562405724,
       0.014386438506911663,
@@ -48,7 +48,7 @@
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,18 +69,18 @@
       0.7929925155296614
     ],
     "ys": [
-      0.15758937503731726,
-      0.11247692685397596,
-      0.07946884297427434,
+      0.15758937503731724,
+      0.11247692685397598,
+      0.07946884297427435,
       0.05560574371886311,
       0.03824085383493095,
       0.02585465059626231,
-      0.017050534628279736,
+      0.01705053462827973,
       0.011010094459237604,
       0.006875269673181763,
-      0.004031893488663088,
-      0.002153405881721278,
-      0.0010132607735766973,
+      0.004031893488663089,
+      0.002153405881721273,
+      0.001013260773576697,
       4.0392561747766895E-4,
       1.357315165926373E-4,
       3.5070265791185964E-5,
@@ -107,17 +107,17 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
       0.7094470259373502,
       0.5498428629048978,
-      0.4155123147834937,
+      0.41551231478349365,
       0.3063031193282665,
       0.22104888785899784,
       0.15688910340717468,
@@ -126,8 +126,8 @@
       0.04928602923975804,
       0.030791659709764246,
       0.018082373041434497,
-      0.009607207734429656,
-      0.004562768246986616,
+      0.009607207734429657,
+      0.004562768246986615,
       0.0017919912792970505,
       5.570645285749892E-4,
       1.2499276983585092E-4,
@@ -161,26 +161,26 @@
       1.998773638612381
     ],
     "ys": [
-      0.846343456814455,
+      0.8463434568144551,
       0.6798282480043856,
       0.529575106126662,
       0.4029924331123037,
       0.2978878788706715,
       0.21720849261933428,
-      0.15561695133652087,
-      0.10937917498336787,
+      0.15561695133652084,
+      0.10937917498336788,
       0.07525155479744264,
       0.05001008517906983,
       0.031720239807918466,
-      0.018914948303394897,
+      0.018914948303394893,
       0.010396290099441215,
       0.005116134863810127,
       0.002168905715322163,
       7.537255830739884E-4,
       2.043519900756787E-4,
-      3.950315353965148E-5,
+      3.950315353965147E-5,
       4.114149996331726E-6,
-      1.1332666265240459E-7
+      1.1332666265240457E-7
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-2018-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
similarity index 73%
rename from src/test/resources/e2e/nshm-conus-2018-SEATTLE_WA.json
rename to src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
index 8829099b7..f9d0ce422 100644
--- a/src/test/resources/e2e/nshm-conus-2018-SEATTLE_WA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
@@ -3,41 +3,41 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
       0.18974076473276455,
       0.15035830377424855,
-      0.11450746102005707,
-      0.08372212205395724,
-      0.05905693494677333,
+      0.11450746102005706,
+      0.08372212205395722,
+      0.059056934946773325,
       0.03979043310304015,
-      0.026081869846344616,
-      0.016390117896193383,
+      0.02608186984634462,
+      0.01639011789619338,
       0.009939769051733804,
-      0.005732292608201421,
-      0.003091115228735578,
+      0.0057322926082014215,
+      0.0030911152287355775,
       0.0015239775147447624,
       6.709168675782273E-4,
       2.574847006859803E-4,
-      8.378741714286619E-5,
+      8.37874171428662E-5,
       2.251661394813441E-5,
       4.500727576177568E-6,
       6.144243207535918E-7,
@@ -48,7 +48,7 @@
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,22 +69,22 @@
       0.7929925155296614
     ],
     "ys": [
-      0.05798340021258257,
-      0.041904227365681966,
-      0.02936624320782965,
+      0.05798340021258256,
+      0.04190422736568196,
+      0.029366243207829653,
       0.01992526977609041,
-      0.013059136945119225,
-      0.008356470041248175,
+      0.013059136945119223,
+      0.008356470041248173,
       0.005219092927360337,
-      0.0032087975808839644,
+      0.0032087975808839635,
       0.0019199405262616408,
-      0.0010855264302155057,
-      5.619278902307797E-4,
-      2.5632708456344976E-4,
-      9.795826467321657E-5,
-      3.093950684856507E-5,
+      0.0010855264302155059,
+      5.619278902307794E-4,
+      2.563270845634498E-4,
+      9.795826467321658E-5,
+      3.0939506848565075E-5,
       7.164683336505891E-6,
-      9.927613969917703E-7,
+      9.927613969917701E-7,
       3.041624502650113E-8,
       2.0591305604095127E-11,
       0.0,
@@ -107,32 +107,32 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
-      0.247718930784228,
+      0.24771893078422802,
       0.21523675836712636,
-      0.18161823548824618,
+      0.18161823548824615,
       0.1478057991464071,
-      0.11545178047071233,
-      0.08622984829115032,
-      0.06143083405840739,
+      0.11545178047071235,
+      0.08622984829115031,
+      0.061430834058407394,
       0.0414783202603966,
-      0.026613647847004047,
+      0.026613647847004044,
       0.016122062107857667,
       0.009167459234650009,
-      0.004722903807205595,
+      0.0047229038072055946,
       0.002214599540841417,
       8.96285507325836E-4,
       3.067999345972684E-4,
       8.267322513113308E-5,
       1.5932119719803484E-5,
-      1.7946631532952554E-6,
+      1.7946631532952552E-6,
       1.06895828117477E-7,
       6.68125464781831E-10
     ]
@@ -166,20 +166,20 @@
       0.2111408438896052,
       0.17854755392401112,
       0.14527845926431035,
-      0.11415150096883397,
+      0.11415150096883399,
       0.08587864028339966,
-      0.06154846143016319,
-      0.04205905132892356,
-      0.02729969817162939,
+      0.061548461430163195,
+      0.04205905132892357,
+      0.027299698171629392,
       0.01678063082631571,
       0.009668716589318763,
       0.005145168066638075,
       0.002484010178699564,
-      0.0010642217286274949,
+      0.0010642217286274947,
       3.910335843512345E-4,
-      1.18838326388187E-4,
+      1.1883832638818702E-4,
       2.8076658021732084E-5,
-      4.561137287903132E-6,
+      4.561137287903131E-6,
       4.7281340794708457E-7
     ]
   }
diff --git a/src/test/resources/e2e/nshm-hawaii-2021-HILO_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
similarity index 81%
rename from src/test/resources/e2e/nshm-hawaii-2021-HILO_HI.json
rename to src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
index e617904ad..123eb8f48 100644
--- a/src/test/resources/e2e/nshm-hawaii-2021-HILO_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
@@ -3,36 +3,36 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
-      1.139427959929886,
-      0.9096459257402049,
+      1.1394279599298858,
+      0.909645925740205,
       0.6810439562313703,
-      0.48213438998284375,
+      0.48213438998284386,
       0.3270662494936988,
       0.2122733790095776,
       0.13579352589768764,
       0.08466990088453301,
-      0.0514796672410259,
-      0.0295922152331615,
+      0.051479667241025914,
+      0.029592215233161495,
       0.015605186053687877,
       0.007369438722986227,
       0.003079134500128523,
@@ -40,15 +40,15 @@
       3.683841726832001E-4,
       1.0771529770871671E-4,
       2.7590429340726252E-5,
-      6.106383784135074E-6,
-      9.141545957726994E-7,
+      6.106383784135073E-6,
+      9.141545957726993E-7,
       4.716658318737339E-8
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -69,17 +69,17 @@
       0.7929925155296614
     ],
     "ys": [
-      0.24225805041057027,
+      0.24225805041057025,
       0.1626494298061276,
       0.11286823232748022,
       0.08019936527365806,
       0.057001082377164766,
-      0.03977231046422921,
+      0.0397723104642292,
       0.026270923994779784,
       0.0159300182060438,
       0.008586807484419113,
       0.0040091692633346795,
-      0.0016237229130359049,
+      0.0016237229130359047,
       5.831580842583807E-4,
       1.935491083341371E-4,
       6.446411351755592E-5,
@@ -87,8 +87,8 @@
       5.89324452995356E-6,
       1.3026715401568408E-6,
       2.061368668443604E-7,
-      2.231361292849435E-8,
-      3.427414499140028E-10
+      2.2313612928494348E-8,
+      3.4274144991400273E-10
     ]
   },
   "Peak Ground Acceleration": {
@@ -107,10 +107,10 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
@@ -122,17 +122,17 @@
       0.868541087272583,
       0.6793538859833672,
       0.4895776766820634,
-      0.32305214036758084,
+      0.3230521403675808,
       0.19728774899189122,
-      0.11230291486323442,
+      0.11230291486323443,
       0.05999879240178362,
-      0.02903842762547559,
+      0.029038427625475594,
       0.012752442114810743,
       0.004825259624029285,
       0.0015856433122290355,
-      4.467361996202859E-4,
+      4.4673619962028584E-4,
       1.0815891326044897E-4,
-      2.1501975995084007E-5,
+      2.1501975995084003E-5,
       3.0877820264321665E-6,
       2.0121735347546392E-7
     ]
@@ -165,14 +165,14 @@
       1.3442294606163505,
       1.2504550788598903,
       1.145108478540398,
-      1.0076845134906758,
+      1.0076845134906756,
       0.8393355383077514,
       0.6496537972367906,
       0.4625305796292689,
-      0.3035348264320895,
-      0.18409848770017573,
+      0.30353482643208957,
+      0.1840984877001757,
       0.10404729414822564,
-      0.05492082710147257,
+      0.054920827101472565,
       0.026929508320917738,
       0.012117250742785222,
       0.004912231979440461,
@@ -180,7 +180,7 @@
       5.433850247572385E-4,
       1.4341185451814312E-4,
       3.1018961899754435E-5,
-      5.1396679710212166E-6
+      5.139667971021216E-6
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-hawaii-2021-HONOLULU_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
similarity index 88%
rename from src/test/resources/e2e/nshm-hawaii-2021-HONOLULU_HI.json
rename to src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
index 2e565934a..33d143aca 100644
--- a/src/test/resources/e2e/nshm-hawaii-2021-HONOLULU_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
@@ -3,29 +3,29 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
       0.1096176362431887,
       0.07712267985209978,
-      0.05236216472551224,
+      0.052362164725512236,
       0.03410083982464372,
       0.021327885700315224,
       0.012597455865731777,
@@ -38,7 +38,7 @@
       8.354936782969439E-5,
       3.0262362405560818E-5,
       9.700628718654082E-6,
-      2.73388661760168E-6,
+      2.7338866176016795E-6,
       6.418080520161567E-7,
       1.2432205810419981E-7,
       1.6644800833465068E-8,
@@ -48,7 +48,7 @@
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -70,11 +70,11 @@
     ],
     "ys": [
       0.023279814179665247,
-      0.015258454706800595,
+      0.015258454706800593,
       0.009636588671134795,
       0.0058636185962218715,
       0.0034303179683354557,
-      0.0019508911864085043,
+      0.0019508911864085045,
       0.0010720245656982627,
       5.727230032611106E-4,
       2.940392779991596E-4,
@@ -107,29 +107,29 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
       0.16241112120908746,
       0.12117474522250349,
-      0.08821017091766083,
-      0.062475455947759634,
+      0.08821017091766084,
+      0.06247545594775962,
       0.0429411432751231,
       0.028525687803782396,
       0.018224455950293393,
       0.011059987400758736,
       0.006364262004183082,
       0.0034377054571609225,
-      0.001738825379832288,
+      0.0017388253798322879,
       7.965440914871203E-4,
       3.3531414903647464E-4,
       1.2359465951104756E-4,
-      3.997349646564974E-5,
+      3.997349646564973E-5,
       1.1017452326436623E-5,
       2.556220564845531E-6,
       4.819237373193018E-7,
@@ -161,13 +161,13 @@
       1.998773638612381
     ],
     "ys": [
-      0.20884911299107897,
+      0.20884911299107894,
       0.16145810468844024,
-      0.11999074916434269,
+      0.1199907491643427,
       0.08664281640904029,
       0.06035281081025548,
       0.04113660286620183,
-      0.027122373299762817,
+      0.02712237329976281,
       0.017158998663766196,
       0.010389832056442814,
       0.005966842420004629,
diff --git a/src/test/resources/e2e/nshm-hawaii-2021-KAILUA_KONA_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
similarity index 80%
rename from src/test/resources/e2e/nshm-hawaii-2021-KAILUA_KONA_HI.json
rename to src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
index 3196aec25..7907a733e 100644
--- a/src/test/resources/e2e/nshm-hawaii-2021-KAILUA_KONA_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
@@ -3,31 +3,31 @@
     "xs": [
       -5.991464547107982,
       -5.585999438999818,
-      -5.181423615076537,
+      -5.181423615076538,
       -4.775958506968373,
       -4.374058465024705,
       -3.9633162998156966,
       -3.5613661338149765,
-      -3.1535563587475584,
+      -3.153556358747558,
       -2.7488721956224653,
       -2.3434070875143007,
       -1.9379419794061366,
-      -1.5324768712979722,
+      -1.532476871297972,
       -1.1270117631898076,
       -0.7215466550816433,
-      -0.31608154697347896,
-      0.08617769624105241,
+      -0.3160815469734789,
+      0.0861776962410524,
       0.494696241836107,
       0.9001613499442714,
       1.3056264580524357,
-      1.7119945007591924
+      1.7119945007591926
     ],
     "ys": [
       0.9310649618626425,
-      0.7152683525622628,
-      0.5254960437436177,
-      0.37057192881004786,
-      0.25360306935928917,
+      0.7152683525622627,
+      0.5254960437436178,
+      0.37057192881004797,
+      0.2536030693592891,
       0.1673342748557868,
       0.10852163641624823,
       0.06764805605345484,
@@ -40,15 +40,15 @@
       4.913127725890904E-4,
       1.6916652515186739E-4,
       4.608184816695928E-5,
-      9.142956045358948E-6,
+      9.142956045358946E-6,
       1.067682459238504E-6,
-      4.4135240737735364E-8
+      4.413524073773537E-8
     ]
   },
   "5.00 Second Spectral Acceleration": {
     "xs": [
       -6.908755779315721,
-      -6.502290170873972,
+      -6.502290170873973,
       -6.0968250627658085,
       -5.692842534617867,
       -5.286388795682763,
@@ -78,15 +78,15 @@
       0.020129540279605004,
       0.011639202185119844,
       0.0061951399190677625,
-      0.0030758835356592923,
+      0.0030758835356592914,
       0.0014771509658122375,
       7.061929082246017E-4,
-      3.3451441585971104E-4,
+      3.34514415859711E-4,
       1.5467986387544445E-4,
       6.363609376236911E-5,
       2.247131683032451E-5,
-      6.219516642047414E-6,
-      1.2615492254822045E-6,
+      6.219516642047412E-6,
+      1.2615492254822047E-6,
       1.5297532779407637E-7,
       7.198489307670766E-9
     ]
@@ -107,34 +107,34 @@
       -1.5994875815809322,
       -1.1973282616072674,
       -0.789658080940789,
-      -0.3856624808119846,
+      -0.38566248081198456,
       0.01980262729617973,
       0.4252677354043441,
-      0.8329091229351039,
+      0.832909122935104,
       1.235471471385307,
       1.6428726885203377
     ],
     "ys": [
       1.3099486083268739,
-      1.199523417668875,
-      1.0517265084684115,
+      1.1995234176688747,
+      1.0517265084684118,
       0.8707860874217463,
       0.6765138623146243,
-      0.493401638622512,
+      0.49340163862251196,
       0.33992289432676787,
       0.22192803156480623,
       0.13847632521718928,
-      0.08175333860325448,
-      0.04511099205028913,
+      0.0817533386032545,
+      0.04511099205028912,
       0.022490754664834876,
-      0.010374939794256521,
-      0.004313773760782855,
-      0.0016216028906538636,
+      0.01037493979425652,
+      0.004313773760782856,
+      0.0016216028906538638,
       5.238693662990279E-4,
       1.377271763315316E-4,
       2.6761997339916372E-5,
-      3.504591338211114E-6,
-      2.3097496341714198E-7
+      3.5045913382111136E-6,
+      2.30974963417142E-7
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -170,15 +170,15 @@
       0.47242900392024684,
       0.32217060882735266,
       0.20861884543377657,
-      0.12835589658796198,
+      0.128355896587962,
       0.07482094551740774,
-      0.04095407995887267,
+      0.040954079958872666,
       0.02092944382070038,
-      0.009967533485864724,
+      0.009967533485864722,
       0.004400165256626161,
       0.0017609227596797569,
       6.180891817013114E-4,
-      1.8154635267886136E-4,
+      1.815463526788613E-4,
       4.1290331752591286E-5,
       6.280186508295586E-6
     ]
-- 
GitLab


From 05d381de83179898c36e2e08f279211dcc865c68 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 14:56:08 -0700
Subject: [PATCH 02/57] add tests for nshms

---
 .../earthquake/nshmp/model/NshmTestUtils.java | 248 ++++++++++++++++++
 .../nshmp/model/NshmTestsConus2018.java       |  18 ++
 .../nshmp/model/NshmsTestsHawaii2021.java     |  18 ++
 3 files changed, 284 insertions(+)
 create mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
 create mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
 create mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
new file mode 100644
index 000000000..a8864cdf5
--- /dev/null
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -0,0 +1,248 @@
+package gov.usgs.earthquake.nshmp.model;
+
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.stream.Collectors;
+
+import com.google.common.reflect.TypeToken;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+
+import gov.usgs.earthquake.nshmp.NamedLocation;
+import gov.usgs.earthquake.nshmp.calc.CalcConfig;
+import gov.usgs.earthquake.nshmp.calc.Hazard;
+import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
+import gov.usgs.earthquake.nshmp.calc.Site;
+import gov.usgs.earthquake.nshmp.data.XySequence;
+import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.site.NshmpSite;
+
+/**
+ * Utilities to run test on a NSHM.
+ */
+class NshmTestUtils {
+  private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
+
+  private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
+      NshmpSite.LOS_ANGELES_CA,
+      NshmpSite.SAN_FRANCISCO_CA,
+      NshmpSite.SEATTLE_WA,
+      NshmpSite.SALT_LAKE_CITY_UT,
+      NshmpSite.RENO_NV,
+      NshmpSite.NEW_MADRID_MO,
+      NshmpSite.BOSTON_MA,
+      NshmpSite.NEW_YORK_NY,
+      NshmpSite.CHICAGO_IL);
+
+  private static final List<NamedLocation> HAWAII_LOCATIONS = List.of(
+      NshmpSite.HILO_HI,
+      NshmpSite.HONOLULU_HI,
+      NshmpSite.KAILUA_KONA_HI);
+
+  private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
+
+  private static final double TOLERANCE = 1e-12;
+
+  private static final Gson GSON = new GsonBuilder()
+      .setPrettyPrinting()
+      .create();
+
+  public static void main(String[] args) throws IOException {
+    for (Nshm nshm : Nshm.values()) {
+      /* Initialize and shut down executor to generate results. */
+      NshmModel nshmModel = loadModel(nshm);
+      writeExpecteds(nshmModel);
+      nshmModel.exec.shutdown();
+    }
+  }
+
+  /**
+   * Test a NSHM.
+   *
+   * @param nshm The NSHM to test
+   */
+  static final void testNshm(Nshm nshm) {
+    NshmModel nshmModel = loadModel(nshm);
+
+    for(NamedLocation location : nshm.locations) {
+      compareCurves(nshmModel, location);
+    }
+
+    nshmModel.exec.shutdown();
+  }
+
+  private static void compareCurves(NshmModel nshmModel, NamedLocation location) {
+    Map<String, XySequence> actual = generateActual(nshmModel, location);
+    Map<String, XySequence> expected = readExpected(nshmModel, location);
+
+    for (String key : actual.keySet()) {
+      assertCurveEquals(expected.get(key), actual.get(key), TOLERANCE);
+    }
+  }
+
+  private static void assertCurveEquals(XySequence expected, XySequence actual, double tol) {
+    // IMLs close but not exact due to exp() transform
+    assertArrayEquals(
+        expected.xValues().toArray(),
+        actual.xValues().toArray());
+
+    double[] expectedYs = expected.yValues().toArray();
+    double[] actualYs = actual.yValues().toArray();
+
+    // absolute y-value difference relative to tolerance
+    assertArrayEquals(expectedYs, actualYs, tol);
+
+    // relative y-value difference relative to tolerance
+    for (int i = 0; i < expectedYs.length; i++) {
+      String message = String.format(
+          "arrays differ at [%s] expected:<[%s]> but was:<[%s]>",
+          i, expectedYs[i], actualYs[i]);
+      assertTrue(compare(expectedYs[i], actualYs[i], tol), message);
+    }
+  }
+
+  private static boolean compare(double expected, double actual, double tolerance) {
+    return Math.abs(actual - expected) / expected < tolerance ||
+        Double.valueOf(expected).equals(Double.valueOf(actual));
+  }
+
+  private static Map<String, XySequence> generateActual(NshmModel nshmModel, NamedLocation location) {
+    Site site = Site.builder().location(location.location()).build();
+
+    CalcConfig config = CalcConfig.copyOf(nshmModel.model.config())
+        .imts(nshmModel.nshm.imts)
+        .build();
+
+    Hazard hazard = HazardCalcs.hazard(
+        nshmModel.model,
+        config,
+        site,
+        nshmModel.exec);
+
+    Map<String, XySequence> xyMap = hazard.curves().entrySet().stream()
+        .collect(Collectors.toMap(
+            e -> e.getKey().toString(),
+            Entry::getValue));
+
+    return xyMap;
+  }
+
+  private static String resultFilename(
+      String modelName,
+      int year,
+      NamedLocation loc) {
+    return modelName + "-" + year + "-" + loc.name() + ".json";
+  }
+
+  private static Map<String, XySequence> readExpected(NshmModel nshmModel, NamedLocation loc) {
+    String filename = resultFilename(nshmModel.nshm.modelName, nshmModel.nshm.year, loc);
+    Path resultPath = DATA_PATH.resolve(nshmModel.nshm.modelName).resolve(filename);
+
+    JsonObject obj = null;
+    try (BufferedReader br = Files.newBufferedReader(resultPath)) {
+      obj = JsonParser.parseReader(br).getAsJsonObject();
+    } catch (IOException ioe) {
+      throw new RuntimeException(ioe);
+    }
+
+    Type curveDataType = new TypeToken<Map<String, Curve>>() {}.getType();
+    Map<String, Curve> curveMap = GSON.fromJson(obj, curveDataType);
+    Map<String, XySequence> xyMap = curveMap.entrySet().stream()
+        .collect(Collectors.toMap(
+            Entry::getKey,
+            e -> XySequence.create(e.getValue().xs, e.getValue().ys)));
+    return xyMap;
+  }
+
+  private static class Curve {
+    double[] xs;
+    double[] ys;
+
+    @SuppressWarnings("unused")
+    Curve(double[] xs, double[] ys) {
+      this.xs = xs;
+      this.ys = ys;
+    }
+  }
+
+  private static void writeExpecteds(NshmModel nshmModel) throws IOException {
+    for (NamedLocation location : nshmModel.nshm.locations) {
+      Map<String, XySequence> xyMap = generateActual(nshmModel, location);
+      String json = GSON.toJson(xyMap);
+      writeExpected(nshmModel.nshm.modelName, nshmModel.nshm.year, location, json);
+    }
+  }
+
+  private static void writeExpected(
+      String modelName,
+      int year,
+      NamedLocation loc,
+      String json) throws IOException {
+
+    String filename = resultFilename(modelName, year, loc);
+    Path modelDir = DATA_PATH.resolve(modelName);
+    if (!Files.exists(modelDir)) {
+      Files.createDirectories(modelDir);
+    }
+    Path resultPath = modelDir.resolve(filename);
+    Files.write(resultPath, json.getBytes());
+  }
+
+  private static NshmModel loadModel(Nshm nshm) {
+    int cores = Runtime.getRuntime().availableProcessors();
+
+    return new NshmModel(
+      nshm,
+      ModelLoader.load(nshm.modelPath),
+      Executors.newFixedThreadPool(cores)
+    );
+  }
+
+  static class NshmModel {
+    HazardModel model;
+    ExecutorService exec;
+    Nshm nshm;
+
+    NshmModel(Nshm nshm, HazardModel model, ExecutorService exec) {
+      this.nshm = nshm;
+      this.model = model;
+      this.exec = exec;
+    }
+  }
+
+  static enum Nshm {
+    CONUS_2018("nshm-conus-5.2.0", CONUS_LOCATIONS, IMTS),
+
+    HAWAII_2021("nshm-hawaii-2.0.2", HAWAII_LOCATIONS, IMTS);
+
+    private final Path modelPath;
+    private final String modelName;
+    private final List<NamedLocation> locations;
+    private final Set<Imt> imts;
+    private final int year;
+
+    Nshm(String modelName, List<NamedLocation> locations, Set<Imt> imts) {
+      this.locations = locations;
+      this.imts = imts;
+      this.modelName = modelName;
+      this.modelPath = Paths.get("nshms", modelName);
+      this.year = Integer.parseInt(name().split("_")[1]);
+    }
+  }
+}
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
new file mode 100644
index 000000000..76cafffd0
--- /dev/null
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
@@ -0,0 +1,18 @@
+package gov.usgs.earthquake.nshmp.model;
+
+import org.junit.jupiter.api.Test;
+
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
+
+/**
+ * Test CONUS 2018 NSHM, {@link Nshm.CONUS_2018}.
+ *
+ * To run test: ./gradlew testConus2018
+ */
+class NshmTestsConus2018 {
+
+  @Test
+  final void testNshm() {
+    NshmTestUtils.testNshm(Nshm.CONUS_2018);
+  }
+}
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java
new file mode 100644
index 000000000..3cc015afd
--- /dev/null
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java
@@ -0,0 +1,18 @@
+package gov.usgs.earthquake.nshmp.model;
+
+import org.junit.jupiter.api.Test;
+
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
+
+/**
+ * Test Hawaii 2021 NSHM, {@link Nshm.HAWAII_2021}.
+ *
+ * To run test: ./gradlew testHawaii2021
+ */
+class NshmsTestsHawaii2021 {
+
+  @Test
+  final void testNshm() {
+    NshmTestUtils.testNshm(Nshm.HAWAII_2021);
+  }
+}
-- 
GitLab


From 52f8d89e5840dd7d63855391a64d1fd87581f791 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 14:56:37 -0700
Subject: [PATCH 03/57] spotless apply

---
 build.gradle | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/build.gradle b/build.gradle
index 6619f6d7c..ec298aefa 100644
--- a/build.gradle
+++ b/build.gradle
@@ -88,7 +88,7 @@ task testNshms(type: Test) {
   jvmArgs(
       '-Xms2g',
       '-Xmx32g',
-  )
+      )
 
   filter {
     includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"
@@ -100,7 +100,7 @@ task testConus2018(type: Test) {
   jvmArgs(
       '-Xms2g',
       '-Xmx32g',
-  )
+      )
 
   filter {
     includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsConus2018"
@@ -112,7 +112,7 @@ task testHawaii2021(type: Test) {
   jvmArgs(
       '-Xms2g',
       '-Xmx32g',
-  )
+      )
 
   filter {
     includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsHawaii2021"
-- 
GitLab


From da0bf43c65a7c9f21a2afca0c62962adc243769d Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 14:56:47 -0700
Subject: [PATCH 04/57] spotless apply

---
 .../usgs/earthquake/nshmp/model/NshmTestUtils.java | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index a8864cdf5..359b39e08 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -12,8 +12,8 @@ import java.nio.file.Paths;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
@@ -80,7 +80,7 @@ class NshmTestUtils {
   static final void testNshm(Nshm nshm) {
     NshmModel nshmModel = loadModel(nshm);
 
-    for(NamedLocation location : nshm.locations) {
+    for (NamedLocation location : nshm.locations) {
       compareCurves(nshmModel, location);
     }
 
@@ -122,7 +122,8 @@ class NshmTestUtils {
         Double.valueOf(expected).equals(Double.valueOf(actual));
   }
 
-  private static Map<String, XySequence> generateActual(NshmModel nshmModel, NamedLocation location) {
+  private static Map<String, XySequence> generateActual(NshmModel nshmModel,
+      NamedLocation location) {
     Site site = Site.builder().location(location.location()).build();
 
     CalcConfig config = CalcConfig.copyOf(nshmModel.model.config())
@@ -208,10 +209,9 @@ class NshmTestUtils {
     int cores = Runtime.getRuntime().availableProcessors();
 
     return new NshmModel(
-      nshm,
-      ModelLoader.load(nshm.modelPath),
-      Executors.newFixedThreadPool(cores)
-    );
+        nshm,
+        ModelLoader.load(nshm.modelPath),
+        Executors.newFixedThreadPool(cores));
   }
 
   static class NshmModel {
-- 
GitLab


From e855dd300b6d37c05239eda1356ff96139ce919a Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 14:57:34 -0700
Subject: [PATCH 05/57] remove old nshm tests

---
 .../nshmp/model/NshmTestsConus.java           | 255 ------------------
 .../nshmp/model/NshmTestsHawaii.java          | 243 -----------------
 2 files changed, 498 deletions(-)
 delete mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus.java
 delete mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii.java

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus.java
deleted file mode 100644
index d9db18747..000000000
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package gov.usgs.earthquake.nshmp.model;
-
-import static gov.usgs.earthquake.nshmp.gmm.Imt.PGA;
-import static gov.usgs.earthquake.nshmp.gmm.Imt.SA0P2;
-import static gov.usgs.earthquake.nshmp.gmm.Imt.SA1P0;
-import static gov.usgs.earthquake.nshmp.gmm.Imt.SA5P0;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.BOSTON_MA;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.CHICAGO_IL;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.LOS_ANGELES_CA;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.NEW_MADRID_MO;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.NEW_YORK_NY;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.RENO_NV;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.SALT_LAKE_CITY_UT;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.SAN_FRANCISCO_CA;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.SEATTLE_WA;
-import static java.lang.Math.abs;
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.MethodSource;
-
-import com.google.common.reflect.TypeToken;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-
-import gov.usgs.earthquake.nshmp.NamedLocation;
-import gov.usgs.earthquake.nshmp.calc.CalcConfig;
-import gov.usgs.earthquake.nshmp.calc.Hazard;
-import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
-import gov.usgs.earthquake.nshmp.calc.Site;
-import gov.usgs.earthquake.nshmp.data.XySequence;
-import gov.usgs.earthquake.nshmp.geo.Location;
-import gov.usgs.earthquake.nshmp.gmm.Imt;
-
-/**
- * Class for end-to-end tests of hazard calculations. These tests require
- * significant system resources to load source models, and source models are
- * required to be in adjacent repositories. These tests should be run
- * frequently, but not as part of continuous integration. Consider nightlies.
- * Needs parameterization and additional regions.
- *
- * @author U.S. Geological Survey
- */
-class NshmTestsConus {
-
-  private static final double TOLERANCE = 1e-12;
-
-  private static final List<NamedLocation> SITES = List.of(
-      LOS_ANGELES_CA,
-      SAN_FRANCISCO_CA,
-      SEATTLE_WA,
-      SALT_LAKE_CITY_UT,
-      RENO_NV,
-      NEW_MADRID_MO,
-      BOSTON_MA,
-      NEW_YORK_NY,
-      CHICAGO_IL);
-
-  private static final Set<Imt> IMTS = EnumSet.of(PGA, SA0P2, SA1P0, SA5P0);
-
-  private static final String MODEL_NAME = "nshm-conus-2018-5.1-maint";
-  private static final String MODEL_NAME_OUT = "nshm-conus";
-  private static final int MODEL_YEAR = 2018;
-  private static final Path MODEL_PATH = Paths.get("../" + MODEL_NAME);
-  private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
-
-  private static final Gson GSON = new GsonBuilder()
-      .setPrettyPrinting()
-      .create();
-
-  private static ExecutorService exec;
-  private static HazardModel model;
-  static Map<Location, Map<String, XySequence>> expecteds;
-
-  @BeforeAll
-  static void setUpBeforeClass() {
-    model = ModelLoader.load(MODEL_PATH);
-    int cores = Runtime.getRuntime().availableProcessors();
-    exec = Executors.newFixedThreadPool(cores);
-  }
-
-  @AfterAll
-  static void tearDownAfterClass() {
-    exec.shutdown();
-  }
-
-  @ParameterizedTest
-  @MethodSource("siteStream")
-  final void testLocation(NamedLocation site) {
-    compareCurves(site);
-  }
-
-  private static Stream<NamedLocation> siteStream() {
-    return SITES.stream();
-  }
-
-  private static void compareCurves(NamedLocation location) {
-
-    // String actual = generateActual(model, location);
-    Map<String, XySequence> actual = generateActual(location);
-    // String expected = readExpected(modelName, year, location);
-    Map<String, XySequence> expected = readExpected(location);
-    // assertEquals(expected, actual);
-
-    // assertEquals(expected.keySet(), actual.keySet());
-    for (String key : actual.keySet()) {
-      assertCurveEquals(expected.get(key), actual.get(key), TOLERANCE);
-    }
-  }
-
-  private static void assertCurveEquals(XySequence expected, XySequence actual, double tol) {
-
-    // IMLs close but not exact due to exp() transform
-    assertArrayEquals(
-        expected.xValues().toArray(),
-        actual.xValues().toArray());
-
-    double[] expectedYs = expected.yValues().toArray();
-    double[] actualYs = actual.yValues().toArray();
-
-    // absolute y-value difference relative to tolerance
-    assertArrayEquals(expectedYs, actualYs, tol);
-
-    // relative y-value difference relative to tolerance
-    for (int i = 0; i < expectedYs.length; i++) {
-      String message = String.format(
-          "arrays differ at [%s] expected:<[%s]> but was:<[%s]>",
-          i, expectedYs[i], actualYs[i]);
-      assertTrue(compare(expectedYs[i], actualYs[i], tol), message);
-    }
-  }
-
-  private static boolean compare(double expected, double actual, double tolerance) {
-    return abs(actual - expected) / expected < tolerance ||
-        Double.valueOf(expected).equals(Double.valueOf(actual));
-  }
-
-  private static Map<String, XySequence> generateActual(NamedLocation location) {
-
-    Site site = Site.builder().location(location.location()).build();
-
-    CalcConfig config = CalcConfig.copyOf(model.config())
-        .imts(IMTS)
-        .build();
-
-    Hazard hazard = HazardCalcs.hazard(
-        model,
-        config,
-        site,
-        exec);
-
-    Map<String, XySequence> xyMap = hazard.curves().entrySet().stream()
-        .collect(Collectors.toMap(
-            e -> e.getKey().toString(),
-            Entry::getValue));
-
-    return xyMap;
-  }
-
-  private static String resultFilename(
-      String modelName,
-      int year,
-      NamedLocation loc) {
-
-    return modelName + "-" + year + "-" + loc.name() + ".json";
-  }
-
-  private static Map<String, XySequence> readExpected(NamedLocation loc) {
-
-    String filename = resultFilename(MODEL_NAME_OUT, MODEL_YEAR, loc);
-    Path resultPath = DATA_PATH.resolve(filename);
-
-    JsonObject obj = null;
-    try (BufferedReader br = Files.newBufferedReader(resultPath)) {
-      obj = JsonParser.parseReader(br).getAsJsonObject();
-    } catch (IOException ioe) {
-      throw new RuntimeException(ioe);
-    }
-
-    Type curveDataType = new TypeToken<Map<String, Curve>>() {}.getType();
-    Map<String, Curve> curveMap = GSON.fromJson(obj, curveDataType);
-    Map<String, XySequence> xyMap = curveMap.entrySet().stream()
-        .collect(Collectors.toMap(
-            Entry::getKey,
-            e -> XySequence.create(e.getValue().xs, e.getValue().ys)));
-    return xyMap;
-  }
-
-  private static class Curve {
-    double[] xs;
-    double[] ys;
-
-    @SuppressWarnings("unused")
-    Curve(double[] xs, double[] ys) {
-      this.xs = xs;
-      this.ys = ys;
-    }
-  }
-
-  private static void writeExpecteds(
-      String modelName,
-      int year,
-      List<NamedLocation> locations) throws IOException {
-
-    for (NamedLocation location : locations) {
-      // String json = generateActual(model, location);
-      Map<String, XySequence> xyMap = generateActual(location);
-      String json = GSON.toJson(xyMap);
-      writeExpected(modelName, year, location, json);
-    }
-  }
-
-  private static void writeExpected(
-      String modelName,
-      int year,
-      NamedLocation loc,
-      String json) throws IOException {
-
-    String filename = resultFilename(modelName, year, loc);
-    Path resultPath = DATA_PATH.resolve(filename);
-    Files.write(resultPath, json.getBytes());
-  }
-
-  public static void main(String[] args) throws IOException {
-
-    /* Initialize and shut down executor to generate results. */
-    setUpBeforeClass();
-
-    writeExpecteds(MODEL_NAME_OUT, MODEL_YEAR, SITES);
-
-    tearDownAfterClass();
-  }
-
-}
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii.java
deleted file mode 100644
index 6d184fea8..000000000
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package gov.usgs.earthquake.nshmp.model;
-
-import static gov.usgs.earthquake.nshmp.gmm.Imt.PGA;
-import static gov.usgs.earthquake.nshmp.gmm.Imt.SA0P2;
-import static gov.usgs.earthquake.nshmp.gmm.Imt.SA1P0;
-import static gov.usgs.earthquake.nshmp.gmm.Imt.SA5P0;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.HILO_HI;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.HONOLULU_HI;
-import static gov.usgs.earthquake.nshmp.site.NshmpSite.KAILUA_KONA_HI;
-import static java.lang.Math.abs;
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.MethodSource;
-
-import com.google.common.reflect.TypeToken;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-
-import gov.usgs.earthquake.nshmp.NamedLocation;
-import gov.usgs.earthquake.nshmp.calc.CalcConfig;
-import gov.usgs.earthquake.nshmp.calc.Hazard;
-import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
-import gov.usgs.earthquake.nshmp.calc.Site;
-import gov.usgs.earthquake.nshmp.data.XySequence;
-import gov.usgs.earthquake.nshmp.geo.Location;
-import gov.usgs.earthquake.nshmp.gmm.Imt;
-
-/**
- * Class for end-to-end tests of hazard calculations. These tests require
- * significant system resources to load source models, and source models are
- * required to be in adjacent repositories. These tests should be run
- * frequently, but not necessarily as part of continuous integration. Needs
- * parameterization and additional regions.
- *
- * @author U.S. Geological Survey
- */
-class NshmTestsHawaii {
-
-  private static final double TOLERANCE = 1e-12;
-
-  private static final List<NamedLocation> SITES = List.of(
-      HILO_HI,
-      HONOLULU_HI,
-      KAILUA_KONA_HI);
-
-  private static final Set<Imt> IMTS = EnumSet.of(PGA, SA0P2, SA1P0, SA5P0);
-
-  private static final String MODEL_NAME = "nshm-hawaii";
-  private static final int MODEL_YEAR = 2021;
-  private static final Path MODEL_PATH = Paths.get("../" + MODEL_NAME);
-  private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
-
-  private static final Gson GSON = new GsonBuilder()
-      .setPrettyPrinting()
-      .create();
-
-  private static ExecutorService exec;
-  private static HazardModel model;
-  static Map<Location, Map<String, XySequence>> expecteds;
-
-  @BeforeAll
-  static void setUpBeforeClass() {
-    model = ModelLoader.load(MODEL_PATH);
-    int cores = Runtime.getRuntime().availableProcessors();
-    exec = Executors.newFixedThreadPool(cores);
-  }
-
-  @AfterAll
-  static void tearDownAfterClass() {
-    exec.shutdown();
-  }
-
-  @ParameterizedTest
-  @MethodSource("siteStream")
-  final void testLocation(NamedLocation site) {
-    compareCurves(site);
-  }
-
-  private static Stream<NamedLocation> siteStream() {
-    return SITES.stream();
-  }
-
-  private static void compareCurves(NamedLocation location) {
-
-    // String actual = generateActual(model, location);
-    Map<String, XySequence> actual = generateActual(location);
-    // String expected = readExpected(modelName, year, location);
-    Map<String, XySequence> expected = readExpected(location);
-    // assertEquals(expected, actual);
-
-    assertEquals(expected.keySet(), actual.keySet());
-    for (String key : actual.keySet()) {
-      assertCurveEquals(expected.get(key), actual.get(key), TOLERANCE);
-    }
-  }
-
-  private static void assertCurveEquals(XySequence expected, XySequence actual, double tol) {
-
-    // IMLs close but not exact due to exp() transform
-    assertArrayEquals(
-        expected.xValues().toArray(),
-        actual.xValues().toArray());
-
-    double[] expectedYs = expected.yValues().toArray();
-    double[] actualYs = actual.yValues().toArray();
-
-    // absolute y-value difference relative to tolerance
-    assertArrayEquals(expectedYs, actualYs, tol);
-
-    // relative y-value difference relative to tolerance
-    for (int i = 0; i < expectedYs.length; i++) {
-      String message = String.format(
-          "arrays differ at [%s] expected:<[%s]> but was:<[%s]>",
-          i, expectedYs[i], actualYs[i]);
-      assertTrue(compare(expectedYs[i], actualYs[i], tol), message);
-    }
-  }
-
-  private static boolean compare(double expected, double actual, double tolerance) {
-    return abs(actual - expected) / expected < tolerance ||
-        Double.valueOf(expected).equals(Double.valueOf(actual));
-  }
-
-  private static Map<String, XySequence> generateActual(NamedLocation location) {
-
-    Site site = Site.builder().location(location.location()).build();
-
-    CalcConfig config = CalcConfig.copyOf(model.config())
-        .imts(IMTS)
-        .build();
-
-    Hazard hazard = HazardCalcs.hazard(
-        model,
-        config,
-        site,
-        exec);
-
-    Map<String, XySequence> xyMap = hazard.curves().entrySet().stream()
-        .collect(Collectors.toMap(
-            e -> e.getKey().toString(),
-            Entry::getValue));
-
-    return xyMap;
-  }
-
-  private static String resultFilename(
-      String modelName,
-      int year,
-      NamedLocation loc) {
-
-    return modelName + "-" + year + "-" + loc.name() + ".json";
-  }
-
-  private static Map<String, XySequence> readExpected(NamedLocation loc) {
-
-    String filename = resultFilename(MODEL_NAME, MODEL_YEAR, loc);
-    Path resultPath = DATA_PATH.resolve(filename);
-
-    JsonObject obj = null;
-    try (BufferedReader br = Files.newBufferedReader(resultPath)) {
-      obj = JsonParser.parseReader(br).getAsJsonObject();
-    } catch (IOException ioe) {
-      throw new RuntimeException(ioe);
-    }
-
-    Type curveDataType = new TypeToken<Map<String, Curve>>() {}.getType();
-    Map<String, Curve> curveMap = GSON.fromJson(obj, curveDataType);
-    Map<String, XySequence> xyMap = curveMap.entrySet().stream()
-        .collect(Collectors.toMap(
-            Entry::getKey,
-            e -> XySequence.create(e.getValue().xs, e.getValue().ys)));
-    return xyMap;
-  }
-
-  private static class Curve {
-    double[] xs;
-    double[] ys;
-
-    @SuppressWarnings("unused")
-    Curve(double[] xs, double[] ys) {
-      this.xs = xs;
-      this.ys = ys;
-    }
-  }
-
-  private static void writeExpecteds(
-      String modelName,
-      int year,
-      List<NamedLocation> locations) throws IOException {
-
-    for (NamedLocation location : locations) {
-      // String json = generateActual(model, location);
-      Map<String, XySequence> xyMap = generateActual(location);
-      String json = GSON.toJson(xyMap);
-      writeExpected(modelName, year, location, json);
-    }
-  }
-
-  private static void writeExpected(
-      String modelName,
-      int year,
-      NamedLocation loc,
-      String json) throws IOException {
-
-    String filename = resultFilename(modelName, year, loc);
-    Path resultPath = DATA_PATH.resolve(filename);
-    Files.write(resultPath, json.getBytes());
-  }
-
-  public static void main(String[] args) throws IOException {
-
-    /* Initialize and shut down executor to generate results. */
-    setUpBeforeClass();
-
-    writeExpecteds(MODEL_NAME, MODEL_YEAR, SITES);
-
-    tearDownAfterClass();
-  }
-
-}
-- 
GitLab


From 326ec971d0780ecef5a2eeb2b11e39f8a6894ef2 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 14:58:50 -0700
Subject: [PATCH 06/57] run ci to test nshm

---
 .gitlab-ci.yml | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4e7c0d9f2..651ba447c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -247,6 +247,24 @@ Unit Tests:
     - ./gradlew check
     - cat ${JACOCO_HTML_DIR}/index.html
 
+NSHM Tests:
+  extends:
+    - .java
+  script:
+    - ./gradlew testNshms
+
+CONUS 2018 Tests:
+  extends:
+    - .java
+  script:
+    - ./gradlew testConus2018
+
+Hawaii 2021 Tests:
+  extends:
+    - .java
+  script:
+    - ./gradlew testHawaii2021
+
 ####
 # Stage: trigger
 ####
-- 
GitLab


From 42404986f24b829c3a5226c77be943243a840d80 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:02:33 -0700
Subject: [PATCH 07/57] fix path

---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index ec298aefa..403e180f2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -91,7 +91,7 @@ task testNshms(type: Test) {
       )
 
   filter {
-    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestUtils"
   }
 }
 
-- 
GitLab


From 558484a83d89573cf880d6730efa570f972aac6d Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:04:55 -0700
Subject: [PATCH 08/57] download nshmns

---
 build.gradle | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/build.gradle b/build.gradle
index 403e180f2..e327a8629 100644
--- a/build.gradle
+++ b/build.gradle
@@ -74,6 +74,10 @@ tasks.withType(com.github.spotbugs.snom.SpotBugsTask) {
   }
 }
 
+tasks.withType(Test) {
+  dependsOn downloadNshms
+}
+
 test {
   useJUnitPlatform()
 
-- 
GitLab


From 54b7268c9dfee53b4df9cc7ba9b28ed750854812 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:09:29 -0700
Subject: [PATCH 09/57] rename files

---
 .../nshmp/model/{NshmTestUtils.java => NshmTests.java}      | 2 +-
 .../gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java | 4 ++--
 .../{NshmsTestsHawaii2021.java => NshmTestsHawaii2021.java} | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)
 rename src/test/java/gov/usgs/earthquake/nshmp/model/{NshmTestUtils.java => NshmTests.java} (99%)
 rename src/test/java/gov/usgs/earthquake/nshmp/model/{NshmsTestsHawaii2021.java => NshmTestsHawaii2021.java} (62%)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
similarity index 99%
rename from src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
rename to src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
index 359b39e08..ca3ba6cf2 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
@@ -36,7 +36,7 @@ import gov.usgs.earthquake.nshmp.site.NshmpSite;
 /**
  * Utilities to run test on a NSHM.
  */
-class NshmTestUtils {
+class NshmTests {
   private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
 
   private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
index 76cafffd0..984ed3897 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
@@ -2,7 +2,7 @@ package gov.usgs.earthquake.nshmp.model;
 
 import org.junit.jupiter.api.Test;
 
-import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
+import gov.usgs.earthquake.nshmp.model.NshmTests.Nshm;
 
 /**
  * Test CONUS 2018 NSHM, {@link Nshm.CONUS_2018}.
@@ -13,6 +13,6 @@ class NshmTestsConus2018 {
 
   @Test
   final void testNshm() {
-    NshmTestUtils.testNshm(Nshm.CONUS_2018);
+    NshmTests.testNshm(Nshm.CONUS_2018);
   }
 }
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
similarity index 62%
rename from src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java
rename to src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
index 3cc015afd..d70a917c0 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmsTestsHawaii2021.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
@@ -2,17 +2,17 @@ package gov.usgs.earthquake.nshmp.model;
 
 import org.junit.jupiter.api.Test;
 
-import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
+import gov.usgs.earthquake.nshmp.model.NshmTests.Nshm;
 
 /**
  * Test Hawaii 2021 NSHM, {@link Nshm.HAWAII_2021}.
  *
  * To run test: ./gradlew testHawaii2021
  */
-class NshmsTestsHawaii2021 {
+class NshmTestsHawaii2021 {
 
   @Test
   final void testNshm() {
-    NshmTestUtils.testNshm(Nshm.HAWAII_2021);
+    NshmTests.testNshm(Nshm.HAWAII_2021);
   }
 }
-- 
GitLab


From c34ce4f77892a348d3e2bb7167dc1170f6ad3ec9 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:09:45 -0700
Subject: [PATCH 10/57] change path

---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index e327a8629..e6aef1b45 100644
--- a/build.gradle
+++ b/build.gradle
@@ -95,7 +95,7 @@ task testNshms(type: Test) {
       )
 
   filter {
-    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestUtils"
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"
   }
 }
 
-- 
GitLab


From 1a14d4664bd185a7b98f47536b4f0fe9d17d2d78 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:13:30 -0700
Subject: [PATCH 11/57] rename

---
 .../nshmp/model/{NshmTests.java => NshmTestUtils.java}          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename src/test/java/gov/usgs/earthquake/nshmp/model/{NshmTests.java => NshmTestUtils.java} (99%)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
similarity index 99%
rename from src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
rename to src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index ca3ba6cf2..359b39e08 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -36,7 +36,7 @@ import gov.usgs.earthquake.nshmp.site.NshmpSite;
 /**
  * Utilities to run test on a NSHM.
  */
-class NshmTests {
+class NshmTestUtils {
   private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
 
   private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
-- 
GitLab


From 40e4af7da07c997e7b1a0322e231f7914a728daa Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:13:49 -0700
Subject: [PATCH 12/57] change path

---
 .../gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java   | 4 ++--
 .../gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
index 984ed3897..76cafffd0 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
@@ -2,7 +2,7 @@ package gov.usgs.earthquake.nshmp.model;
 
 import org.junit.jupiter.api.Test;
 
-import gov.usgs.earthquake.nshmp.model.NshmTests.Nshm;
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
 
 /**
  * Test CONUS 2018 NSHM, {@link Nshm.CONUS_2018}.
@@ -13,6 +13,6 @@ class NshmTestsConus2018 {
 
   @Test
   final void testNshm() {
-    NshmTests.testNshm(Nshm.CONUS_2018);
+    NshmTestUtils.testNshm(Nshm.CONUS_2018);
   }
 }
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
index d70a917c0..f90ecec48 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
@@ -2,7 +2,7 @@ package gov.usgs.earthquake.nshmp.model;
 
 import org.junit.jupiter.api.Test;
 
-import gov.usgs.earthquake.nshmp.model.NshmTests.Nshm;
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
 
 /**
  * Test Hawaii 2021 NSHM, {@link Nshm.HAWAII_2021}.
@@ -13,6 +13,6 @@ class NshmTestsHawaii2021 {
 
   @Test
   final void testNshm() {
-    NshmTests.testNshm(Nshm.HAWAII_2021);
+    NshmTestUtils.testNshm(Nshm.HAWAII_2021);
   }
 }
-- 
GitLab


From 603e83c4376ebcb35c07da5c0489f32e25354051 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:14:29 -0700
Subject: [PATCH 13/57] run test

---
 .gitlab-ci.yml | 12 ++++++------
 build.gradle   | 12 ------------
 2 files changed, 6 insertions(+), 18 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 651ba447c..b0e3076da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -247,19 +247,19 @@ Unit Tests:
     - ./gradlew check
     - cat ${JACOCO_HTML_DIR}/index.html
 
-NSHM Tests:
-  extends:
-    - .java
-  script:
-    - ./gradlew testNshms
-
 CONUS 2018 Tests:
+  artifacts:
+    paths:
+      - build/reports/test
   extends:
     - .java
   script:
     - ./gradlew testConus2018
 
 Hawaii 2021 Tests:
+  artifacts:
+    paths:
+      - build/reports/test
   extends:
     - .java
   script:
diff --git a/build.gradle b/build.gradle
index e6aef1b45..2a2a4d658 100644
--- a/build.gradle
+++ b/build.gradle
@@ -87,18 +87,6 @@ test {
   }
 }
 
-task testNshms(type: Test) {
-  useJUnitPlatform()
-  jvmArgs(
-      '-Xms2g',
-      '-Xmx32g',
-      )
-
-  filter {
-    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"
-  }
-}
-
 task testConus2018(type: Test) {
   useJUnitPlatform()
   jvmArgs(
-- 
GitLab


From 9ba7ac43d870e0523867837648436b156d4aee6a Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:19:26 -0700
Subject: [PATCH 14/57] change path

---
 .gitlab-ci.yml | 4 ++--
 build.gradle   | 3 +--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b0e3076da..51fbdd13d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -250,7 +250,7 @@ Unit Tests:
 CONUS 2018 Tests:
   artifacts:
     paths:
-      - build/reports/test
+      - build
   extends:
     - .java
   script:
@@ -259,7 +259,7 @@ CONUS 2018 Tests:
 Hawaii 2021 Tests:
   artifacts:
     paths:
-      - build/reports/test
+      - build
   extends:
     - .java
   script:
diff --git a/build.gradle b/build.gradle
index 2a2a4d658..85b7b5fdc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -82,8 +82,7 @@ test {
   useJUnitPlatform()
 
   filter {
-    excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsConus"
-    excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsHawaii"
+    excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests*"
   }
 }
 
-- 
GitLab


From c88bba1025efe0fbd9cf3fa217d062b8474ec895 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:24:26 -0700
Subject: [PATCH 15/57] move tests to test stage

---
 .gitlab-ci.yml | 43 ++++++++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 19 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 51fbdd13d..b9776340e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,6 +12,7 @@ workflow:
 
 stages:
   - build
+  - test
   - trigger
 
 default:
@@ -157,7 +158,6 @@ default:
 ##
 .java:
   image: ${DEVOPS_REGISTRY}usgs/amazoncorretto:11
-  stage: build
 
 ####
 # Stage: build
@@ -217,6 +217,12 @@ Build Project:
     - .java
   script:
     - ./gradlew assemble
+  stage: build
+
+
+####
+# Stage: test
+####
 
 Markdown Lint:
   allow_failure: true
@@ -225,6 +231,21 @@ Markdown Lint:
   script:
     - ./gradlew nodeInstall
     - ./gradlew markdownlint
+  stage: test
+
+NSHM Tests:
+  artifacts:
+    paths:
+      - build
+  extends:
+    - .java
+  parallel:
+    matrix:
+      - CMD: testConus2018
+      - CMD: testHawaii2021
+  script:
+    - ./gradlew ${CMD}
+  stage: test
 
 YAML Lint:
   allow_failure: true
@@ -233,6 +254,7 @@ YAML Lint:
   script:
     - ./gradlew nodeInstall
     - ./gradlew yamllint
+  stage: test
 
 Unit Tests:
   artifacts:
@@ -246,24 +268,7 @@ Unit Tests:
   script:
     - ./gradlew check
     - cat ${JACOCO_HTML_DIR}/index.html
-
-CONUS 2018 Tests:
-  artifacts:
-    paths:
-      - build
-  extends:
-    - .java
-  script:
-    - ./gradlew testConus2018
-
-Hawaii 2021 Tests:
-  artifacts:
-    paths:
-      - build
-  extends:
-    - .java
-  script:
-    - ./gradlew testHawaii2021
+  stage: test
 
 ####
 # Stage: trigger
-- 
GitLab


From a106955df4e2e5f7833d256e6da1127d4ef4e1db Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:25:09 -0700
Subject: [PATCH 16/57] add needs

---
 .gitlab-ci.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b9776340e..5b70d9363 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -228,6 +228,7 @@ Markdown Lint:
   allow_failure: true
   extends:
     - .java
+  needs: []
   script:
     - ./gradlew nodeInstall
     - ./gradlew markdownlint
@@ -239,6 +240,7 @@ NSHM Tests:
       - build
   extends:
     - .java
+  needs: []
   parallel:
     matrix:
       - CMD: testConus2018
@@ -251,6 +253,7 @@ YAML Lint:
   allow_failure: true
   extends:
     - .java
+  needs: []
   script:
     - ./gradlew nodeInstall
     - ./gradlew yamllint
@@ -265,6 +268,7 @@ Unit Tests:
   coverage: '/Total.*?([0-9]{1,3})%/'
   extends:
     - .java
+  needs: []
   script:
     - ./gradlew check
     - cat ${JACOCO_HTML_DIR}/index.html
-- 
GitLab


From 3577a790a14ee6b420a38891e6696a23b3cd82c8 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:27:52 -0700
Subject: [PATCH 17/57] add xmx

---
 .gitlab-ci.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5b70d9363..30408d6dd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,7 @@ variables:
   JUNIT_FILES: build/test-results/test/TEST-*.xml
   NSHMP_HAZ_WS_IMAGE: ${CODE_REGISTRY_IMAGE}/nshmp-haz-ws:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
   REPORTS_DIR: build/reports
+  JAVA_XMX: 32g
 
 # Do not run for merge requests
 workflow:
@@ -247,6 +248,7 @@ NSHM Tests:
       - CMD: testHawaii2021
   script:
     - ./gradlew ${CMD}
+    - cat build/reports/test/index.html
   stage: test
 
 YAML Lint:
-- 
GitLab


From 6cd0914a6e6ae18fd438d33c21e1a24bfe9fef0d Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 15:30:39 -0700
Subject: [PATCH 18/57] test

---
 .gitlab-ci.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 30408d6dd..e3809d134 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -247,8 +247,7 @@ NSHM Tests:
       - CMD: testConus2018
       - CMD: testHawaii2021
   script:
-    - ./gradlew ${CMD}
-    - cat build/reports/test/index.html
+    - ./gradlew ${CMD} || cat build/reports/test/index.html
   stage: test
 
 YAML Lint:
-- 
GitLab


From 457bbfbeec2d9f0f0448a537910839ab6c7a75b6 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 16:58:21 -0700
Subject: [PATCH 19/57] test

---
 .gitlab-ci.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e3809d134..1bfd62619 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,7 @@ variables:
   JUNIT_FILES: build/test-results/test/TEST-*.xml
   NSHMP_HAZ_WS_IMAGE: ${CODE_REGISTRY_IMAGE}/nshmp-haz-ws:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
   REPORTS_DIR: build/reports
-  JAVA_XMX: 32g
+  JAVA_XMX: 28g
 
 # Do not run for merge requests
 workflow:
@@ -247,7 +247,8 @@ NSHM Tests:
       - CMD: testConus2018
       - CMD: testHawaii2021
   script:
-    - ./gradlew ${CMD} || cat build/reports/test/index.html
+    - ./gradlew assemble
+    - ./gradlew ${CMD} --stacktrace || cat build/reports/test/index.html
   stage: test
 
 YAML Lint:
-- 
GitLab


From a04f1d70f351a0dd2ecc4a164714e4e31ff01f13 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:11:37 -0700
Subject: [PATCH 20/57] create method to download a nshm

---
 gradle/nshm.gradle | 46 ++++++++++++++++++++--------------------------
 1 file changed, 20 insertions(+), 26 deletions(-)

diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index 939658a43..9f31e6cc0 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -1,43 +1,37 @@
 apply plugin: "de.undercouch.download"
 
 ext {
-  conusArchiveUrl = "https://code.usgs.gov/ghsc/nshmp/nshms/nshm-conus/-/archive"
-  hawaiiArchiveUrl = "https://code.usgs.gov/ghsc/nshmp/nshms/nshm-hawaii/-/archive"
   nshmDir = "nshms";
-}
 
-/**
- * Download the default NSHM to use for the web services.
- */
-task downloadNshms() {
-  doLast {
-    // Download and unzip nshm-conus tag 5.2.0
-    def conus2018 = new File(nshmDir, "nshm-conus-5.2.0.zip")
+  // Download and unzip NSHM
+  downloadNshm = {repo, tag ->
+    def zipName = "${repo}-${tag}.zip";
+    def zipFile = new File(nshmDir, zipName)
+
     download.run {
-      src "${conusArchiveUrl}/5.2.0/nshm-conus-5.2.0.zip"
-      dest conus2018
+      src "https://code.usgs.gov/ghsc/nshmp/nshms/${repo}/-/archive/${tag}/${zipName}"
+      dest zipFile
     }
     copy {
-      from zipTree(conus2018)
+      from zipTree(zipFile)
       into nshmDir
     }
     delete {
-      delete conus2018
+      delete zipFile
     }
+  }
+}
+
+/**
+ * Download the NSHMs
+ */
+task downloadNshms() {
+  doLast {
+    // Download and unzip nshm-conus tag 5.2.0
+    downloadNshm("nshm-conus", "5.2.0")
 
     // Download and unzip nshm-hawaii tag 2.0.2
-    def hawaii2021 = new File(nshmDir, "nshm-hawaii-2.0.2.zip")
-    download.run {
-      src "${hawaiiArchiveUrl}/2.0.2/nshm-hawaii-2.0.2.zip"
-      dest hawaii2021
-    }
-    copy {
-      from zipTree(hawaii2021)
-      into nshmDir
-    }
-    delete {
-      delete hawaii2021
-    }
+    downloadNshm("nshm-hawaii", "2.0.2")
   }
 }
 
-- 
GitLab


From ec59ae17a11f6b2f9eff43ef43182eab254c4efe Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:14:00 -0700
Subject: [PATCH 21/57] test

---
 .gitlab-ci.yml                                                 | 3 +--
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java    | 2 ++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1bfd62619..2b5c41e91 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -247,8 +247,7 @@ NSHM Tests:
       - CMD: testConus2018
       - CMD: testHawaii2021
   script:
-    - ./gradlew assemble
-    - ./gradlew ${CMD} --stacktrace || cat build/reports/test/index.html
+    - ./gradlew ${CMD} --stacktrace --info --debug
   stage: test
 
 YAML Lint:
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 359b39e08..1039c7e83 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -16,6 +16,7 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
 import com.google.common.reflect.TypeToken;
@@ -207,6 +208,7 @@ class NshmTestUtils {
 
   private static NshmModel loadModel(Nshm nshm) {
     int cores = Runtime.getRuntime().availableProcessors();
+    Logger.getAnonymousLogger().info("\n\n\n--------------- Cores: " + cores + "---------------- \n\n");
 
     return new NshmModel(
         nshm,
-- 
GitLab


From e31b34f303bd1c6dbeebcc8c2ad4314c6a290118 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:14:48 -0700
Subject: [PATCH 22/57] spotless apply

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 1039c7e83..1d1e42725 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -208,7 +208,8 @@ class NshmTestUtils {
 
   private static NshmModel loadModel(Nshm nshm) {
     int cores = Runtime.getRuntime().availableProcessors();
-    Logger.getAnonymousLogger().info("\n\n\n--------------- Cores: " + cores + "---------------- \n\n");
+    Logger.getAnonymousLogger()
+        .info("\n\n\n--------------- Cores: " + cores + "---------------- \n\n");
 
     return new NshmModel(
         nshm,
-- 
GitLab


From ed3b56ce858d4b1434b6179d03f2f52eec07beac Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:16:43 -0700
Subject: [PATCH 23/57] test

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2b5c41e91..782c2b976 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -247,7 +247,7 @@ NSHM Tests:
       - CMD: testConus2018
       - CMD: testHawaii2021
   script:
-    - ./gradlew ${CMD} --stacktrace --info --debug
+    - ./gradlew ${CMD} --stacktrace
   stage: test
 
 YAML Lint:
-- 
GitLab


From 810d48a632433fd33c3e62191d47972497c20dc3 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:19:53 -0700
Subject: [PATCH 24/57] test

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java   | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 1d1e42725..daf74d21d 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -208,13 +208,11 @@ class NshmTestUtils {
 
   private static NshmModel loadModel(Nshm nshm) {
     int cores = Runtime.getRuntime().availableProcessors();
-    Logger.getAnonymousLogger()
-        .info("\n\n\n--------------- Cores: " + cores + "---------------- \n\n");
 
     return new NshmModel(
         nshm,
         ModelLoader.load(nshm.modelPath),
-        Executors.newFixedThreadPool(cores));
+        Executors.newFixedThreadPool(2));
   }
 
   static class NshmModel {
-- 
GitLab


From 073a2f5be180db74ed0715b76615d78bd7dbbfd4 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:20:18 -0700
Subject: [PATCH 25/57] test

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index daf74d21d..3ce1e45c1 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -207,7 +207,7 @@ class NshmTestUtils {
   }
 
   private static NshmModel loadModel(Nshm nshm) {
-    int cores = Runtime.getRuntime().availableProcessors();
+    // int cores = Runtime.getRuntime().availableProcessors();
 
     return new NshmModel(
         nshm,
-- 
GitLab


From a0a5d1e8e688fd87dbe39f6360fa2dae815a9496 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:25:57 -0700
Subject: [PATCH 26/57] test

---
 .gitlab-ci.yml                                                   | 1 +
 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 782c2b976..64b36e4bc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -239,6 +239,7 @@ NSHM Tests:
   artifacts:
     paths:
       - build
+    when: always
   extends:
     - .java
   needs: []
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 3ce1e45c1..632099253 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -16,7 +16,6 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
 import com.google.common.reflect.TypeToken;
-- 
GitLab


From 15589f4d6da37b4dc9ea32aa28a20289d734051e Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:48:35 -0700
Subject: [PATCH 27/57] change test format

---
 build.gradle | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/build.gradle b/build.gradle
index 85b7b5fdc..f4d04b475 100644
--- a/build.gradle
+++ b/build.gradle
@@ -87,10 +87,17 @@ test {
 }
 
 task testConus2018(type: Test) {
+  description = "Test CONUS 2018 NSHM"
+  group = "verification"
+
+  testLogging {
+		exceptionFormat "full"
+	}
+
   useJUnitPlatform()
   jvmArgs(
-      '-Xms2g',
-      '-Xmx32g',
+      "-Xms2g",
+      "-Xmx8g",
       )
 
   filter {
@@ -99,10 +106,17 @@ task testConus2018(type: Test) {
 }
 
 task testHawaii2021(type: Test) {
+  description = "Test Hawaii 2021 NSHM"
+  group = "verification"
+
+  testLogging {
+		exceptionFormat "full"
+	}
+
   useJUnitPlatform()
   jvmArgs(
-      '-Xms2g',
-      '-Xmx32g',
+      "-Xms2g",
+      "-Xmx8g",
       )
 
   filter {
-- 
GitLab


From 5d1026e1cbc7db5d010650768d8304def000d444 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:48:43 -0700
Subject: [PATCH 28/57] change tolerance

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 632099253..132bc2e24 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -57,7 +57,7 @@ class NshmTestUtils {
 
   private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
 
-  private static final double TOLERANCE = 1e-12;
+  private static final double TOLERANCE = 1e-10;
 
   private static final Gson GSON = new GsonBuilder()
       .setPrettyPrinting()
@@ -206,12 +206,12 @@ class NshmTestUtils {
   }
 
   private static NshmModel loadModel(Nshm nshm) {
-    // int cores = Runtime.getRuntime().availableProcessors();
+    int cores = Runtime.getRuntime().availableProcessors();
 
     return new NshmModel(
         nshm,
         ModelLoader.load(nshm.modelPath),
-        Executors.newFixedThreadPool(2));
+        Executors.newFixedThreadPool(cores));
   }
 
   static class NshmModel {
-- 
GitLab


From 70d8235f2a23b7f141db2cc55fd6b0db3d7445b6 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:49:07 -0700
Subject: [PATCH 29/57] spotless apply

---
 build.gradle | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/build.gradle b/build.gradle
index f4d04b475..3ba4f3ca2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -91,8 +91,8 @@ task testConus2018(type: Test) {
   group = "verification"
 
   testLogging {
-		exceptionFormat "full"
-	}
+    exceptionFormat "full"
+  }
 
   useJUnitPlatform()
   jvmArgs(
@@ -110,8 +110,8 @@ task testHawaii2021(type: Test) {
   group = "verification"
 
   testLogging {
-		exceptionFormat "full"
-	}
+    exceptionFormat "full"
+  }
 
   useJUnitPlatform()
   jvmArgs(
-- 
GitLab


From 7b274311cd783749bfedc00d0e381ff226a9a57b Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:57:41 -0700
Subject: [PATCH 30/57] cleanup

---
 .gitlab-ci.yml | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 64b36e4bc..87e792c7a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,6 @@ variables:
   JUNIT_FILES: build/test-results/test/TEST-*.xml
   NSHMP_HAZ_WS_IMAGE: ${CODE_REGISTRY_IMAGE}/nshmp-haz-ws:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
   REPORTS_DIR: build/reports
-  JAVA_XMX: 28g
 
 # Do not run for merge requests
 workflow:
@@ -220,7 +219,6 @@ Build Project:
     - ./gradlew assemble
   stage: build
 
-
 ####
 # Stage: test
 ####
@@ -236,10 +234,6 @@ Markdown Lint:
   stage: test
 
 NSHM Tests:
-  artifacts:
-    paths:
-      - build
-    when: always
   extends:
     - .java
   needs: []
@@ -248,7 +242,7 @@ NSHM Tests:
       - CMD: testConus2018
       - CMD: testHawaii2021
   script:
-    - ./gradlew ${CMD} --stacktrace
+    - ./gradlew ${CMD}
   stage: test
 
 YAML Lint:
-- 
GitLab


From da759637f78710224909a0012afc01820076d25f Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:57:51 -0700
Subject: [PATCH 31/57] add more nshms

---
 gradle/nshm.gradle                                     | 10 ++++++++--
 .../gov/usgs/earthquake/nshmp/model/NshmTestUtils.java |  8 ++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index 9f31e6cc0..a925e004a 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -27,10 +27,16 @@ ext {
  */
 task downloadNshms() {
   doLast {
-    // Download and unzip nshm-conus tag 5.2.0
+    // Download and unzip nshm-alaska tag for Alaska 2023
+    downloadNshm("nshm-alaska", "3.a.0")
+
+    // Download and unzip nshm-conus tag for CONUS 2018
     downloadNshm("nshm-conus", "5.2.0")
 
-    // Download and unzip nshm-hawaii tag 2.0.2
+    // Download and unzip nshm-conus tag for CONUS 2023
+    downloadNshm("nshm-conus", "6.a.3")
+
+    // Download and unzip nshm-hawaii tag for Hawaii 2021
     downloadNshm("nshm-hawaii", "2.0.2")
   }
 }
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 132bc2e24..a98de4722 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -39,6 +39,10 @@ import gov.usgs.earthquake.nshmp.site.NshmpSite;
 class NshmTestUtils {
   private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
 
+  private static final List<NamedLocation> ALASKA_LOCATIONS = List.of(
+    NshmpSite.ANCHORAGE_AK
+  );
+
   private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
       NshmpSite.LOS_ANGELES_CA,
       NshmpSite.SAN_FRANCISCO_CA,
@@ -227,8 +231,12 @@ class NshmTestUtils {
   }
 
   static enum Nshm {
+    ALASKA_2023("nshm-alaska-3.a.0", ALASKA_LOCATIONS, IMTS),
+
     CONUS_2018("nshm-conus-5.2.0", CONUS_LOCATIONS, IMTS),
 
+    CONUS_2023("nshm-conus-6.a.3", CONUS_LOCATIONS, IMTS),
+
     HAWAII_2021("nshm-hawaii-2.0.2", HAWAII_LOCATIONS, IMTS);
 
     private final Path modelPath;
-- 
GitLab


From 4d7ef057ec5f1341e277115efecc2872d916f3a4 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:58:28 -0700
Subject: [PATCH 32/57] spotless apply

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java    | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index a98de4722..dd4a81dfc 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -40,8 +40,7 @@ class NshmTestUtils {
   private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
 
   private static final List<NamedLocation> ALASKA_LOCATIONS = List.of(
-    NshmpSite.ANCHORAGE_AK
-  );
+      NshmpSite.ANCHORAGE_AK);
 
   private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
       NshmpSite.LOS_ANGELES_CA,
-- 
GitLab


From 6ff8dfbd1cc508641f73fdfc9d898ac2ad8c4f9e Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Mon, 5 Dec 2022 17:59:28 -0700
Subject: [PATCH 33/57] add tolerance to array check

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index dd4a81dfc..7f218b854 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -60,7 +60,7 @@ class NshmTestUtils {
 
   private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
 
-  private static final double TOLERANCE = 1e-10;
+  private static final double TOLERANCE = 1e-12;
 
   private static final Gson GSON = new GsonBuilder()
       .setPrettyPrinting()
@@ -103,7 +103,8 @@ class NshmTestUtils {
     // IMLs close but not exact due to exp() transform
     assertArrayEquals(
         expected.xValues().toArray(),
-        actual.xValues().toArray());
+        actual.xValues().toArray(),
+        tol);
 
     double[] expectedYs = expected.yValues().toArray();
     double[] actualYs = actual.yValues().toArray();
-- 
GitLab


From c9a26339db5bb4a2f1129a20e049463339a1b0e3 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 07:59:34 -0700
Subject: [PATCH 34/57] organize

---
 .../earthquake/nshmp/model/NshmTestUtils.java | 62 ++++++++++---------
 1 file changed, 32 insertions(+), 30 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 7f218b854..05be8ae7c 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -34,14 +34,14 @@ import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.site.NshmpSite;
 
 /**
- * Utilities to run test on a NSHM.
+ * Utilities to run tests on a NSHM.
  */
 class NshmTestUtils {
-  private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
-
+  /* Alaska test sites */
   private static final List<NamedLocation> ALASKA_LOCATIONS = List.of(
       NshmpSite.ANCHORAGE_AK);
 
+  /* CONUS test sites */
   private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
       NshmpSite.LOS_ANGELES_CA,
       NshmpSite.SAN_FRANCISCO_CA,
@@ -53,6 +53,7 @@ class NshmTestUtils {
       NshmpSite.NEW_YORK_NY,
       NshmpSite.CHICAGO_IL);
 
+  /* Hawaii test sites */
   private static final List<NamedLocation> HAWAII_LOCATIONS = List.of(
       NshmpSite.HILO_HI,
       NshmpSite.HONOLULU_HI,
@@ -60,6 +61,8 @@ class NshmTestUtils {
 
   private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
 
+  private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
+
   private static final double TOLERANCE = 1e-12;
 
   private static final Gson GSON = new GsonBuilder()
@@ -90,15 +93,6 @@ class NshmTestUtils {
     nshmModel.exec.shutdown();
   }
 
-  private static void compareCurves(NshmModel nshmModel, NamedLocation location) {
-    Map<String, XySequence> actual = generateActual(nshmModel, location);
-    Map<String, XySequence> expected = readExpected(nshmModel, location);
-
-    for (String key : actual.keySet()) {
-      assertCurveEquals(expected.get(key), actual.get(key), TOLERANCE);
-    }
-  }
-
   private static void assertCurveEquals(XySequence expected, XySequence actual, double tol) {
     // IMLs close but not exact due to exp() transform
     assertArrayEquals(
@@ -126,6 +120,15 @@ class NshmTestUtils {
         Double.valueOf(expected).equals(Double.valueOf(actual));
   }
 
+  private static void compareCurves(NshmModel nshmModel, NamedLocation location) {
+    Map<String, XySequence> actual = generateActual(nshmModel, location);
+    Map<String, XySequence> expected = readExpected(nshmModel, location);
+
+    for (String key : actual.keySet()) {
+      assertCurveEquals(expected.get(key), actual.get(key), TOLERANCE);
+    }
+  }
+
   private static Map<String, XySequence> generateActual(NshmModel nshmModel,
       NamedLocation location) {
     Site site = Site.builder().location(location.location()).build();
@@ -148,6 +151,15 @@ class NshmTestUtils {
     return xyMap;
   }
 
+  private static NshmModel loadModel(Nshm nshm) {
+    int cores = Runtime.getRuntime().availableProcessors();
+
+    return new NshmModel(
+        nshm,
+        ModelLoader.load(nshm.modelPath),
+        Executors.newFixedThreadPool(cores));
+  }
+
   private static String resultFilename(
       String modelName,
       int year,
@@ -175,17 +187,6 @@ class NshmTestUtils {
     return xyMap;
   }
 
-  private static class Curve {
-    double[] xs;
-    double[] ys;
-
-    @SuppressWarnings("unused")
-    Curve(double[] xs, double[] ys) {
-      this.xs = xs;
-      this.ys = ys;
-    }
-  }
-
   private static void writeExpecteds(NshmModel nshmModel) throws IOException {
     for (NamedLocation location : nshmModel.nshm.locations) {
       Map<String, XySequence> xyMap = generateActual(nshmModel, location);
@@ -199,7 +200,6 @@ class NshmTestUtils {
       int year,
       NamedLocation loc,
       String json) throws IOException {
-
     String filename = resultFilename(modelName, year, loc);
     Path modelDir = DATA_PATH.resolve(modelName);
     if (!Files.exists(modelDir)) {
@@ -209,13 +209,15 @@ class NshmTestUtils {
     Files.write(resultPath, json.getBytes());
   }
 
-  private static NshmModel loadModel(Nshm nshm) {
-    int cores = Runtime.getRuntime().availableProcessors();
+  private static class Curve {
+    double[] xs;
+    double[] ys;
 
-    return new NshmModel(
-        nshm,
-        ModelLoader.load(nshm.modelPath),
-        Executors.newFixedThreadPool(cores));
+    @SuppressWarnings("unused")
+    Curve(double[] xs, double[] ys) {
+      this.xs = xs;
+      this.ys = ys;
+    }
   }
 
   static class NshmModel {
-- 
GitLab


From 5dabb590bebbaafdcbfb8a1b9afdf6c42f4719d8 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 08:10:12 -0700
Subject: [PATCH 35/57] add alaska files

---
 .../nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json  | 186 ++++++++++++++++++
 1 file changed, 186 insertions(+)
 create mode 100644 src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json

diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
new file mode 100644
index 000000000..6ba41a5a0
--- /dev/null
+++ b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      31.582813479978164,
+      22.54033364387775,
+      15.474210100724964,
+      10.182828417406599,
+      6.449603153163436,
+      3.874829200208182,
+      2.2578315032412437,
+      1.2502702512704735,
+      0.6635952894157523,
+      0.33280836493445576,
+      0.15563831840158654,
+      0.06651470349199638,
+      0.02533417582444492,
+      0.008344260242984129,
+      0.002281234081363036,
+      4.905099541703146E-4,
+      7.106680468777945E-5,
+      9.366482156055951E-6,
+      1.6221817886511806E-6,
+      3.9226735161194594E-8
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      4.713651705544555,
+      2.977116760392886,
+      1.8080598979866713,
+      1.049232189094306,
+      0.5745133346292347,
+      0.2965581079080615,
+      0.14114739956608777,
+      0.0616792830031775,
+      0.024321679600937025,
+      0.008469514908333562,
+      0.002638088466004359,
+      7.771803183244354E-4,
+      2.4109621062432486E-4,
+      8.540282815765787E-5,
+      2.7739346926905467E-5,
+      7.245217414287302E-6,
+      1.0985610862830077E-6,
+      1.1695491939047677E-8,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      46.33660845379568,
+      35.52280261841515,
+      26.460679996193996,
+      19.041804093767503,
+      13.188706864561727,
+      8.757919192102062,
+      5.55528392890878,
+      3.3337082913894527,
+      1.8983397739576513,
+      1.021389293060455,
+      0.5207239096916852,
+      0.2442406254825674,
+      0.10685463572633691,
+      0.04138335479680251,
+      0.014026251993902825,
+      0.003932391972808894,
+      8.50435333719899E-4,
+      1.1963128196516758E-4,
+      7.655134432772623E-6,
+      4.304490387327915E-7
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      60.11962252183623,
+      48.04425720405304,
+      37.17240663973346,
+      27.9717157456693,
+      20.245073109499156,
+      14.233013615251448,
+      9.614647498486521,
+      6.202530152633508,
+      3.8247549106886587,
+      2.2450721351219647,
+      1.2557452464723764,
+      0.6677198016325505,
+      0.3357788770172045,
+      0.1580226275680916,
+      0.06845320087983027,
+      0.026612603647860913,
+      0.009096214954311552,
+      0.0026387580725377403,
+      6.046929677379726E-4,
+      9.76805788912384E-5
+    ]
+  }
+}
\ No newline at end of file
-- 
GitLab


From e076fba051b1e63f34ff66fbc71e7a09cfd7a714 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 08:11:29 -0700
Subject: [PATCH 36/57] add conus files

---
 .../nshm-conus-6.a.3-2023-BOSTON_MA.json      | 186 ++++++++++++++++++
 .../nshm-conus-6.a.3-2023-CHICAGO_IL.json     | 186 ++++++++++++++++++
 .../nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json | 186 ++++++++++++++++++
 .../nshm-conus-6.a.3-2023-NEW_MADRID_MO.json  | 186 ++++++++++++++++++
 .../nshm-conus-6.a.3-2023-NEW_YORK_NY.json    | 186 ++++++++++++++++++
 .../nshm-conus-6.a.3-2023-RENO_NV.json        | 186 ++++++++++++++++++
 ...hm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json | 186 ++++++++++++++++++
 ...shm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json | 186 ++++++++++++++++++
 .../nshm-conus-6.a.3-2023-SEATTLE_WA.json     | 186 ++++++++++++++++++
 9 files changed, 1674 insertions(+)
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json
 create mode 100644 src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json

diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
new file mode 100644
index 000000000..8d7aa7389
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.012035250953950494,
+      0.008136450513957992,
+      0.005357340154375908,
+      0.0034038199938644176,
+      0.002075982258963484,
+      0.001182204173473093,
+      6.381637241440367E-4,
+      3.1805354126301E-4,
+      1.488509696381637E-4,
+      6.570858797962465E-5,
+      2.7907226394671618E-5,
+      1.1603173073102035E-5,
+      4.7473682801237555E-6,
+      1.8823085054717084E-6,
+      6.98596873660417E-7,
+      2.3617353275626016E-7,
+      6.822723750146086E-8,
+      1.654170745318874E-8,
+      3.143062035320596E-9,
+      4.1677143037056364E-10
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.0025398230942089003,
+      0.0017004849473223665,
+      0.001080537204575473,
+      6.427743459107484E-4,
+      3.5250053778408794E-4,
+      1.784508617487966E-4,
+      8.235649641224025E-5,
+      3.5182590081705696E-5,
+      1.403981672242182E-5,
+      5.2925574919901536E-6,
+      1.931873813330582E-6,
+      6.930280662347881E-7,
+      2.387560829136424E-7,
+      7.949667457419139E-8,
+      2.3033109721002644E-8,
+      5.814345246474628E-9,
+      1.1768734801565264E-9,
+      1.792115851877492E-10,
+      1.707680249601977E-11,
+      6.62097588930325E-13
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.02213379730539752,
+      0.0164647882211437,
+      0.011993007697334197,
+      0.008469921726676995,
+      0.005769422436667969,
+      0.003785234685317906,
+      0.002398028509210169,
+      0.0014644603827730185,
+      8.708938689719436E-4,
+      5.050137904309896E-4,
+      2.8744285592528334E-4,
+      1.5759519816243767E-4,
+      8.474954902281691E-5,
+      4.331566395015309E-5,
+      2.1006734979279988E-5,
+      9.364687468186963E-6,
+      3.735891954644456E-6,
+      1.2797193572338944E-6,
+      3.67772575785392E-7,
+      8.117385475823622E-8
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.03366552771204859,
+      0.02527490175327034,
+      0.018363592179908055,
+      0.012936884452302021,
+      0.008688945266911698,
+      0.005625605703707623,
+      0.0034731062327398466,
+      0.002041414499953952,
+      0.0011521441250253442,
+      6.256035783742621E-4,
+      3.2905129521755506E-4,
+      1.6788122677082186E-4,
+      8.289006542304934E-5,
+      3.932990927477222E-5,
+      1.7706321554642288E-5,
+      7.400623622880162E-6,
+      2.8151709437106127E-6,
+      9.444508782310243E-7,
+      2.6643564801230023E-7,
+      6.028000859708367E-8
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
new file mode 100644
index 000000000..1f2a728aa
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.011743450939977121,
+      0.008125308944564938,
+      0.005699841355233887,
+      0.00406333147985499,
+      0.0029149327525478563,
+      0.0020116574917099918,
+      0.0013023024188037928,
+      7.508580888508446E-4,
+      3.779758912608104E-4,
+      1.6076657926219104E-4,
+      5.640450250928886E-5,
+      1.5854840222432904E-5,
+      3.466602438623995E-6,
+      6.276175503615022E-7,
+      1.1311107110879796E-7,
+      3.290169505019904E-8,
+      8.920167427589633E-9,
+      2.038107845413768E-9,
+      3.6171947320353567E-10,
+      4.4457055160088465E-11
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.0039146752310542585,
+      0.003145124290559445,
+      0.0025399851047794315,
+      0.001995407146569926,
+      0.001466395407299436,
+      9.810785158310077E-4,
+      5.766625095711311E-4,
+      2.9122083149339613E-4,
+      1.232330188062812E-4,
+      4.232930941434378E-5,
+      1.1417819112031974E-5,
+      2.2849179959791714E-6,
+      3.189051251922006E-7,
+      2.6634716674399806E-8,
+      2.631094090897222E-9,
+      6.434177330359819E-10,
+      1.3439312600713073E-10,
+      2.231605774414246E-11,
+      2.5216333075047996E-12,
+      1.3184079536599202E-13
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.014201965383094012,
+      0.009836661064584256,
+      0.00688705539510868,
+      0.004822972654784705,
+      0.0033064514318962607,
+      0.0021523212203669317,
+      0.0012913959704858482,
+      6.980789885746676E-4,
+      3.448995349275183E-4,
+      1.5983798459686E-4,
+      7.339650238789367E-5,
+      3.422789089731295E-5,
+      1.684649129768914E-5,
+      8.285358896839056E-6,
+      3.961387655798772E-6,
+      1.7527896460680702E-6,
+      6.948067057717803E-7,
+      2.3627402069950382E-7,
+      6.733661284906265E-8,
+      1.4715213946019287E-8
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.025849572713385078,
+      0.017753646580124727,
+      0.012007008129215242,
+      0.008128801283198313,
+      0.005452530605807158,
+      0.003624262405743753,
+      0.0022943030500296832,
+      0.001336358312687872,
+      7.036603069604338E-4,
+      3.306108853376622E-4,
+      1.4009518367835515E-4,
+      5.519989279512792E-5,
+      2.1302618500609412E-5,
+      8.422390673359914E-6,
+      3.4034559898394313E-6,
+      1.3409496391300432E-6,
+      4.906709317661949E-7,
+      1.5953368600015112E-7,
+      4.3540972907165534E-8,
+      9.429156219063078E-9
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json
new file mode 100644
index 000000000..6ca89f349
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.8837600400462444,
+      0.6673187946502046,
+      0.4882835378108954,
+      0.3455202166844926,
+      0.2367218318405121,
+      0.15432987457124395,
+      0.09700869655124371,
+      0.057593046930510976,
+      0.03261973805664403,
+      0.01759318861447405,
+      0.009099208609714898,
+      0.004532045855324721,
+      0.002160291779562183,
+      9.598294573466019E-4,
+      3.815584587536864E-4,
+      1.3029279327607092E-4,
+      3.496301615269094E-5,
+      6.804428159353637E-6,
+      7.233059032103408E-7,
+      1.661979548317248E-8
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.26692356212816387,
+      0.19346845572100124,
+      0.13503542406081984,
+      0.09029445439050207,
+      0.05754103507466149,
+      0.03519922606956951,
+      0.020504611873457562,
+      0.011388531110149687,
+      0.0059444896413465755,
+      0.0028430325716940386,
+      0.0012287934151915673,
+      4.724175228821316E-4,
+      1.5728193847180564E-4,
+      4.595444068602736E-5,
+      1.0851693057747736E-5,
+      2.017001415376882E-6,
+      2.210202583470558E-7,
+      7.826523371711846E-9,
+      5.669263644795599E-14,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      1.079273358013586,
+      0.8555077463178733,
+      0.6628820990093294,
+      0.5013561151198924,
+      0.36992677755186465,
+      0.2653583472133587,
+      0.18369501834776972,
+      0.12071462999887433,
+      0.074674318290157,
+      0.042992065057384884,
+      0.02315821307836935,
+      0.011556449792705816,
+      0.005547502998353477,
+      0.002478054744283922,
+      0.0010047599090291066,
+      3.4334771609188824E-4,
+      9.186566532588404E-5,
+      1.735151909310151E-5,
+      2.0045026724201254E-6,
+      7.731688307601966E-8
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      1.2706641533906105,
+      1.0383180446078166,
+      0.8255059396697082,
+      0.642505662697047,
+      0.4861506324822116,
+      0.36127298337673586,
+      0.26102771492005267,
+      0.1816798271040518,
+      0.12089246356442312,
+      0.07583968522654515,
+      0.04454853347056016,
+      0.024484293055083213,
+      0.012699307287425965,
+      0.006279461603123059,
+      0.0029487400119263415,
+      0.0012723468881415748,
+      4.822498512000508E-4,
+      1.5188574868477565E-4,
+      3.672591704538665E-5,
+      6.1519003305608015E-6
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
new file mode 100644
index 000000000..23015a46c
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.03810825840039235,
+      0.028315881963472067,
+      0.02067222579712637,
+      0.014870841055017733,
+      0.010645178514638955,
+      0.007579226339112701,
+      0.0055251463093844875,
+      0.004150104336178289,
+      0.003283276894229401,
+      0.002736483538207061,
+      0.0023616078072307626,
+      0.002030219304310808,
+      0.0016536229943857194,
+      0.0012136295169658802,
+      7.696144694320111E-4,
+      4.122710029507206E-4,
+      1.800302271541464E-4,
+      6.366327102023257E-5,
+      1.7295674975518616E-5,
+      3.4296680438421233E-6
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.009208490572401863,
+      0.006949044290028717,
+      0.005306022483737847,
+      0.004155982807154482,
+      0.003374832319325518,
+      0.002867336657508213,
+      0.002533893806258885,
+      0.0022965778496380268,
+      0.0020710240709275645,
+      0.0017848984735762317,
+      0.001418999638814905,
+      0.0010161066741280161,
+      6.401986492207043E-4,
+      3.5185659206844706E-4,
+      1.602357327667651E-4,
+      6.062719466111046E-5,
+      1.8059984462885995E-5,
+      3.9926066915865275E-6,
+      5.941978049955505E-7,
+      3.907477602123017E-8
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.07385719651712237,
+      0.06339731846609975,
+      0.05324739058832816,
+      0.043509642846070895,
+      0.03455200231823049,
+      0.026735789278431787,
+      0.020266534158040125,
+      0.01509405033443092,
+      0.011160466116674343,
+      0.008243233670157541,
+      0.0061494188660755605,
+      0.004638605840165205,
+      0.003608161085317767,
+      0.002866709709782482,
+      0.0022820277341210927,
+      0.001717390229349368,
+      0.0011387960982620043,
+      6.206346289257641E-4,
+      2.6764854641832855E-4,
+      8.559018237373798E-5
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.08841662701849765,
+      0.07591742600201584,
+      0.0634904922902513,
+      0.051596546236035525,
+      0.04033861199238174,
+      0.030668710568369003,
+      0.022664718736152695,
+      0.016375571535456927,
+      0.011700180723249342,
+      0.008331012521430115,
+      0.005991828443927452,
+      0.004419617060158351,
+      0.0033904787433168895,
+      0.0027048874719714623,
+      0.0021874716446254974,
+      0.0017054340574167855,
+      0.001200911759714859,
+      7.123552774961518E-4,
+      3.3561010223032644E-4,
+      1.2135441742664017E-4
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
new file mode 100644
index 000000000..8489046f6
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.012374804522292665,
+      0.00836661557414539,
+      0.005447933203374219,
+      0.003381935579235244,
+      0.0020006567971856686,
+      0.001105422985268529,
+      5.859581677512344E-4,
+      2.932121678682943E-4,
+      1.421916075501724E-4,
+      6.726067803272613E-5,
+      3.134520433789695E-5,
+      1.4361751527596112E-5,
+      6.369510633138831E-6,
+      2.6653684534293633E-6,
+      1.0234643150923622E-6,
+      3.5363710757446497E-7,
+      1.0369647752886428E-7,
+      2.5379169471070928E-8,
+      4.851084599984121E-9,
+      6.46313530549038E-10
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.0026995587713563303,
+      0.0017298562174529152,
+      0.001043724658751179,
+      5.893703808209606E-4,
+      3.0866135946543816E-4,
+      1.5129449159709626E-4,
+      6.909234873826654E-5,
+      3.0170083088739845E-5,
+      1.2820296859449097E-5,
+      5.334744194862448E-6,
+      2.185079599428793E-6,
+      8.683687558905425E-7,
+      3.2288483966793267E-7,
+      1.1154021351741911E-7,
+      3.321633846097989E-8,
+      8.550579030900382E-9,
+      1.7547455322744304E-9,
+      2.7055513137256066E-10,
+      2.6042457346830447E-11,
+      1.0203573556440597E-12
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.020286596128412503,
+      0.015122005526298516,
+      0.011082055927620179,
+      0.007943124693114981,
+      0.005565081037653392,
+      0.003811541282858031,
+      0.0025512684613907275,
+      0.0016581992888227435,
+      0.00105005091277049,
+      6.457811692687935E-4,
+      3.870049228081459E-4,
+      2.2185052288528712E-4,
+      1.2362061855638126E-4,
+      6.497784148592093E-5,
+      3.216899369858368E-5,
+      1.455852463747632E-5,
+      5.8727160120042536E-6,
+      2.0292486972166206E-6,
+      5.875115950380291E-7,
+      1.3058577801930755E-7
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.03092438557753146,
+      0.02315867011221307,
+      0.0168266446727544,
+      0.011887481789564946,
+      0.008051319708031234,
+      0.005306104962367634,
+      0.003378081358145652,
+      0.0020768787211988505,
+      0.0012402052719531734,
+      7.171120777581216E-4,
+      4.0159722262661073E-4,
+      2.1704931466717472E-4,
+      1.126383063319517E-4,
+      5.568561701454468E-5,
+      2.5902604304970156E-5,
+      1.110015884696405E-5,
+      4.29968921259496E-6,
+      1.461140887787391E-6,
+      4.1591376645650743E-7,
+      9.46717016675041E-8
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
new file mode 100644
index 000000000..c300fc1f8
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.4509980504265575,
+      0.31640849903818624,
+      0.21358652709530696,
+      0.13852590684777596,
+      0.08704051464729225,
+      0.05253655067618185,
+      0.0313630074964224,
+      0.01828926856693416,
+      0.010569791905629159,
+      0.005985554870546813,
+      0.003258642867557007,
+      0.0016482421911010224,
+      7.428663370263867E-4,
+      2.8617770593243423E-4,
+      9.001026608080633E-5,
+      2.1766162718777832E-5,
+      3.4439011809001544E-6,
+      2.8437342591115396E-7,
+      4.7116082241967405E-9,
+      1.4267296632389565E-11
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.11700214317084666,
+      0.07984556633545123,
+      0.05291299606238968,
+      0.03404755985513787,
+      0.02114650811223566,
+      0.012726247663438568,
+      0.007323504383620474,
+      0.0040144093270540835,
+      0.00205488138625064,
+      9.525469423918409E-4,
+      3.8994761986655535E-4,
+      1.3652451696297347E-4,
+      3.884698378921924E-5,
+      8.873557780140218E-6,
+      1.3451231092798012E-6,
+      1.2032259298422766E-7,
+      4.609116834290836E-9,
+      2.59008536728359E-11,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.4945845377045569,
+      0.35620880201657545,
+      0.25137051984623665,
+      0.17424903457376942,
+      0.11924752502067437,
+      0.08070972610358695,
+      0.053872250044587636,
+      0.03502132654998915,
+      0.022080257240772574,
+      0.013369869167750875,
+      0.007751781243749961,
+      0.0041510856851986345,
+      0.002024329677524295,
+      8.332799191377023E-4,
+      2.803322221722735E-4,
+      7.216436198566049E-5,
+      1.3139937692058717E-5,
+      1.4887451524976926E-6,
+      8.583934300949907E-8,
+      1.4528521242785493E-10
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.6240554880372423,
+      0.4648421129913744,
+      0.3364614024187943,
+      0.23936400511977998,
+      0.16657296053887222,
+      0.11552626958244688,
+      0.07924766772201519,
+      0.05346535671204676,
+      0.03534685017891077,
+      0.022654951039290397,
+      0.013996293443887118,
+      0.008274695350937313,
+      0.00461624083114446,
+      0.002359144711013691,
+      0.0010588845419861948,
+      3.9830557252783347E-4,
+      1.2098385904750002E-4,
+      2.7883432647415395E-5,
+      4.379653019618013E-6,
+      3.910084902445004E-7
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json
new file mode 100644
index 000000000..f1e1051c9
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.07329300166227745,
+      0.055337802621669735,
+      0.040968817403122415,
+      0.02972750508986697,
+      0.021208125016890057,
+      0.014718949348420704,
+      0.010151835343442727,
+      0.006964506964454938,
+      0.004865384284178251,
+      0.0034433728216316144,
+      0.002402092823420567,
+      0.0015776279469702096,
+      9.282583752562302E-4,
+      4.6859866659776025E-4,
+      1.957562143016859E-4,
+      6.566956362330448E-5,
+      1.610677465115143E-5,
+      2.5356426012945703E-6,
+      1.781660653263597E-7,
+      5.303018859899033E-10
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.027011742125709646,
+      0.02054026099288426,
+      0.015151661177658343,
+      0.010840130319940439,
+      0.007525995300555911,
+      0.005119570216554908,
+      0.003395985153115906,
+      0.00219752272463167,
+      0.0013656595910964422,
+      7.894479600187155E-4,
+      4.1061078425454916E-4,
+      1.8566800604505942E-4,
+      7.046560404053304E-5,
+      2.214811117324299E-5,
+      5.1877205964415855E-6,
+      8.883945318293091E-7,
+      8.064900890952642E-8,
+      1.5197879144214235E-9,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.08315499079996769,
+      0.06431139828469785,
+      0.04915016022135098,
+      0.03721435569635022,
+      0.02795306146262804,
+      0.020719362574279174,
+      0.01503310418456431,
+      0.010630741763975264,
+      0.007468303088638388,
+      0.0053200412902422636,
+      0.0038825297002366356,
+      0.0027994970622556223,
+      0.0018938616014459182,
+      0.0010946026000977843,
+      5.105948259048646E-4,
+      1.814145569321867E-4,
+      4.669415700262315E-5,
+      7.661897211595805E-6,
+      6.963517941442256E-7,
+      2.099912331198713E-8
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.10014082840506616,
+      0.07937813836503774,
+      0.061700223014619984,
+      0.047497342277461774,
+      0.0360740112616547,
+      0.027342479018824466,
+      0.020449825995003054,
+      0.014960970616397342,
+      0.010734355728858135,
+      0.0076366762405428714,
+      0.005496130334334665,
+      0.004028162881456666,
+      0.002942927307469069,
+      0.0020330523395788187,
+      0.0012414540217925533,
+      6.298234078379817E-4,
+      2.5541203512870637E-4,
+      7.99435274083079E-5,
+      1.7681458944686246E-5,
+      2.3632474990565053E-6
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json
new file mode 100644
index 000000000..b20b3412a
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.793213593982615,
+      0.577983578178273,
+      0.40579525953388984,
+      0.2759859720941026,
+      0.18399009975966585,
+      0.11936538209099885,
+      0.07694484056508578,
+      0.04840785421492175,
+      0.029819512815414086,
+      0.01768412385500739,
+      0.009915141001364477,
+      0.005117546173329484,
+      0.0023490942214720507,
+      9.214389956449585E-4,
+      2.9468592716695214E-4,
+      7.308514452887161E-5,
+      1.1247347826454863E-5,
+      6.940428175459909E-7,
+      5.10346784921843E-9,
+      5.841096556615169E-11
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.2025943739811626,
+      0.14523332315140788,
+      0.10250307359018228,
+      0.07087475113028119,
+      0.04756353086470577,
+      0.03103939235040483,
+      0.019605803017679113,
+      0.012137851217009655,
+      0.007356656688105114,
+      0.004265832391757879,
+      0.002291262860196218,
+      0.0010938967876560786,
+      4.4251021889519853E-4,
+      1.4953639800960512E-4,
+      3.814923137778993E-5,
+      6.870948539135475E-6,
+      6.953041247719502E-7,
+      2.8121734850878907E-8,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      1.0168692143070062,
+      0.7923123914451994,
+      0.5957749833811382,
+      0.4320284093428651,
+      0.303631608228334,
+      0.20829236120541317,
+      0.14039078301687707,
+      0.09271147762259842,
+      0.060008863388386874,
+      0.037552479212519765,
+      0.02235243410344431,
+      0.01203566580239071,
+      0.00575008176921448,
+      0.0022603495396226014,
+      7.034883142819305E-4,
+      1.5908436720509333E-4,
+      2.2735672283956533E-5,
+      1.3034249979450535E-6,
+      1.0236851661932837E-8,
+      2.5180884928616156E-11
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      1.2051064264582476,
+      0.9782651541920249,
+      0.7648840249547406,
+      0.5785033270293076,
+      0.42033271375876846,
+      0.29850865082744316,
+      0.2068893742866078,
+      0.14038182035917574,
+      0.09379780723050979,
+      0.06140722538398119,
+      0.03905929899039934,
+      0.023649257644110883,
+      0.01321452449292896,
+      0.006565163545150544,
+      0.002790251113545982,
+      9.69470326568192E-4,
+      2.6350269428707E-4,
+      5.2101041445273694E-5,
+      5.964900806365306E-6,
+      2.2241971901700354E-7
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
new file mode 100644
index 000000000..8ea1f3af4
--- /dev/null
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      0.19897581677887666,
+      0.1577395573051793,
+      0.12044861188465388,
+      0.08849701093209443,
+      0.06286360738094342,
+      0.04276589752771625,
+      0.028375492860898792,
+      0.01809939308657242,
+      0.011162206885093687,
+      0.006559356758212913,
+      0.0036143759422569417,
+      0.0018285570367639595,
+      8.296667905783595E-4,
+      3.284945561883995E-4,
+      1.0963455941947854E-4,
+      2.9696131236439645E-5,
+      5.805827780831235E-6,
+      6.855121895761377E-7,
+      3.2583055586129815E-8,
+      1.8738214080387096E-11
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      0.057458910275419064,
+      0.04119453721482716,
+      0.028738886126215488,
+      0.019517266040986556,
+      0.012865085501768908,
+      0.008286940358446314,
+      0.0051778287701842295,
+      0.0031351056053247803,
+      0.0018040520137694123,
+      9.550967828148114E-4,
+      4.525051792337519E-4,
+      1.8601411939532498E-4,
+      6.34002565523996E-5,
+      1.774413744796897E-5,
+      3.6119400522511268E-6,
+      4.3771634950397886E-7,
+      1.040241402813071E-8,
+      1.7354534758719045E-11,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      0.2578412015141585,
+      0.22157628906966204,
+      0.1846973059387178,
+      0.1484454027157886,
+      0.1146425948592031,
+      0.08487402243951296,
+      0.060122997722412225,
+      0.0404714992516234,
+      0.02594656372389899,
+      0.015770187065794868,
+      0.009079699272726408,
+      0.00481041227280926,
+      0.0023578899725231082,
+      0.00101186450505057,
+      3.7074288922810117E-4,
+      1.0887407546288273E-4,
+      2.3944480179971553E-5,
+      3.4423038486722723E-6,
+      2.7874999242876813E-7,
+      6.628896595304417E-9
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      0.2869636502669868,
+      0.25417973544818384,
+      0.21906830834876057,
+      0.1834844524639711,
+      0.14787713473344755,
+      0.11527966254404634,
+      0.08627079311437469,
+      0.061710212057459315,
+      0.042236373054862816,
+      0.027568734753433105,
+      0.017153092866713564,
+      0.010123007487523891,
+      0.00561719974969265,
+      0.0028886570138894493,
+      0.0013460854387742321,
+      5.496026708999016E-4,
+      1.9120436392156004E-4,
+      5.465049981000188E-5,
+      1.2008852556658006E-5,
+      1.9094547695209577E-6
+    ]
+  }
+}
\ No newline at end of file
-- 
GitLab


From 7f2431261e8753a95fe1cd5f8cddc4227280c726 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 08:12:55 -0700
Subject: [PATCH 37/57] update results

---
 .../nshm-conus-5.2.0-2018-BOSTON_MA.json      |  88 +++++++-------
 .../nshm-conus-5.2.0-2018-CHICAGO_IL.json     |  94 +++++++--------
 .../nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json |   2 +-
 .../nshm-conus-5.2.0-2018-NEW_MADRID_MO.json  | 114 +++++++++---------
 .../nshm-conus-5.2.0-2018-NEW_YORK_NY.json    |  94 +++++++--------
 .../nshm-conus-5.2.0-2018-RENO_NV.json        |  20 +--
 ...hm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json |  94 +++++++--------
 ...shm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json |  10 +-
 .../nshm-conus-5.2.0-2018-SEATTLE_WA.json     |  76 ++++++------
 .../nshm-hawaii-2.0.2-2021-HILO_HI.json       |  56 ++++-----
 .../nshm-hawaii-2.0.2-2021-HONOLULU_HI.json   |  36 +++---
 ...nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json |  54 ++++-----
 12 files changed, 369 insertions(+), 369 deletions(-)

diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
index 4ba51b726..b7b105a38 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.020784550979940135,
-      0.01375203615314397,
+      0.02078455097994013,
+      0.013752036153143975,
       0.008853912425965713,
       0.005504502737593539,
-      0.0032956032209899917,
+      0.0032956032209899913,
       0.0018514963923265215,
-      9.931435977960567E-4,
-      4.956595518220793E-4,
+      9.931435977960565E-4,
+      4.956595518220794E-4,
       2.3401548992797762E-4,
-      1.0471944598011257E-4,
-      4.508421273772284E-5,
-      1.889630156023541E-5,
-      7.725874681605785E-6,
-      3.0391435785521572E-6,
-      1.11705158113441E-6,
+      1.0471944598011255E-4,
+      4.5084212737722834E-5,
+      1.8896301560235415E-5,
+      7.725874681605789E-6,
+      3.039143578552157E-6,
+      1.1170515811344102E-6,
       3.745132401726645E-7,
-      1.0752962397804161E-7,
-      2.5960707366581506E-8,
+      1.075296239780416E-7,
+      2.5960707366581502E-8,
       4.917918081492093E-9,
-      6.50338376685779E-10
+      6.503383766857791E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0038496686700113564,
-      0.0025078664183317764,
-      0.0015597948853785955,
-      9.157017059864713E-4,
+      0.003849668670011357,
+      0.002507866418331777,
+      0.0015597948853785957,
+      9.157017059864712E-4,
       5.001931310456335E-4,
       2.547249918503188E-4,
       1.1944866239705738E-4,
-      5.232735935686702E-5,
-      2.156118337115127E-5,
-      8.400347720866899E-6,
-      3.14699581817278E-6,
+      5.2327359356867026E-5,
+      2.1561183371151267E-5,
+      8.400347720866897E-6,
+      3.1469958181727794E-6,
       1.1420236854051993E-6,
       3.9303700685767165E-7,
-      1.2947742656347803E-7,
+      1.29477426563478E-7,
       3.7186688126926624E-8,
       9.324871744942213E-9,
       1.877882948712356E-9,
       2.8466329320775234E-10,
-      2.6974731510803595E-11,
+      2.6974731510803592E-11,
       1.0385526508492283E-12
     ]
   },
@@ -116,25 +116,25 @@
     ],
     "ys": [
       0.03915433626110455,
-      0.028874987776381138,
+      0.02887498777638114,
       0.020883581441243287,
       0.014675088491569477,
       0.009966398305490464,
       0.006525399875535823,
       0.004122194389111176,
-      0.002503901284660192,
-      0.0014759816292745382,
-      8.455590549998979E-4,
-      4.7443786929523266E-4,
+      0.0025039012846601928,
+      0.0014759816292745378,
+      8.455590549998978E-4,
+      4.744378692952327E-4,
       2.5614908673281044E-4,
       1.3579297249796823E-4,
       6.854218948534534E-5,
-      3.291803684798865E-5,
-      1.4569587193494358E-5,
+      3.291803684798864E-5,
+      1.4569587193494356E-5,
       5.782794746110381E-6,
       1.9737183250309444E-6,
-      5.657594675445634E-7,
-      1.2462940285422407E-7
+      5.657594675445635E-7,
+      1.246294028542241E-7
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -164,23 +164,23 @@
       0.060547993873405,
       0.04501093716568888,
       0.03238422553470723,
-      0.022605947101161112,
+      0.022605947101161115,
       0.01506013117511144,
-      0.009690757366506484,
-      0.005957079199326997,
+      0.009690757366506481,
+      0.005957079199326996,
       0.0034901075111582196,
-      0.0019627024343097255,
-      0.0010598138716072616,
-      5.526846406248313E-4,
-      2.787643997578851E-4,
+      0.001962702434309725,
+      0.0010598138716072611,
+      5.526846406248314E-4,
+      2.7876439975788503E-4,
       1.358294857340756E-4,
       6.359388081275606E-5,
-      2.8287825293638214E-5,
+      2.828782529363821E-5,
       1.1707073491487447E-5,
       4.4199232564301465E-6,
-      1.4745471754128641E-6,
-      4.142453599294728E-7,
-      9.342364439170645E-8
+      1.4745471754128643E-6,
+      4.1424535992947275E-7,
+      9.342364439170644E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
index 04374779e..8778b6db2 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.017675500237871122,
-      0.011804993270225163,
-      0.007916670756587606,
+      0.017675500237871126,
+      0.011804993270225165,
+      0.007916670756587604,
       0.0053491472480445695,
       0.003631390427708422,
-      0.002384405538478485,
-      0.0014870231028831248,
+      0.0023844055384784845,
+      0.0014870231028831253,
       8.355484214788524E-4,
-      4.1460657776932694E-4,
-      1.7579111278565783E-4,
-      6.240935342700551E-5,
-      1.824083214413613E-5,
-      4.4149279640637774E-6,
+      4.14606577769327E-4,
+      1.7579111278565789E-4,
+      6.24093534270055E-5,
+      1.824083214413612E-5,
+      4.414927964063778E-6,
       9.994457044956116E-7,
       2.4855133647506633E-7,
       7.726459746150785E-8,
       2.121042318488014E-8,
-      4.8605658644149765E-9,
+      4.860565864414977E-9,
       8.641052442615079E-10,
-      1.0633132855584105E-10
+      1.0633132855584103E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -70,24 +70,24 @@
     ],
     "ys": [
       0.004904504983066265,
-      0.003755611824541404,
+      0.0037556118245414046,
       0.002900685498117759,
-      0.0021972569063650727,
-      0.001571497251120379,
+      0.002197256906365073,
+      0.0015714972511203789,
       0.001031785345548251,
-      5.98813717644033E-4,
+      5.988137176440331E-4,
       2.999898092710794E-4,
-      1.2636087757687215E-4,
-      4.334153727062956E-5,
-      1.1727951025836876E-5,
-      2.3832470064242063E-6,
-      3.5209264942037673E-7,
-      3.7851796592772213E-8,
-      5.963076928168123E-9,
+      1.2636087757687212E-4,
+      4.334153727062957E-5,
+      1.172795102583687E-5,
+      2.383247006424206E-6,
+      3.5209264942037663E-7,
+      3.7851796592772227E-8,
+      5.963076928168122E-9,
       1.4910332126633127E-9,
-      3.1417887372376505E-10,
+      3.1417887372376495E-10,
       5.2511189664780556E-11,
-      5.968234937924543E-12,
+      5.968234937924544E-12,
       3.1469632224157163E-13
     ]
   },
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.02270915099639857,
-      0.015516400129389082,
+      0.022709150996398565,
+      0.01551640012938908,
       0.01063565058866354,
-      0.007250987342509732,
-      0.00484747526482874,
-      0.003111424318650424,
-      0.0018782779132334618,
-      0.0010500224979932131,
-      5.534113089259502E-4,
+      0.007250987342509733,
+      0.004847475264828739,
+      0.0031114243186504227,
+      0.001878277913233462,
+      0.001050022497993213,
+      5.534113089259501E-4,
       2.81605357092695E-4,
-      1.4369489671881906E-4,
+      1.4369489671881903E-4,
       7.346403339083293E-5,
       3.8325297999058965E-5,
-      1.9431569974270375E-5,
+      1.943156997427037E-5,
       9.42159253961068E-6,
       4.197688438855381E-6,
-      1.6696279770654767E-6,
-      5.688244700978395E-7,
+      1.6696279770654765E-6,
+      5.688244700978394E-7,
       1.6230550529800464E-7,
-      3.549954903295298E-8
+      3.5499549032952975E-8
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.04184772415672415,
-      0.028519812182555615,
+      0.02851981218255562,
       0.019028622636528186,
-      0.01259769407876463,
-      0.008183488070776035,
+      0.012597694078764633,
+      0.008183488070776034,
       0.005256326568188243,
-      0.0032378832457639964,
-      0.001863531680168195,
-      9.907119514822528E-4,
+      0.0032378832457639955,
+      0.0018635316801681955,
+      9.907119514822526E-4,
       4.8301305512369827E-4,
-      2.1935879450693264E-4,
+      2.193587945069326E-4,
       9.551470151347578E-5,
       4.124782682724971E-5,
       1.7924007974639768E-5,
-      7.69163382946073E-6,
+      7.691633829460732E-6,
       3.1292561141859636E-6,
       1.1644839692951632E-6,
       3.815542517446424E-7,
       1.0444941528551554E-7,
-      2.2656380775801956E-8
+      2.2656380775801963E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
index 72661624b..f83c052f3 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
@@ -76,7 +76,7 @@
       0.035127313944556586,
       0.02246250359719528,
       0.014022392026120642,
-      0.008468146251691492,
+      0.008468146251691493,
       0.004802617000237273,
       0.0024617049089227135,
       0.0011102558974719061,
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
index cd06e3826..0b92be7ea 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
@@ -24,25 +24,25 @@
     ],
     "ys": [
       0.05460474620644812,
-      0.039322200263679656,
+      0.03932220026367965,
       0.02774252188858359,
       0.019256487920663253,
       0.013309032474447957,
-      0.009158100387208452,
-      0.006469954492673559,
-      0.004711825464791655,
-      0.003614419968603591,
-      0.002923750899350579,
-      0.0024589761818590034,
-      0.002072470767532478,
+      0.009158100387208453,
+      0.006469954492673557,
+      0.004711825464791652,
+      0.0036144199686035912,
+      0.002923750899350578,
+      0.002458976181859004,
+      0.0020724707675324793,
       0.001663505866018177,
-      0.0012069209745320132,
-      7.580051949212139E-4,
+      0.0012069209745320141,
+      7.580051949212137E-4,
       4.028136886385924E-4,
-      1.7473743872927871E-4,
-      6.14366486371895E-5,
-      1.6603707164663944E-5,
-      3.2819885795529328E-6
+      1.747374387292788E-4,
+      6.143664863718952E-5,
+      1.6603707164663927E-5,
+      3.281988579552932E-6
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.01118335095019382,
-      0.008208501337863189,
-      0.006125994378655951,
-      0.004704029030923133,
-      0.0037445097750955776,
-      0.003113425325927084,
+      0.011183350950193816,
+      0.00820850133786319,
+      0.0061259943786559495,
+      0.004704029030923134,
+      0.003744509775095578,
+      0.003113425325927083,
       0.0026896900327019677,
-      0.0023879637030226144,
+      0.0023879637030226157,
       0.0021175441107187517,
-      0.0018011501748482464,
-      0.0014173471729516554,
-      0.0010068130175955076,
+      0.0018011501748482462,
+      0.0014173471729516547,
+      0.0010068130175955078,
       6.301951022408455E-4,
-      3.4447816991405077E-4,
-      1.5613960834869736E-4,
-      5.887416288449928E-5,
-      1.7483012613921885E-5,
+      3.44478169914051E-4,
+      1.561396083486973E-4,
+      5.8874162884499284E-5,
+      1.7483012613921882E-5,
       3.8576776780498505E-6,
-      5.776336202494065E-7,
-      3.603564897905063E-8
+      5.776336202494066E-7,
+      3.6035648979050635E-8
     ]
   },
   "Peak Ground Acceleration": {
@@ -116,25 +116,25 @@
     ],
     "ys": [
       0.11111072621136198,
-      0.09432125494016416,
-      0.0782280559960046,
-      0.06292369383675939,
-      0.04897014435727336,
+      0.09432125494016415,
+      0.07822805599600459,
+      0.06292369383675941,
+      0.04897014435727334,
       0.036942153943163344,
-      0.027163843299139255,
-      0.019537877568746236,
+      0.027163843299139245,
+      0.019537877568746243,
       0.013915832488455513,
       0.009887221698272164,
-      0.007094041349666844,
-      0.0051464353161795075,
-      0.0038656085903222065,
-      0.00298376664089472,
-      0.002326071147545303,
-      0.001723713348796734,
-      0.0011265388791854103,
+      0.007094041349666845,
+      0.005146435316179506,
+      0.003865608590322206,
+      0.002983766640894719,
+      0.0023260711475453035,
+      0.0017237133487967337,
+      0.00112653887918541,
       6.015982295191785E-4,
-      2.510477911128342E-4,
-      7.632592705118941E-5
+      2.510477911128341E-4,
+      7.632592705118943E-5
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -163,24 +163,24 @@
     "ys": [
       0.13557175676510383,
       0.11487697773688868,
-      0.09473336922159178,
+      0.09473336922159181,
       0.0757652391662049,
-      0.05806165639924289,
-      0.04307702076073271,
-      0.030893330875149033,
+      0.0580616563992429,
+      0.0430770207607327,
+      0.030893330875149037,
       0.02154336192618488,
       0.014802677054253841,
-      0.010119114510192404,
+      0.010119114510192406,
       0.006988258677940673,
-      0.004954717225520118,
+      0.00495471722552012,
       0.003663126515262554,
-      0.002832444396585898,
-      0.002237940845752876,
-      0.0017164930070629656,
-      0.0011926180558950762,
-      6.965535536645009E-4,
+      0.002832444396585899,
+      0.0022379408457528765,
+      0.0017164930070629654,
+      0.0011926180558950767,
+      6.965535536645008E-4,
       3.2111317564048023E-4,
-      1.1269789534198828E-4
+      1.1269789534198823E-4
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
index a37b667f8..c6edeedbc 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
@@ -25,24 +25,24 @@
     "ys": [
       0.018666421015364292,
       0.012277714382170499,
-      0.007819753747405414,
+      0.007819753747405412,
       0.004783588386662285,
       0.00281121916877259,
-      0.0015540453407317345,
+      0.0015540453407317347,
       8.285075887238436E-4,
-      4.182733081757242E-4,
-      2.0477961806545264E-4,
+      4.182733081757243E-4,
+      2.047796180654526E-4,
       9.768413828648057E-5,
-      4.582979651500822E-5,
+      4.582979651500823E-5,
       2.1108151934584483E-5,
       9.403078808734168E-6,
       3.952177823009205E-6,
-      1.52393681070903E-6,
-      5.283693302216127E-7,
+      1.5239368107090302E-6,
+      5.283693302216128E-7,
       1.553244886867919E-7,
-      3.807576669004163E-8,
+      3.807576669004164E-8,
       7.285190754922316E-9,
-      9.713305930824852E-10
+      9.71330593082485E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.003683929029161356,
-      0.0023350507514869807,
-      0.0014025796207374245,
-      7.930112908299475E-4,
+      0.0036839290291613555,
+      0.0023350507514869803,
+      0.001402579620737425,
+      7.930112908299476E-4,
       4.1808903382999866E-4,
-      2.0733134457052304E-4,
-      9.623213274255237E-5,
-      4.2792093503938167E-5,
-      1.8488428033840786E-5,
+      2.0733134457052307E-4,
+      9.623213274255235E-5,
+      4.279209350393816E-5,
+      1.848842803384079E-5,
       7.785121676935123E-6,
-      3.20942446688357E-6,
-      1.2788721198896168E-6,
+      3.209424466883569E-6,
+      1.2788721198896172E-6,
       4.764036574053829E-7,
       1.6510378239619124E-7,
       4.934185476859842E-8,
-      1.2738983551119938E-8,
-      2.6202525850572688E-9,
-      4.0485837495960446E-10,
-      3.9044866281994814E-11,
+      1.273898355111994E-8,
+      2.6202525850572684E-9,
+      4.048583749596044E-10,
+      3.904486628199482E-11,
       1.53244519278671E-12
     ]
   },
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.029878942979656185,
-      0.021699314985705948,
-      0.015627345176841466,
-      0.011107491120984697,
-      0.007776586292284122,
-      0.005349775331002554,
+      0.02987894297965618,
+      0.02169931498570595,
+      0.015627345176841462,
+      0.011107491120984693,
+      0.0077765862922841225,
+      0.005349775331002555,
       0.003606839800316037,
       0.002364766212564209,
-      0.001511483656252948,
-      9.383042482967953E-4,
-      5.672612883032051E-4,
+      0.0015114836562529481,
+      9.383042482967954E-4,
+      5.672612883032049E-4,
       3.2775630190425725E-4,
       1.837902668533268E-4,
       9.707147245294275E-5,
-      4.8216709391054403E-5,
-      2.186754042561832E-5,
-      8.83267345573992E-6,
+      4.821670939105441E-5,
+      2.1867540425618328E-5,
+      8.832673455739918E-6,
       3.054523154324783E-6,
-      8.84797873298568E-7,
-      1.9672786782893154E-7
+      8.847978732985681E-7,
+      1.9672786782893157E-7
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,24 +162,24 @@
     ],
     "ys": [
       0.048301983959234095,
-      0.035049735617640576,
-      0.024744052454742878,
-      0.01709523430471773,
-      0.01141511174006545,
+      0.03504973561764059,
+      0.02474405245474288,
+      0.017095234304717735,
+      0.011415111740065452,
       0.007482577963101015,
-      0.004769873855646253,
+      0.004769873855646252,
       0.002948091284747602,
       0.0017725798590443333,
       0.0010323738247512593,
       5.823000408387338E-4,
       3.169405845714303E-4,
-      1.656074574036077E-4,
+      1.6560745740360768E-4,
       8.238484623559815E-5,
       3.852324830287547E-5,
-      1.657549901909999E-5,
-      6.439186747078615E-6,
-      2.1925820654928872E-6,
-      6.249719391706647E-7,
+      1.6575499019099988E-5,
+      6.439186747078614E-6,
+      2.192582065492888E-6,
+      6.249719391706648E-7,
       1.423888673803234E-7
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
index 6cc0d1e22..0d1235f96 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
@@ -38,7 +38,7 @@
       0.0010564988095787104,
       3.945561117465654E-4,
       1.2048922319737728E-4,
-      2.8266770250121335E-5,
+      2.8266770250121338E-5,
       4.252380705836178E-6,
       4.4029329263288646E-7,
       2.5735858318493567E-8,
@@ -72,14 +72,14 @@
       0.1619520024002511,
       0.11197070315750862,
       0.07461644808670248,
-      0.048069314826493036,
+      0.04806931482649303,
       0.029904421907731286,
-      0.018097205110430375,
-      0.010526649862628149,
-      0.0058497036090659794,
+      0.01809720511043038,
+      0.010526649862628147,
+      0.00584970360906598,
       0.003024869157973338,
-      0.001398899091725516,
-      5.607903420664932E-4,
+      0.0013988990917255157,
+      5.607903420664931E-4,
       1.884917390363045E-4,
       5.034839107343866E-5,
       1.033150576172653E-5,
@@ -166,7 +166,7 @@
       0.4943026693905384,
       0.3815237316109364,
       0.2849928378328236,
-      0.20811270361164622,
+      0.20811270361164624,
       0.14726293268062965,
       0.10033741214019079,
       0.06562437576887947,
@@ -176,8 +176,8 @@
       0.007078613802080741,
       0.003434334658947344,
       0.0014729955574711107,
-      5.304815215680369E-4,
-      1.5325010460188717E-4,
+      5.30481521568037E-4,
+      1.532501046018872E-4,
       3.28644051168842E-5,
       4.5541957008082325E-6,
       3.3625843088903307E-7
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
index 07ded0139..e137d00e4 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.10141210582180434,
+      0.10141210582180435,
       0.07447849798602045,
       0.05330127231316856,
-      0.03710281879513821,
+      0.037102818795138215,
       0.02523202816726377,
       0.01661034649634634,
       0.010874067593129606,
-      0.0070892247983680825,
-      0.004735625457686324,
+      0.007089224798368081,
+      0.004735625457686323,
       0.003249464756093951,
-      0.0022454952268110232,
-      0.0014914478772558568,
-      8.988552768687258E-4,
-      4.65668093951211E-4,
+      0.002245495226811023,
+      0.0014914478772558575,
+      8.988552768687261E-4,
+      4.656680939512108E-4,
       1.9882970591587773E-4,
       6.785029212800548E-5,
-      1.6876651512201572E-5,
-      2.653741741725594E-6,
-      1.731813940276621E-7,
-      1.0355704040041717E-10
+      1.6876651512201575E-5,
+      2.6537417417255928E-6,
+      1.7318139402766213E-7,
+      1.035570404004172E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.033387015764916865,
-      0.02465096645560166,
+      0.03338701576491687,
+      0.024650966455601664,
       0.01764423071929716,
       0.012269680846161648,
       0.008337057201618096,
-      0.005635024432572455,
-      0.0037891327023550246,
-      0.002514912378495384,
+      0.005635024432572457,
+      0.003789132702355024,
+      0.002514912378495385,
       0.001586342905921711,
-      9.014315449747966E-4,
-      4.4140296504165355E-4,
-      1.7921117169766214E-4,
-      5.754118100356994E-5,
+      9.014315449747969E-4,
+      4.4140296504165344E-4,
+      1.792111716976622E-4,
+      5.754118100356995E-5,
       1.4224526877692228E-5,
       2.2078569144162738E-6,
-      1.8880753843912258E-7,
-      2.916565870061635E-9,
+      1.888075384391226E-7,
+      2.9165658700616345E-9,
       1.3533194681297857E-11,
       1.4761223207476851E-12,
-      7.365315902026218E-14
+      7.365315902026216E-14
     ]
   },
   "Peak Ground Acceleration": {
@@ -120,21 +120,21 @@
       0.07246017969843055,
       0.05191828655903307,
       0.036365265053184825,
-      0.024993217741374762,
+      0.024993217741374765,
       0.01690096807101634,
       0.011231650127527285,
-      0.007452801108191982,
-      0.005017181957434342,
-      0.003470567929844281,
-      0.002402368539815233,
-      0.0016078002266633955,
-      9.51405381500143E-4,
-      4.6566447216692683E-4,
-      1.7536330043880214E-4,
-      4.811667218966291E-5,
-      8.632653500921544E-6,
+      0.007452801108191981,
+      0.005017181957434341,
+      0.003470567929844282,
+      0.0024023685398152335,
+      0.001607800226663395,
+      9.514053815001429E-4,
+      4.656644721669268E-4,
+      1.7536330043880222E-4,
+      4.811667218966292E-5,
+      8.632653500921547E-6,
       8.008388400062674E-7,
-      2.2680106464068337E-8
+      2.268010646406834E-8
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,24 +162,24 @@
     ],
     "ys": [
       0.16740950916822125,
-      0.1301827371821187,
+      0.13018273718211873,
       0.09802333688436565,
       0.0720099099078939,
       0.05129669394322607,
       0.03606585232915037,
-      0.024916005816203585,
-      0.016913099641626243,
+      0.024916005816203582,
+      0.01691309964162624,
       0.011363408680915812,
-      0.0076197373206781166,
+      0.007619737320678115,
       0.0051864199911304905,
       0.003611556059854821,
-      0.002539280536663541,
-      0.0017305585661145013,
-      0.0010724055561078668,
-      5.639609734298516E-4,
-      2.3956867451954396E-4,
-      7.882123713799232E-5,
-      1.8675841989591896E-5,
+      0.0025392805366635405,
+      0.0017305585661145017,
+      0.0010724055561078666,
+      5.639609734298513E-4,
+      2.3956867451954393E-4,
+      7.88212371379923E-5,
+      1.86758419895919E-5,
       2.701116080577684E-6
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
index bdab6add0..7d0263436 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
@@ -71,16 +71,16 @@
     "ys": [
       0.15758937503731724,
       0.11247692685397598,
-      0.07946884297427435,
+      0.07946884297427433,
       0.05560574371886311,
       0.03824085383493095,
       0.02585465059626231,
-      0.01705053462827973,
+      0.017050534628279733,
       0.011010094459237604,
       0.006875269673181763,
-      0.004031893488663089,
+      0.004031893488663088,
       0.002153405881721273,
-      0.001013260773576697,
+      0.0010132607735766975,
       4.0392561747766895E-4,
       1.357315165926373E-4,
       3.5070265791185964E-5,
@@ -162,7 +162,7 @@
     ],
     "ys": [
       0.8463434568144551,
-      0.6798282480043856,
+      0.6798282480043855,
       0.529575106126662,
       0.4029924331123037,
       0.2978878788706715,
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
index f9d0ce422..2480ad4d3 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
@@ -27,17 +27,17 @@
       0.15035830377424855,
       0.11450746102005706,
       0.08372212205395722,
-      0.059056934946773325,
+      0.05905693494677332,
       0.03979043310304015,
       0.02608186984634462,
-      0.01639011789619338,
+      0.016390117896193383,
       0.009939769051733804,
-      0.0057322926082014215,
-      0.0030911152287355775,
+      0.005732292608201422,
+      0.003091115228735578,
       0.0015239775147447624,
-      6.709168675782273E-4,
+      6.709168675782274E-4,
       2.574847006859803E-4,
-      8.37874171428662E-5,
+      8.378741714286619E-5,
       2.251661394813441E-5,
       4.500727576177568E-6,
       6.144243207535918E-7,
@@ -70,20 +70,20 @@
     ],
     "ys": [
       0.05798340021258256,
-      0.04190422736568196,
-      0.029366243207829653,
-      0.01992526977609041,
-      0.013059136945119223,
+      0.041904227365681966,
+      0.02936624320782965,
+      0.019925269776090406,
+      0.013059136945119225,
       0.008356470041248173,
-      0.005219092927360337,
-      0.0032087975808839635,
-      0.0019199405262616408,
-      0.0010855264302155059,
-      5.619278902307794E-4,
-      2.563270845634498E-4,
-      9.795826467321658E-5,
-      3.0939506848565075E-5,
-      7.164683336505891E-6,
+      0.005219092927360336,
+      0.003208797580883965,
+      0.0019199405262616406,
+      0.0010855264302155057,
+      5.619278902307795E-4,
+      2.563270845634497E-4,
+      9.79582646732166E-5,
+      3.093950684856507E-5,
+      7.16468333650589E-6,
       9.927613969917701E-7,
       3.041624502650113E-8,
       2.0591305604095127E-11,
@@ -115,24 +115,24 @@
       1.6428726885203377
     ],
     "ys": [
-      0.24771893078422802,
+      0.247718930784228,
       0.21523675836712636,
-      0.18161823548824615,
+      0.18161823548824618,
       0.1478057991464071,
-      0.11545178047071235,
-      0.08622984829115031,
+      0.11545178047071233,
+      0.08622984829115032,
       0.061430834058407394,
-      0.0414783202603966,
+      0.04147832026039659,
       0.026613647847004044,
-      0.016122062107857667,
+      0.016122062107857674,
       0.009167459234650009,
-      0.0047229038072055946,
+      0.004722903807205595,
       0.002214599540841417,
       8.96285507325836E-4,
       3.067999345972684E-4,
-      8.267322513113308E-5,
+      8.26732251311331E-5,
       1.5932119719803484E-5,
-      1.7946631532952552E-6,
+      1.7946631532952554E-6,
       1.06895828117477E-7,
       6.68125464781831E-10
     ]
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.27215747755947084,
-      0.24281747775616977,
+      0.2721574775594709,
+      0.24281747775616974,
       0.2111408438896052,
       0.17854755392401112,
-      0.14527845926431035,
+      0.14527845926431032,
       0.11415150096883399,
       0.08587864028339966,
-      0.061548461430163195,
-      0.04205905132892357,
-      0.027299698171629392,
+      0.06154846143016319,
+      0.04205905132892356,
+      0.02729969817162939,
       0.01678063082631571,
       0.009668716589318763,
-      0.005145168066638075,
+      0.005145168066638074,
       0.002484010178699564,
-      0.0010642217286274947,
+      0.0010642217286274949,
       3.910335843512345E-4,
-      1.1883832638818702E-4,
+      1.1883832638818703E-4,
       2.8076658021732084E-5,
-      4.561137287903131E-6,
+      4.561137287903132E-6,
       4.7281340794708457E-7
     ]
   }
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
index 123eb8f48..acb6169c7 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      1.1394279599298858,
-      0.909645925740205,
+      1.139427959929886,
+      0.9096459257402049,
       0.6810439562313703,
-      0.48213438998284386,
+      0.4821343899828438,
       0.3270662494936988,
       0.2122733790095776,
-      0.13579352589768764,
+      0.13579352589768767,
       0.08466990088453301,
-      0.051479667241025914,
-      0.029592215233161495,
+      0.0514796672410259,
+      0.0295922152331615,
       0.015605186053687877,
       0.007369438722986227,
-      0.003079134500128523,
+      0.0030791345001285235,
       0.001133816052813239,
       3.683841726832001E-4,
-      1.0771529770871671E-4,
+      1.0771529770871668E-4,
       2.7590429340726252E-5,
       6.106383784135073E-6,
-      9.141545957726993E-7,
-      4.716658318737339E-8
+      9.141545957726994E-7,
+      4.71665831873734E-8
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,19 +69,19 @@
       0.7929925155296614
     ],
     "ys": [
-      0.24225805041057025,
+      0.24225805041057027,
       0.1626494298061276,
-      0.11286823232748022,
+      0.11286823232748021,
       0.08019936527365806,
       0.057001082377164766,
-      0.0397723104642292,
+      0.03977231046422921,
       0.026270923994779784,
-      0.0159300182060438,
-      0.008586807484419113,
+      0.015930018206043797,
+      0.008586807484419114,
       0.0040091692633346795,
-      0.0016237229130359047,
+      0.0016237229130359049,
       5.831580842583807E-4,
-      1.935491083341371E-4,
+      1.9354910833413707E-4,
       6.446411351755592E-5,
       2.0541404464536928E-5,
       5.89324452995356E-6,
@@ -125,12 +125,12 @@
       0.3230521403675808,
       0.19728774899189122,
       0.11230291486323443,
-      0.05999879240178362,
+      0.059998792401783616,
       0.029038427625475594,
-      0.012752442114810743,
+      0.012752442114810742,
       0.004825259624029285,
-      0.0015856433122290355,
-      4.4673619962028584E-4,
+      0.0015856433122290357,
+      4.467361996202859E-4,
       1.0815891326044897E-4,
       2.1501975995084003E-5,
       3.0877820264321665E-6,
@@ -162,21 +162,21 @@
     ],
     "ys": [
       1.4371068709113273,
-      1.3442294606163505,
+      1.3442294606163503,
       1.2504550788598903,
-      1.145108478540398,
-      1.0076845134906756,
+      1.1451084785403978,
+      1.0076845134906758,
       0.8393355383077514,
       0.6496537972367906,
       0.4625305796292689,
-      0.30353482643208957,
-      0.1840984877001757,
+      0.3035348264320895,
+      0.18409848770017573,
       0.10404729414822564,
-      0.054920827101472565,
+      0.05492082710147256,
       0.026929508320917738,
       0.012117250742785222,
       0.004912231979440461,
-      0.0017509584506394304,
+      0.0017509584506394302,
       5.433850247572385E-4,
       1.4341185451814312E-4,
       3.1018961899754435E-5,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
index 33d143aca..03cb7fa83 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
@@ -26,8 +26,8 @@
       0.1096176362431887,
       0.07712267985209978,
       0.052362164725512236,
-      0.03410083982464372,
-      0.021327885700315224,
+      0.03410083982464373,
+      0.02132788570031522,
       0.012597455865731777,
       0.007195466062794852,
       0.0039020156778838797,
@@ -36,13 +36,13 @@
       4.744665345271375E-4,
       2.0784677016393618E-4,
       8.354936782969439E-5,
-      3.0262362405560818E-5,
+      3.026236240556082E-5,
       9.700628718654082E-6,
       2.7338866176016795E-6,
-      6.418080520161567E-7,
+      6.418080520161568E-7,
       1.2432205810419981E-7,
       1.6644800833465068E-8,
-      8.894088492362762E-10
+      8.894088492362763E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -83,7 +83,7 @@
       2.5779423268780836E-5,
       9.34540879758316E-6,
       3.0570885601346303E-6,
-      8.448187381597023E-7,
+      8.448187381597024E-7,
       2.0283376419955368E-7,
       3.799045552673217E-8,
       5.257992980887434E-9,
@@ -117,19 +117,19 @@
     "ys": [
       0.16241112120908746,
       0.12117474522250349,
-      0.08821017091766084,
+      0.08821017091766083,
       0.06247545594775962,
-      0.0429411432751231,
+      0.042941143275123106,
       0.028525687803782396,
       0.018224455950293393,
-      0.011059987400758736,
-      0.006364262004183082,
+      0.011059987400758737,
+      0.006364262004183083,
       0.0034377054571609225,
       0.0017388253798322879,
       7.965440914871203E-4,
       3.3531414903647464E-4,
       1.2359465951104756E-4,
-      3.997349646564973E-5,
+      3.997349646564974E-5,
       1.1017452326436623E-5,
       2.556220564845531E-6,
       4.819237373193018E-7,
@@ -162,18 +162,18 @@
     ],
     "ys": [
       0.20884911299107894,
-      0.16145810468844024,
+      0.1614581046884402,
       0.1199907491643427,
       0.08664281640904029,
-      0.06035281081025548,
-      0.04113660286620183,
-      0.02712237329976281,
+      0.06035281081025549,
+      0.041136602866201834,
+      0.027122373299762817,
       0.017158998663766196,
       0.010389832056442814,
-      0.005966842420004629,
-      0.0032374258061386835,
+      0.005966842420004628,
+      0.003237425806138684,
       0.0016481130397465967,
-      7.801989781232735E-4,
+      7.801989781232736E-4,
       3.388907756049955E-4,
       1.3261398028112855E-4,
       4.5544380625508945E-5,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
index 7907a733e..af0bf1285 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
@@ -23,7 +23,7 @@
       1.7119945007591926
     ],
     "ys": [
-      0.9310649618626425,
+      0.9310649618626424,
       0.7152683525622627,
       0.5254960437436178,
       0.37057192881004797,
@@ -31,15 +31,15 @@
       0.1673342748557868,
       0.10852163641624823,
       0.06764805605345484,
-      0.04042125038591836,
-      0.02275930256132998,
+      0.040421250385918366,
+      0.022759302561329985,
       0.012035453130050871,
-      0.006001361401039622,
+      0.00600136140103962,
       0.002825403258669261,
-      0.0012397199668725764,
-      4.913127725890904E-4,
+      0.0012397199668725762,
+      4.913127725890903E-4,
       1.6916652515186739E-4,
-      4.608184816695928E-5,
+      4.6081848166959275E-5,
       9.142956045358946E-6,
       1.067682459238504E-6,
       4.413524073773537E-8
@@ -72,21 +72,21 @@
       0.191466520506286,
       0.13554779250681923,
       0.09647775115759329,
-      0.06847614819048337,
-      0.04772578379364718,
+      0.06847614819048335,
+      0.04772578379364717,
       0.03208679105889853,
-      0.020129540279605004,
+      0.020129540279605,
       0.011639202185119844,
-      0.0061951399190677625,
-      0.0030758835356592914,
+      0.006195139919067763,
+      0.003075883535659292,
       0.0014771509658122375,
       7.061929082246017E-4,
       3.34514415859711E-4,
       1.5467986387544445E-4,
       6.363609376236911E-5,
-      2.247131683032451E-5,
+      2.2471316830324507E-5,
       6.219516642047412E-6,
-      1.2615492254822047E-6,
+      1.2615492254822045E-6,
       1.5297532779407637E-7,
       7.198489307670766E-9
     ]
@@ -116,23 +116,23 @@
     ],
     "ys": [
       1.3099486083268739,
-      1.1995234176688747,
-      1.0517265084684118,
+      1.199523417668875,
+      1.0517265084684115,
       0.8707860874217463,
       0.6765138623146243,
-      0.49340163862251196,
+      0.493401638622512,
       0.33992289432676787,
-      0.22192803156480623,
+      0.2219280315648062,
       0.13847632521718928,
-      0.0817533386032545,
+      0.08175333860325448,
       0.04511099205028912,
       0.022490754664834876,
-      0.01037493979425652,
+      0.010374939794256521,
       0.004313773760782856,
       0.0016216028906538638,
       5.238693662990279E-4,
-      1.377271763315316E-4,
-      2.6761997339916372E-5,
+      1.3772717633153163E-4,
+      2.676199733991637E-5,
       3.5045913382111136E-6,
       2.30974963417142E-7
     ]
@@ -163,20 +163,20 @@
     "ys": [
       1.3761096429204573,
       1.2927474893926607,
-      1.178335057078432,
+      1.1783350570784317,
       1.0275173511479154,
       0.842703120792494,
       0.6513972997833428,
-      0.47242900392024684,
-      0.32217060882735266,
+      0.4724290039202468,
+      0.3221706088273527,
       0.20861884543377657,
       0.128355896587962,
       0.07482094551740774,
       0.040954079958872666,
       0.02092944382070038,
       0.009967533485864722,
-      0.004400165256626161,
-      0.0017609227596797569,
+      0.00440016525662616,
+      0.0017609227596797564,
       6.180891817013114E-4,
       1.815463526788613E-4,
       4.1290331752591286E-5,
-- 
GitLab


From e5606a10e3946c220ad74fec7b483e48a10a86c1 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 09:37:48 -0700
Subject: [PATCH 38/57] add test result files

---
 .../nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json  |  50 ++---
 .../nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json  | 186 ++++++++++++++++++
 .../nshm-alaska-3.a.0-2023-JUNEAU_AK.json     | 186 ++++++++++++++++++
 .../nshm-alaska-3.a.0-2023-KODIAK_AK.json     | 186 ++++++++++++++++++
 .../nshm-alaska-3.a.0-2023-VALDEZ_AK.json     | 186 ++++++++++++++++++
 .../nshm-conus-5.2.0-2018-BOSTON_MA.json      |  94 ++++-----
 .../nshm-conus-5.2.0-2018-CHICAGO_IL.json     |  94 ++++-----
 .../nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json |  32 +--
 .../nshm-conus-5.2.0-2018-NEW_MADRID_MO.json  | 112 +++++------
 .../nshm-conus-5.2.0-2018-NEW_YORK_NY.json    | 104 +++++-----
 .../nshm-conus-5.2.0-2018-RENO_NV.json        |  58 +++---
 ...hm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json |  88 ++++-----
 ...shm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json |  26 +--
 .../nshm-conus-5.2.0-2018-SEATTLE_WA.json     |  62 +++---
 .../nshm-conus-6.a.3-2023-BOSTON_MA.json      |  96 ++++-----
 .../nshm-conus-6.a.3-2023-CHICAGO_IL.json     | 108 +++++-----
 .../nshm-conus-6.a.3-2023-NEW_MADRID_MO.json  | 120 +++++------
 .../nshm-conus-6.a.3-2023-NEW_YORK_NY.json    |  94 ++++-----
 .../nshm-conus-6.a.3-2023-RENO_NV.json        |   4 +-
 .../nshm-conus-6.a.3-2023-SEATTLE_WA.json     |  50 ++---
 .../nshm-hawaii-2.0.2-2021-HILO_HI.json       |  24 +--
 .../nshm-hawaii-2.0.2-2021-HONOLULU_HI.json   |  36 ++--
 ...nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json |  54 ++---
 23 files changed, 1397 insertions(+), 653 deletions(-)
 create mode 100644 src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json
 create mode 100644 src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json
 create mode 100644 src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json
 create mode 100644 src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json

diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
index 6ba41a5a0..14c72f733 100644
--- a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
+++ b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
@@ -24,23 +24,23 @@
     ],
     "ys": [
       31.582813479978164,
-      22.54033364387775,
+      22.540333643877755,
       15.474210100724964,
-      10.182828417406599,
+      10.1828284174066,
       6.449603153163436,
       3.874829200208182,
-      2.2578315032412437,
+      2.2578315032412433,
       1.2502702512704735,
       0.6635952894157523,
       0.33280836493445576,
       0.15563831840158654,
       0.06651470349199638,
-      0.02533417582444492,
+      0.025334175824444916,
       0.008344260242984129,
       0.002281234081363036,
-      4.905099541703146E-4,
+      4.905099541703147E-4,
       7.106680468777945E-5,
-      9.366482156055951E-6,
+      9.366482156055953E-6,
       1.6221817886511806E-6,
       3.9226735161194594E-8
     ]
@@ -69,20 +69,20 @@
       0.7929925155296614
     ],
     "ys": [
-      4.713651705544555,
+      4.713651705544554,
       2.977116760392886,
-      1.8080598979866713,
+      1.808059897986671,
       1.049232189094306,
       0.5745133346292347,
       0.2965581079080615,
       0.14114739956608777,
-      0.0616792830031775,
-      0.024321679600937025,
-      0.008469514908333562,
-      0.002638088466004359,
+      0.061679283003177494,
+      0.024321679600937018,
+      0.008469514908333564,
+      0.0026380884660043603,
       7.771803183244354E-4,
       2.4109621062432486E-4,
-      8.540282815765787E-5,
+      8.540282815765788E-5,
       2.7739346926905467E-5,
       7.245217414287302E-6,
       1.0985610862830077E-6,
@@ -116,23 +116,23 @@
     ],
     "ys": [
       46.33660845379568,
-      35.52280261841515,
-      26.460679996193996,
+      35.522802618415156,
+      26.460679996194,
       19.041804093767503,
       13.188706864561727,
       8.757919192102062,
       5.55528392890878,
-      3.3337082913894527,
+      3.333708291389453,
       1.8983397739576513,
       1.021389293060455,
       0.5207239096916852,
       0.2442406254825674,
       0.10685463572633691,
       0.04138335479680251,
-      0.014026251993902825,
+      0.014026251993902823,
       0.003932391972808894,
       8.50435333719899E-4,
-      1.1963128196516758E-4,
+      1.196312819651676E-4,
       7.655134432772623E-6,
       4.304490387327915E-7
     ]
@@ -161,15 +161,15 @@
       1.998773638612381
     ],
     "ys": [
-      60.11962252183623,
+      60.119622521836234,
       48.04425720405304,
-      37.17240663973346,
+      37.17240663973347,
       27.9717157456693,
-      20.245073109499156,
-      14.233013615251448,
+      20.24507310949916,
+      14.233013615251446,
       9.614647498486521,
-      6.202530152633508,
-      3.8247549106886587,
+      6.202530152633507,
+      3.8247549106886582,
       2.2450721351219647,
       1.2557452464723764,
       0.6677198016325505,
@@ -177,7 +177,7 @@
       0.1580226275680916,
       0.06845320087983027,
       0.026612603647860913,
-      0.009096214954311552,
+      0.00909621495431155,
       0.0026387580725377403,
       6.046929677379726E-4,
       9.76805788912384E-5
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json
new file mode 100644
index 000000000..bdbc6ae46
--- /dev/null
+++ b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      9.45211495358342,
+      6.706211439845269,
+      4.588978464279589,
+      3.0086416270027048,
+      1.888824385638276,
+      1.1129215358345805,
+      0.6279206376020909,
+      0.332220059774106,
+      0.16720102553008417,
+      0.07959344247355069,
+      0.03570406362909776,
+      0.014866442273198567,
+      0.005594983703070449,
+      0.001829808225027442,
+      4.919055822903513E-4,
+      1.0079740988490108E-4,
+      1.2471146653182707E-5,
+      7.02828607991142E-7,
+      1.1301945596475976E-8,
+      0.0
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      1.9184256285352985,
+      1.2370238558137503,
+      0.7559151793391216,
+      0.43656870088267014,
+      0.23723764134229494,
+      0.12274497208407278,
+      0.06008774189656887,
+      0.028081099253699622,
+      0.01234281356824203,
+      0.004923500549112307,
+      0.001726822893898249,
+      5.104323001168673E-4,
+      1.1878210581315675E-4,
+      2.0703558458760174E-5,
+      2.229665505804166E-6,
+      1.6009809951065922E-7,
+      3.0216427277983052E-9,
+      0.0,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      13.284064126608069,
+      9.853308437791231,
+      7.116796195810493,
+      4.9836861373184576,
+      3.3755093861650907,
+      2.2042574688021577,
+      1.3827750966815877,
+      0.8244257926457782,
+      0.46754946881597914,
+      0.2503944977653115,
+      0.1266282126160816,
+      0.05844529093292019,
+      0.024745808652838867,
+      0.008960497515163375,
+      0.0026810937680349133,
+      6.060577052384319E-4,
+      9.024933719464242E-5,
+      6.0419769412494385E-6,
+      9.937964515447328E-8,
+      0.0
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      17.300398191221607,
+      13.307293930796154,
+      9.902232049229976,
+      7.181330544933178,
+      5.023882976102354,
+      3.432899618436824,
+      2.265573659612581,
+      1.4342768435263218,
+      0.8702393842451819,
+      0.5021655036586723,
+      0.27472584746977935,
+      0.14154536651264943,
+      0.06797544452596316,
+      0.0298631583102091,
+      0.011642033780539348,
+      0.003845862387601881,
+      0.0010250902378172331,
+      2.0133713527376628E-4,
+      2.269066609619647E-5,
+      8.717032628046811E-7
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json
new file mode 100644
index 000000000..7d8007c14
--- /dev/null
+++ b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      4.591371937330782,
+      3.1877577576389777,
+      2.097780831337861,
+      1.2957406821661408,
+      0.746984342811182,
+      0.38952695598943826,
+      0.18714214109949412,
+      0.08044324750221588,
+      0.031642790756942145,
+      0.011505242206800674,
+      0.0039927423287999,
+      0.0013499251795955985,
+      4.410966460474657E-4,
+      1.331099451711727E-4,
+      3.451133263715693E-5,
+      6.964165264154167E-6,
+      8.488121825346587E-7,
+      4.733287019248812E-8,
+      7.489127568967084E-10,
+      0.0
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      1.0253453315814594,
+      0.6496593903800941,
+      0.3831032756365199,
+      0.20845682337708707,
+      0.10339733714093748,
+      0.04697449191854783,
+      0.01924142141387398,
+      0.007176804937656805,
+      0.002418954964373144,
+      7.206937620110931E-4,
+      1.8814545129396007E-4,
+      4.2085742412970904E-5,
+      8.17630777390981E-6,
+      1.352471640818951E-6,
+      1.5251255599794662E-7,
+      1.0827724111704109E-8,
+      2.018781241215586E-10,
+      0.0,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      6.068978404417162,
+      4.37287758772108,
+      2.96145914131037,
+      1.870504492866647,
+      1.0987647948608863,
+      0.5997918227238852,
+      0.3047471478385926,
+      0.143437938591774,
+      0.06373152535013737,
+      0.027152772561542995,
+      0.01141099329902446,
+      0.004620895751111435,
+      0.001815109039587635,
+      6.31024145453754E-4,
+      1.846506962427567E-4,
+      4.119810433576226E-5,
+      6.093004688366109E-6,
+      4.066762292155661E-7,
+      6.639809776402779E-9,
+      0.0
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      7.52383366292991,
+      5.754229594765265,
+      4.144523559032874,
+      2.8176141397464365,
+      1.7789562600717859,
+      1.0591948150947947,
+      0.5873209892512312,
+      0.30211681938077767,
+      0.14566157672805446,
+      0.06635479340806372,
+      0.029195930933663506,
+      0.012621055900268078,
+      0.005362098833654413,
+      0.0021860669874765844,
+      8.176233092299378E-4,
+      2.638499963322621E-4,
+      6.926088859606785E-5,
+      1.345966118871797E-5,
+      1.5087889923811794E-6,
+      5.8458404871550405E-8
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json
new file mode 100644
index 000000000..fb11c0dcb
--- /dev/null
+++ b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      26.546661954616766,
+      17.45965029862474,
+      11.084965414334416,
+      6.7957695662611854,
+      4.04180974836993,
+      2.284910900383992,
+      1.2521375077588737,
+      0.647565642410389,
+      0.3187494553964873,
+      0.1474680499726443,
+      0.063745608493643,
+      0.025567265722348704,
+      0.00947305155343496,
+      0.0032435866327250426,
+      0.0010340415093725679,
+      3.127599718753763E-4,
+      8.594852635443768E-5,
+      2.1434933824452503E-5,
+      4.196826749744855E-6,
+      1.8727466634359004E-7
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      3.854804376937343,
+      2.364379185902818,
+      1.3821499030867548,
+      0.7633730877420555,
+      0.3928761374343867,
+      0.18898207211847512,
+      0.08390418539943266,
+      0.03503544780269543,
+      0.013992259926570478,
+      0.005483373586317797,
+      0.0022201719811300678,
+      9.498255878361636E-4,
+      4.09990816686342E-4,
+      1.668092721513497E-4,
+      5.663555747494913E-5,
+      1.5303011320298508E-5,
+      2.445330361266734E-6,
+      4.355936584326965E-8,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      38.17234655735215,
+      26.491016063791424,
+      17.663262208614288,
+      11.31146579184919,
+      6.988262252201193,
+      4.17945057323202,
+      2.4210383483389335,
+      1.3446006826080403,
+      0.7170897677723415,
+      0.36421959456743086,
+      0.17622080748206914,
+      0.07866237753719352,
+      0.03299438003037053,
+      0.012420344249091964,
+      0.00420399993729522,
+      0.0012386815209033527,
+      3.129627579643493E-4,
+      6.605058658545652E-5,
+      1.195872499404559E-5,
+      1.666631671207467E-6
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      54.507311979260805,
+      40.244806902889195,
+      28.30171628879847,
+      19.139647394512128,
+      12.347254701618091,
+      7.7700727484155845,
+      4.738914537317213,
+      2.7948688831579833,
+      1.5979478629398678,
+      0.8795385346624696,
+      0.46471970069090907,
+      0.23411222392624056,
+      0.11152929527402433,
+      0.049726179214811754,
+      0.02050447915506657,
+      0.007703528112893126,
+      0.002629422657576131,
+      8.134129400120383E-4,
+      2.2596862585578322E-4,
+      5.6896530332304675E-5
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json
new file mode 100644
index 000000000..bba842717
--- /dev/null
+++ b/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json
@@ -0,0 +1,186 @@
+{
+  "1.00 Second Spectral Acceleration": {
+    "xs": [
+      -5.991464547107982,
+      -5.585999438999818,
+      -5.181423615076538,
+      -4.775958506968373,
+      -4.374058465024705,
+      -3.9633162998156966,
+      -3.5613661338149765,
+      -3.153556358747558,
+      -2.7488721956224653,
+      -2.3434070875143007,
+      -1.9379419794061366,
+      -1.532476871297972,
+      -1.1270117631898076,
+      -0.7215466550816433,
+      -0.3160815469734789,
+      0.0861776962410524,
+      0.494696241836107,
+      0.9001613499442714,
+      1.3056264580524357,
+      1.7119945007591926
+    ],
+    "ys": [
+      14.762493063508536,
+      10.035995231798612,
+      6.556325924894737,
+      4.091869128752166,
+      2.443324688790007,
+      1.368448163344026,
+      0.7362727316862254,
+      0.3726253151479264,
+      0.18045140978368016,
+      0.08324161723329054,
+      0.03653007656037015,
+      0.015138238886031097,
+      0.005865786022644364,
+      0.0021007741082511556,
+      6.934850674702332E-4,
+      2.1548618202044153E-4,
+      6.179626325702729E-5,
+      1.647076170321766E-5,
+      3.656119431379834E-6,
+      3.0846353935855177E-7
+    ]
+  },
+  "5.00 Second Spectral Acceleration": {
+    "xs": [
+      -6.908755779315721,
+      -6.502290170873973,
+      -6.0968250627658085,
+      -5.692842534617867,
+      -5.286388795682763,
+      -4.882242079327857,
+      -4.474141923581687,
+      -4.0686768154735224,
+      -3.6651629274966204,
+      -3.259697819388456,
+      -2.8542327112802917,
+      -2.448767603172127,
+      -2.0402208285265546,
+      -1.6398971199188088,
+      -1.2310014767138553,
+      -0.8278220838865469,
+      -0.42159449003804794,
+      -0.016129381929883644,
+      0.3920420877760237,
+      0.7929925155296614
+    ],
+    "ys": [
+      2.5610687113797286,
+      1.5796610981359254,
+      0.9241851752832643,
+      0.510499546540395,
+      0.2641903251205916,
+      0.12936999343141445,
+      0.05949448413670893,
+      0.026089994832228965,
+      0.010936401864297193,
+      0.004384495443428714,
+      0.0017265312671550285,
+      6.916426859739275E-4,
+      2.83171175679534E-4,
+      1.1473949661541756E-4,
+      4.0481988720243455E-5,
+      1.1786546791456406E-5,
+      2.3469927190508737E-6,
+      7.645970101220592E-8,
+      0.0,
+      0.0
+    ]
+  },
+  "Peak Ground Acceleration": {
+    "xs": [
+      -6.061887011404528,
+      -5.654992310486769,
+      -5.251433780649187,
+      -4.845968672541022,
+      -4.439655747510518,
+      -4.034190639402354,
+      -3.6306105459899607,
+      -3.223888366691745,
+      -2.8184232585835804,
+      -2.4123999590012524,
+      -2.0099154790312257,
+      -1.5994875815809322,
+      -1.1973282616072674,
+      -0.789658080940789,
+      -0.38566248081198456,
+      0.01980262729617973,
+      0.4252677354043441,
+      0.832909122935104,
+      1.235471471385307,
+      1.6428726885203377
+    ],
+    "ys": [
+      18.656234425311315,
+      13.225956628182368,
+      9.15170798568187,
+      6.148262039235705,
+      4.002733950407603,
+      2.5204316993495857,
+      1.5308821379071518,
+      0.8871340321837551,
+      0.4909438176623917,
+      0.2575309154022499,
+      0.12814136421270458,
+      0.05860837911729968,
+      0.02500166184557037,
+      0.009452675419088032,
+      0.003155830078687412,
+      9.024774578774151E-4,
+      2.2139445814584955E-4,
+      4.794864398530266E-5,
+      9.98374097780263E-6,
+      1.745023365440162E-6
+    ]
+  },
+  "0.20 Second Spectral Acceleration": {
+    "xs": [
+      -5.704782974989785,
+      -5.30031936921871,
+      -4.8941864814530085,
+      -4.491841500681089,
+      -4.080441657053109,
+      -3.6769508832486624,
+      -3.2728041668937564,
+      -2.866459937849852,
+      -2.4615808244845034,
+      -2.05572501506252,
+      -1.6502599069543555,
+      -1.2447947988461912,
+      -0.8393296907380268,
+      -0.4338645826298623,
+      -0.028399474521698,
+      0.37843643572024505,
+      0.7839015438284094,
+      1.1878434223960523,
+      1.5933085305042167,
+      1.998773638612381
+    ],
+    "ys": [
+      26.372435877966993,
+      19.44776406642359,
+      13.900222661193535,
+      9.702611883068098,
+      6.53840824587522,
+      4.315703369680324,
+      2.7582056503639403,
+      1.6960189793166203,
+      1.0031907147799508,
+      0.5667522515914662,
+      0.30533047172102024,
+      0.15619418989992767,
+      0.075416694114016,
+      0.03401715730737343,
+      0.014128278932822112,
+      0.005303281094011015,
+      0.00179062624386991,
+      5.466565693089321E-4,
+      1.5253233886997755E-4,
+      4.0517273878088426E-5
+    ]
+  }
+}
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
index b7b105a38..dedc6dc7c 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.02078455097994013,
-      0.013752036153143975,
+      0.02078455097994014,
+      0.013752036153143974,
       0.008853912425965713,
       0.005504502737593539,
       0.0032956032209899913,
-      0.0018514963923265215,
-      9.931435977960565E-4,
+      0.0018514963923265217,
+      9.931435977960567E-4,
       4.956595518220794E-4,
       2.3401548992797762E-4,
-      1.0471944598011255E-4,
-      4.5084212737722834E-5,
-      1.8896301560235415E-5,
-      7.725874681605789E-6,
-      3.039143578552157E-6,
+      1.0471944598011257E-4,
+      4.508421273772284E-5,
+      1.889630156023541E-5,
+      7.725874681605785E-6,
+      3.0391435785521576E-6,
       1.1170515811344102E-6,
-      3.745132401726645E-7,
-      1.075296239780416E-7,
-      2.5960707366581502E-8,
+      3.7451324017266453E-7,
+      1.0752962397804162E-7,
+      2.5960707366581506E-8,
       4.917918081492093E-9,
-      6.503383766857791E-10
+      6.50338376685779E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.003849668670011357,
-      0.002507866418331777,
-      0.0015597948853785957,
-      9.157017059864712E-4,
+      0.0038496686700113564,
+      0.0025078664183317764,
+      0.0015597948853785955,
+      9.157017059864715E-4,
       5.001931310456335E-4,
       2.547249918503188E-4,
       1.1944866239705738E-4,
-      5.2327359356867026E-5,
-      2.1561183371151267E-5,
-      8.400347720866897E-6,
+      5.232735935686701E-5,
+      2.156118337115127E-5,
+      8.400347720866899E-6,
       3.1469958181727794E-6,
-      1.1420236854051993E-6,
+      1.142023685405199E-6,
       3.9303700685767165E-7,
       1.29477426563478E-7,
-      3.7186688126926624E-8,
-      9.324871744942213E-9,
+      3.718668812692663E-8,
+      9.324871744942211E-9,
       1.877882948712356E-9,
       2.8466329320775234E-10,
-      2.6974731510803592E-11,
+      2.6974731510803595E-11,
       1.0385526508492283E-12
     ]
   },
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.03915433626110455,
-      0.02887498777638114,
-      0.020883581441243287,
+      0.039154336261104546,
+      0.028874987776381138,
+      0.02088358144124329,
       0.014675088491569477,
       0.009966398305490464,
       0.006525399875535823,
       0.004122194389111176,
-      0.0025039012846601928,
-      0.0014759816292745378,
-      8.455590549998978E-4,
-      4.744378692952327E-4,
+      0.002503901284660192,
+      0.001475981629274538,
+      8.455590549998983E-4,
+      4.744378692952328E-4,
       2.5614908673281044E-4,
-      1.3579297249796823E-4,
-      6.854218948534534E-5,
-      3.291803684798864E-5,
+      1.357929724979682E-4,
+      6.854218948534535E-5,
+      3.2918036847988655E-5,
       1.4569587193494356E-5,
       5.782794746110381E-6,
       1.9737183250309444E-6,
-      5.657594675445635E-7,
-      1.246294028542241E-7
+      5.657594675445634E-7,
+      1.2462940285422407E-7
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -161,26 +161,26 @@
       1.998773638612381
     ],
     "ys": [
-      0.060547993873405,
-      0.04501093716568888,
-      0.03238422553470723,
+      0.060547993873404996,
+      0.04501093716568889,
+      0.03238422553470724,
       0.022605947101161115,
-      0.01506013117511144,
+      0.015060131175111438,
       0.009690757366506481,
       0.005957079199326996,
-      0.0034901075111582196,
-      0.001962702434309725,
+      0.003490107511158219,
+      0.001962702434309726,
       0.0010598138716072611,
-      5.526846406248314E-4,
+      5.526846406248315E-4,
       2.7876439975788503E-4,
       1.358294857340756E-4,
       6.359388081275606E-5,
-      2.828782529363821E-5,
-      1.1707073491487447E-5,
+      2.8287825293638214E-5,
+      1.170707349148745E-5,
       4.4199232564301465E-6,
-      1.4745471754128643E-6,
+      1.474547175412864E-6,
       4.1424535992947275E-7,
-      9.342364439170644E-8
+      9.342364439170645E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
index 8778b6db2..3cdecfce7 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.017675500237871126,
-      0.011804993270225165,
+      0.017675500237871122,
+      0.011804993270225163,
       0.007916670756587604,
       0.0053491472480445695,
-      0.003631390427708422,
-      0.0023844055384784845,
+      0.0036313904277084216,
+      0.002384405538478485,
       0.0014870231028831253,
       8.355484214788524E-4,
       4.14606577769327E-4,
       1.7579111278565789E-4,
       6.24093534270055E-5,
-      1.824083214413612E-5,
-      4.414927964063778E-6,
-      9.994457044956116E-7,
+      1.8240832144136128E-5,
+      4.414927964063777E-6,
+      9.994457044956114E-7,
       2.4855133647506633E-7,
       7.726459746150785E-8,
       2.121042318488014E-8,
-      4.860565864414977E-9,
-      8.641052442615079E-10,
-      1.0633132855584103E-10
+      4.8605658644149765E-9,
+      8.64105244261508E-10,
+      1.0633132855584105E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.004904504983066265,
-      0.0037556118245414046,
-      0.002900685498117759,
+      0.004904504983066267,
+      0.003755611824541404,
+      0.0029006854981177585,
       0.002197256906365073,
-      0.0015714972511203789,
+      0.0015714972511203793,
       0.001031785345548251,
-      5.988137176440331E-4,
-      2.999898092710794E-4,
-      1.2636087757687212E-4,
-      4.334153727062957E-5,
-      1.172795102583687E-5,
-      2.383247006424206E-6,
+      5.98813717644033E-4,
+      2.999898092710795E-4,
+      1.263608775768721E-4,
+      4.334153727062958E-5,
+      1.1727951025836871E-5,
+      2.3832470064242063E-6,
       3.5209264942037663E-7,
-      3.7851796592772227E-8,
+      3.785179659277221E-8,
       5.963076928168122E-9,
-      1.4910332126633127E-9,
-      3.1417887372376495E-10,
-      5.2511189664780556E-11,
-      5.968234937924544E-12,
+      1.4910332126633125E-9,
+      3.14178873723765E-10,
+      5.251118966478055E-11,
+      5.968234937924543E-12,
       3.1469632224157163E-13
     ]
   },
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      0.022709150996398565,
-      0.01551640012938908,
+      0.022709150996398572,
+      0.015516400129389079,
       0.01063565058866354,
-      0.007250987342509733,
+      0.007250987342509734,
       0.004847475264828739,
-      0.0031114243186504227,
-      0.001878277913233462,
+      0.0031114243186504235,
+      0.0018782779132334624,
       0.001050022497993213,
       5.534113089259501E-4,
-      2.81605357092695E-4,
+      2.8160535709269497E-4,
       1.4369489671881903E-4,
       7.346403339083293E-5,
       3.8325297999058965E-5,
       1.943156997427037E-5,
-      9.42159253961068E-6,
+      9.421592539610682E-6,
       4.197688438855381E-6,
-      1.6696279770654765E-6,
+      1.6696279770654767E-6,
       5.688244700978394E-7,
-      1.6230550529800464E-7,
+      1.6230550529800462E-7,
       3.5499549032952975E-8
     ]
   },
@@ -163,24 +163,24 @@
     "ys": [
       0.04184772415672415,
       0.02851981218255562,
-      0.019028622636528186,
+      0.01902862263652819,
       0.012597694078764633,
       0.008183488070776034,
-      0.005256326568188243,
-      0.0032378832457639955,
-      0.0018635316801681955,
-      9.907119514822526E-4,
+      0.0052563265681882425,
+      0.003237883245763996,
+      0.0018635316801681953,
+      9.907119514822528E-4,
       4.8301305512369827E-4,
-      2.193587945069326E-4,
-      9.551470151347578E-5,
-      4.124782682724971E-5,
-      1.7924007974639768E-5,
-      7.691633829460732E-6,
-      3.1292561141859636E-6,
+      2.193587945069327E-4,
+      9.551470151347579E-5,
+      4.124782682724972E-5,
+      1.7924007974639764E-5,
+      7.69163382946073E-6,
+      3.1292561141859632E-6,
       1.1644839692951632E-6,
       3.815542517446424E-7,
-      1.0444941528551554E-7,
-      2.2656380775801963E-8
+      1.0444941528551556E-7,
+      2.2656380775801956E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
index f83c052f3..505dbaf15 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
@@ -24,19 +24,19 @@
     ],
     "ys": [
       0.6366574720501088,
-      0.4718037479196399,
+      0.47180374791963997,
       0.336364557146257,
-      0.23117962261923944,
+      0.2311796226192394,
       0.15426255108470943,
       0.09868641697941964,
-      0.061682269839009964,
+      0.06168226983900997,
       0.037095482704419605,
-      0.021775137700280892,
+      0.02177513770028089,
       0.012418053525144834,
       0.006834724125143083,
       0.0035759571677002966,
       0.0017322386889934245,
-      7.490722245704206E-4,
+      7.490722245704205E-4,
       2.781308992738419E-4,
       8.555251892469371E-5,
       1.9638736883809428E-5,
@@ -69,9 +69,9 @@
       0.7929925155296614
     ],
     "ys": [
-      0.1684437724485485,
+      0.16844377244854847,
       0.11829589663275786,
-      0.08101452065128259,
+      0.08101452065128258,
       0.05406282717487072,
       0.035127313944556586,
       0.02246250359719528,
@@ -118,15 +118,15 @@
       0.7850465833348313,
       0.6149388088135578,
       0.46880770081149936,
-      0.34810417974850305,
-      0.252326595582187,
+      0.348104179748503,
+      0.25232659558218706,
       0.17814867226367861,
       0.12154240052962642,
       0.07901532677500141,
       0.04903288877565289,
       0.02903200372417984,
       0.016462922915925538,
-      0.008728254448989729,
+      0.00872825444898973,
       0.004380357672598145,
       0.001967488906616791,
       7.622024986858485E-4,
@@ -161,19 +161,19 @@
       1.998773638612381
     ],
     "ys": [
-      0.9277678999858487,
-      0.7537480330381081,
-      0.5931923233025839,
+      0.9277678999858486,
+      0.753748033038108,
+      0.5931923233025838,
       0.45540482519284387,
       0.3391134734752599,
-      0.2480905374176591,
+      0.24809053741765913,
       0.1766116798966622,
-      0.1212300246443606,
+      0.12123002464436061,
       0.07985280215586492,
       0.050147609948821836,
       0.030081503068165788,
       0.01724538444217736,
-      0.009432364207667703,
+      0.009432364207667705,
       0.004883172427187242,
       0.002333377346825734,
       9.819488750632801E-4,
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
index 0b92be7ea..170de46ac 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
@@ -24,25 +24,25 @@
     ],
     "ys": [
       0.05460474620644812,
-      0.03932220026367965,
-      0.02774252188858359,
-      0.019256487920663253,
-      0.013309032474447957,
+      0.039322200263679656,
+      0.027742521888583595,
+      0.01925648792066325,
+      0.013309032474447955,
       0.009158100387208453,
       0.006469954492673557,
-      0.004711825464791652,
-      0.0036144199686035912,
-      0.002923750899350578,
+      0.004711825464791654,
+      0.00361441996860359,
+      0.0029237508993505785,
       0.002458976181859004,
-      0.0020724707675324793,
-      0.001663505866018177,
+      0.002072470767532479,
+      0.0016635058660181767,
       0.0012069209745320141,
-      7.580051949212137E-4,
-      4.028136886385924E-4,
-      1.747374387292788E-4,
-      6.143664863718952E-5,
-      1.6603707164663927E-5,
-      3.281988579552932E-6
+      7.580051949212136E-4,
+      4.0281368863859246E-4,
+      1.7473743872927871E-4,
+      6.143664863718949E-5,
+      1.6603707164663934E-5,
+      3.2819885795529328E-6
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.011183350950193816,
-      0.00820850133786319,
+      0.011183350950193818,
+      0.008208501337863192,
       0.0061259943786559495,
       0.004704029030923134,
       0.003744509775095578,
-      0.003113425325927083,
+      0.0031134253259270835,
       0.0026896900327019677,
       0.0023879637030226157,
-      0.0021175441107187517,
+      0.002117544110718752,
       0.0018011501748482462,
-      0.0014173471729516547,
-      0.0010068130175955078,
-      6.301951022408455E-4,
-      3.44478169914051E-4,
-      1.561396083486973E-4,
-      5.8874162884499284E-5,
-      1.7483012613921882E-5,
+      0.0014173471729516552,
+      0.0010068130175955076,
+      6.301951022408454E-4,
+      3.4447816991405104E-4,
+      1.5613960834869734E-4,
+      5.887416288449926E-5,
+      1.7483012613921885E-5,
       3.8576776780498505E-6,
-      5.776336202494066E-7,
-      3.6035648979050635E-8
+      5.776336202494065E-7,
+      3.603564897905062E-8
     ]
   },
   "Peak Ground Acceleration": {
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.11111072621136198,
+      0.11111072621136196,
       0.09432125494016415,
-      0.07822805599600459,
-      0.06292369383675941,
-      0.04897014435727334,
-      0.036942153943163344,
-      0.027163843299139245,
+      0.07822805599600458,
+      0.0629236938367594,
+      0.04897014435727335,
+      0.03694215394316334,
+      0.02716384329913925,
       0.019537877568746243,
-      0.013915832488455513,
+      0.013915832488455515,
       0.009887221698272164,
-      0.007094041349666845,
-      0.005146435316179506,
-      0.003865608590322206,
-      0.002983766640894719,
+      0.0070940413496668455,
+      0.0051464353161795075,
+      0.0038656085903222065,
+      0.0029837666408947193,
       0.0023260711475453035,
-      0.0017237133487967337,
-      0.00112653887918541,
-      6.015982295191785E-4,
-      2.510477911128341E-4,
-      7.632592705118943E-5
+      0.0017237133487967334,
+      0.0011265388791854103,
+      6.015982295191787E-4,
+      2.510477911128342E-4,
+      7.632592705118942E-5
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.13557175676510383,
-      0.11487697773688868,
+      0.11487697773688867,
       0.09473336922159181,
       0.0757652391662049,
-      0.0580616563992429,
-      0.0430770207607327,
-      0.030893330875149037,
+      0.05806165639924289,
+      0.043077020760732714,
+      0.03089333087514904,
       0.02154336192618488,
       0.014802677054253841,
-      0.010119114510192406,
-      0.006988258677940673,
-      0.00495471722552012,
-      0.003663126515262554,
+      0.010119114510192408,
+      0.006988258677940672,
+      0.004954717225520119,
+      0.0036631265152625545,
       0.002832444396585899,
       0.0022379408457528765,
-      0.0017164930070629654,
-      0.0011926180558950767,
-      6.965535536645008E-4,
+      0.0017164930070629656,
+      0.0011926180558950764,
+      6.96553553664501E-4,
       3.2111317564048023E-4,
-      1.1269789534198823E-4
+      1.1269789534198826E-4
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
index c6edeedbc..dfe267dab 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
@@ -23,24 +23,24 @@
       1.7119945007591926
     ],
     "ys": [
-      0.018666421015364292,
+      0.018666421015364296,
       0.012277714382170499,
-      0.007819753747405412,
-      0.004783588386662285,
-      0.00281121916877259,
-      0.0015540453407317347,
+      0.007819753747405414,
+      0.004783588386662286,
+      0.0028112191687725907,
+      0.0015540453407317345,
       8.285075887238436E-4,
-      4.182733081757243E-4,
+      4.182733081757242E-4,
       2.047796180654526E-4,
-      9.768413828648057E-5,
-      4.582979651500823E-5,
+      9.768413828648056E-5,
+      4.5829796515008224E-5,
       2.1108151934584483E-5,
       9.403078808734168E-6,
       3.952177823009205E-6,
-      1.5239368107090302E-6,
-      5.283693302216128E-7,
+      1.52393681070903E-6,
+      5.283693302216127E-7,
       1.553244886867919E-7,
-      3.807576669004164E-8,
+      3.807576669004163E-8,
       7.285190754922316E-9,
       9.71330593082485E-10
     ]
@@ -69,23 +69,23 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0036839290291613555,
-      0.0023350507514869803,
-      0.001402579620737425,
-      7.930112908299476E-4,
-      4.1808903382999866E-4,
-      2.0733134457052307E-4,
-      9.623213274255235E-5,
+      0.003683929029161356,
+      0.002335050751486981,
+      0.0014025796207374247,
+      7.930112908299475E-4,
+      4.1808903382999877E-4,
+      2.0733134457052302E-4,
+      9.623213274255237E-5,
       4.279209350393816E-5,
       1.848842803384079E-5,
-      7.785121676935123E-6,
-      3.209424466883569E-6,
+      7.785121676935121E-6,
+      3.20942446688357E-6,
       1.2788721198896172E-6,
-      4.764036574053829E-7,
-      1.6510378239619124E-7,
-      4.934185476859842E-8,
-      1.273898355111994E-8,
-      2.6202525850572684E-9,
+      4.7640365740538286E-7,
+      1.6510378239619127E-7,
+      4.9341854768598423E-8,
+      1.2738983551119938E-8,
+      2.620252585057268E-9,
       4.048583749596044E-10,
       3.904486628199482E-11,
       1.53244519278671E-12
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      0.02987894297965618,
-      0.02169931498570595,
-      0.015627345176841462,
+      0.02987894297965619,
+      0.021699314985705948,
+      0.015627345176841466,
       0.011107491120984693,
-      0.0077765862922841225,
-      0.005349775331002555,
-      0.003606839800316037,
+      0.007776586292284122,
+      0.0053497753310025545,
+      0.0036068398003160375,
       0.002364766212564209,
-      0.0015114836562529481,
-      9.383042482967954E-4,
+      0.001511483656252948,
+      9.383042482967953E-4,
       5.672612883032049E-4,
-      3.2775630190425725E-4,
+      3.277563019042573E-4,
       1.837902668533268E-4,
       9.707147245294275E-5,
-      4.821670939105441E-5,
+      4.8216709391054403E-5,
       2.1867540425618328E-5,
       8.832673455739918E-6,
-      3.054523154324783E-6,
-      8.847978732985681E-7,
+      3.0545231543247826E-6,
+      8.84797873298568E-7,
       1.9672786782893157E-7
     ]
   },
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.048301983959234095,
-      0.03504973561764059,
-      0.02474405245474288,
-      0.017095234304717735,
-      0.011415111740065452,
+      0.0350497356176406,
+      0.024744052454742885,
+      0.01709523430471773,
+      0.01141511174006545,
       0.007482577963101015,
-      0.004769873855646252,
-      0.002948091284747602,
-      0.0017725798590443333,
-      0.0010323738247512593,
+      0.0047698738556462535,
+      0.0029480912847476017,
+      0.001772579859044333,
+      0.001032373824751259,
       5.823000408387338E-4,
       3.169405845714303E-4,
-      1.6560745740360768E-4,
-      8.238484623559815E-5,
+      1.6560745740360763E-4,
+      8.238484623559816E-5,
       3.852324830287547E-5,
-      1.6575499019099988E-5,
-      6.439186747078614E-6,
-      2.192582065492888E-6,
-      6.249719391706648E-7,
-      1.423888673803234E-7
+      1.6575499019099995E-5,
+      6.439186747078613E-6,
+      2.1925820654928872E-6,
+      6.249719391706647E-7,
+      1.4238886738032342E-7
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
index 0d1235f96..3efdf0519 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
@@ -23,8 +23,8 @@
       1.7119945007591926
     ],
     "ys": [
-      0.5639424382793681,
-      0.41970430872703995,
+      0.5639424382793682,
+      0.41970430872704,
       0.2996355631700337,
       0.20436506496344023,
       0.13386011296908937,
@@ -33,15 +33,15 @@
       0.02970332088645175,
       0.016962428614047866,
       0.009368748098138395,
-      0.004942501068704083,
+      0.004942501068704084,
       0.002420101079214425,
-      0.0010564988095787104,
+      0.0010564988095787106,
       3.945561117465654E-4,
       1.2048922319737728E-4,
-      2.8266770250121338E-5,
-      4.252380705836178E-6,
+      2.8266770250121335E-5,
+      4.252380705836177E-6,
       4.4029329263288646E-7,
-      2.5735858318493567E-8,
+      2.573585831849357E-8,
       8.240992980384035E-11
     ]
   },
@@ -69,19 +69,19 @@
       0.7929925155296614
     ],
     "ys": [
-      0.1619520024002511,
-      0.11197070315750862,
+      0.16195200240025112,
+      0.11197070315750864,
       0.07461644808670248,
-      0.04806931482649303,
+      0.04806931482649302,
       0.029904421907731286,
       0.01809720511043038,
-      0.010526649862628147,
-      0.00584970360906598,
+      0.010526649862628145,
+      0.0058497036090659794,
       0.003024869157973338,
-      0.0013988990917255157,
+      0.0013988990917255155,
       5.607903420664931E-4,
       1.884917390363045E-4,
-      5.034839107343866E-5,
+      5.034839107343867E-5,
       1.033150576172653E-5,
       1.5403732253339458E-6,
       1.766940560506774E-7,
@@ -115,19 +115,19 @@
       1.6428726885203377
     ],
     "ys": [
-      0.6547357887817038,
+      0.6547357887817037,
       0.5154175476805015,
-      0.39564561622654804,
+      0.3956456162265481,
       0.2946377853731455,
       0.21261726439098355,
       0.14856083770157558,
-      0.1002311229879195,
+      0.10023112298791949,
       0.06449394268051883,
       0.03938928323399141,
-      0.02264433896405345,
-      0.012321069753420743,
+      0.022644338964053448,
+      0.012321069753420741,
       0.006191664090278571,
-      0.0028672800399024163,
+      0.0028672800399024167,
       0.001131585475187518,
       3.666664317975439E-4,
       9.021209601637857E-5,
@@ -164,21 +164,21 @@
       0.7737520693137596,
       0.626158058671475,
       0.4943026693905384,
-      0.3815237316109364,
+      0.38152373161093633,
       0.2849928378328236,
       0.20811270361164624,
-      0.14726293268062965,
-      0.10033741214019079,
+      0.14726293268062962,
+      0.1003374121401908,
       0.06562437576887947,
       0.04081755703105158,
-      0.024074385627209913,
-      0.013446854247539834,
+      0.02407438562720991,
+      0.013446854247539832,
       0.007078613802080741,
       0.003434334658947344,
-      0.0014729955574711107,
-      5.30481521568037E-4,
-      1.532501046018872E-4,
-      3.28644051168842E-5,
+      0.0014729955574711105,
+      5.304815215680369E-4,
+      1.5325010460188717E-4,
+      3.2864405116884194E-5,
       4.5541957008082325E-6,
       3.3625843088903307E-7
     ]
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
index e137d00e4..4fa5a064e 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
@@ -27,20 +27,20 @@
       0.07447849798602045,
       0.05330127231316856,
       0.037102818795138215,
-      0.02523202816726377,
-      0.01661034649634634,
-      0.010874067593129606,
-      0.007089224798368081,
-      0.004735625457686323,
+      0.025232028167263762,
+      0.016610346496346337,
+      0.010874067593129602,
+      0.007089224798368082,
+      0.004735625457686324,
       0.003249464756093951,
-      0.002245495226811023,
-      0.0014914478772558575,
-      8.988552768687261E-4,
-      4.656680939512108E-4,
-      1.9882970591587773E-4,
+      0.0022454952268110224,
+      0.001491447877255857,
+      8.988552768687257E-4,
+      4.6566809395121093E-4,
+      1.988297059158777E-4,
       6.785029212800548E-5,
       1.6876651512201575E-5,
-      2.6537417417255928E-6,
+      2.653741741725593E-6,
       1.7318139402766213E-7,
       1.035570404004172E-10
     ]
@@ -72,23 +72,23 @@
       0.03338701576491687,
       0.024650966455601664,
       0.01764423071929716,
-      0.012269680846161648,
+      0.01226968084616165,
       0.008337057201618096,
-      0.005635024432572457,
+      0.005635024432572453,
       0.003789132702355024,
-      0.002514912378495385,
+      0.0025149123784953837,
       0.001586342905921711,
-      9.014315449747969E-4,
+      9.01431544974797E-4,
       4.4140296504165344E-4,
-      1.792111716976622E-4,
-      5.754118100356995E-5,
+      1.7921117169766222E-4,
+      5.7541181003569944E-5,
       1.4224526877692228E-5,
-      2.2078569144162738E-6,
-      1.888075384391226E-7,
-      2.9165658700616345E-9,
-      1.3533194681297857E-11,
-      1.4761223207476851E-12,
-      7.365315902026216E-14
+      2.2078569144162733E-6,
+      1.8880753843912258E-7,
+      2.916565870061635E-9,
+      1.3533194681297855E-11,
+      1.476122320747685E-12,
+      7.365315902026218E-14
     ]
   },
   "Peak Ground Acceleration": {
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.1304710025872074,
+      0.13047100258720737,
       0.09849712329595017,
       0.07246017969843055,
       0.05191828655903307,
       0.036365265053184825,
-      0.024993217741374765,
-      0.01690096807101634,
+      0.02499321774137477,
+      0.016900968071016344,
       0.011231650127527285,
-      0.007452801108191981,
-      0.005017181957434341,
-      0.003470567929844282,
+      0.007452801108191979,
+      0.005017181957434342,
+      0.003470567929844281,
       0.0024023685398152335,
-      0.001607800226663395,
+      0.0016078002266633952,
       9.514053815001429E-4,
       4.656644721669268E-4,
-      1.7536330043880222E-4,
+      1.7536330043880214E-4,
       4.811667218966292E-5,
-      8.632653500921547E-6,
+      8.632653500921544E-6,
       8.008388400062674E-7,
-      2.268010646406834E-8
+      2.2680106464068337E-8
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.16740950916822125,
-      0.13018273718211873,
+      0.16740950916822123,
+      0.1301827371821187,
       0.09802333688436565,
       0.0720099099078939,
       0.05129669394322607,
       0.03606585232915037,
       0.024916005816203582,
-      0.01691309964162624,
+      0.016913099641626243,
       0.011363408680915812,
-      0.007619737320678115,
-      0.0051864199911304905,
-      0.003611556059854821,
-      0.0025392805366635405,
-      0.0017305585661145017,
+      0.007619737320678117,
+      0.005186419991130491,
+      0.00361155605985482,
+      0.00253928053666354,
+      0.0017305585661145022,
       0.0010724055561078666,
-      5.639609734298513E-4,
+      5.639609734298514E-4,
       2.3956867451954393E-4,
-      7.88212371379923E-5,
-      1.86758419895919E-5,
+      7.882123713799233E-5,
+      1.8675841989591893E-5,
       2.701116080577684E-6
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
index 7d0263436..0e280329d 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
@@ -26,7 +26,7 @@
       0.5831008919911462,
       0.4284199090706749,
       0.3043299517318651,
-      0.20991504534178365,
+      0.20991504534178368,
       0.14211631298661964,
       0.09374868521078619,
       0.061383844950437326,
@@ -69,9 +69,9 @@
       0.7929925155296614
     ],
     "ys": [
-      0.15758937503731724,
-      0.11247692685397598,
-      0.07946884297427433,
+      0.15758937503731726,
+      0.11247692685397596,
+      0.07946884297427431,
       0.05560574371886311,
       0.03824085383493095,
       0.02585465059626231,
@@ -80,7 +80,7 @@
       0.006875269673181763,
       0.004031893488663088,
       0.002153405881721273,
-      0.0010132607735766975,
+      0.0010132607735766973,
       4.0392561747766895E-4,
       1.357315165926373E-4,
       3.5070265791185964E-5,
@@ -117,7 +117,7 @@
     "ys": [
       0.7094470259373502,
       0.5498428629048978,
-      0.41551231478349365,
+      0.4155123147834937,
       0.3063031193282665,
       0.22104888785899784,
       0.15688910340717468,
@@ -126,7 +126,7 @@
       0.04928602923975804,
       0.030791659709764246,
       0.018082373041434497,
-      0.009607207734429657,
+      0.009607207734429656,
       0.004562768246986615,
       0.0017919912792970505,
       5.570645285749892E-4,
@@ -161,24 +161,24 @@
       1.998773638612381
     ],
     "ys": [
-      0.8463434568144551,
-      0.6798282480043855,
+      0.846343456814455,
+      0.6798282480043856,
       0.529575106126662,
       0.4029924331123037,
       0.2978878788706715,
       0.21720849261933428,
-      0.15561695133652084,
-      0.10937917498336788,
+      0.15561695133652087,
+      0.10937917498336787,
       0.07525155479744264,
       0.05001008517906983,
       0.031720239807918466,
-      0.018914948303394893,
+      0.018914948303394897,
       0.010396290099441215,
       0.005116134863810127,
       0.002168905715322163,
       7.537255830739884E-4,
       2.043519900756787E-4,
-      3.950315353965147E-5,
+      3.950315353965148E-5,
       4.114149996331726E-6,
       1.1332666265240457E-7
     ]
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
index 2480ad4d3..3f161bcae 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
+++ b/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
@@ -27,18 +27,18 @@
       0.15035830377424855,
       0.11450746102005706,
       0.08372212205395722,
-      0.05905693494677332,
+      0.059056934946773325,
       0.03979043310304015,
       0.02608186984634462,
-      0.016390117896193383,
+      0.01639011789619338,
       0.009939769051733804,
       0.005732292608201422,
-      0.003091115228735578,
+      0.0030911152287355775,
       0.0015239775147447624,
-      6.709168675782274E-4,
+      6.709168675782273E-4,
       2.574847006859803E-4,
-      8.378741714286619E-5,
-      2.251661394813441E-5,
+      8.37874171428662E-5,
+      2.2516613948134413E-5,
       4.500727576177568E-6,
       6.144243207535918E-7,
       4.524870395276403E-8,
@@ -71,19 +71,19 @@
     "ys": [
       0.05798340021258256,
       0.041904227365681966,
-      0.02936624320782965,
-      0.019925269776090406,
-      0.013059136945119225,
+      0.029366243207829653,
+      0.01992526977609041,
+      0.013059136945119223,
       0.008356470041248173,
-      0.005219092927360336,
-      0.003208797580883965,
-      0.0019199405262616406,
+      0.005219092927360337,
+      0.0032087975808839653,
+      0.0019199405262616404,
       0.0010855264302155057,
       5.619278902307795E-4,
       2.563270845634497E-4,
       9.79582646732166E-5,
       3.093950684856507E-5,
-      7.16468333650589E-6,
+      7.164683336505891E-6,
       9.927613969917701E-7,
       3.041624502650113E-8,
       2.0591305604095127E-11,
@@ -117,22 +117,22 @@
     "ys": [
       0.247718930784228,
       0.21523675836712636,
-      0.18161823548824618,
+      0.18161823548824615,
       0.1478057991464071,
       0.11545178047071233,
-      0.08622984829115032,
-      0.061430834058407394,
-      0.04147832026039659,
+      0.08622984829115031,
+      0.0614308340584074,
+      0.0414783202603966,
       0.026613647847004044,
-      0.016122062107857674,
+      0.016122062107857667,
       0.009167459234650009,
-      0.004722903807205595,
+      0.0047229038072055946,
       0.002214599540841417,
       8.96285507325836E-4,
       3.067999345972684E-4,
-      8.26732251311331E-5,
+      8.267322513113308E-5,
       1.5932119719803484E-5,
-      1.7946631532952554E-6,
+      1.7946631532952552E-6,
       1.06895828117477E-7,
       6.68125464781831E-10
     ]
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.2721574775594709,
-      0.24281747775616974,
+      0.27215747755947084,
+      0.24281747775616977,
       0.2111408438896052,
       0.17854755392401112,
-      0.14527845926431032,
-      0.11415150096883399,
+      0.14527845926431035,
+      0.11415150096883397,
       0.08587864028339966,
-      0.06154846143016319,
-      0.04205905132892356,
+      0.0615484614301632,
+      0.04205905132892357,
       0.02729969817162939,
       0.01678063082631571,
       0.009668716589318763,
-      0.005145168066638074,
+      0.005145168066638075,
       0.002484010178699564,
-      0.0010642217286274949,
+      0.0010642217286274947,
       3.910335843512345E-4,
-      1.1883832638818703E-4,
+      1.1883832638818702E-4,
       2.8076658021732084E-5,
-      4.561137287903132E-6,
+      4.561137287903131E-6,
       4.7281340794708457E-7
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
index 8d7aa7389..5fbf85280 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
@@ -23,25 +23,25 @@
       1.7119945007591926
     ],
     "ys": [
-      0.012035250953950494,
+      0.012035250953950498,
       0.008136450513957992,
-      0.005357340154375908,
-      0.0034038199938644176,
+      0.005357340154375906,
+      0.003403819993864419,
       0.002075982258963484,
-      0.001182204173473093,
+      0.0011822041734730927,
       6.381637241440367E-4,
       3.1805354126301E-4,
       1.488509696381637E-4,
-      6.570858797962465E-5,
+      6.570858797962464E-5,
       2.7907226394671618E-5,
-      1.1603173073102035E-5,
+      1.160317307310204E-5,
       4.7473682801237555E-6,
-      1.8823085054717084E-6,
-      6.98596873660417E-7,
-      2.3617353275626016E-7,
-      6.822723750146086E-8,
+      1.8823085054717088E-6,
+      6.985968736604167E-7,
+      2.3617353275626022E-7,
+      6.822723750146087E-8,
       1.654170745318874E-8,
-      3.143062035320596E-9,
+      3.143062035320597E-9,
       4.1677143037056364E-10
     ]
   },
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0025398230942089003,
-      0.0017004849473223665,
+      0.0025398230942089,
+      0.0017004849473223659,
       0.001080537204575473,
-      6.427743459107484E-4,
+      6.427743459107483E-4,
       3.5250053778408794E-4,
       1.784508617487966E-4,
-      8.235649641224025E-5,
-      3.5182590081705696E-5,
-      1.403981672242182E-5,
+      8.235649641224018E-5,
+      3.51825900817057E-5,
+      1.4039816722421815E-5,
       5.2925574919901536E-6,
       1.931873813330582E-6,
       6.930280662347881E-7,
       2.387560829136424E-7,
       7.949667457419139E-8,
-      2.3033109721002644E-8,
-      5.814345246474628E-9,
-      1.1768734801565264E-9,
-      1.792115851877492E-10,
+      2.3033109721002647E-8,
+      5.814345246474629E-9,
+      1.1768734801565262E-9,
+      1.7921158518774916E-10,
       1.707680249601977E-11,
-      6.62097588930325E-13
+      6.620975889303252E-13
     ]
   },
   "Peak Ground Acceleration": {
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.02213379730539752,
-      0.0164647882211437,
-      0.011993007697334197,
+      0.022133797305397513,
+      0.01646478822114371,
+      0.011993007697334196,
       0.008469921726676995,
-      0.005769422436667969,
-      0.003785234685317906,
-      0.002398028509210169,
-      0.0014644603827730185,
-      8.708938689719436E-4,
+      0.0057694224366679715,
+      0.0037852346853179046,
+      0.0023980285092101684,
+      0.0014644603827730191,
+      8.708938689719437E-4,
       5.050137904309896E-4,
       2.8744285592528334E-4,
-      1.5759519816243767E-4,
+      1.5759519816243778E-4,
       8.474954902281691E-5,
-      4.331566395015309E-5,
-      2.1006734979279988E-5,
-      9.364687468186963E-6,
-      3.735891954644456E-6,
-      1.2797193572338944E-6,
-      3.67772575785392E-7,
-      8.117385475823622E-8
+      4.3315663950153084E-5,
+      2.1006734979279977E-5,
+      9.36468746818696E-6,
+      3.7358919546444565E-6,
+      1.2797193572338942E-6,
+      3.6777257578539196E-7,
+      8.117385475823618E-8
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -161,23 +161,23 @@
       1.998773638612381
     ],
     "ys": [
-      0.03366552771204859,
-      0.02527490175327034,
-      0.018363592179908055,
+      0.03366552771204858,
+      0.025274901753270337,
+      0.018363592179908052,
       0.012936884452302021,
       0.008688945266911698,
       0.005625605703707623,
-      0.0034731062327398466,
+      0.0034731062327398453,
       0.002041414499953952,
       0.0011521441250253442,
-      6.256035783742621E-4,
-      3.2905129521755506E-4,
+      6.256035783742622E-4,
+      3.2905129521755496E-4,
       1.6788122677082186E-4,
       8.289006542304934E-5,
-      3.932990927477222E-5,
-      1.7706321554642288E-5,
-      7.400623622880162E-6,
-      2.8151709437106127E-6,
+      3.932990927477223E-5,
+      1.770632155464228E-5,
+      7.400623622880165E-6,
+      2.8151709437106135E-6,
       9.444508782310243E-7,
       2.6643564801230023E-7,
       6.028000859708367E-8
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
index 1f2a728aa..b97856e47 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
@@ -26,22 +26,22 @@
       0.011743450939977121,
       0.008125308944564938,
       0.005699841355233887,
-      0.00406333147985499,
-      0.0029149327525478563,
-      0.0020116574917099918,
-      0.0013023024188037928,
+      0.004063331479854992,
+      0.002914932752547856,
+      0.002011657491709991,
+      0.0013023024188037935,
       7.508580888508446E-4,
-      3.779758912608104E-4,
-      1.6076657926219104E-4,
-      5.640450250928886E-5,
-      1.5854840222432904E-5,
-      3.466602438623995E-6,
-      6.276175503615022E-7,
-      1.1311107110879796E-7,
-      3.290169505019904E-8,
+      3.779758912608106E-4,
+      1.607665792621911E-4,
+      5.640450250928885E-5,
+      1.5854840222432897E-5,
+      3.4666024386239945E-6,
+      6.276175503615024E-7,
+      1.1311107110879792E-7,
+      3.2901695050199055E-8,
       8.920167427589633E-9,
-      2.038107845413768E-9,
-      3.6171947320353567E-10,
+      2.0381078454137677E-9,
+      3.617194732035356E-10,
       4.4457055160088465E-11
     ]
   },
@@ -70,24 +70,24 @@
     ],
     "ys": [
       0.0039146752310542585,
-      0.003145124290559445,
-      0.0025399851047794315,
+      0.0031451242905594454,
+      0.002539985104779431,
       0.001995407146569926,
-      0.001466395407299436,
-      9.810785158310077E-4,
-      5.766625095711311E-4,
-      2.9122083149339613E-4,
-      1.232330188062812E-4,
-      4.232930941434378E-5,
+      0.0014663954072994363,
+      9.81078515831008E-4,
+      5.766625095711314E-4,
+      2.9122083149339624E-4,
+      1.2323301880628126E-4,
+      4.23293094143438E-5,
       1.1417819112031974E-5,
-      2.2849179959791714E-6,
+      2.284917995979172E-6,
       3.189051251922006E-7,
-      2.6634716674399806E-8,
-      2.631094090897222E-9,
-      6.434177330359819E-10,
-      1.3439312600713073E-10,
-      2.231605774414246E-11,
-      2.5216333075047996E-12,
+      2.6634716674399803E-8,
+      2.631094090897221E-9,
+      6.434177330359818E-10,
+      1.343931260071307E-10,
+      2.2316057744142464E-11,
+      2.521633307504799E-12,
       1.3184079536599202E-13
     ]
   },
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      0.014201965383094012,
+      0.014201965383094008,
       0.009836661064584256,
       0.00688705539510868,
-      0.004822972654784705,
-      0.0033064514318962607,
+      0.004822972654784704,
+      0.0033064514318962616,
       0.0021523212203669317,
-      0.0012913959704858482,
+      0.0012913959704858489,
       6.980789885746676E-4,
-      3.448995349275183E-4,
-      1.5983798459686E-4,
-      7.339650238789367E-5,
+      3.4489953492751826E-4,
+      1.5983798459686004E-4,
+      7.33965023878937E-5,
       3.422789089731295E-5,
-      1.684649129768914E-5,
+      1.6846491297689144E-5,
       8.285358896839056E-6,
       3.961387655798772E-6,
-      1.7527896460680702E-6,
-      6.948067057717803E-7,
-      2.3627402069950382E-7,
-      6.733661284906265E-8,
+      1.7527896460680704E-6,
+      6.948067057717802E-7,
+      2.362740206995038E-7,
+      6.733661284906263E-8,
       1.4715213946019287E-8
     ]
   },
@@ -161,23 +161,23 @@
       1.998773638612381
     ],
     "ys": [
-      0.025849572713385078,
+      0.02584957271338508,
       0.017753646580124727,
       0.012007008129215242,
-      0.008128801283198313,
-      0.005452530605807158,
-      0.003624262405743753,
-      0.0022943030500296832,
-      0.001336358312687872,
+      0.008128801283198312,
+      0.005452530605807154,
+      0.0036242624057437533,
+      0.002294303050029684,
+      0.0013363583126878719,
       7.036603069604338E-4,
-      3.306108853376622E-4,
-      1.4009518367835515E-4,
-      5.519989279512792E-5,
+      3.30610885337662E-4,
+      1.4009518367835518E-4,
+      5.5199892795127905E-5,
       2.1302618500609412E-5,
-      8.422390673359914E-6,
-      3.4034559898394313E-6,
-      1.3409496391300432E-6,
-      4.906709317661949E-7,
+      8.422390673359909E-6,
+      3.4034559898394304E-6,
+      1.3409496391300434E-6,
+      4.90670931766195E-7,
       1.5953368600015112E-7,
       4.3540972907165534E-8,
       9.429156219063078E-9
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
index 23015a46c..d87509be8 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.03810825840039235,
+      0.03810825840039236,
       0.028315881963472067,
-      0.02067222579712637,
-      0.014870841055017733,
-      0.010645178514638955,
-      0.007579226339112701,
-      0.0055251463093844875,
+      0.020672225797126374,
+      0.014870841055017734,
+      0.01064517851463895,
+      0.007579226339112702,
+      0.005525146309384491,
       0.004150104336178289,
-      0.003283276894229401,
+      0.0032832768942294005,
       0.002736483538207061,
       0.0023616078072307626,
-      0.002030219304310808,
-      0.0016536229943857194,
+      0.0020302193043108072,
+      0.0016536229943857192,
       0.0012136295169658802,
-      7.696144694320111E-4,
-      4.122710029507206E-4,
-      1.800302271541464E-4,
-      6.366327102023257E-5,
-      1.7295674975518616E-5,
-      3.4296680438421233E-6
+      7.696144694320107E-4,
+      4.122710029507207E-4,
+      1.8003022715414643E-4,
+      6.366327102023256E-5,
+      1.729567497551861E-5,
+      3.4296680438421225E-6
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -71,22 +71,22 @@
     "ys": [
       0.009208490572401863,
       0.006949044290028717,
-      0.005306022483737847,
-      0.004155982807154482,
-      0.003374832319325518,
+      0.005306022483737845,
+      0.00415598280715448,
+      0.003374832319325517,
       0.002867336657508213,
-      0.002533893806258885,
-      0.0022965778496380268,
-      0.0020710240709275645,
+      0.0025338938062588858,
+      0.002296577849638026,
+      0.002071024070927564,
       0.0017848984735762317,
-      0.001418999638814905,
-      0.0010161066741280161,
-      6.401986492207043E-4,
-      3.5185659206844706E-4,
-      1.602357327667651E-4,
-      6.062719466111046E-5,
-      1.8059984462885995E-5,
-      3.9926066915865275E-6,
+      0.0014189996388149055,
+      0.001016106674128016,
+      6.401986492207045E-4,
+      3.51856592068447E-4,
+      1.6023573276676502E-4,
+      6.062719466111044E-5,
+      1.8059984462885992E-5,
+      3.992606691586526E-6,
       5.941978049955505E-7,
       3.907477602123017E-8
     ]
@@ -116,25 +116,25 @@
     ],
     "ys": [
       0.07385719651712237,
-      0.06339731846609975,
-      0.05324739058832816,
-      0.043509642846070895,
+      0.06339731846609972,
+      0.053247390588328176,
+      0.0435096428460709,
       0.03455200231823049,
-      0.026735789278431787,
+      0.026735789278431794,
       0.020266534158040125,
-      0.01509405033443092,
-      0.011160466116674343,
-      0.008243233670157541,
-      0.0061494188660755605,
-      0.004638605840165205,
-      0.003608161085317767,
-      0.002866709709782482,
-      0.0022820277341210927,
-      0.001717390229349368,
+      0.015094050334430918,
+      0.011160466116674341,
+      0.00824323367015754,
+      0.006149418866075564,
+      0.004638605840165206,
+      0.0036081610853177662,
+      0.0028667097097824813,
+      0.0022820277341210914,
+      0.0017173902293493681,
       0.0011387960982620043,
-      6.206346289257641E-4,
-      2.6764854641832855E-4,
-      8.559018237373798E-5
+      6.20634628925764E-4,
+      2.676485464183286E-4,
+      8.5590182373738E-5
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.08841662701849765,
-      0.07591742600201584,
+      0.07591742600201583,
       0.0634904922902513,
-      0.051596546236035525,
-      0.04033861199238174,
+      0.05159654623603554,
+      0.040338611992381736,
       0.030668710568369003,
-      0.022664718736152695,
+      0.0226647187361527,
       0.016375571535456927,
       0.011700180723249342,
-      0.008331012521430115,
-      0.005991828443927452,
-      0.004419617060158351,
-      0.0033904787433168895,
-      0.0027048874719714623,
-      0.0021874716446254974,
-      0.0017054340574167855,
-      0.001200911759714859,
-      7.123552774961518E-4,
-      3.3561010223032644E-4,
-      1.2135441742664017E-4
+      0.008331012521430117,
+      0.0059918284439274515,
+      0.004419617060158352,
+      0.0033904787433168887,
+      0.002704887471971463,
+      0.0021874716446254982,
+      0.001705434057416785,
+      0.0012009117597148592,
+      7.123552774961516E-4,
+      3.3561010223032633E-4,
+      1.2135441742664015E-4
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
index 8489046f6..59c5ea63c 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.012374804522292665,
-      0.00836661557414539,
-      0.005447933203374219,
-      0.003381935579235244,
+      0.012374804522292667,
+      0.008366615574145388,
+      0.005447933203374217,
+      0.0033819355792352452,
       0.0020006567971856686,
       0.001105422985268529,
-      5.859581677512344E-4,
-      2.932121678682943E-4,
+      5.859581677512342E-4,
+      2.9321216786829424E-4,
       1.421916075501724E-4,
-      6.726067803272613E-5,
-      3.134520433789695E-5,
-      1.4361751527596112E-5,
+      6.726067803272612E-5,
+      3.134520433789696E-5,
+      1.4361751527596114E-5,
       6.369510633138831E-6,
-      2.6653684534293633E-6,
+      2.6653684534293637E-6,
       1.0234643150923622E-6,
       3.5363710757446497E-7,
-      1.0369647752886428E-7,
-      2.5379169471070928E-8,
+      1.0369647752886425E-7,
+      2.5379169471070924E-8,
       4.851084599984121E-9,
-      6.46313530549038E-10
+      6.463135305490378E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -71,21 +71,21 @@
     "ys": [
       0.0026995587713563303,
       0.0017298562174529152,
-      0.001043724658751179,
-      5.893703808209606E-4,
+      0.0010437246587511788,
+      5.893703808209609E-4,
       3.0866135946543816E-4,
       1.5129449159709626E-4,
-      6.909234873826654E-5,
+      6.909234873826656E-5,
       3.0170083088739845E-5,
-      1.2820296859449097E-5,
-      5.334744194862448E-6,
-      2.185079599428793E-6,
-      8.683687558905425E-7,
+      1.2820296859449096E-5,
+      5.334744194862449E-6,
+      2.1850795994287938E-6,
+      8.683687558905424E-7,
       3.2288483966793267E-7,
-      1.1154021351741911E-7,
+      1.1154021351741914E-7,
       3.321633846097989E-8,
       8.550579030900382E-9,
-      1.7547455322744304E-9,
+      1.7547455322744306E-9,
       2.7055513137256066E-10,
       2.6042457346830447E-11,
       1.0203573556440597E-12
@@ -116,25 +116,25 @@
     ],
     "ys": [
       0.020286596128412503,
-      0.015122005526298516,
-      0.011082055927620179,
+      0.015122005526298518,
+      0.011082055927620184,
       0.007943124693114981,
-      0.005565081037653392,
+      0.005565081037653395,
       0.003811541282858031,
       0.0025512684613907275,
       0.0016581992888227435,
-      0.00105005091277049,
+      0.0010500509127704901,
       6.457811692687935E-4,
-      3.870049228081459E-4,
-      2.2185052288528712E-4,
+      3.870049228081458E-4,
+      2.2185052288528707E-4,
       1.2362061855638126E-4,
       6.497784148592093E-5,
-      3.216899369858368E-5,
-      1.455852463747632E-5,
-      5.8727160120042536E-6,
-      2.0292486972166206E-6,
-      5.875115950380291E-7,
-      1.3058577801930755E-7
+      3.216899369858367E-5,
+      1.4558524637476322E-5,
+      5.872716012004253E-6,
+      2.02924869721662E-6,
+      5.875115950380294E-7,
+      1.3058577801930758E-7
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.03092438557753146,
-      0.02315867011221307,
+      0.023158670112213064,
       0.0168266446727544,
       0.011887481789564946,
-      0.008051319708031234,
-      0.005306104962367634,
-      0.003378081358145652,
-      0.0020768787211988505,
-      0.0012402052719531734,
+      0.008051319708031236,
+      0.005306104962367635,
+      0.003378081358145653,
+      0.00207687872119885,
+      0.001240205271953173,
       7.171120777581216E-4,
       4.0159722262661073E-4,
-      2.1704931466717472E-4,
-      1.126383063319517E-4,
-      5.568561701454468E-5,
-      2.5902604304970156E-5,
-      1.110015884696405E-5,
+      2.1704931466717478E-4,
+      1.1263830633195167E-4,
+      5.5685617014544695E-5,
+      2.5902604304970153E-5,
+      1.1100158846964052E-5,
       4.29968921259496E-6,
       1.461140887787391E-6,
-      4.1591376645650743E-7,
-      9.46717016675041E-8
+      4.1591376645650764E-7,
+      9.467170166750412E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
index c300fc1f8..2fe950c9b 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
@@ -76,11 +76,11 @@
       0.02114650811223566,
       0.012726247663438568,
       0.007323504383620474,
-      0.0040144093270540835,
+      0.004014409327054083,
       0.00205488138625064,
       9.525469423918409E-4,
       3.8994761986655535E-4,
-      1.3652451696297347E-4,
+      1.3652451696297344E-4,
       3.884698378921924E-5,
       8.873557780140218E-6,
       1.3451231092798012E-6,
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
index 8ea1f3af4..387ec8fbc 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
+++ b/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
@@ -23,20 +23,20 @@
       1.7119945007591926
     ],
     "ys": [
-      0.19897581677887666,
+      0.19897581677887669,
       0.1577395573051793,
       0.12044861188465388,
-      0.08849701093209443,
-      0.06286360738094342,
-      0.04276589752771625,
+      0.08849701093209442,
+      0.0628636073809434,
+      0.04276589752771626,
       0.028375492860898792,
-      0.01809939308657242,
+      0.018099393086572425,
       0.011162206885093687,
       0.006559356758212913,
       0.0036143759422569417,
-      0.0018285570367639595,
-      8.296667905783595E-4,
-      3.284945561883995E-4,
+      0.0018285570367639593,
+      8.296667905783596E-4,
+      3.2849455618839946E-4,
       1.0963455941947854E-4,
       2.9696131236439645E-5,
       5.805827780831235E-6,
@@ -71,20 +71,20 @@
     "ys": [
       0.057458910275419064,
       0.04119453721482716,
-      0.028738886126215488,
+      0.02873888612621549,
       0.019517266040986556,
       0.012865085501768908,
       0.008286940358446314,
       0.0051778287701842295,
-      0.0031351056053247803,
+      0.003135105605324782,
       0.0018040520137694123,
-      9.550967828148114E-4,
-      4.525051792337519E-4,
-      1.8601411939532498E-4,
-      6.34002565523996E-5,
-      1.774413744796897E-5,
-      3.6119400522511268E-6,
-      4.3771634950397886E-7,
+      9.550967828148112E-4,
+      4.525051792337518E-4,
+      1.8601411939532503E-4,
+      6.340025655239959E-5,
+      1.774413744796896E-5,
+      3.6119400522511263E-6,
+      4.377163495039788E-7,
       1.040241402813071E-8,
       1.7354534758719045E-11,
       0.0,
@@ -123,7 +123,7 @@
       0.08487402243951296,
       0.060122997722412225,
       0.0404714992516234,
-      0.02594656372389899,
+      0.025946563723898995,
       0.015770187065794868,
       0.009079699272726408,
       0.00481041227280926,
@@ -132,8 +132,8 @@
       3.7074288922810117E-4,
       1.0887407546288273E-4,
       2.3944480179971553E-5,
-      3.4423038486722723E-6,
-      2.7874999242876813E-7,
+      3.4423038486722727E-6,
+      2.787499924287682E-7,
       6.628896595304417E-9
     ]
   },
@@ -163,19 +163,19 @@
     "ys": [
       0.2869636502669868,
       0.25417973544818384,
-      0.21906830834876057,
+      0.21906830834876054,
       0.1834844524639711,
       0.14787713473344755,
       0.11527966254404634,
       0.08627079311437469,
       0.061710212057459315,
-      0.042236373054862816,
-      0.027568734753433105,
+      0.04223637305486283,
+      0.02756873475343311,
       0.017153092866713564,
       0.010123007487523891,
       0.00561719974969265,
-      0.0028886570138894493,
-      0.0013460854387742321,
+      0.002888657013889449,
+      0.0013460854387742323,
       5.496026708999016E-4,
       1.9120436392156004E-4,
       5.465049981000188E-5,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
index acb6169c7..8669ded72 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
@@ -41,8 +41,8 @@
       1.0771529770871668E-4,
       2.7590429340726252E-5,
       6.106383784135073E-6,
-      9.141545957726994E-7,
-      4.71665831873734E-8
+      9.141545957726993E-7,
+      4.716658318737339E-8
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,19 +69,19 @@
       0.7929925155296614
     ],
     "ys": [
-      0.24225805041057027,
+      0.24225805041057025,
       0.1626494298061276,
-      0.11286823232748021,
+      0.11286823232748022,
       0.08019936527365806,
       0.057001082377164766,
       0.03977231046422921,
       0.026270923994779784,
-      0.015930018206043797,
+      0.0159300182060438,
       0.008586807484419114,
       0.0040091692633346795,
       0.0016237229130359049,
       5.831580842583807E-4,
-      1.9354910833413707E-4,
+      1.935491083341371E-4,
       6.446411351755592E-5,
       2.0541404464536928E-5,
       5.89324452995356E-6,
@@ -125,11 +125,11 @@
       0.3230521403675808,
       0.19728774899189122,
       0.11230291486323443,
-      0.059998792401783616,
+      0.05999879240178362,
       0.029038427625475594,
-      0.012752442114810742,
+      0.012752442114810743,
       0.004825259624029285,
-      0.0015856433122290357,
+      0.0015856433122290355,
       4.467361996202859E-4,
       1.0815891326044897E-4,
       2.1501975995084003E-5,
@@ -164,7 +164,7 @@
       1.4371068709113273,
       1.3442294606163503,
       1.2504550788598903,
-      1.1451084785403978,
+      1.145108478540398,
       1.0076845134906758,
       0.8393355383077514,
       0.6496537972367906,
@@ -172,11 +172,11 @@
       0.3035348264320895,
       0.18409848770017573,
       0.10404729414822564,
-      0.05492082710147256,
+      0.054920827101472565,
       0.026929508320917738,
       0.012117250742785222,
       0.004912231979440461,
-      0.0017509584506394302,
+      0.0017509584506394304,
       5.433850247572385E-4,
       1.4341185451814312E-4,
       3.1018961899754435E-5,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
index 03cb7fa83..cf16ace18 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
@@ -26,8 +26,8 @@
       0.1096176362431887,
       0.07712267985209978,
       0.052362164725512236,
-      0.03410083982464373,
-      0.02132788570031522,
+      0.03410083982464372,
+      0.021327885700315224,
       0.012597455865731777,
       0.007195466062794852,
       0.0039020156778838797,
@@ -36,13 +36,13 @@
       4.744665345271375E-4,
       2.0784677016393618E-4,
       8.354936782969439E-5,
-      3.026236240556082E-5,
+      3.0262362405560818E-5,
       9.700628718654082E-6,
       2.7338866176016795E-6,
-      6.418080520161568E-7,
+      6.418080520161567E-7,
       1.2432205810419981E-7,
       1.6644800833465068E-8,
-      8.894088492362763E-10
+      8.894088492362762E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -70,7 +70,7 @@
     ],
     "ys": [
       0.023279814179665247,
-      0.015258454706800593,
+      0.015258454706800595,
       0.009636588671134795,
       0.0058636185962218715,
       0.0034303179683354557,
@@ -83,7 +83,7 @@
       2.5779423268780836E-5,
       9.34540879758316E-6,
       3.0570885601346303E-6,
-      8.448187381597024E-7,
+      8.448187381597023E-7,
       2.0283376419955368E-7,
       3.799045552673217E-8,
       5.257992980887434E-9,
@@ -119,17 +119,17 @@
       0.12117474522250349,
       0.08821017091766083,
       0.06247545594775962,
-      0.042941143275123106,
+      0.0429411432751231,
       0.028525687803782396,
       0.018224455950293393,
-      0.011059987400758737,
-      0.006364262004183083,
+      0.011059987400758736,
+      0.006364262004183082,
       0.0034377054571609225,
       0.0017388253798322879,
       7.965440914871203E-4,
       3.3531414903647464E-4,
       1.2359465951104756E-4,
-      3.997349646564974E-5,
+      3.997349646564973E-5,
       1.1017452326436623E-5,
       2.556220564845531E-6,
       4.819237373193018E-7,
@@ -162,18 +162,18 @@
     ],
     "ys": [
       0.20884911299107894,
-      0.1614581046884402,
+      0.16145810468844024,
       0.1199907491643427,
       0.08664281640904029,
-      0.06035281081025549,
-      0.041136602866201834,
-      0.027122373299762817,
+      0.06035281081025548,
+      0.04113660286620183,
+      0.02712237329976281,
       0.017158998663766196,
       0.010389832056442814,
-      0.005966842420004628,
-      0.003237425806138684,
+      0.005966842420004629,
+      0.0032374258061386835,
       0.0016481130397465967,
-      7.801989781232736E-4,
+      7.801989781232735E-4,
       3.388907756049955E-4,
       1.3261398028112855E-4,
       4.5544380625508945E-5,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
index af0bf1285..700f75ca9 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
@@ -23,23 +23,23 @@
       1.7119945007591926
     ],
     "ys": [
-      0.9310649618626424,
+      0.9310649618626425,
       0.7152683525622627,
-      0.5254960437436178,
-      0.37057192881004797,
+      0.5254960437436177,
+      0.37057192881004786,
       0.2536030693592891,
       0.1673342748557868,
       0.10852163641624823,
       0.06764805605345484,
-      0.040421250385918366,
-      0.022759302561329985,
+      0.04042125038591836,
+      0.022759302561329988,
       0.012035453130050871,
-      0.00600136140103962,
+      0.006001361401039622,
       0.002825403258669261,
-      0.0012397199668725762,
-      4.913127725890903E-4,
+      0.0012397199668725764,
+      4.913127725890904E-4,
       1.6916652515186739E-4,
-      4.6081848166959275E-5,
+      4.608184816695928E-5,
       9.142956045358946E-6,
       1.067682459238504E-6,
       4.413524073773537E-8
@@ -72,21 +72,21 @@
       0.191466520506286,
       0.13554779250681923,
       0.09647775115759329,
-      0.06847614819048335,
-      0.04772578379364717,
+      0.06847614819048337,
+      0.04772578379364716,
       0.03208679105889853,
-      0.020129540279605,
+      0.020129540279605004,
       0.011639202185119844,
       0.006195139919067763,
-      0.003075883535659292,
+      0.0030758835356592914,
       0.0014771509658122375,
       7.061929082246017E-4,
       3.34514415859711E-4,
       1.5467986387544445E-4,
       6.363609376236911E-5,
-      2.2471316830324507E-5,
+      2.247131683032451E-5,
       6.219516642047412E-6,
-      1.2615492254822045E-6,
+      1.2615492254822047E-6,
       1.5297532779407637E-7,
       7.198489307670766E-9
     ]
@@ -117,23 +117,23 @@
     "ys": [
       1.3099486083268739,
       1.199523417668875,
-      1.0517265084684115,
+      1.0517265084684118,
       0.8707860874217463,
       0.6765138623146243,
       0.493401638622512,
       0.33992289432676787,
-      0.2219280315648062,
+      0.22192803156480623,
       0.13847632521718928,
-      0.08175333860325448,
+      0.0817533386032545,
       0.04511099205028912,
       0.022490754664834876,
       0.010374939794256521,
-      0.004313773760782856,
-      0.0016216028906538638,
+      0.004313773760782855,
+      0.0016216028906538636,
       5.238693662990279E-4,
-      1.3772717633153163E-4,
-      2.676199733991637E-5,
-      3.5045913382111136E-6,
+      1.377271763315316E-4,
+      2.6761997339916372E-5,
+      3.504591338211114E-6,
       2.30974963417142E-7
     ]
   },
@@ -167,16 +167,16 @@
       1.0275173511479154,
       0.842703120792494,
       0.6513972997833428,
-      0.4724290039202468,
-      0.3221706088273527,
+      0.47242900392024684,
+      0.32217060882735266,
       0.20861884543377657,
       0.128355896587962,
       0.07482094551740774,
       0.040954079958872666,
       0.02092944382070038,
       0.009967533485864722,
-      0.00440016525662616,
-      0.0017609227596797564,
+      0.004400165256626161,
+      0.0017609227596797569,
       6.180891817013114E-4,
       1.815463526788613E-4,
       4.1290331752591286E-5,
-- 
GitLab


From 8ea5743a5769dff80c658d405282f6ad0d2c19d0 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 09:42:11 -0700
Subject: [PATCH 39/57] Move to single test file

---
 .../earthquake/nshmp/model/NshmTests.java     | 131 ++++++++++++++++++
 .../nshmp/model/NshmTestsConus2018.java       |  18 ---
 .../nshmp/model/NshmTestsHawaii2021.java      |  18 ---
 3 files changed, 131 insertions(+), 36 deletions(-)
 create mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
 delete mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
 delete mode 100644 src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
new file mode 100644
index 000000000..e430ee8a6
--- /dev/null
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
@@ -0,0 +1,131 @@
+package gov.usgs.earthquake.nshmp.model;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Set;
+
+import org.junit.jupiter.api.Test;
+
+import gov.usgs.earthquake.nshmp.NamedLocation;
+import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.site.NshmpSite;
+
+/**
+ * Test NSHMs.
+ */
+class NshmTests {
+  /* Alaska test sites */
+  private static final List<NamedLocation> ALASKA_LOCATIONS = List.of(
+      NshmpSite.ANCHORAGE_AK,
+      NshmpSite.FAIRBANKS_AK,
+      NshmpSite.JUNEAU_AK,
+      NshmpSite.KODIAK_AK,
+      NshmpSite.VALDEZ_AK);
+
+  /* CONUS test sites */
+  private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
+      NshmpSite.LOS_ANGELES_CA,
+      NshmpSite.SAN_FRANCISCO_CA,
+      NshmpSite.SEATTLE_WA,
+      NshmpSite.SALT_LAKE_CITY_UT,
+      NshmpSite.RENO_NV,
+      NshmpSite.NEW_MADRID_MO,
+      NshmpSite.BOSTON_MA,
+      NshmpSite.NEW_YORK_NY,
+      NshmpSite.CHICAGO_IL);
+
+  /* Hawaii test sites */
+  private static final List<NamedLocation> HAWAII_LOCATIONS = List.of(
+      NshmpSite.HILO_HI,
+      NshmpSite.HONOLULU_HI,
+      NshmpSite.KAILUA_KONA_HI);
+
+  private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
+
+  /**
+   * Test Alaska 2023 NSHM, {@link Nshm.ALASKA_2023}.
+   *
+   * To run test: ./gradlew testAlaska2023
+   */
+  @Test
+  final void testAlaska2023() throws IOException {
+    NshmTestUtils.testNshm(Nshm.ALASKA_2023);
+  }
+
+  /**
+   * Test CONUS 2018 NSHM, {@link Nshm.CONUS_2018}.
+   *
+   * To run test: ./gradlew testConus2018
+   */
+  @Test
+  final void testConus2018() throws IOException {
+    NshmTestUtils.testNshm(Nshm.CONUS_2018);
+  }
+
+  /**
+   * Test CONUS 2023 NSHM, {@link Nshm.CONUS_2023}.
+   *
+   * To run test: ./gradlew testConus2023
+   */
+  @Test
+  final void testConus2023() throws IOException {
+    NshmTestUtils.testNshm(Nshm.CONUS_2023);
+  }
+
+  /**
+   * Test Hawaii 2021 NSHM, {@link Nshm.HAWAII_2021}.
+   *
+   * To run test: ./gradlew testHawaii2021
+   */
+  @Test
+  final void testHawaii2021() throws IOException {
+    NshmTestUtils.testNshm(Nshm.HAWAII_2021);
+  }
+
+  static enum Nshm {
+    ALASKA_2023("nshm-alaska-3.a.0", ALASKA_LOCATIONS, IMTS),
+
+    CONUS_2018("nshm-conus-5.2.0", CONUS_LOCATIONS, IMTS),
+
+    CONUS_2023("nshm-conus-6.a.3", CONUS_LOCATIONS, IMTS),
+
+    HAWAII_2021("nshm-hawaii-2.0.2", HAWAII_LOCATIONS, IMTS);
+
+    private final String modelName;
+    private final List<NamedLocation> locations;
+    private final Set<Imt> imts;
+
+    Nshm(String modelName, List<NamedLocation> locations, Set<Imt> imts) {
+      this.locations = locations;
+      this.imts = imts;
+      this.modelName = modelName;
+    }
+
+    Path modelPath() {
+      return Paths.get("nshms", modelName);
+    }
+
+    String modelName() {
+      return modelName;
+    }
+
+    List<NamedLocation> locations() {
+      return List.copyOf(locations);
+    }
+
+    Set<Imt> imts() {
+      return Set.copyOf(imts);
+    }
+
+    int year() {
+      return Integer.parseInt(name().split("_")[1]);
+    }
+
+    String resultFilename(NamedLocation location) {
+      return String.format("%s-%s-%s.json", modelName, year(), location.name());
+    }
+  }
+}
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
deleted file mode 100644
index 76cafffd0..000000000
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsConus2018.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package gov.usgs.earthquake.nshmp.model;
-
-import org.junit.jupiter.api.Test;
-
-import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
-
-/**
- * Test CONUS 2018 NSHM, {@link Nshm.CONUS_2018}.
- *
- * To run test: ./gradlew testConus2018
- */
-class NshmTestsConus2018 {
-
-  @Test
-  final void testNshm() {
-    NshmTestUtils.testNshm(Nshm.CONUS_2018);
-  }
-}
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
deleted file mode 100644
index f90ecec48..000000000
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestsHawaii2021.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package gov.usgs.earthquake.nshmp.model;
-
-import org.junit.jupiter.api.Test;
-
-import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
-
-/**
- * Test Hawaii 2021 NSHM, {@link Nshm.HAWAII_2021}.
- *
- * To run test: ./gradlew testHawaii2021
- */
-class NshmTestsHawaii2021 {
-
-  @Test
-  final void testNshm() {
-    NshmTestUtils.testNshm(Nshm.HAWAII_2021);
-  }
-}
-- 
GitLab


From 03d90590142ea088569273f0d2804ffb0d95069f Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 09:42:56 -0700
Subject: [PATCH 40/57] move some to NshmTests

---
 .../earthquake/nshmp/model/NshmTestUtils.java | 92 ++++---------------
 1 file changed, 19 insertions(+), 73 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index 05be8ae7c..d34e167e1 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -9,11 +9,8 @@ import java.lang.reflect.Type;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.EnumSet;
-import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
@@ -30,37 +27,12 @@ import gov.usgs.earthquake.nshmp.calc.Hazard;
 import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
 import gov.usgs.earthquake.nshmp.calc.Site;
 import gov.usgs.earthquake.nshmp.data.XySequence;
-import gov.usgs.earthquake.nshmp.gmm.Imt;
-import gov.usgs.earthquake.nshmp.site.NshmpSite;
+import gov.usgs.earthquake.nshmp.model.NshmTests.Nshm;
 
 /**
  * Utilities to run tests on a NSHM.
  */
 class NshmTestUtils {
-  /* Alaska test sites */
-  private static final List<NamedLocation> ALASKA_LOCATIONS = List.of(
-      NshmpSite.ANCHORAGE_AK);
-
-  /* CONUS test sites */
-  private static final List<NamedLocation> CONUS_LOCATIONS = List.of(
-      NshmpSite.LOS_ANGELES_CA,
-      NshmpSite.SAN_FRANCISCO_CA,
-      NshmpSite.SEATTLE_WA,
-      NshmpSite.SALT_LAKE_CITY_UT,
-      NshmpSite.RENO_NV,
-      NshmpSite.NEW_MADRID_MO,
-      NshmpSite.BOSTON_MA,
-      NshmpSite.NEW_YORK_NY,
-      NshmpSite.CHICAGO_IL);
-
-  /* Hawaii test sites */
-  private static final List<NamedLocation> HAWAII_LOCATIONS = List.of(
-      NshmpSite.HILO_HI,
-      NshmpSite.HONOLULU_HI,
-      NshmpSite.KAILUA_KONA_HI);
-
-  private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
-
   private static final Path DATA_PATH = Paths.get("src/test/resources/e2e");
 
   private static final double TOLERANCE = 1e-12;
@@ -69,6 +41,11 @@ class NshmTestUtils {
       .setPrettyPrinting()
       .create();
 
+  /**
+   * Generate results for all {@link NSHM}s
+   *
+   * Run "./gradlew nshms" to first download all NSHMs
+   */
   public static void main(String[] args) throws IOException {
     for (Nshm nshm : Nshm.values()) {
       /* Initialize and shut down executor to generate results. */
@@ -86,7 +63,7 @@ class NshmTestUtils {
   static final void testNshm(Nshm nshm) {
     NshmModel nshmModel = loadModel(nshm);
 
-    for (NamedLocation location : nshm.locations) {
+    for (NamedLocation location : nshm.locations()) {
       compareCurves(nshmModel, location);
     }
 
@@ -129,12 +106,13 @@ class NshmTestUtils {
     }
   }
 
-  private static Map<String, XySequence> generateActual(NshmModel nshmModel,
+  private static Map<String, XySequence> generateActual(
+      NshmModel nshmModel,
       NamedLocation location) {
     Site site = Site.builder().location(location.location()).build();
 
     CalcConfig config = CalcConfig.copyOf(nshmModel.model.config())
-        .imts(nshmModel.nshm.imts)
+        .imts(nshmModel.nshm.imts())
         .build();
 
     Hazard hazard = HazardCalcs.hazard(
@@ -156,20 +134,14 @@ class NshmTestUtils {
 
     return new NshmModel(
         nshm,
-        ModelLoader.load(nshm.modelPath),
+        ModelLoader.load(nshm.modelPath()),
         Executors.newFixedThreadPool(cores));
   }
 
-  private static String resultFilename(
-      String modelName,
-      int year,
-      NamedLocation loc) {
-    return modelName + "-" + year + "-" + loc.name() + ".json";
-  }
-
   private static Map<String, XySequence> readExpected(NshmModel nshmModel, NamedLocation loc) {
-    String filename = resultFilename(nshmModel.nshm.modelName, nshmModel.nshm.year, loc);
-    Path resultPath = DATA_PATH.resolve(nshmModel.nshm.modelName).resolve(filename);
+    Path resultPath = DATA_PATH
+        .resolve(nshmModel.nshm.modelName())
+        .resolve(nshmModel.nshm.resultFilename(loc));
 
     JsonObject obj = null;
     try (BufferedReader br = Files.newBufferedReader(resultPath)) {
@@ -188,24 +160,22 @@ class NshmTestUtils {
   }
 
   private static void writeExpecteds(NshmModel nshmModel) throws IOException {
-    for (NamedLocation location : nshmModel.nshm.locations) {
+    for (NamedLocation location : nshmModel.nshm.locations()) {
       Map<String, XySequence> xyMap = generateActual(nshmModel, location);
       String json = GSON.toJson(xyMap);
-      writeExpected(nshmModel.nshm.modelName, nshmModel.nshm.year, location, json);
+      writeExpected(nshmModel.nshm, location, json);
     }
   }
 
   private static void writeExpected(
-      String modelName,
-      int year,
+      Nshm nshm,
       NamedLocation loc,
       String json) throws IOException {
-    String filename = resultFilename(modelName, year, loc);
-    Path modelDir = DATA_PATH.resolve(modelName);
+    Path modelDir = DATA_PATH.resolve(nshm.modelName());
     if (!Files.exists(modelDir)) {
       Files.createDirectories(modelDir);
     }
-    Path resultPath = modelDir.resolve(filename);
+    Path resultPath = modelDir.resolve(nshm.resultFilename(loc));
     Files.write(resultPath, json.getBytes());
   }
 
@@ -231,28 +201,4 @@ class NshmTestUtils {
       this.exec = exec;
     }
   }
-
-  static enum Nshm {
-    ALASKA_2023("nshm-alaska-3.a.0", ALASKA_LOCATIONS, IMTS),
-
-    CONUS_2018("nshm-conus-5.2.0", CONUS_LOCATIONS, IMTS),
-
-    CONUS_2023("nshm-conus-6.a.3", CONUS_LOCATIONS, IMTS),
-
-    HAWAII_2021("nshm-hawaii-2.0.2", HAWAII_LOCATIONS, IMTS);
-
-    private final Path modelPath;
-    private final String modelName;
-    private final List<NamedLocation> locations;
-    private final Set<Imt> imts;
-    private final int year;
-
-    Nshm(String modelName, List<NamedLocation> locations, Set<Imt> imts) {
-      this.locations = locations;
-      this.imts = imts;
-      this.modelName = modelName;
-      this.modelPath = Paths.get("nshms", modelName);
-      this.year = Integer.parseInt(name().split("_")[1]);
-    }
-  }
 }
-- 
GitLab


From a6be245c5116c996e2b4cf927b9ae0a73984f964 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 09:44:33 -0700
Subject: [PATCH 41/57] add new tests

---
 .gitlab-ci.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 87e792c7a..15dfbd2bf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -239,7 +239,9 @@ NSHM Tests:
   needs: []
   parallel:
     matrix:
+      - CMD: testAlaska2023
       - CMD: testConus2018
+      - CMD: testConus2023
       - CMD: testHawaii2021
   script:
     - ./gradlew ${CMD}
-- 
GitLab


From e5159f6af665c4d6c3904f6f4e7fbb16321a56cb Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 09:44:47 -0700
Subject: [PATCH 42/57] move test tasks

---
 build.gradle | 48 ++++--------------------------------------------
 1 file changed, 4 insertions(+), 44 deletions(-)

diff --git a/build.gradle b/build.gradle
index 3ba4f3ca2..55928268c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,7 +54,9 @@ tasks.withType(JavaCompile) {
 }
 
 tasks.withType(JavaExec) {
-  dependsOn downloadNshms
+  // CONUS 2018 is the default model used for web serivces
+  // See src/main/resources/application.yml
+  dependsOn conus2018
   jvmArgs(
       '-noverify',
       '-Xms2g',
@@ -74,52 +76,10 @@ tasks.withType(com.github.spotbugs.snom.SpotBugsTask) {
   }
 }
 
-tasks.withType(Test) {
-  dependsOn downloadNshms
-}
-
 test {
   useJUnitPlatform()
 
   filter {
-    excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests*"
-  }
-}
-
-task testConus2018(type: Test) {
-  description = "Test CONUS 2018 NSHM"
-  group = "verification"
-
-  testLogging {
-    exceptionFormat "full"
-  }
-
-  useJUnitPlatform()
-  jvmArgs(
-      "-Xms2g",
-      "-Xmx8g",
-      )
-
-  filter {
-    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsConus2018"
-  }
-}
-
-task testHawaii2021(type: Test) {
-  description = "Test Hawaii 2021 NSHM"
-  group = "verification"
-
-  testLogging {
-    exceptionFormat "full"
-  }
-
-  useJUnitPlatform()
-  jvmArgs(
-      "-Xms2g",
-      "-Xmx8g",
-      )
-
-  filter {
-    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTestsHawaii2021"
+    excludeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests"
   }
 }
-- 
GitLab


From 14368e35188b8fa3c268cb8b7ad4a88d97501fdd Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 09:44:53 -0700
Subject: [PATCH 43/57] add tasks

---
 gradle/nshm.gradle | 117 +++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 109 insertions(+), 8 deletions(-)

diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index a925e004a..57da084f2 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -22,26 +22,127 @@ ext {
   }
 }
 
-/**
- * Download the NSHMs
- */
-task downloadNshms() {
+// Download and unzip nshm-alaska tag for Alaska 2023
+task alaska2023() {
   doLast {
-    // Download and unzip nshm-alaska tag for Alaska 2023
     downloadNshm("nshm-alaska", "3.a.0")
+  }
+}
 
-    // Download and unzip nshm-conus tag for CONUS 2018
+// Download and unzip nshm-conus tag for CONUS 2018
+task conus2018() {
+  doLast {
     downloadNshm("nshm-conus", "5.2.0")
+  }
+}
 
-    // Download and unzip nshm-conus tag for CONUS 2023
+// Download and unzip nshm-conus tag for CONUS 2023
+task conus2023() {
+  doLast {
     downloadNshm("nshm-conus", "6.a.3")
+  }
+}
 
-    // Download and unzip nshm-hawaii tag for Hawaii 2021
+// Download and unzip nshm-hawaii tag for Hawaii 2021
+task hawaii2021() {
+  doLast {
     downloadNshm("nshm-hawaii", "2.0.2")
   }
 }
 
+// Download all NSHMs
+task nshms() {
+  dependsOn alaska2023
+  dependsOn conus2018
+  dependsOn conus2023
+  dependsOn hawaii2021
+}
+
 task cleanNshm(type: Delete) {
   delete nshmDir
 }
 clean.dependsOn cleanNshm
+
+// Test Alaska 2023 NSHM
+task testAlaska2023(type: Test) {
+  description = "Test Alaska 2023 NSHM"
+  group = "verification"
+  dependsOn alaska2023
+
+  testLogging {
+    exceptionFormat "full"
+  }
+
+  useJUnitPlatform()
+  jvmArgs(
+      "-Xms2g",
+      "-Xmx8g",
+      )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests.testAlaska2023"
+  }
+}
+
+// Test CONUS 2018 NSHM
+task testConus2018(type: Test) {
+  description = "Test CONUS 2018 NSHM"
+  group = "verification"
+  dependsOn conus2018
+
+  testLogging {
+    exceptionFormat "full"
+  }
+
+  useJUnitPlatform()
+  jvmArgs(
+      "-Xms2g",
+      "-Xmx8g",
+      )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests.testConus2018"
+  }
+}
+
+// Test CONUS 2023 NSHM
+task testConus2023(type: Test) {
+  description = "Test CONUS 2023 NSHM"
+  group = "verification"
+  dependsOn conus2023
+
+  testLogging {
+    exceptionFormat "full"
+  }
+
+  useJUnitPlatform()
+  jvmArgs(
+      "-Xms2g",
+      "-Xmx8g",
+      )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests.testConus2023"
+  }
+}
+
+// Test Hawaii 2021 NSHM
+task testHawaii2021(type: Test) {
+  description = "Test Hawaii 2021 NSHM"
+  group = "verification"
+  dependsOn hawaii2021
+
+  testLogging {
+    exceptionFormat "full"
+  }
+
+  useJUnitPlatform()
+  jvmArgs(
+      "-Xms2g",
+      "-Xmx8g",
+      )
+
+  filter {
+    includeTestsMatching "gov.usgs.earthquake.nshmp.model.NshmTests.testHawaii2021"
+  }
+}
-- 
GitLab


From db7d4f7e00a487b6624b07c0022e0a8d94a7c004 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:04:28 -0700
Subject: [PATCH 44/57] rename directories

---
 .../nshm-alaska-2023-2023-ANCHORAGE_AK.json}  |  68 +++++-----
 .../nshm-alaska-2023-2023-FAIRBANKS_AK.json}  |  58 ++++----
 .../nshm-alaska-2023-2023-JUNEAU_AK.json}     |  50 +++----
 .../nshm-alaska-2023-2023-KODIAK_AK.json}     |  70 +++++-----
 .../nshm-alaska-2023-2023-VALDEZ_AK.json}     |  64 ++++-----
 .../nshm-conus-2018-2018-BOSTON_MA.json}      |  88 ++++++-------
 .../nshm-conus-2018-2018-CHICAGO_IL.json}     | 114 ++++++++--------
 .../nshm-conus-2018-2018-LOS_ANGELES_CA.json} |  32 ++---
 .../nshm-conus-2018-2018-NEW_MADRID_MO.json}  | 106 +++++++--------
 .../nshm-conus-2018-2018-NEW_YORK_NY.json}    |  92 ++++++-------
 .../nshm-conus-2018-2018-RENO_NV.json}        |  36 ++---
 ...hm-conus-2018-2018-SALT_LAKE_CITY_UT.json} |  98 +++++++-------
 ...shm-conus-2018-2018-SAN_FRANCISCO_CA.json} |  32 ++---
 .../nshm-conus-2018-2018-SEATTLE_WA.json}     |  34 ++---
 .../nshm-conus-2023-2023-BOSTON_MA.json}      | 120 ++++++++---------
 .../nshm-conus-2023-2023-CHICAGO_IL.json}     | 106 +++++++--------
 .../nshm-conus-2023-2023-LOS_ANGELES_CA.json} |   0
 .../nshm-conus-2023-2023-NEW_MADRID_MO.json}  | 124 +++++++++---------
 .../nshm-conus-2023-2023-NEW_YORK_NY.json}    | 106 +++++++--------
 .../nshm-conus-2023-2023-RENO_NV.json}        |   6 +-
 ...hm-conus-2023-2023-SALT_LAKE_CITY_UT.json} |   0
 ...shm-conus-2023-2023-SAN_FRANCISCO_CA.json} |   0
 .../nshm-conus-2023-2023-SEATTLE_WA.json}     |  52 ++++----
 .../nshm-hawaii-2021-2021-HILO_HI.json}       |  22 ++--
 .../nshm-hawaii-2021-2021-HONOLULU_HI.json}   |   6 +-
 ...nshm-hawaii-2021-2021-KAILUA_KONA_HI.json} |  32 ++---
 26 files changed, 758 insertions(+), 758 deletions(-)
 rename src/test/resources/e2e/{nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json => nshm-alaska-2023/nshm-alaska-2023-2023-ANCHORAGE_AK.json} (80%)
 rename src/test/resources/e2e/{nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json => nshm-alaska-2023/nshm-alaska-2023-2023-FAIRBANKS_AK.json} (82%)
 rename src/test/resources/e2e/{nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json => nshm-alaska-2023/nshm-alaska-2023-2023-JUNEAU_AK.json} (84%)
 rename src/test/resources/e2e/{nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json => nshm-alaska-2023/nshm-alaska-2023-2023-KODIAK_AK.json} (79%)
 rename src/test/resources/e2e/{nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json => nshm-alaska-2023/nshm-alaska-2023-2023-VALDEZ_AK.json} (81%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json => nshm-conus-2018/nshm-conus-2018-2018-BOSTON_MA.json} (73%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json => nshm-conus-2018/nshm-conus-2018-2018-CHICAGO_IL.json} (65%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json => nshm-conus-2018/nshm-conus-2018-2018-LOS_ANGELES_CA.json} (90%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json => nshm-conus-2018/nshm-conus-2018-2018-NEW_MADRID_MO.json} (68%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json => nshm-conus-2018/nshm-conus-2018-2018-NEW_YORK_NY.json} (72%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json => nshm-conus-2018/nshm-conus-2018-2018-RENO_NV.json} (89%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json => nshm-conus-2018/nshm-conus-2018-2018-SALT_LAKE_CITY_UT.json} (70%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json => nshm-conus-2018/nshm-conus-2018-2018-SAN_FRANCISCO_CA.json} (90%)
 rename src/test/resources/e2e/{nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json => nshm-conus-2018/nshm-conus-2018-2018-SEATTLE_WA.json} (89%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json => nshm-conus-2023/nshm-conus-2023-2023-BOSTON_MA.json} (63%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json => nshm-conus-2023/nshm-conus-2023-2023-CHICAGO_IL.json} (68%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json => nshm-conus-2023/nshm-conus-2023-2023-LOS_ANGELES_CA.json} (100%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json => nshm-conus-2023/nshm-conus-2023-2023-NEW_MADRID_MO.json} (62%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json => nshm-conus-2023/nshm-conus-2023-2023-NEW_YORK_NY.json} (67%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json => nshm-conus-2023/nshm-conus-2023-2023-RENO_NV.json} (98%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json => nshm-conus-2023/nshm-conus-2023-2023-SALT_LAKE_CITY_UT.json} (100%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json => nshm-conus-2023/nshm-conus-2023-2023-SAN_FRANCISCO_CA.json} (100%)
 rename src/test/resources/e2e/{nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json => nshm-conus-2023/nshm-conus-2023-2023-SEATTLE_WA.json} (84%)
 rename src/test/resources/e2e/{nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json => nshm-hawaii-2021/nshm-hawaii-2021-2021-HILO_HI.json} (93%)
 rename src/test/resources/e2e/{nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json => nshm-hawaii-2021/nshm-hawaii-2021-2021-HONOLULU_HI.json} (98%)
 rename src/test/resources/e2e/{nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json => nshm-hawaii-2021/nshm-hawaii-2021-2021-KAILUA_KONA_HI.json} (90%)

diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-ANCHORAGE_AK.json
similarity index 80%
rename from src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
rename to src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-ANCHORAGE_AK.json
index 14c72f733..ce8d5eccf 100644
--- a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-ANCHORAGE_AK.json
+++ b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-ANCHORAGE_AK.json
@@ -24,23 +24,23 @@
     ],
     "ys": [
       31.582813479978164,
-      22.540333643877755,
-      15.474210100724964,
-      10.1828284174066,
+      22.54033364387775,
+      15.474210100724962,
+      10.182828417406599,
       6.449603153163436,
       3.874829200208182,
-      2.2578315032412433,
+      2.2578315032412437,
       1.2502702512704735,
-      0.6635952894157523,
+      0.6635952894157522,
       0.33280836493445576,
       0.15563831840158654,
       0.06651470349199638,
-      0.025334175824444916,
+      0.02533417582444492,
       0.008344260242984129,
       0.002281234081363036,
       4.905099541703147E-4,
       7.106680468777945E-5,
-      9.366482156055953E-6,
+      9.366482156055951E-6,
       1.6221817886511806E-6,
       3.9226735161194594E-8
     ]
@@ -69,21 +69,21 @@
       0.7929925155296614
     ],
     "ys": [
-      4.713651705544554,
-      2.977116760392886,
-      1.808059897986671,
+      4.713651705544555,
+      2.9771167603928865,
+      1.8080598979866713,
       1.049232189094306,
-      0.5745133346292347,
-      0.2965581079080615,
+      0.5745133346292348,
+      0.2965581079080614,
       0.14114739956608777,
-      0.061679283003177494,
-      0.024321679600937018,
-      0.008469514908333564,
-      0.0026380884660043603,
-      7.771803183244354E-4,
+      0.0616792830031775,
+      0.02432167960093702,
+      0.008469514908333562,
+      0.0026380884660043595,
+      7.771803183244353E-4,
       2.4109621062432486E-4,
       8.540282815765788E-5,
-      2.7739346926905467E-5,
+      2.773934692690547E-5,
       7.245217414287302E-6,
       1.0985610862830077E-6,
       1.1695491939047677E-8,
@@ -116,22 +116,22 @@
     ],
     "ys": [
       46.33660845379568,
-      35.522802618415156,
+      35.52280261841515,
       26.460679996194,
-      19.041804093767503,
+      19.0418040937675,
       13.188706864561727,
       8.757919192102062,
       5.55528392890878,
       3.333708291389453,
       1.8983397739576513,
-      1.021389293060455,
+      1.0213892930604547,
       0.5207239096916852,
       0.2442406254825674,
       0.10685463572633691,
       0.04138335479680251,
       0.014026251993902823,
       0.003932391972808894,
-      8.50435333719899E-4,
+      8.504353337198989E-4,
       1.196312819651676E-4,
       7.655134432772623E-6,
       4.304490387327915E-7
@@ -163,24 +163,24 @@
     "ys": [
       60.119622521836234,
       48.04425720405304,
-      37.17240663973347,
+      37.17240663973346,
       27.9717157456693,
-      20.24507310949916,
+      20.245073109499156,
       14.233013615251446,
-      9.614647498486521,
-      6.202530152633507,
-      3.8247549106886582,
+      9.61464749848652,
+      6.202530152633508,
+      3.824754910688659,
       2.2450721351219647,
       1.2557452464723764,
       0.6677198016325505,
-      0.3357788770172045,
-      0.1580226275680916,
+      0.33577887701720444,
+      0.15802262756809157,
       0.06845320087983027,
-      0.026612603647860913,
-      0.00909621495431155,
-      0.0026387580725377403,
-      6.046929677379726E-4,
-      9.76805788912384E-5
+      0.026612603647860916,
+      0.009096214954311552,
+      0.0026387580725377407,
+      6.046929677379725E-4,
+      9.768057889123841E-5
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-FAIRBANKS_AK.json
similarity index 82%
rename from src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json
rename to src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-FAIRBANKS_AK.json
index bdbc6ae46..b3d3bf5b9 100644
--- a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-FAIRBANKS_AK.json
+++ b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-FAIRBANKS_AK.json
@@ -23,25 +23,25 @@
       1.7119945007591926
     ],
     "ys": [
-      9.45211495358342,
+      9.452114953583418,
       6.706211439845269,
       4.588978464279589,
-      3.0086416270027048,
-      1.888824385638276,
-      1.1129215358345805,
+      3.0086416270027057,
+      1.8888243856382763,
+      1.1129215358345803,
       0.6279206376020909,
       0.332220059774106,
       0.16720102553008417,
       0.07959344247355069,
-      0.03570406362909776,
-      0.014866442273198567,
+      0.035704063629097754,
+      0.014866442273198568,
       0.005594983703070449,
       0.001829808225027442,
       4.919055822903513E-4,
       1.0079740988490108E-4,
       1.2471146653182707E-5,
-      7.02828607991142E-7,
-      1.1301945596475976E-8,
+      7.028286079911419E-7,
+      1.1301945596475977E-8,
       0.0
     ]
   },
@@ -71,21 +71,21 @@
     "ys": [
       1.9184256285352985,
       1.2370238558137503,
-      0.7559151793391216,
+      0.7559151793391217,
       0.43656870088267014,
       0.23723764134229494,
       0.12274497208407278,
       0.06008774189656887,
       0.028081099253699622,
-      0.01234281356824203,
-      0.004923500549112307,
+      0.012342813568242031,
+      0.004923500549112306,
       0.001726822893898249,
       5.104323001168673E-4,
-      1.1878210581315675E-4,
+      1.1878210581315673E-4,
       2.0703558458760174E-5,
       2.229665505804166E-6,
-      1.6009809951065922E-7,
-      3.0216427277983052E-9,
+      1.600980995106592E-7,
+      3.0216427277983056E-9,
       0.0,
       0.0,
       0.0
@@ -115,10 +115,10 @@
       1.6428726885203377
     ],
     "ys": [
-      13.284064126608069,
-      9.853308437791231,
-      7.116796195810493,
-      4.9836861373184576,
+      13.284064126608067,
+      9.853308437791233,
+      7.116796195810492,
+      4.983686137318458,
       3.3755093861650907,
       2.2042574688021577,
       1.3827750966815877,
@@ -128,12 +128,12 @@
       0.1266282126160816,
       0.05844529093292019,
       0.024745808652838867,
-      0.008960497515163375,
+      0.008960497515163373,
       0.0026810937680349133,
       6.060577052384319E-4,
-      9.024933719464242E-5,
-      6.0419769412494385E-6,
-      9.937964515447328E-8,
+      9.024933719464243E-5,
+      6.041976941249439E-6,
+      9.93796451544733E-8,
       0.0
     ]
   },
@@ -162,24 +162,24 @@
     ],
     "ys": [
       17.300398191221607,
-      13.307293930796154,
-      9.902232049229976,
-      7.181330544933178,
-      5.023882976102354,
+      13.307293930796153,
+      9.902232049229973,
+      7.181330544933179,
+      5.023882976102353,
       3.432899618436824,
       2.265573659612581,
       1.4342768435263218,
       0.8702393842451819,
       0.5021655036586723,
-      0.27472584746977935,
+      0.2747258474697794,
       0.14154536651264943,
       0.06797544452596316,
-      0.0298631583102091,
+      0.029863158310209095,
       0.011642033780539348,
       0.003845862387601881,
       0.0010250902378172331,
       2.0133713527376628E-4,
-      2.269066609619647E-5,
+      2.2690666096196468E-5,
       8.717032628046811E-7
     ]
   }
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-JUNEAU_AK.json
similarity index 84%
rename from src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json
rename to src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-JUNEAU_AK.json
index 7d8007c14..be87bc56b 100644
--- a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-JUNEAU_AK.json
+++ b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-JUNEAU_AK.json
@@ -23,7 +23,7 @@
       1.7119945007591926
     ],
     "ys": [
-      4.591371937330782,
+      4.5913719373307815,
       3.1877577576389777,
       2.097780831337861,
       1.2957406821661408,
@@ -31,11 +31,11 @@
       0.38952695598943826,
       0.18714214109949412,
       0.08044324750221588,
-      0.031642790756942145,
+      0.03164279075694215,
       0.011505242206800674,
-      0.0039927423287999,
-      0.0013499251795955985,
-      4.410966460474657E-4,
+      0.003992742328799899,
+      0.0013499251795955987,
+      4.410966460474658E-4,
       1.331099451711727E-4,
       3.451133263715693E-5,
       6.964165264154167E-6,
@@ -71,21 +71,21 @@
     "ys": [
       1.0253453315814594,
       0.6496593903800941,
-      0.3831032756365199,
+      0.38310327563652,
       0.20845682337708707,
-      0.10339733714093748,
+      0.10339733714093746,
       0.04697449191854783,
       0.01924142141387398,
-      0.007176804937656805,
+      0.007176804937656804,
       0.002418954964373144,
-      7.206937620110931E-4,
-      1.8814545129396007E-4,
-      4.2085742412970904E-5,
-      8.17630777390981E-6,
+      7.20693762011093E-4,
+      1.8814545129396004E-4,
+      4.208574241297092E-5,
+      8.176307773909808E-6,
       1.352471640818951E-6,
       1.5251255599794662E-7,
       1.0827724111704109E-8,
-      2.018781241215586E-10,
+      2.0187812412155862E-10,
       0.0,
       0.0,
       0.0
@@ -116,21 +116,21 @@
     ],
     "ys": [
       6.068978404417162,
-      4.37287758772108,
+      4.372877587721081,
       2.96145914131037,
-      1.870504492866647,
+      1.8705044928666466,
       1.0987647948608863,
-      0.5997918227238852,
-      0.3047471478385926,
+      0.5997918227238853,
+      0.30474714783859264,
       0.143437938591774,
       0.06373152535013737,
       0.027152772561542995,
-      0.01141099329902446,
-      0.004620895751111435,
+      0.011410993299024457,
+      0.004620895751111436,
       0.001815109039587635,
       6.31024145453754E-4,
-      1.846506962427567E-4,
-      4.119810433576226E-5,
+      1.8465069624275671E-4,
+      4.119810433576225E-5,
       6.093004688366109E-6,
       4.066762292155661E-7,
       6.639809776402779E-9,
@@ -171,14 +171,14 @@
       0.30211681938077767,
       0.14566157672805446,
       0.06635479340806372,
-      0.029195930933663506,
+      0.029195930933663503,
       0.012621055900268078,
-      0.005362098833654413,
+      0.005362098833654412,
       0.0021860669874765844,
-      8.176233092299378E-4,
+      8.17623309229938E-4,
       2.638499963322621E-4,
       6.926088859606785E-5,
-      1.345966118871797E-5,
+      1.3459661188717969E-5,
       1.5087889923811794E-6,
       5.8458404871550405E-8
     ]
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-KODIAK_AK.json
similarity index 79%
rename from src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json
rename to src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-KODIAK_AK.json
index fb11c0dcb..1504167f6 100644
--- a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-KODIAK_AK.json
+++ b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-KODIAK_AK.json
@@ -24,23 +24,23 @@
     ],
     "ys": [
       26.546661954616766,
-      17.45965029862474,
-      11.084965414334416,
-      6.7957695662611854,
-      4.04180974836993,
+      17.459650298624737,
+      11.084965414334418,
+      6.795769566261186,
+      4.041809748369929,
       2.284910900383992,
       1.2521375077588737,
-      0.647565642410389,
-      0.3187494553964873,
-      0.1474680499726443,
-      0.063745608493643,
-      0.025567265722348704,
-      0.00947305155343496,
-      0.0032435866327250426,
-      0.0010340415093725679,
-      3.127599718753763E-4,
+      0.6475656424103889,
+      0.31874945539648736,
+      0.14746804997264432,
+      0.06374560849364301,
+      0.0255672657223487,
+      0.009473051553434959,
+      0.003243586632725043,
+      0.0010340415093725676,
+      3.1275997187537626E-4,
       8.594852635443768E-5,
-      2.1434933824452503E-5,
+      2.1434933824452506E-5,
       4.196826749744855E-6,
       1.8727466634359004E-7
     ]
@@ -73,16 +73,16 @@
       2.364379185902818,
       1.3821499030867548,
       0.7633730877420555,
-      0.3928761374343867,
+      0.39287613743438665,
       0.18898207211847512,
-      0.08390418539943266,
+      0.08390418539943265,
       0.03503544780269543,
       0.013992259926570478,
-      0.005483373586317797,
-      0.0022201719811300678,
-      9.498255878361636E-4,
-      4.09990816686342E-4,
-      1.668092721513497E-4,
+      0.005483373586317798,
+      0.002220171981130068,
+      9.498255878361635E-4,
+      4.099908166863419E-4,
+      1.6680927215134974E-4,
       5.663555747494913E-5,
       1.5303011320298508E-5,
       2.445330361266734E-6,
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      38.17234655735215,
-      26.491016063791424,
+      38.17234655735214,
+      26.49101606379142,
       17.663262208614288,
-      11.31146579184919,
+      11.311465791849193,
       6.988262252201193,
       4.17945057323202,
       2.4210383483389335,
       1.3446006826080403,
-      0.7170897677723415,
+      0.7170897677723416,
       0.36421959456743086,
       0.17622080748206914,
       0.07866237753719352,
       0.03299438003037053,
-      0.012420344249091964,
-      0.00420399993729522,
+      0.012420344249091962,
+      0.004203999937295219,
       0.0012386815209033527,
       3.129627579643493E-4,
-      6.605058658545652E-5,
-      1.195872499404559E-5,
+      6.605058658545654E-5,
+      1.1958724994045592E-5,
       1.666631671207467E-6
     ]
   },
@@ -166,21 +166,21 @@
       28.30171628879847,
       19.139647394512128,
       12.347254701618091,
-      7.7700727484155845,
+      7.770072748415585,
       4.738914537317213,
       2.7948688831579833,
       1.5979478629398678,
       0.8795385346624696,
-      0.46471970069090907,
+      0.464719700690909,
       0.23411222392624056,
-      0.11152929527402433,
+      0.11152929527402436,
       0.049726179214811754,
       0.02050447915506657,
-      0.007703528112893126,
+      0.0077035281128931266,
       0.002629422657576131,
       8.134129400120383E-4,
-      2.2596862585578322E-4,
-      5.6896530332304675E-5
+      2.2596862585578324E-4,
+      5.689653033230468E-5
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-VALDEZ_AK.json
similarity index 81%
rename from src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json
rename to src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-VALDEZ_AK.json
index bba842717..295cf0b5c 100644
--- a/src/test/resources/e2e/nshm-alaska-3.a.0/nshm-alaska-3.a.0-2023-VALDEZ_AK.json
+++ b/src/test/resources/e2e/nshm-alaska-2023/nshm-alaska-2023-2023-VALDEZ_AK.json
@@ -23,22 +23,22 @@
       1.7119945007591926
     ],
     "ys": [
-      14.762493063508536,
+      14.762493063508535,
       10.035995231798612,
       6.556325924894737,
       4.091869128752166,
-      2.443324688790007,
+      2.4433246887900064,
       1.368448163344026,
-      0.7362727316862254,
+      0.7362727316862255,
       0.3726253151479264,
-      0.18045140978368016,
-      0.08324161723329054,
-      0.03653007656037015,
+      0.18045140978368018,
+      0.08324161723329056,
+      0.036530076560370155,
       0.015138238886031097,
-      0.005865786022644364,
-      0.0021007741082511556,
+      0.005865786022644363,
+      0.002100774108251156,
       6.934850674702332E-4,
-      2.1548618202044153E-4,
+      2.154861820204415E-4,
       6.179626325702729E-5,
       1.647076170321766E-5,
       3.656119431379834E-6,
@@ -69,15 +69,15 @@
       0.7929925155296614
     ],
     "ys": [
-      2.5610687113797286,
+      2.561068711379729,
       1.5796610981359254,
       0.9241851752832643,
       0.510499546540395,
-      0.2641903251205916,
-      0.12936999343141445,
-      0.05949448413670893,
-      0.026089994832228965,
-      0.010936401864297193,
+      0.26419032512059154,
+      0.12936999343141448,
+      0.059494484136708936,
+      0.026089994832228968,
+      0.010936401864297195,
       0.004384495443428714,
       0.0017265312671550285,
       6.916426859739275E-4,
@@ -117,23 +117,23 @@
     "ys": [
       18.656234425311315,
       13.225956628182368,
-      9.15170798568187,
-      6.148262039235705,
-      4.002733950407603,
+      9.151707985681867,
+      6.148262039235704,
+      4.0027339504076025,
       2.5204316993495857,
       1.5308821379071518,
       0.8871340321837551,
-      0.4909438176623917,
+      0.49094381766239176,
       0.2575309154022499,
-      0.12814136421270458,
-      0.05860837911729968,
+      0.12814136421270464,
+      0.05860837911729966,
       0.02500166184557037,
-      0.009452675419088032,
-      0.003155830078687412,
+      0.009452675419088034,
+      0.0031558300786874126,
       9.024774578774151E-4,
       2.2139445814584955E-4,
-      4.794864398530266E-5,
-      9.98374097780263E-6,
+      4.794864398530267E-5,
+      9.983740977802629E-6,
       1.745023365440162E-6
     ]
   },
@@ -162,23 +162,23 @@
     ],
     "ys": [
       26.372435877966993,
-      19.44776406642359,
+      19.447764066423588,
       13.900222661193535,
       9.702611883068098,
-      6.53840824587522,
-      4.315703369680324,
-      2.7582056503639403,
-      1.6960189793166203,
+      6.538408245875219,
+      4.315703369680325,
+      2.7582056503639407,
+      1.6960189793166207,
       1.0031907147799508,
       0.5667522515914662,
       0.30533047172102024,
       0.15619418989992767,
-      0.075416694114016,
+      0.07541669411401598,
       0.03401715730737343,
       0.014128278932822112,
       0.005303281094011015,
       0.00179062624386991,
-      5.466565693089321E-4,
+      5.46656569308932E-4,
       1.5253233886997755E-4,
       4.0517273878088426E-5
     ]
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-BOSTON_MA.json
similarity index 73%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-BOSTON_MA.json
index dedc6dc7c..211a5abfc 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-BOSTON_MA.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-BOSTON_MA.json
@@ -23,25 +23,25 @@
       1.7119945007591926
     ],
     "ys": [
-      0.02078455097994014,
+      0.020784550979940128,
       0.013752036153143974,
       0.008853912425965713,
-      0.005504502737593539,
-      0.0032956032209899913,
+      0.005504502737593538,
+      0.0032956032209899917,
       0.0018514963923265217,
       9.931435977960567E-4,
       4.956595518220794E-4,
       2.3401548992797762E-4,
-      1.0471944598011257E-4,
+      1.0471944598011255E-4,
       4.508421273772284E-5,
       1.889630156023541E-5,
-      7.725874681605785E-6,
-      3.0391435785521576E-6,
+      7.725874681605789E-6,
+      3.0391435785521572E-6,
       1.1170515811344102E-6,
-      3.7451324017266453E-7,
-      1.0752962397804162E-7,
-      2.5960707366581506E-8,
-      4.917918081492093E-9,
+      3.745132401726645E-7,
+      1.075296239780416E-7,
+      2.5960707366581502E-8,
+      4.917918081492094E-9,
       6.50338376685779E-10
     ]
   },
@@ -69,21 +69,21 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0038496686700113564,
-      0.0025078664183317764,
-      0.0015597948853785955,
-      9.157017059864715E-4,
+      0.003849668670011357,
+      0.002507866418331777,
+      0.0015597948853785957,
+      9.157017059864713E-4,
       5.001931310456335E-4,
       2.547249918503188E-4,
-      1.1944866239705738E-4,
-      5.232735935686701E-5,
+      1.194486623970574E-4,
+      5.232735935686702E-5,
       2.156118337115127E-5,
-      8.400347720866899E-6,
-      3.1469958181727794E-6,
+      8.4003477208669E-6,
+      3.14699581817278E-6,
       1.142023685405199E-6,
       3.9303700685767165E-7,
-      1.29477426563478E-7,
-      3.718668812692663E-8,
+      1.2947742656347803E-7,
+      3.7186688126926624E-8,
       9.324871744942211E-9,
       1.877882948712356E-9,
       2.8466329320775234E-10,
@@ -115,22 +115,22 @@
       1.6428726885203377
     ],
     "ys": [
-      0.039154336261104546,
+      0.03915433626110455,
       0.028874987776381138,
-      0.02088358144124329,
-      0.014675088491569477,
+      0.020883581441243287,
+      0.014675088491569475,
       0.009966398305490464,
-      0.006525399875535823,
-      0.004122194389111176,
-      0.002503901284660192,
-      0.001475981629274538,
-      8.455590549998983E-4,
-      4.744378692952328E-4,
+      0.006525399875535824,
+      0.0041221943891111765,
+      0.0025039012846601923,
+      0.0014759816292745382,
+      8.455590549998979E-4,
+      4.7443786929523266E-4,
       2.5614908673281044E-4,
       1.357929724979682E-4,
-      6.854218948534535E-5,
-      3.2918036847988655E-5,
-      1.4569587193494356E-5,
+      6.854218948534532E-5,
+      3.291803684798865E-5,
+      1.4569587193494355E-5,
       5.782794746110381E-6,
       1.9737183250309444E-6,
       5.657594675445634E-7,
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.060547993873404996,
-      0.04501093716568889,
+      0.06054799387340501,
+      0.04501093716568888,
       0.03238422553470724,
       0.022605947101161115,
-      0.015060131175111438,
-      0.009690757366506481,
+      0.01506013117511144,
+      0.009690757366506483,
       0.005957079199326996,
-      0.003490107511158219,
-      0.001962702434309726,
+      0.00349010751115822,
+      0.0019627024343097255,
       0.0010598138716072611,
-      5.526846406248315E-4,
-      2.7876439975788503E-4,
-      1.358294857340756E-4,
+      5.526846406248314E-4,
+      2.787643997578851E-4,
+      1.3582948573407556E-4,
       6.359388081275606E-5,
       2.8287825293638214E-5,
-      1.170707349148745E-5,
+      1.1707073491487447E-5,
       4.4199232564301465E-6,
-      1.474547175412864E-6,
-      4.1424535992947275E-7,
+      1.4745471754128641E-6,
+      4.1424535992947286E-7,
       9.342364439170645E-8
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-CHICAGO_IL.json
similarity index 65%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-CHICAGO_IL.json
index 3cdecfce7..65fc783b7 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-CHICAGO_IL.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-CHICAGO_IL.json
@@ -23,25 +23,25 @@
       1.7119945007591926
     ],
     "ys": [
-      0.017675500237871122,
-      0.011804993270225163,
+      0.01767550023787112,
+      0.011804993270225161,
       0.007916670756587604,
-      0.0053491472480445695,
-      0.0036313904277084216,
-      0.002384405538478485,
+      0.00534914724804457,
+      0.003631390427708422,
+      0.0023844055384784854,
       0.0014870231028831253,
-      8.355484214788524E-4,
-      4.14606577769327E-4,
-      1.7579111278565789E-4,
-      6.24093534270055E-5,
-      1.8240832144136128E-5,
-      4.414927964063777E-6,
-      9.994457044956114E-7,
-      2.4855133647506633E-7,
-      7.726459746150785E-8,
-      2.121042318488014E-8,
-      4.8605658644149765E-9,
-      8.64105244261508E-10,
+      8.355484214788522E-4,
+      4.146065777693268E-4,
+      1.7579111278565783E-4,
+      6.240935342700551E-5,
+      1.824083214413613E-5,
+      4.4149279640637774E-6,
+      9.994457044956118E-7,
+      2.485513364750663E-7,
+      7.726459746150786E-8,
+      2.1210423184880136E-8,
+      4.860565864414977E-9,
+      8.641052442615079E-10,
       1.0633132855584105E-10
     ]
   },
@@ -69,22 +69,22 @@
       0.7929925155296614
     ],
     "ys": [
-      0.004904504983066267,
-      0.003755611824541404,
-      0.0029006854981177585,
-      0.002197256906365073,
+      0.004904504983066266,
+      0.0037556118245414046,
+      0.002900685498117759,
+      0.0021972569063650723,
       0.0015714972511203793,
-      0.001031785345548251,
-      5.98813717644033E-4,
-      2.999898092710795E-4,
-      1.263608775768721E-4,
-      4.334153727062958E-5,
-      1.1727951025836871E-5,
-      2.3832470064242063E-6,
+      0.0010317853455482512,
+      5.988137176440331E-4,
+      2.999898092710794E-4,
+      1.2636087757687212E-4,
+      4.3341537270629574E-5,
+      1.1727951025836873E-5,
+      2.3832470064242068E-6,
       3.5209264942037663E-7,
-      3.785179659277221E-8,
-      5.963076928168122E-9,
-      1.4910332126633125E-9,
+      3.785179659277222E-8,
+      5.963076928168123E-9,
+      1.4910332126633127E-9,
       3.14178873723765E-10,
       5.251118966478055E-11,
       5.968234937924543E-12,
@@ -115,23 +115,23 @@
       1.6428726885203377
     ],
     "ys": [
-      0.022709150996398572,
-      0.015516400129389079,
+      0.02270915099639857,
+      0.01551640012938908,
       0.01063565058866354,
-      0.007250987342509734,
-      0.004847475264828739,
+      0.007250987342509732,
+      0.004847475264828738,
       0.0031114243186504235,
-      0.0018782779132334624,
+      0.0018782779132334618,
       0.001050022497993213,
-      5.534113089259501E-4,
-      2.8160535709269497E-4,
-      1.4369489671881903E-4,
+      5.534113089259502E-4,
+      2.81605357092695E-4,
+      1.4369489671881906E-4,
       7.346403339083293E-5,
-      3.8325297999058965E-5,
+      3.832529799905896E-5,
       1.943156997427037E-5,
-      9.421592539610682E-6,
-      4.197688438855381E-6,
-      1.6696279770654767E-6,
+      9.421592539610684E-6,
+      4.1976884388553816E-6,
+      1.669627977065477E-6,
       5.688244700978394E-7,
       1.6230550529800462E-7,
       3.5499549032952975E-8
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.04184772415672415,
-      0.02851981218255562,
+      0.04184772415672416,
+      0.028519812182555622,
       0.01902862263652819,
-      0.012597694078764633,
-      0.008183488070776034,
+      0.012597694078764632,
+      0.008183488070776037,
       0.0052563265681882425,
-      0.003237883245763996,
-      0.0018635316801681953,
-      9.907119514822528E-4,
-      4.8301305512369827E-4,
-      2.193587945069327E-4,
-      9.551470151347579E-5,
-      4.124782682724972E-5,
-      1.7924007974639764E-5,
+      0.003237883245763997,
+      0.001863531680168195,
+      9.907119514822526E-4,
+      4.830130551236982E-4,
+      2.1935879450693258E-4,
+      9.551470151347582E-5,
+      4.124782682724971E-5,
+      1.7924007974639768E-5,
       7.69163382946073E-6,
-      3.1292561141859632E-6,
+      3.129256114185963E-6,
       1.1644839692951632E-6,
       3.815542517446424E-7,
-      1.0444941528551556E-7,
+      1.0444941528551554E-7,
       2.2656380775801956E-8
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-LOS_ANGELES_CA.json
similarity index 90%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-LOS_ANGELES_CA.json
index 505dbaf15..f83c052f3 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-LOS_ANGELES_CA.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-LOS_ANGELES_CA.json
@@ -24,19 +24,19 @@
     ],
     "ys": [
       0.6366574720501088,
-      0.47180374791963997,
+      0.4718037479196399,
       0.336364557146257,
-      0.2311796226192394,
+      0.23117962261923944,
       0.15426255108470943,
       0.09868641697941964,
-      0.06168226983900997,
+      0.061682269839009964,
       0.037095482704419605,
-      0.02177513770028089,
+      0.021775137700280892,
       0.012418053525144834,
       0.006834724125143083,
       0.0035759571677002966,
       0.0017322386889934245,
-      7.490722245704205E-4,
+      7.490722245704206E-4,
       2.781308992738419E-4,
       8.555251892469371E-5,
       1.9638736883809428E-5,
@@ -69,9 +69,9 @@
       0.7929925155296614
     ],
     "ys": [
-      0.16844377244854847,
+      0.1684437724485485,
       0.11829589663275786,
-      0.08101452065128258,
+      0.08101452065128259,
       0.05406282717487072,
       0.035127313944556586,
       0.02246250359719528,
@@ -118,15 +118,15 @@
       0.7850465833348313,
       0.6149388088135578,
       0.46880770081149936,
-      0.348104179748503,
-      0.25232659558218706,
+      0.34810417974850305,
+      0.252326595582187,
       0.17814867226367861,
       0.12154240052962642,
       0.07901532677500141,
       0.04903288877565289,
       0.02903200372417984,
       0.016462922915925538,
-      0.00872825444898973,
+      0.008728254448989729,
       0.004380357672598145,
       0.001967488906616791,
       7.622024986858485E-4,
@@ -161,19 +161,19 @@
       1.998773638612381
     ],
     "ys": [
-      0.9277678999858486,
-      0.753748033038108,
-      0.5931923233025838,
+      0.9277678999858487,
+      0.7537480330381081,
+      0.5931923233025839,
       0.45540482519284387,
       0.3391134734752599,
-      0.24809053741765913,
+      0.2480905374176591,
       0.1766116798966622,
-      0.12123002464436061,
+      0.1212300246443606,
       0.07985280215586492,
       0.050147609948821836,
       0.030081503068165788,
       0.01724538444217736,
-      0.009432364207667705,
+      0.009432364207667703,
       0.004883172427187242,
       0.002333377346825734,
       9.819488750632801E-4,
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-NEW_MADRID_MO.json
similarity index 68%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-NEW_MADRID_MO.json
index 170de46ac..79d39bb03 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_MADRID_MO.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-NEW_MADRID_MO.json
@@ -26,23 +26,23 @@
       0.05460474620644812,
       0.039322200263679656,
       0.027742521888583595,
-      0.01925648792066325,
-      0.013309032474447955,
-      0.009158100387208453,
+      0.019256487920663257,
+      0.013309032474447957,
+      0.009158100387208452,
       0.006469954492673557,
       0.004711825464791654,
       0.00361441996860359,
       0.0029237508993505785,
-      0.002458976181859004,
+      0.0024589761818590043,
       0.002072470767532479,
       0.0016635058660181767,
-      0.0012069209745320141,
+      0.001206920974532014,
       7.580051949212136E-4,
       4.0281368863859246E-4,
-      1.7473743872927871E-4,
-      6.143664863718949E-5,
-      1.6603707164663934E-5,
-      3.2819885795529328E-6
+      1.747374387292787E-4,
+      6.14366486371895E-5,
+      1.660370716466393E-5,
+      3.281988579552932E-6
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.011183350950193818,
-      0.008208501337863192,
-      0.0061259943786559495,
-      0.004704029030923134,
+      0.01118335095019382,
+      0.00820850133786319,
+      0.006125994378655951,
+      0.004704029030923133,
       0.003744509775095578,
-      0.0031134253259270835,
+      0.0031134253259270826,
       0.0026896900327019677,
-      0.0023879637030226157,
+      0.0023879637030226153,
       0.002117544110718752,
-      0.0018011501748482462,
+      0.0018011501748482464,
       0.0014173471729516552,
-      0.0010068130175955076,
-      6.301951022408454E-4,
-      3.4447816991405104E-4,
-      1.5613960834869734E-4,
-      5.887416288449926E-5,
-      1.7483012613921885E-5,
+      0.001006813017595508,
+      6.301951022408455E-4,
+      3.44478169914051E-4,
+      1.561396083486973E-4,
+      5.8874162884499284E-5,
+      1.7483012613921882E-5,
       3.8576776780498505E-6,
       5.776336202494065E-7,
-      3.603564897905062E-8
+      3.6035648979050635E-8
     ]
   },
   "Peak Ground Acceleration": {
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      0.11111072621136196,
-      0.09432125494016415,
-      0.07822805599600458,
-      0.0629236938367594,
-      0.04897014435727335,
+      0.11111072621136198,
+      0.09432125494016416,
+      0.07822805599600459,
+      0.06292369383675941,
+      0.04897014435727336,
       0.03694215394316334,
-      0.02716384329913925,
-      0.019537877568746243,
-      0.013915832488455515,
-      0.009887221698272164,
-      0.0070940413496668455,
+      0.027163843299139248,
+      0.01953787756874624,
+      0.013915832488455513,
+      0.009887221698272162,
+      0.007094041349666845,
       0.0051464353161795075,
-      0.0038656085903222065,
-      0.0029837666408947193,
-      0.0023260711475453035,
-      0.0017237133487967334,
-      0.0011265388791854103,
-      6.015982295191787E-4,
-      2.510477911128342E-4,
+      0.003865608590322207,
+      0.00298376664089472,
+      0.002326071147545305,
+      0.0017237133487967337,
+      0.00112653887918541,
+      6.015982295191784E-4,
+      2.510477911128341E-4,
       7.632592705118942E-5
     ]
   },
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.13557175676510383,
-      0.11487697773688867,
-      0.09473336922159181,
-      0.0757652391662049,
+      0.11487697773688868,
+      0.0947333692215918,
+      0.07576523916620488,
       0.05806165639924289,
       0.043077020760732714,
-      0.03089333087514904,
+      0.030893330875149033,
       0.02154336192618488,
-      0.014802677054253841,
-      0.010119114510192408,
-      0.006988258677940672,
-      0.004954717225520119,
-      0.0036631265152625545,
+      0.01480267705425384,
+      0.010119114510192404,
+      0.006988258677940673,
+      0.00495471722552012,
+      0.003663126515262554,
       0.002832444396585899,
-      0.0022379408457528765,
+      0.002237940845752876,
       0.0017164930070629656,
-      0.0011926180558950764,
-      6.96553553664501E-4,
+      0.0011926180558950769,
+      6.965535536645008E-4,
       3.2111317564048023E-4,
-      1.1269789534198826E-4
+      1.1269789534198825E-4
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-NEW_YORK_NY.json
similarity index 72%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-NEW_YORK_NY.json
index dfe267dab..8e052db4a 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-NEW_YORK_NY.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-NEW_YORK_NY.json
@@ -23,19 +23,19 @@
       1.7119945007591926
     ],
     "ys": [
-      0.018666421015364296,
+      0.018666421015364292,
       0.012277714382170499,
       0.007819753747405414,
       0.004783588386662286,
-      0.0028112191687725907,
-      0.0015540453407317345,
-      8.285075887238436E-4,
-      4.182733081757242E-4,
+      0.0028112191687725894,
+      0.0015540453407317347,
+      8.285075887238437E-4,
+      4.1827330817572424E-4,
       2.047796180654526E-4,
       9.768413828648056E-5,
       4.5829796515008224E-5,
       2.1108151934584483E-5,
-      9.403078808734168E-6,
+      9.40307880873417E-6,
       3.952177823009205E-6,
       1.52393681070903E-6,
       5.283693302216127E-7,
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.003683929029161356,
-      0.002335050751486981,
-      0.0014025796207374247,
-      7.930112908299475E-4,
-      4.1808903382999877E-4,
-      2.0733134457052302E-4,
-      9.623213274255237E-5,
-      4.279209350393816E-5,
-      1.848842803384079E-5,
-      7.785121676935121E-6,
-      3.20942446688357E-6,
-      1.2788721198896172E-6,
-      4.7640365740538286E-7,
-      1.6510378239619127E-7,
-      4.9341854768598423E-8,
+      0.0036839290291613555,
+      0.0023350507514869807,
+      0.001402579620737425,
+      7.930112908299474E-4,
+      4.1808903382999866E-4,
+      2.0733134457052307E-4,
+      9.623213274255234E-5,
+      4.2792093503938167E-5,
+      1.8488428033840786E-5,
+      7.785121676935123E-6,
+      3.2094244668835695E-6,
+      1.278872119889617E-6,
+      4.764036574053829E-7,
+      1.6510378239619124E-7,
+      4.934185476859842E-8,
       1.2738983551119938E-8,
-      2.620252585057268E-9,
-      4.048583749596044E-10,
-      3.904486628199482E-11,
+      2.6202525850572684E-9,
+      4.048583749596045E-10,
+      3.9044866281994814E-11,
       1.53244519278671E-12
     ]
   },
@@ -115,24 +115,24 @@
       1.6428726885203377
     ],
     "ys": [
-      0.02987894297965619,
+      0.029878942979656185,
       0.021699314985705948,
-      0.015627345176841466,
-      0.011107491120984693,
-      0.007776586292284122,
+      0.01562734517684146,
+      0.011107491120984695,
+      0.0077765862922841225,
       0.0053497753310025545,
       0.0036068398003160375,
       0.002364766212564209,
-      0.001511483656252948,
+      0.0015114836562529477,
       9.383042482967953E-4,
-      5.672612883032049E-4,
+      5.67261288303205E-4,
       3.277563019042573E-4,
       1.837902668533268E-4,
-      9.707147245294275E-5,
-      4.8216709391054403E-5,
+      9.707147245294277E-5,
+      4.821670939105442E-5,
       2.1867540425618328E-5,
       8.832673455739918E-6,
-      3.0545231543247826E-6,
+      3.054523154324783E-6,
       8.84797873298568E-7,
       1.9672786782893157E-7
     ]
@@ -162,23 +162,23 @@
     ],
     "ys": [
       0.048301983959234095,
-      0.0350497356176406,
-      0.024744052454742885,
+      0.03504973561764059,
+      0.02474405245474288,
       0.01709523430471773,
-      0.01141511174006545,
-      0.007482577963101015,
+      0.011415111740065452,
+      0.007482577963101016,
       0.0047698738556462535,
-      0.0029480912847476017,
-      0.001772579859044333,
-      0.001032373824751259,
+      0.002948091284747602,
+      0.0017725798590443333,
+      0.0010323738247512593,
       5.823000408387338E-4,
       3.169405845714303E-4,
-      1.6560745740360763E-4,
-      8.238484623559816E-5,
-      3.852324830287547E-5,
-      1.6575499019099995E-5,
-      6.439186747078613E-6,
-      2.1925820654928872E-6,
+      1.6560745740360768E-4,
+      8.238484623559815E-5,
+      3.852324830287548E-5,
+      1.6575499019099988E-5,
+      6.439186747078615E-6,
+      2.192582065492888E-6,
       6.249719391706647E-7,
       1.4238886738032342E-7
     ]
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-RENO_NV.json
similarity index 89%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-RENO_NV.json
index 3efdf0519..64cf362a8 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-RENO_NV.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-RENO_NV.json
@@ -23,22 +23,22 @@
       1.7119945007591926
     ],
     "ys": [
-      0.5639424382793682,
+      0.5639424382793681,
       0.41970430872704,
-      0.2996355631700337,
+      0.29963556317003365,
       0.20436506496344023,
       0.13386011296908937,
       0.08340469061324253,
       0.05072763584783538,
-      0.02970332088645175,
+      0.029703320886451754,
       0.016962428614047866,
       0.009368748098138395,
       0.004942501068704084,
       0.002420101079214425,
-      0.0010564988095787106,
+      0.0010564988095787104,
       3.945561117465654E-4,
       1.2048922319737728E-4,
-      2.8266770250121335E-5,
+      2.8266770250121338E-5,
       4.252380705836177E-6,
       4.4029329263288646E-7,
       2.573585831849357E-8,
@@ -69,16 +69,16 @@
       0.7929925155296614
     ],
     "ys": [
-      0.16195200240025112,
-      0.11197070315750864,
+      0.1619520024002511,
+      0.11197070315750861,
       0.07461644808670248,
       0.04806931482649302,
       0.029904421907731286,
-      0.01809720511043038,
+      0.018097205110430375,
       0.010526649862628145,
       0.0058497036090659794,
-      0.003024869157973338,
-      0.0013988990917255155,
+      0.0030248691579733374,
+      0.001398899091725516,
       5.607903420664931E-4,
       1.884917390363045E-4,
       5.034839107343867E-5,
@@ -115,16 +115,16 @@
       1.6428726885203377
     ],
     "ys": [
-      0.6547357887817037,
+      0.6547357887817038,
       0.5154175476805015,
       0.3956456162265481,
-      0.2946377853731455,
+      0.29463778537314556,
       0.21261726439098355,
       0.14856083770157558,
-      0.10023112298791949,
+      0.1002311229879195,
       0.06449394268051883,
       0.03938928323399141,
-      0.022644338964053448,
+      0.022644338964053445,
       0.012321069753420741,
       0.006191664090278571,
       0.0028672800399024167,
@@ -164,11 +164,11 @@
       0.7737520693137596,
       0.626158058671475,
       0.4943026693905384,
-      0.38152373161093633,
+      0.3815237316109364,
       0.2849928378328236,
-      0.20811270361164624,
+      0.20811270361164622,
       0.14726293268062962,
-      0.1003374121401908,
+      0.10033741214019079,
       0.06562437576887947,
       0.04081755703105158,
       0.02407438562720991,
@@ -177,7 +177,7 @@
       0.003434334658947344,
       0.0014729955574711105,
       5.304815215680369E-4,
-      1.5325010460188717E-4,
+      1.532501046018872E-4,
       3.2864405116884194E-5,
       4.5541957008082325E-6,
       3.3625843088903307E-7
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SALT_LAKE_CITY_UT.json
similarity index 70%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SALT_LAKE_CITY_UT.json
index 4fa5a064e..f5f90240d 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SALT_LAKE_CITY_UT.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SALT_LAKE_CITY_UT.json
@@ -24,25 +24,25 @@
     ],
     "ys": [
       0.10141210582180435,
-      0.07447849798602045,
+      0.07447849798602046,
       0.05330127231316856,
       0.037102818795138215,
       0.025232028167263762,
       0.016610346496346337,
-      0.010874067593129602,
-      0.007089224798368082,
+      0.010874067593129604,
+      0.00708922479836808,
       0.004735625457686324,
-      0.003249464756093951,
+      0.0032494647560939506,
       0.0022454952268110224,
-      0.001491447877255857,
-      8.988552768687257E-4,
-      4.6566809395121093E-4,
-      1.988297059158777E-4,
-      6.785029212800548E-5,
-      1.6876651512201575E-5,
+      0.0014914478772558568,
+      8.988552768687258E-4,
+      4.6566809395121077E-4,
+      1.9882970591587773E-4,
+      6.785029212800547E-5,
+      1.6876651512201572E-5,
       2.653741741725593E-6,
-      1.7318139402766213E-7,
-      1.035570404004172E-10
+      1.731813940276621E-7,
+      1.0355704040041718E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.03338701576491687,
-      0.024650966455601664,
+      0.033387015764916865,
+      0.02465096645560166,
       0.01764423071929716,
-      0.01226968084616165,
+      0.012269680846161648,
       0.008337057201618096,
-      0.005635024432572453,
+      0.005635024432572455,
       0.003789132702355024,
-      0.0025149123784953837,
-      0.001586342905921711,
-      9.01431544974797E-4,
-      4.4140296504165344E-4,
+      0.0025149123784953846,
+      0.0015863429059217106,
+      9.014315449747967E-4,
+      4.4140296504165366E-4,
       1.7921117169766222E-4,
       5.7541181003569944E-5,
-      1.4224526877692228E-5,
-      2.2078569144162733E-6,
-      1.8880753843912258E-7,
+      1.422452687769223E-5,
+      2.2078569144162738E-6,
+      1.888075384391226E-7,
       2.916565870061635E-9,
       1.3533194681297855E-11,
-      1.476122320747685E-12,
-      7.365315902026218E-14
+      1.4761223207476851E-12,
+      7.365315902026216E-14
     ]
   },
   "Peak Ground Acceleration": {
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      0.13047100258720737,
+      0.1304710025872074,
       0.09849712329595017,
       0.07246017969843055,
-      0.05191828655903307,
-      0.036365265053184825,
-      0.02499321774137477,
+      0.05191828655903308,
+      0.03636526505318483,
+      0.024993217741374762,
       0.016900968071016344,
-      0.011231650127527285,
+      0.011231650127527283,
       0.007452801108191979,
-      0.005017181957434342,
-      0.003470567929844281,
-      0.0024023685398152335,
+      0.005017181957434341,
+      0.0034705679298442814,
+      0.002402368539815233,
       0.0016078002266633952,
       9.514053815001429E-4,
-      4.656644721669268E-4,
+      4.656644721669267E-4,
       1.7536330043880214E-4,
       4.811667218966292E-5,
-      8.632653500921544E-6,
-      8.008388400062674E-7,
+      8.632653500921545E-6,
+      8.008388400062673E-7,
       2.2680106464068337E-8
     ]
   },
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.16740950916822123,
+      0.16740950916822125,
       0.1301827371821187,
       0.09802333688436565,
       0.0720099099078939,
       0.05129669394322607,
-      0.03606585232915037,
+      0.036065852329150376,
       0.024916005816203582,
-      0.016913099641626243,
-      0.011363408680915812,
-      0.007619737320678117,
-      0.005186419991130491,
-      0.00361155605985482,
+      0.01691309964162624,
+      0.011363408680915814,
+      0.007619737320678116,
+      0.00518641999113049,
+      0.0036115560598548218,
       0.00253928053666354,
-      0.0017305585661145022,
-      0.0010724055561078666,
-      5.639609734298514E-4,
-      2.3956867451954393E-4,
-      7.882123713799233E-5,
-      1.8675841989591893E-5,
+      0.0017305585661145013,
+      0.0010724055561078668,
+      5.639609734298517E-4,
+      2.395686745195439E-4,
+      7.882123713799232E-5,
+      1.86758419895919E-5,
       2.701116080577684E-6
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SAN_FRANCISCO_CA.json
similarity index 90%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SAN_FRANCISCO_CA.json
index 0e280329d..f282faf7a 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SAN_FRANCISCO_CA.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SAN_FRANCISCO_CA.json
@@ -25,8 +25,8 @@
     "ys": [
       0.5831008919911462,
       0.4284199090706749,
-      0.3043299517318651,
-      0.20991504534178368,
+      0.30432995173186517,
+      0.20991504534178365,
       0.14211631298661964,
       0.09374868521078619,
       0.061383844950437326,
@@ -69,18 +69,18 @@
       0.7929925155296614
     ],
     "ys": [
-      0.15758937503731726,
-      0.11247692685397596,
-      0.07946884297427431,
+      0.15758937503731724,
+      0.11247692685397598,
+      0.07946884297427433,
       0.05560574371886311,
       0.03824085383493095,
       0.02585465059626231,
-      0.017050534628279733,
+      0.01705053462827973,
       0.011010094459237604,
       0.006875269673181763,
-      0.004031893488663088,
+      0.004031893488663087,
       0.002153405881721273,
-      0.0010132607735766973,
+      0.001013260773576697,
       4.0392561747766895E-4,
       1.357315165926373E-4,
       3.5070265791185964E-5,
@@ -117,7 +117,7 @@
     "ys": [
       0.7094470259373502,
       0.5498428629048978,
-      0.4155123147834937,
+      0.41551231478349365,
       0.3063031193282665,
       0.22104888785899784,
       0.15688910340717468,
@@ -126,7 +126,7 @@
       0.04928602923975804,
       0.030791659709764246,
       0.018082373041434497,
-      0.009607207734429656,
+      0.009607207734429657,
       0.004562768246986615,
       0.0017919912792970505,
       5.570645285749892E-4,
@@ -161,24 +161,24 @@
       1.998773638612381
     ],
     "ys": [
-      0.846343456814455,
-      0.6798282480043856,
+      0.8463434568144551,
+      0.6798282480043855,
       0.529575106126662,
       0.4029924331123037,
       0.2978878788706715,
       0.21720849261933428,
-      0.15561695133652087,
-      0.10937917498336787,
+      0.15561695133652084,
+      0.10937917498336788,
       0.07525155479744264,
       0.05001008517906983,
       0.031720239807918466,
-      0.018914948303394897,
+      0.018914948303394893,
       0.010396290099441215,
       0.005116134863810127,
       0.002168905715322163,
       7.537255830739884E-4,
       2.043519900756787E-4,
-      3.950315353965148E-5,
+      3.950315353965147E-5,
       4.114149996331726E-6,
       1.1332666265240457E-7
     ]
diff --git a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SEATTLE_WA.json
similarity index 89%
rename from src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
rename to src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SEATTLE_WA.json
index 3f161bcae..84a5bf24f 100644
--- a/src/test/resources/e2e/nshm-conus-5.2.0/nshm-conus-5.2.0-2018-SEATTLE_WA.json
+++ b/src/test/resources/e2e/nshm-conus-2018/nshm-conus-2018-2018-SEATTLE_WA.json
@@ -31,14 +31,14 @@
       0.03979043310304015,
       0.02608186984634462,
       0.01639011789619338,
-      0.009939769051733804,
+      0.009939769051733806,
       0.005732292608201422,
       0.0030911152287355775,
-      0.0015239775147447624,
+      0.0015239775147447628,
       6.709168675782273E-4,
       2.574847006859803E-4,
       8.37874171428662E-5,
-      2.2516613948134413E-5,
+      2.251661394813441E-5,
       4.500727576177568E-6,
       6.144243207535918E-7,
       4.524870395276403E-8,
@@ -70,18 +70,18 @@
     ],
     "ys": [
       0.05798340021258256,
-      0.041904227365681966,
-      0.029366243207829653,
-      0.01992526977609041,
+      0.04190422736568196,
+      0.02936624320782965,
+      0.019925269776090413,
       0.013059136945119223,
-      0.008356470041248173,
+      0.008356470041248171,
       0.005219092927360337,
-      0.0032087975808839653,
-      0.0019199405262616404,
+      0.0032087975808839644,
+      0.0019199405262616406,
       0.0010855264302155057,
       5.619278902307795E-4,
-      2.563270845634497E-4,
-      9.79582646732166E-5,
+      2.563270845634498E-4,
+      9.795826467321661E-5,
       3.093950684856507E-5,
       7.164683336505891E-6,
       9.927613969917701E-7,
@@ -115,16 +115,16 @@
       1.6428726885203377
     ],
     "ys": [
-      0.247718930784228,
+      0.24771893078422802,
       0.21523675836712636,
       0.18161823548824615,
       0.1478057991464071,
-      0.11545178047071233,
+      0.11545178047071235,
       0.08622984829115031,
       0.0614308340584074,
       0.0414783202603966,
       0.026613647847004044,
-      0.016122062107857667,
+      0.01612206210785767,
       0.009167459234650009,
       0.0047229038072055946,
       0.002214599540841417,
@@ -166,11 +166,11 @@
       0.2111408438896052,
       0.17854755392401112,
       0.14527845926431035,
-      0.11415150096883397,
+      0.11415150096883399,
       0.08587864028339966,
-      0.0615484614301632,
+      0.061548461430163195,
       0.04205905132892357,
-      0.02729969817162939,
+      0.027299698171629392,
       0.01678063082631571,
       0.009668716589318763,
       0.005145168066638075,
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-BOSTON_MA.json
similarity index 63%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-BOSTON_MA.json
index 5fbf85280..8fbe33b7d 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-BOSTON_MA.json
+++ b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-BOSTON_MA.json
@@ -23,26 +23,26 @@
       1.7119945007591926
     ],
     "ys": [
-      0.012035250953950498,
-      0.008136450513957992,
-      0.005357340154375906,
-      0.003403819993864419,
-      0.002075982258963484,
-      0.0011822041734730927,
+      0.012035250953950496,
+      0.008136450513957994,
+      0.005357340154375904,
+      0.0034038199938644185,
+      0.0020759822589634836,
+      0.001182204173473093,
       6.381637241440367E-4,
-      3.1805354126301E-4,
-      1.488509696381637E-4,
-      6.570858797962464E-5,
-      2.7907226394671618E-5,
-      1.160317307310204E-5,
-      4.7473682801237555E-6,
-      1.8823085054717088E-6,
-      6.985968736604167E-7,
-      2.3617353275626022E-7,
+      3.180535412630101E-4,
+      1.4885096963816372E-4,
+      6.570858797962465E-5,
+      2.7907226394671614E-5,
+      1.1603173073102042E-5,
+      4.747368280123755E-6,
+      1.882308505471709E-6,
+      6.98596873660417E-7,
+      2.361735327562602E-7,
       6.822723750146087E-8,
       1.654170745318874E-8,
       3.143062035320597E-9,
-      4.1677143037056364E-10
+      4.167714303705636E-10
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,26 +69,26 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0025398230942089,
+      0.0025398230942089003,
       0.0017004849473223659,
-      0.001080537204575473,
-      6.427743459107483E-4,
-      3.5250053778408794E-4,
-      1.784508617487966E-4,
-      8.235649641224018E-5,
-      3.51825900817057E-5,
-      1.4039816722421815E-5,
+      0.0010805372045754734,
+      6.427743459107486E-4,
+      3.5250053778408804E-4,
+      1.784508617487965E-4,
+      8.235649641224025E-5,
+      3.518259008170571E-5,
+      1.403981672242182E-5,
       5.2925574919901536E-6,
-      1.931873813330582E-6,
-      6.930280662347881E-7,
-      2.387560829136424E-7,
+      1.9318738133305824E-6,
+      6.930280662347882E-7,
+      2.3875608291364243E-7,
       7.949667457419139E-8,
       2.3033109721002647E-8,
-      5.814345246474629E-9,
+      5.81434524647463E-9,
       1.1768734801565262E-9,
       1.7921158518774916E-10,
       1.707680249601977E-11,
-      6.620975889303252E-13
+      6.620975889303251E-13
     ]
   },
   "Peak Ground Acceleration": {
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.022133797305397513,
-      0.01646478822114371,
+      0.022133797305397516,
+      0.016464788221143715,
       0.011993007697334196,
       0.008469921726676995,
-      0.0057694224366679715,
-      0.0037852346853179046,
-      0.0023980285092101684,
-      0.0014644603827730191,
+      0.005769422436667971,
+      0.003785234685317904,
+      0.002398028509210169,
+      0.001464460382773019,
       8.708938689719437E-4,
-      5.050137904309896E-4,
+      5.050137904309894E-4,
       2.8744285592528334E-4,
-      1.5759519816243778E-4,
-      8.474954902281691E-5,
-      4.3315663950153084E-5,
-      2.1006734979279977E-5,
-      9.36468746818696E-6,
-      3.7358919546444565E-6,
-      1.2797193572338942E-6,
-      3.6777257578539196E-7,
-      8.117385475823618E-8
+      1.5759519816243772E-4,
+      8.474954902281687E-5,
+      4.331566395015309E-5,
+      2.100673497927998E-5,
+      9.364687468186962E-6,
+      3.735891954644456E-6,
+      1.2797193572338944E-6,
+      3.677725757853919E-7,
+      8.117385475823619E-8
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -161,26 +161,26 @@
       1.998773638612381
     ],
     "ys": [
-      0.03366552771204858,
-      0.025274901753270337,
-      0.018363592179908052,
+      0.03366552771204859,
+      0.02527490175327033,
+      0.01836359217990806,
       0.012936884452302021,
       0.008688945266911698,
-      0.005625605703707623,
-      0.0034731062327398453,
-      0.002041414499953952,
+      0.005625605703707624,
+      0.0034731062327398457,
+      0.002041414499953951,
       0.0011521441250253442,
-      6.256035783742622E-4,
-      3.2905129521755496E-4,
-      1.6788122677082186E-4,
-      8.289006542304934E-5,
-      3.932990927477223E-5,
+      6.256035783742621E-4,
+      3.29051295217555E-4,
+      1.678812267708219E-4,
+      8.28900654230493E-5,
+      3.9329909274772225E-5,
       1.770632155464228E-5,
       7.400623622880165E-6,
-      2.8151709437106135E-6,
-      9.444508782310243E-7,
-      2.6643564801230023E-7,
-      6.028000859708367E-8
+      2.815170943710613E-6,
+      9.444508782310246E-7,
+      2.664356480123001E-7,
+      6.028000859708366E-8
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-CHICAGO_IL.json
similarity index 68%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-CHICAGO_IL.json
index b97856e47..7f164c52a 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-CHICAGO_IL.json
+++ b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-CHICAGO_IL.json
@@ -23,25 +23,25 @@
       1.7119945007591926
     ],
     "ys": [
-      0.011743450939977121,
+      0.011743450939977118,
       0.008125308944564938,
-      0.005699841355233887,
+      0.005699841355233888,
       0.004063331479854992,
       0.002914932752547856,
-      0.002011657491709991,
-      0.0013023024188037935,
-      7.508580888508446E-4,
+      0.0020116574917099913,
+      0.001302302418803793,
+      7.508580888508447E-4,
       3.779758912608106E-4,
-      1.607665792621911E-4,
-      5.640450250928885E-5,
-      1.5854840222432897E-5,
+      1.6076657926219107E-4,
+      5.6404502509288863E-5,
+      1.5854840222432907E-5,
       3.4666024386239945E-6,
       6.276175503615024E-7,
-      1.1311107110879792E-7,
-      3.2901695050199055E-8,
-      8.920167427589633E-9,
-      2.0381078454137677E-9,
-      3.617194732035356E-10,
+      1.1311107110879795E-7,
+      3.290169505019905E-8,
+      8.920167427589635E-9,
+      2.0381078454137685E-9,
+      3.6171947320353567E-10,
       4.4457055160088465E-11
     ]
   },
@@ -69,25 +69,25 @@
       0.7929925155296614
     ],
     "ys": [
-      0.0039146752310542585,
-      0.0031451242905594454,
-      0.002539985104779431,
-      0.001995407146569926,
-      0.0014663954072994363,
+      0.003914675231054258,
+      0.003145124290559445,
+      0.0025399851047794315,
+      0.0019954071465699266,
+      0.0014663954072994365,
       9.81078515831008E-4,
-      5.766625095711314E-4,
-      2.9122083149339624E-4,
-      1.2323301880628126E-4,
-      4.23293094143438E-5,
-      1.1417819112031974E-5,
+      5.766625095711313E-4,
+      2.912208314933962E-4,
+      1.2323301880628123E-4,
+      4.232930941434379E-5,
+      1.1417819112031977E-5,
       2.284917995979172E-6,
-      3.189051251922006E-7,
-      2.6634716674399803E-8,
-      2.631094090897221E-9,
-      6.434177330359818E-10,
-      1.343931260071307E-10,
-      2.2316057744142464E-11,
-      2.521633307504799E-12,
+      3.1890512519220076E-7,
+      2.66347166743998E-8,
+      2.6310940908972222E-9,
+      6.43417733035982E-10,
+      1.3439312600713073E-10,
+      2.231605774414246E-11,
+      2.5216333075047996E-12,
       1.3184079536599202E-13
     ]
   },
@@ -116,23 +116,23 @@
     ],
     "ys": [
       0.014201965383094008,
-      0.009836661064584256,
-      0.00688705539510868,
-      0.004822972654784704,
+      0.009836661064584255,
+      0.006887055395108681,
+      0.004822972654784702,
       0.0033064514318962616,
-      0.0021523212203669317,
-      0.0012913959704858489,
-      6.980789885746676E-4,
+      0.002152321220366931,
+      0.0012913959704858482,
+      6.98078988574668E-4,
       3.4489953492751826E-4,
-      1.5983798459686004E-4,
-      7.33965023878937E-5,
-      3.422789089731295E-5,
+      1.5983798459686007E-4,
+      7.339650238789367E-5,
+      3.4227890897312936E-5,
       1.6846491297689144E-5,
-      8.285358896839056E-6,
-      3.961387655798772E-6,
+      8.28535889683906E-6,
+      3.961387655798771E-6,
       1.7527896460680704E-6,
-      6.948067057717802E-7,
-      2.362740206995038E-7,
+      6.948067057717801E-7,
+      2.3627402069950385E-7,
       6.733661284906263E-8,
       1.4715213946019287E-8
     ]
@@ -161,26 +161,26 @@
       1.998773638612381
     ],
     "ys": [
-      0.02584957271338508,
-      0.017753646580124727,
+      0.02584957271338509,
+      0.017753646580124724,
       0.012007008129215242,
-      0.008128801283198312,
-      0.005452530605807154,
+      0.008128801283198313,
+      0.005452530605807153,
       0.0036242624057437533,
       0.002294303050029684,
-      0.0013363583126878719,
-      7.036603069604338E-4,
+      0.0013363583126878716,
+      7.036603069604337E-4,
       3.30610885337662E-4,
-      1.4009518367835518E-4,
+      1.400951836783552E-4,
       5.5199892795127905E-5,
       2.1302618500609412E-5,
-      8.422390673359909E-6,
+      8.42239067335991E-6,
       3.4034559898394304E-6,
       1.3409496391300434E-6,
-      4.90670931766195E-7,
+      4.906709317661948E-7,
       1.5953368600015112E-7,
       4.3540972907165534E-8,
-      9.429156219063078E-9
+      9.42915621906308E-9
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-LOS_ANGELES_CA.json
similarity index 100%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-LOS_ANGELES_CA.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-LOS_ANGELES_CA.json
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-NEW_MADRID_MO.json
similarity index 62%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-NEW_MADRID_MO.json
index d87509be8..7037b6018 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_MADRID_MO.json
+++ b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-NEW_MADRID_MO.json
@@ -24,25 +24,25 @@
     ],
     "ys": [
       0.03810825840039236,
-      0.028315881963472067,
-      0.020672225797126374,
-      0.014870841055017734,
-      0.01064517851463895,
+      0.028315881963472057,
+      0.020672225797126367,
+      0.014870841055017738,
+      0.010645178514638951,
       0.007579226339112702,
-      0.005525146309384491,
-      0.004150104336178289,
-      0.0032832768942294005,
+      0.005525146309384489,
+      0.004150104336178288,
+      0.0032832768942293996,
       0.002736483538207061,
       0.0023616078072307626,
-      0.0020302193043108072,
-      0.0016536229943857192,
-      0.0012136295169658802,
-      7.696144694320107E-4,
-      4.122710029507207E-4,
-      1.8003022715414643E-4,
+      0.002030219304310808,
+      0.001653622994385719,
+      0.0012136295169658808,
+      7.696144694320109E-4,
+      4.1227100295072064E-4,
+      1.800302271541464E-4,
       6.366327102023256E-5,
-      1.729567497551861E-5,
-      3.4296680438421225E-6
+      1.7295674975518613E-5,
+      3.4296680438421237E-6
     ]
   },
   "5.00 Second Spectral Acceleration": {
@@ -69,23 +69,23 @@
       0.7929925155296614
     ],
     "ys": [
-      0.009208490572401863,
+      0.009208490572401862,
       0.006949044290028717,
       0.005306022483737845,
-      0.00415598280715448,
-      0.003374832319325517,
-      0.002867336657508213,
+      0.004155982807154481,
+      0.0033748323193255178,
+      0.0028673366575082126,
       0.0025338938062588858,
-      0.002296577849638026,
-      0.002071024070927564,
-      0.0017848984735762317,
-      0.0014189996388149055,
-      0.001016106674128016,
-      6.401986492207045E-4,
-      3.51856592068447E-4,
-      1.6023573276676502E-4,
-      6.062719466111044E-5,
-      1.8059984462885992E-5,
+      0.0022965778496380263,
+      0.0020710240709275645,
+      0.0017848984735762319,
+      0.001418999638814905,
+      0.0010161066741280161,
+      6.401986492207046E-4,
+      3.5185659206844706E-4,
+      1.60235732766765E-4,
+      6.062719466111046E-5,
+      1.8059984462886E-5,
       3.992606691586526E-6,
       5.941978049955505E-7,
       3.907477602123017E-8
@@ -115,26 +115,26 @@
       1.6428726885203377
     ],
     "ys": [
-      0.07385719651712237,
+      0.07385719651712236,
       0.06339731846609972,
-      0.053247390588328176,
-      0.0435096428460709,
-      0.03455200231823049,
-      0.026735789278431794,
-      0.020266534158040125,
-      0.015094050334430918,
-      0.011160466116674341,
-      0.00824323367015754,
-      0.006149418866075564,
-      0.004638605840165206,
-      0.0036081610853177662,
-      0.0028667097097824813,
-      0.0022820277341210914,
-      0.0017173902293493681,
+      0.05324739058832817,
+      0.04350964284607091,
+      0.03455200231823048,
+      0.02673578927843179,
+      0.02026653415804013,
+      0.01509405033443092,
+      0.011160466116674345,
+      0.008243233670157545,
+      0.006149418866075562,
+      0.004638605840165204,
+      0.0036081610853177675,
+      0.0028667097097824818,
+      0.002282027734121092,
+      0.0017173902293493675,
       0.0011387960982620043,
-      6.20634628925764E-4,
+      6.206346289257639E-4,
       2.676485464183286E-4,
-      8.5590182373738E-5
+      8.559018237373796E-5
     ]
   },
   "0.20 Second Spectral Acceleration": {
@@ -162,25 +162,25 @@
     ],
     "ys": [
       0.08841662701849765,
-      0.07591742600201583,
-      0.0634904922902513,
-      0.05159654623603554,
-      0.040338611992381736,
-      0.030668710568369003,
-      0.0226647187361527,
+      0.07591742600201586,
+      0.06349049229025132,
+      0.05159654623603552,
+      0.04033861199238173,
+      0.03066871056836901,
+      0.022664718736152712,
       0.016375571535456927,
-      0.011700180723249342,
-      0.008331012521430117,
+      0.011700180723249338,
+      0.008331012521430115,
       0.0059918284439274515,
-      0.004419617060158352,
-      0.0033904787433168887,
+      0.00441961706015835,
+      0.00339047874331689,
       0.002704887471971463,
-      0.0021874716446254982,
-      0.001705434057416785,
-      0.0012009117597148592,
-      7.123552774961516E-4,
-      3.3561010223032633E-4,
-      1.2135441742664015E-4
+      0.0021874716446254974,
+      0.0017054340574167853,
+      0.001200911759714859,
+      7.123552774961517E-4,
+      3.356101022303263E-4,
+      1.2135441742664016E-4
     ]
   }
 }
\ No newline at end of file
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-NEW_YORK_NY.json
similarity index 67%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-NEW_YORK_NY.json
index 59c5ea63c..8a3df6f99 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-NEW_YORK_NY.json
+++ b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-NEW_YORK_NY.json
@@ -23,24 +23,24 @@
       1.7119945007591926
     ],
     "ys": [
-      0.012374804522292667,
-      0.008366615574145388,
+      0.012374804522292664,
+      0.00836661557414539,
       0.005447933203374217,
-      0.0033819355792352452,
+      0.003381935579235245,
       0.0020006567971856686,
-      0.001105422985268529,
-      5.859581677512342E-4,
-      2.9321216786829424E-4,
+      0.0011054229852685289,
+      5.859581677512343E-4,
+      2.932121678682943E-4,
       1.421916075501724E-4,
       6.726067803272612E-5,
-      3.134520433789696E-5,
+      3.134520433789695E-5,
       1.4361751527596114E-5,
       6.369510633138831E-6,
       2.6653684534293637E-6,
       1.0234643150923622E-6,
-      3.5363710757446497E-7,
-      1.0369647752886425E-7,
-      2.5379169471070924E-8,
+      3.5363710757446486E-7,
+      1.0369647752886424E-7,
+      2.5379169471070928E-8,
       4.851084599984121E-9,
       6.463135305490378E-10
     ]
@@ -70,24 +70,24 @@
     ],
     "ys": [
       0.0026995587713563303,
-      0.0017298562174529152,
-      0.0010437246587511788,
-      5.893703808209609E-4,
+      0.001729856217452915,
+      0.001043724658751179,
+      5.893703808209607E-4,
       3.0866135946543816E-4,
-      1.5129449159709626E-4,
-      6.909234873826656E-5,
-      3.0170083088739845E-5,
-      1.2820296859449096E-5,
+      1.5129449159709623E-4,
+      6.909234873826654E-5,
+      3.0170083088739838E-5,
+      1.2820296859449094E-5,
       5.334744194862449E-6,
-      2.1850795994287938E-6,
-      8.683687558905424E-7,
-      3.2288483966793267E-7,
+      2.1850795994287946E-6,
+      8.683687558905425E-7,
+      3.2288483966793256E-7,
       1.1154021351741914E-7,
       3.321633846097989E-8,
-      8.550579030900382E-9,
+      8.550579030900384E-9,
       1.7547455322744306E-9,
-      2.7055513137256066E-10,
-      2.6042457346830447E-11,
+      2.705551313725607E-10,
+      2.6042457346830444E-11,
       1.0203573556440597E-12
     ]
   },
@@ -115,25 +115,25 @@
       1.6428726885203377
     ],
     "ys": [
-      0.020286596128412503,
+      0.020286596128412507,
       0.015122005526298518,
       0.011082055927620184,
-      0.007943124693114981,
-      0.005565081037653395,
-      0.003811541282858031,
-      0.0025512684613907275,
-      0.0016581992888227435,
-      0.0010500509127704901,
-      6.457811692687935E-4,
+      0.007943124693114983,
+      0.005565081037653393,
+      0.0038115412828580303,
+      0.0025512684613907266,
+      0.0016581992888227432,
+      0.00105005091277049,
+      6.457811692687936E-4,
       3.870049228081458E-4,
-      2.2185052288528707E-4,
-      1.2362061855638126E-4,
-      6.497784148592093E-5,
-      3.216899369858367E-5,
-      1.4558524637476322E-5,
+      2.2185052288528715E-4,
+      1.236206185563812E-4,
+      6.497784148592097E-5,
+      3.216899369858368E-5,
+      1.4558524637476324E-5,
       5.872716012004253E-6,
       2.02924869721662E-6,
-      5.875115950380294E-7,
+      5.875115950380293E-7,
       1.3058577801930758E-7
     ]
   },
@@ -161,25 +161,25 @@
       1.998773638612381
     ],
     "ys": [
-      0.03092438557753146,
-      0.023158670112213064,
+      0.030924385577531452,
+      0.023158670112213068,
       0.0168266446727544,
-      0.011887481789564946,
-      0.008051319708031236,
-      0.005306104962367635,
-      0.003378081358145653,
-      0.00207687872119885,
+      0.011887481789564952,
+      0.008051319708031232,
+      0.005306104962367634,
+      0.003378081358145652,
+      0.002076878721198851,
       0.001240205271953173,
-      7.171120777581216E-4,
-      4.0159722262661073E-4,
-      2.1704931466717478E-4,
-      1.1263830633195167E-4,
-      5.5685617014544695E-5,
-      2.5902604304970153E-5,
-      1.1100158846964052E-5,
-      4.29968921259496E-6,
+      7.171120777581213E-4,
+      4.015972226266107E-4,
+      2.170493146671748E-4,
+      1.126383063319517E-4,
+      5.5685617014544675E-5,
+      2.5902604304970156E-5,
+      1.110015884696405E-5,
+      4.299689212594959E-6,
       1.461140887787391E-6,
-      4.1591376645650764E-7,
+      4.159137664565076E-7,
       9.467170166750412E-8
     ]
   }
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-RENO_NV.json
similarity index 98%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-RENO_NV.json
index 2fe950c9b..6358bb7ca 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-RENO_NV.json
+++ b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-RENO_NV.json
@@ -76,11 +76,11 @@
       0.02114650811223566,
       0.012726247663438568,
       0.007323504383620474,
-      0.004014409327054083,
+      0.0040144093270540835,
       0.00205488138625064,
       9.525469423918409E-4,
       3.8994761986655535E-4,
-      1.3652451696297344E-4,
+      1.365245169629735E-4,
       3.884698378921924E-5,
       8.873557780140218E-6,
       1.3451231092798012E-6,
@@ -165,7 +165,7 @@
       0.4648421129913744,
       0.3364614024187943,
       0.23936400511977998,
-      0.16657296053887222,
+      0.1665729605388722,
       0.11552626958244688,
       0.07924766772201519,
       0.05346535671204676,
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SALT_LAKE_CITY_UT.json
similarity index 100%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SALT_LAKE_CITY_UT.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SALT_LAKE_CITY_UT.json
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SAN_FRANCISCO_CA.json
similarity index 100%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SAN_FRANCISCO_CA.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SAN_FRANCISCO_CA.json
diff --git a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SEATTLE_WA.json
similarity index 84%
rename from src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
rename to src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SEATTLE_WA.json
index 387ec8fbc..97795b242 100644
--- a/src/test/resources/e2e/nshm-conus-6.a.3/nshm-conus-6.a.3-2023-SEATTLE_WA.json
+++ b/src/test/resources/e2e/nshm-conus-2023/nshm-conus-2023-2023-SEATTLE_WA.json
@@ -23,20 +23,20 @@
       1.7119945007591926
     ],
     "ys": [
-      0.19897581677887669,
+      0.19897581677887666,
       0.1577395573051793,
       0.12044861188465388,
       0.08849701093209442,
-      0.0628636073809434,
-      0.04276589752771626,
-      0.028375492860898792,
-      0.018099393086572425,
+      0.06286360738094342,
+      0.04276589752771625,
+      0.02837549286089879,
+      0.01809939308657242,
       0.011162206885093687,
-      0.006559356758212913,
+      0.006559356758212915,
       0.0036143759422569417,
-      0.0018285570367639593,
+      0.0018285570367639595,
       8.296667905783596E-4,
-      3.2849455618839946E-4,
+      3.284945561883995E-4,
       1.0963455941947854E-4,
       2.9696131236439645E-5,
       5.805827780831235E-6,
@@ -71,19 +71,19 @@
     "ys": [
       0.057458910275419064,
       0.04119453721482716,
-      0.02873888612621549,
-      0.019517266040986556,
+      0.028738886126215488,
+      0.019517266040986553,
       0.012865085501768908,
       0.008286940358446314,
-      0.0051778287701842295,
-      0.003135105605324782,
-      0.0018040520137694123,
-      9.550967828148112E-4,
-      4.525051792337518E-4,
-      1.8601411939532503E-4,
-      6.340025655239959E-5,
-      1.774413744796896E-5,
-      3.6119400522511263E-6,
+      0.005177828770184231,
+      0.0031351056053247803,
+      0.0018040520137694118,
+      9.550967828148115E-4,
+      4.525051792337519E-4,
+      1.8601411939532498E-4,
+      6.34002565523996E-5,
+      1.7744137447968963E-5,
+      3.6119400522511268E-6,
       4.377163495039788E-7,
       1.040241402813071E-8,
       1.7354534758719045E-11,
@@ -132,8 +132,8 @@
       3.7074288922810117E-4,
       1.0887407546288273E-4,
       2.3944480179971553E-5,
-      3.4423038486722727E-6,
-      2.787499924287682E-7,
+      3.4423038486722723E-6,
+      2.7874999242876813E-7,
       6.628896595304417E-9
     ]
   },
@@ -163,19 +163,19 @@
     "ys": [
       0.2869636502669868,
       0.25417973544818384,
-      0.21906830834876054,
+      0.21906830834876057,
       0.1834844524639711,
       0.14787713473344755,
       0.11527966254404634,
       0.08627079311437469,
       0.061710212057459315,
-      0.04223637305486283,
-      0.02756873475343311,
+      0.04223637305486282,
+      0.027568734753433105,
       0.017153092866713564,
       0.010123007487523891,
       0.00561719974969265,
-      0.002888657013889449,
-      0.0013460854387742323,
+      0.0028886570138894493,
+      0.0013460854387742321,
       5.496026708999016E-4,
       1.9120436392156004E-4,
       5.465049981000188E-5,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json b/src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-HILO_HI.json
similarity index 93%
rename from src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
rename to src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-HILO_HI.json
index 8669ded72..c6aea429d 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HILO_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-HILO_HI.json
@@ -23,16 +23,16 @@
       1.7119945007591926
     ],
     "ys": [
-      1.139427959929886,
-      0.9096459257402049,
+      1.1394279599298858,
+      0.909645925740205,
       0.6810439562313703,
-      0.4821343899828438,
+      0.48213438998284386,
       0.3270662494936988,
       0.2122733790095776,
-      0.13579352589768767,
+      0.13579352589768764,
       0.08466990088453301,
       0.0514796672410259,
-      0.0295922152331615,
+      0.029592215233161495,
       0.015605186053687877,
       0.007369438722986227,
       0.0030791345001285235,
@@ -74,12 +74,12 @@
       0.11286823232748022,
       0.08019936527365806,
       0.057001082377164766,
-      0.03977231046422921,
+      0.0397723104642292,
       0.026270923994779784,
       0.0159300182060438,
       0.008586807484419114,
       0.0040091692633346795,
-      0.0016237229130359049,
+      0.0016237229130359047,
       5.831580842583807E-4,
       1.935491083341371E-4,
       6.446411351755592E-5,
@@ -162,15 +162,15 @@
     ],
     "ys": [
       1.4371068709113273,
-      1.3442294606163503,
+      1.3442294606163505,
       1.2504550788598903,
       1.145108478540398,
-      1.0076845134906758,
+      1.0076845134906756,
       0.8393355383077514,
       0.6496537972367906,
       0.4625305796292689,
-      0.3035348264320895,
-      0.18409848770017573,
+      0.30353482643208957,
+      0.1840984877001757,
       0.10404729414822564,
       0.054920827101472565,
       0.026929508320917738,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json b/src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-HONOLULU_HI.json
similarity index 98%
rename from src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
rename to src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-HONOLULU_HI.json
index cf16ace18..5f307f1d3 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-HONOLULU_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-HONOLULU_HI.json
@@ -70,11 +70,11 @@
     ],
     "ys": [
       0.023279814179665247,
-      0.015258454706800595,
+      0.015258454706800593,
       0.009636588671134795,
       0.0058636185962218715,
       0.0034303179683354557,
-      0.0019508911864085045,
+      0.0019508911864085043,
       0.0010720245656982627,
       5.727230032611106E-4,
       2.940392779991596E-4,
@@ -117,7 +117,7 @@
     "ys": [
       0.16241112120908746,
       0.12117474522250349,
-      0.08821017091766083,
+      0.08821017091766084,
       0.06247545594775962,
       0.0429411432751231,
       0.028525687803782396,
diff --git a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json b/src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-KAILUA_KONA_HI.json
similarity index 90%
rename from src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
rename to src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-KAILUA_KONA_HI.json
index 700f75ca9..75e60ef6e 100644
--- a/src/test/resources/e2e/nshm-hawaii-2.0.2/nshm-hawaii-2.0.2-2021-KAILUA_KONA_HI.json
+++ b/src/test/resources/e2e/nshm-hawaii-2021/nshm-hawaii-2021-2021-KAILUA_KONA_HI.json
@@ -25,21 +25,21 @@
     "ys": [
       0.9310649618626425,
       0.7152683525622627,
-      0.5254960437436177,
-      0.37057192881004786,
+      0.5254960437436178,
+      0.37057192881004797,
       0.2536030693592891,
       0.1673342748557868,
       0.10852163641624823,
       0.06764805605345484,
       0.04042125038591836,
-      0.022759302561329988,
-      0.012035453130050871,
+      0.02275930256132998,
+      0.012035453130050867,
       0.006001361401039622,
       0.002825403258669261,
       0.0012397199668725764,
       4.913127725890904E-4,
       1.6916652515186739E-4,
-      4.608184816695928E-5,
+      4.6081848166959275E-5,
       9.142956045358946E-6,
       1.067682459238504E-6,
       4.413524073773537E-8
@@ -73,20 +73,20 @@
       0.13554779250681923,
       0.09647775115759329,
       0.06847614819048337,
-      0.04772578379364716,
+      0.04772578379364718,
       0.03208679105889853,
       0.020129540279605004,
       0.011639202185119844,
       0.006195139919067763,
       0.0030758835356592914,
-      0.0014771509658122375,
-      7.061929082246017E-4,
+      0.0014771509658122373,
+      7.061929082246016E-4,
       3.34514415859711E-4,
       1.5467986387544445E-4,
       6.363609376236911E-5,
       2.247131683032451E-5,
       6.219516642047412E-6,
-      1.2615492254822047E-6,
+      1.2615492254822045E-6,
       1.5297532779407637E-7,
       7.198489307670766E-9
     ]
@@ -116,24 +116,24 @@
     ],
     "ys": [
       1.3099486083268739,
-      1.199523417668875,
+      1.1995234176688747,
       1.0517265084684118,
       0.8707860874217463,
       0.6765138623146243,
-      0.493401638622512,
+      0.49340163862251196,
       0.33992289432676787,
       0.22192803156480623,
       0.13847632521718928,
       0.0817533386032545,
       0.04511099205028912,
       0.022490754664834876,
-      0.010374939794256521,
-      0.004313773760782855,
-      0.0016216028906538636,
+      0.01037493979425652,
+      0.004313773760782856,
+      0.0016216028906538638,
       5.238693662990279E-4,
       1.377271763315316E-4,
       2.6761997339916372E-5,
-      3.504591338211114E-6,
+      3.5045913382111136E-6,
       2.30974963417142E-7
     ]
   },
@@ -163,7 +163,7 @@
     "ys": [
       1.3761096429204573,
       1.2927474893926607,
-      1.1783350570784317,
+      1.178335057078432,
       1.0275173511479154,
       0.842703120792494,
       0.6513972997833428,
-- 
GitLab


From 0ed8b867d0a8dd0758f922c1855affcf55dde447 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:19:46 -0700
Subject: [PATCH 45/57] change to nshms

---
 build.gradle | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/build.gradle b/build.gradle
index 55928268c..e8ebc82c3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,9 +54,7 @@ tasks.withType(JavaCompile) {
 }
 
 tasks.withType(JavaExec) {
-  // CONUS 2018 is the default model used for web serivces
-  // See src/main/resources/application.yml
-  dependsOn conus2018
+  dependsOn nshms
   jvmArgs(
       '-noverify',
       '-Xms2g',
-- 
GitLab


From ac5717570bc545a932696ddad45f3f09c1214d79 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:19:59 -0700
Subject: [PATCH 46/57] add yaml file with nshms to use

---
 nshms.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 nshms.yml

diff --git a/nshms.yml b/nshms.yml
new file mode 100644
index 000000000..3b32abcd1
--- /dev/null
+++ b/nshms.yml
@@ -0,0 +1,45 @@
+####
+# NSHMs to use for unit tests and for deployments.
+####
+nshms:
+  # Alaska 2023 NSHM
+  -
+    repo: nshm-alaska
+    tag: 3.a.0
+    year: 2023
+    deployments:
+      - development
+      - staging
+      # TODO: Add to production when model is stable
+      # - production
+
+  # CONUS 2018 NSHM
+  -
+    repo: nshm-conus
+    tag: 5.2.0
+    year: 2018
+    deployments:
+      - development
+      - staging
+      - production
+
+  # CONUS 2023 NSHM
+  -
+    repo: nshm-conus
+    tag: 6.a.3
+    year: 2023
+    deployments:
+      - development
+      - staging
+      # TODO: Add to production when model is stable
+      # - production
+
+  # Hawaii 2021 NSHM
+  -
+    repo: nshm-hawaii
+    tag: 2.0.2
+    year: 2021
+    deployments:
+      - development
+      - staging
+      - production
-- 
GitLab


From af056264b261065e74dce0529c6511d37b9973ae Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:20:17 -0700
Subject: [PATCH 47/57] read in nshm file and download nshms

---
 gradle/nshm.gradle | 68 ++++++++++++++++++++--------------------------
 1 file changed, 29 insertions(+), 39 deletions(-)

diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index 57da084f2..5eecb87f6 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -1,10 +1,21 @@
 apply plugin: "de.undercouch.download"
 
+buildscript {
+  repositories {
+    mavenCentral()
+  }
+  dependencies {
+    classpath "org.yaml:snakeyaml:1.33"
+  }
+}
+
+import org.yaml.snakeyaml.Yaml
+
 ext {
   nshmDir = "nshms";
 
   // Download and unzip NSHM
-  downloadNshm = {repo, tag ->
+  downloadNshm = {repo, tag, year ->
     def zipName = "${repo}-${tag}.zip";
     def zipFile = new File(nshmDir, zipName)
 
@@ -16,58 +27,37 @@ ext {
       from zipTree(zipFile)
       into nshmDir
     }
+    file("${nshmDir}/${repo}-${tag}").renameTo(file("${nshmDir}/${repo}-${year}"))
     delete {
       delete zipFile
     }
   }
 }
 
-// Download and unzip nshm-alaska tag for Alaska 2023
-task alaska2023() {
-  doLast {
-    downloadNshm("nshm-alaska", "3.a.0")
-  }
-}
-
-// Download and unzip nshm-conus tag for CONUS 2018
-task conus2018() {
-  doLast {
-    downloadNshm("nshm-conus", "5.2.0")
-  }
-}
-
-// Download and unzip nshm-conus tag for CONUS 2023
-task conus2023() {
-  doLast {
-    downloadNshm("nshm-conus", "6.a.3")
-  }
-}
-
-// Download and unzip nshm-hawaii tag for Hawaii 2021
-task hawaii2021() {
-  doLast {
-    downloadNshm("nshm-hawaii", "2.0.2")
-  }
+task cleanNshm(type: Delete) {
+  delete nshmDir
 }
+clean.dependsOn cleanNshm
 
 // Download all NSHMs
 task nshms() {
-  dependsOn alaska2023
-  dependsOn conus2018
-  dependsOn conus2023
-  dependsOn hawaii2021
-}
+  dependsOn cleanNshm
+  def yaml = new Yaml()
+  def nshmConfig = new Yaml().load(new File("nshms.yml").newInputStream())
 
-task cleanNshm(type: Delete) {
-  delete nshmDir
+  doLast {
+    for (nshm in nshmConfig.nshms) {
+      // Download NSHM
+      downloadNshm(nshm.repo, nshm.tag, nshm.year)
+    }
+  }
 }
-clean.dependsOn cleanNshm
 
 // Test Alaska 2023 NSHM
 task testAlaska2023(type: Test) {
   description = "Test Alaska 2023 NSHM"
   group = "verification"
-  dependsOn alaska2023
+  dependsOn nshms
 
   testLogging {
     exceptionFormat "full"
@@ -88,7 +78,7 @@ task testAlaska2023(type: Test) {
 task testConus2018(type: Test) {
   description = "Test CONUS 2018 NSHM"
   group = "verification"
-  dependsOn conus2018
+  dependsOn nshms
 
   testLogging {
     exceptionFormat "full"
@@ -109,7 +99,7 @@ task testConus2018(type: Test) {
 task testConus2023(type: Test) {
   description = "Test CONUS 2023 NSHM"
   group = "verification"
-  dependsOn conus2023
+  dependsOn nshms
 
   testLogging {
     exceptionFormat "full"
@@ -130,7 +120,7 @@ task testConus2023(type: Test) {
 task testHawaii2021(type: Test) {
   description = "Test Hawaii 2021 NSHM"
   group = "verification"
-  dependsOn hawaii2021
+  dependsOn nshms
 
   testLogging {
     exceptionFormat "full"
-- 
GitLab


From 007e70831d994a487531f19e372822892777398c Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:21:56 -0700
Subject: [PATCH 48/57] use nshm file

---
 .../earthquake/nshmp/model/NshmTestUtils.java | 127 ++++++++++++++----
 .../earthquake/nshmp/model/NshmTests.java     | 105 ++++++++-------
 2 files changed, 155 insertions(+), 77 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
index d34e167e1..921cce17f 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTestUtils.java
@@ -9,12 +9,16 @@ import java.lang.reflect.Type;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
 
+import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -27,7 +31,9 @@ import gov.usgs.earthquake.nshmp.calc.Hazard;
 import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
 import gov.usgs.earthquake.nshmp.calc.Site;
 import gov.usgs.earthquake.nshmp.data.XySequence;
-import gov.usgs.earthquake.nshmp.model.NshmTests.Nshm;
+import gov.usgs.earthquake.nshmp.gmm.Imt;
+
+import io.swagger.v3.core.util.Yaml;
 
 /**
  * Utilities to run tests on a NSHM.
@@ -42,16 +48,28 @@ class NshmTestUtils {
       .create();
 
   /**
-   * Generate results for all {@link NSHM}s
+   * Load a model.
    *
-   * Run "./gradlew nshms" to first download all NSHMs
+   * @param nshm The NSHM
    */
-  public static void main(String[] args) throws IOException {
-    for (Nshm nshm : Nshm.values()) {
-      /* Initialize and shut down executor to generate results. */
-      NshmModel nshmModel = loadModel(nshm);
-      writeExpecteds(nshmModel);
-      nshmModel.exec.shutdown();
+  static NshmModel loadModel(Nshm nshm) {
+    int cores = Runtime.getRuntime().availableProcessors();
+
+    return new NshmModel(
+        nshm,
+        ModelLoader.load(nshm.modelPath()),
+        Executors.newFixedThreadPool(cores));
+  }
+
+  /**
+   * Read in nshms.yml file.
+   */
+  static NshmConfig readNshms() {
+    try {
+      JsonNode jsonNode = Yaml.mapper().readValue(Paths.get("nshms.yml").toFile(), JsonNode.class);
+      return GSON.fromJson(jsonNode.toString(), NshmConfig.class);
+    } catch (Exception e) {
+      throw new RuntimeException("Failed to read and parse nshms.yml file");
     }
   }
 
@@ -60,7 +78,7 @@ class NshmTestUtils {
    *
    * @param nshm The NSHM to test
    */
-  static final void testNshm(Nshm nshm) {
+  static void testNshm(Nshm nshm) {
     NshmModel nshmModel = loadModel(nshm);
 
     for (NamedLocation location : nshm.locations()) {
@@ -70,6 +88,19 @@ class NshmTestUtils {
     nshmModel.exec.shutdown();
   }
 
+  /**
+   * Write expected values
+   *
+   * @param nshmModel The NSHM model
+   */
+  static void writeExpecteds(NshmModel nshmModel) throws IOException {
+    for (NamedLocation location : nshmModel.nshm.locations()) {
+      Map<String, XySequence> xyMap = generateActual(nshmModel, location);
+      String json = GSON.toJson(xyMap);
+      writeExpected(nshmModel.nshm, location, json);
+    }
+  }
+
   private static void assertCurveEquals(XySequence expected, XySequence actual, double tol) {
     // IMLs close but not exact due to exp() transform
     assertArrayEquals(
@@ -129,15 +160,6 @@ class NshmTestUtils {
     return xyMap;
   }
 
-  private static NshmModel loadModel(Nshm nshm) {
-    int cores = Runtime.getRuntime().availableProcessors();
-
-    return new NshmModel(
-        nshm,
-        ModelLoader.load(nshm.modelPath()),
-        Executors.newFixedThreadPool(cores));
-  }
-
   private static Map<String, XySequence> readExpected(NshmModel nshmModel, NamedLocation loc) {
     Path resultPath = DATA_PATH
         .resolve(nshmModel.nshm.modelName())
@@ -159,14 +181,6 @@ class NshmTestUtils {
     return xyMap;
   }
 
-  private static void writeExpecteds(NshmModel nshmModel) throws IOException {
-    for (NamedLocation location : nshmModel.nshm.locations()) {
-      Map<String, XySequence> xyMap = generateActual(nshmModel, location);
-      String json = GSON.toJson(xyMap);
-      writeExpected(nshmModel.nshm, location, json);
-    }
-  }
-
   private static void writeExpected(
       Nshm nshm,
       NamedLocation loc,
@@ -201,4 +215,63 @@ class NshmTestUtils {
       this.exec = exec;
     }
   }
+
+  static class NshmInfo {
+    final String repo;
+    final String tag;
+    final int year;
+
+    NshmInfo(String repo, String tag, int year) {
+      this.repo = repo;
+      this.tag = tag;
+      this.year = year;
+    }
+  }
+
+  static class NshmConfig {
+    NshmInfo[] nshms;
+
+    NshmInfo nshm(String repo, int year) {
+      return Arrays.stream(nshms)
+          .filter(nshm -> nshm.repo == repo && nshm.year == year)
+          .findFirst()
+          .orElseThrow();
+    }
+  }
+
+  static class Nshm {
+    private final NshmInfo nshmInfo;
+    private final List<NamedLocation> locations;
+    private final Set<Imt> imts;
+
+    Nshm(NshmInfo nshmInfo, List<NamedLocation> locations, Set<Imt> imts) {
+      this.nshmInfo = nshmInfo;
+      this.locations = locations;
+      this.imts = imts;
+    }
+
+    Path modelPath() {
+      return Paths.get("nshms", modelName());
+    }
+
+    String modelName() {
+      return String.format("%s-%s", nshmInfo.repo, nshmInfo.year);
+    }
+
+    List<NamedLocation> locations() {
+      return List.copyOf(locations);
+    }
+
+    Set<Imt> imts() {
+      return Set.copyOf(imts);
+    }
+
+    int year() {
+      return nshmInfo.year;
+    }
+
+    String resultFilename(NamedLocation location) {
+      return String.format("%s-%s-%s.json", modelName(), year(), location.name());
+    }
+  }
 }
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
index e430ee8a6..bb122bab5 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
@@ -1,16 +1,20 @@
 package gov.usgs.earthquake.nshmp.model;
 
 import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
+import java.util.ArrayList;
 import java.util.EnumSet;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import org.junit.jupiter.api.Test;
 
 import gov.usgs.earthquake.nshmp.NamedLocation;
 import gov.usgs.earthquake.nshmp.gmm.Imt;
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.Nshm;
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.NshmInfo;
+import gov.usgs.earthquake.nshmp.model.NshmTestUtils.NshmModel;
 import gov.usgs.earthquake.nshmp.site.NshmpSite;
 
 /**
@@ -45,6 +49,51 @@ class NshmTests {
 
   private static final Set<Imt> IMTS = EnumSet.of(Imt.PGA, Imt.SA0P2, Imt.SA1P0, Imt.SA5P0);
 
+  private static final Map<String, Nshm> NSHMS;
+
+  static {
+    Map<String, Nshm> nshms = new HashMap<>();
+
+    for (NshmInfo nshmInfo : NshmTestUtils.readNshms().nshms) {
+      List<NamedLocation> locations = new ArrayList<>();
+
+      switch (nshmInfo.repo) {
+        case "nshm-conus": {
+          locations = CONUS_LOCATIONS;
+          break;
+        }
+        case "nshm-alaska": {
+          locations = ALASKA_LOCATIONS;
+          break;
+        }
+        case "nshm-hawaii": {
+          locations = HAWAII_LOCATIONS;
+          break;
+        }
+        default:
+          throw new RuntimeException(nshmInfo.repo + " not supported");
+      }
+
+      nshms.put(nshmInfo.repo + "-" + nshmInfo.year, new Nshm(nshmInfo, locations, IMTS));
+    }
+
+    NSHMS = nshms;
+  }
+
+  /**
+   * Generate results for all {@link NSHM}s
+   *
+   * Run "./gradlew nshms" to first download all NSHMs
+   */
+  public static void main(String[] args) throws IOException {
+    for (Nshm nshm : NSHMS.values()) {
+      /* Initialize and shut down executor to generate results. */
+      NshmModel nshmModel = NshmTestUtils.loadModel(nshm);
+      NshmTestUtils.writeExpecteds(nshmModel);
+      nshmModel.exec.shutdown();
+    }
+  }
+
   /**
    * Test Alaska 2023 NSHM, {@link Nshm.ALASKA_2023}.
    *
@@ -52,7 +101,7 @@ class NshmTests {
    */
   @Test
   final void testAlaska2023() throws IOException {
-    NshmTestUtils.testNshm(Nshm.ALASKA_2023);
+    NshmTestUtils.testNshm(NSHMS.get("nshm-alaska-2023"));
   }
 
   /**
@@ -62,7 +111,7 @@ class NshmTests {
    */
   @Test
   final void testConus2018() throws IOException {
-    NshmTestUtils.testNshm(Nshm.CONUS_2018);
+    NshmTestUtils.testNshm(NSHMS.get("nshm-conus-2018"));
   }
 
   /**
@@ -72,7 +121,7 @@ class NshmTests {
    */
   @Test
   final void testConus2023() throws IOException {
-    NshmTestUtils.testNshm(Nshm.CONUS_2023);
+    NshmTestUtils.testNshm(NSHMS.get("nshm-conus-2023"));
   }
 
   /**
@@ -82,50 +131,6 @@ class NshmTests {
    */
   @Test
   final void testHawaii2021() throws IOException {
-    NshmTestUtils.testNshm(Nshm.HAWAII_2021);
-  }
-
-  static enum Nshm {
-    ALASKA_2023("nshm-alaska-3.a.0", ALASKA_LOCATIONS, IMTS),
-
-    CONUS_2018("nshm-conus-5.2.0", CONUS_LOCATIONS, IMTS),
-
-    CONUS_2023("nshm-conus-6.a.3", CONUS_LOCATIONS, IMTS),
-
-    HAWAII_2021("nshm-hawaii-2.0.2", HAWAII_LOCATIONS, IMTS);
-
-    private final String modelName;
-    private final List<NamedLocation> locations;
-    private final Set<Imt> imts;
-
-    Nshm(String modelName, List<NamedLocation> locations, Set<Imt> imts) {
-      this.locations = locations;
-      this.imts = imts;
-      this.modelName = modelName;
-    }
-
-    Path modelPath() {
-      return Paths.get("nshms", modelName);
-    }
-
-    String modelName() {
-      return modelName;
-    }
-
-    List<NamedLocation> locations() {
-      return List.copyOf(locations);
-    }
-
-    Set<Imt> imts() {
-      return Set.copyOf(imts);
-    }
-
-    int year() {
-      return Integer.parseInt(name().split("_")[1]);
-    }
-
-    String resultFilename(NamedLocation location) {
-      return String.format("%s-%s-%s.json", modelName, year(), location.name());
-    }
+    NshmTestUtils.testNshm(NSHMS.get("nshm-hawaii-2021"));
   }
 }
-- 
GitLab


From 9d90af16b027387ad4e306bb566bae1ff526a337 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:29:42 -0700
Subject: [PATCH 49/57] add reports

---
 .gitlab-ci.yml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 15dfbd2bf..cec3dd78b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -234,6 +234,11 @@ Markdown Lint:
   stage: test
 
 NSHM Tests:
+  artifacts:
+    paths:
+      - ${JACOCO_HTML_DIR}
+    reports:
+      junit: ${JUNIT_FILES}
   extends:
     - .java
   needs: []
@@ -245,6 +250,7 @@ NSHM Tests:
       - CMD: testHawaii2021
   script:
     - ./gradlew ${CMD}
+    - cat ${JACOCO_HTML_DIR}/index.html
   stage: test
 
 YAML Lint:
-- 
GitLab


From fe2fea1d3f87b83f46b454a7676f29c86e9e5612 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 12:30:06 -0700
Subject: [PATCH 50/57] cleanup

---
 .../java/gov/usgs/earthquake/nshmp/model/NshmTests.java   | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
index bb122bab5..6553ac558 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/NshmTests.java
@@ -95,7 +95,7 @@ class NshmTests {
   }
 
   /**
-   * Test Alaska 2023 NSHM, {@link Nshm.ALASKA_2023}.
+   * Test Alaska 2023 NSHM
    *
    * To run test: ./gradlew testAlaska2023
    */
@@ -105,7 +105,7 @@ class NshmTests {
   }
 
   /**
-   * Test CONUS 2018 NSHM, {@link Nshm.CONUS_2018}.
+   * Test CONUS 2018 NSHM
    *
    * To run test: ./gradlew testConus2018
    */
@@ -115,7 +115,7 @@ class NshmTests {
   }
 
   /**
-   * Test CONUS 2023 NSHM, {@link Nshm.CONUS_2023}.
+   * Test CONUS 2023 NSHM
    *
    * To run test: ./gradlew testConus2023
    */
@@ -125,7 +125,7 @@ class NshmTests {
   }
 
   /**
-   * Test Hawaii 2021 NSHM, {@link Nshm.HAWAII_2021}.
+   * Test Hawaii 2021 NSHM
    *
    * To run test: ./gradlew testHawaii2021
    */
-- 
GitLab


From 8cfcbdd0c4b0b8999fff47761cc87085220f2f47 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 13:06:05 -0700
Subject: [PATCH 51/57] update path

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cec3dd78b..614638da1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,6 @@
 variables:
   JACOCO_HTML_DIR: ${REPORTS_DIR}/jacoco/test/html
-  JUNIT_FILES: build/test-results/test/TEST-*.xml
+  JUNIT_FILES: build/test-results/test*/TEST-*.xml
   NSHMP_HAZ_WS_IMAGE: ${CODE_REGISTRY_IMAGE}/nshmp-haz-ws:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
   REPORTS_DIR: build/reports
 
-- 
GitLab


From 52d00c9124de8f20eaeb62b35f95a41ab74e7549 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 14:04:51 -0700
Subject: [PATCH 52/57] add jacoco reports for other tests

---
 build.gradle | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/build.gradle b/build.gradle
index e8ebc82c3..a239e1c8a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -34,10 +34,13 @@ jacoco {
 }
 
 jacocoTestReport {
+  getExecutionData().setFrom(fileTree(buildDir).include("/jacoco/*.exec"))
+
   reports {
     xml.enabled true
     html.enabled true
   }
+
   afterEvaluate {
     classDirectories.from(files(classDirectories.files.collect {
       fileTree(
@@ -48,6 +51,10 @@ jacocoTestReport {
 }
 check.dependsOn jacocoTestReport
 
+tasks.withType(Test) {
+  finalizedBy jacocoTestReport
+}
+
 tasks.withType(JavaCompile) {
   options.encoding = "UTF-8"
   options.compilerArgs.add("-parameters")
-- 
GitLab


From 51d5db96baa3eee4779e3e8720b158b1160d44d3 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 14:07:24 -0700
Subject: [PATCH 53/57] change defualt nshm

---
 src/main/resources/application.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6ae5685eb..7d46c2794 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -21,4 +21,4 @@ nshmp-haz:
   # To specify the model to use:
   #     java -jar build/libs/nshmp-haz.jar --model=<path/to/model>
   #
-  model-path: ${model:nshms/nshm-conus-5.2.0}
+  model-path: ${model:nshms/nshm-conus-2018}
-- 
GitLab


From 42bddb7e806a9841de20c39bce2163ea893d2733 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 14:28:17 -0700
Subject: [PATCH 54/57] add coverage

---
 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 614638da1..a9281b319 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -239,6 +239,7 @@ NSHM Tests:
       - ${JACOCO_HTML_DIR}
     reports:
       junit: ${JUNIT_FILES}
+  coverage: '/Total.*?([0-9]{1,3})%/'
   extends:
     - .java
   needs: []
-- 
GitLab


From 18a09b1186dcc8a9edcd03974d3a882d297b65ec Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 16:19:54 -0700
Subject: [PATCH 55/57] copy file to resources

---
 build.gradle       | 1 +
 gradle/nshm.gradle | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/build.gradle b/build.gradle
index a239e1c8a..73074b751 100644
--- a/build.gradle
+++ b/build.gradle
@@ -56,6 +56,7 @@ tasks.withType(Test) {
 }
 
 tasks.withType(JavaCompile) {
+  dependsOn copyNshmFile
   options.encoding = "UTF-8"
   options.compilerArgs.add("-parameters")
 }
diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index 5eecb87f6..e03795899 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -53,6 +53,13 @@ task nshms() {
   }
 }
 
+task copyNshmFile() {
+  copy {
+    from "nshms.yml"
+    into "${buildDir}/resources/main"
+  }
+}
+
 // Test Alaska 2023 NSHM
 task testAlaska2023(type: Test) {
   description = "Test Alaska 2023 NSHM"
-- 
GitLab


From f401e923a7bbe2b537c3531c2ffa3f59de6a8a89 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 16:23:59 -0700
Subject: [PATCH 56/57] copy file into container

---
 build.gradle       | 1 -
 gradle/nshm.gradle | 7 -------
 ws.Dockerfile      | 1 +
 3 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/build.gradle b/build.gradle
index 73074b751..a239e1c8a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -56,7 +56,6 @@ tasks.withType(Test) {
 }
 
 tasks.withType(JavaCompile) {
-  dependsOn copyNshmFile
   options.encoding = "UTF-8"
   options.compilerArgs.add("-parameters")
 }
diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle
index e03795899..5eecb87f6 100644
--- a/gradle/nshm.gradle
+++ b/gradle/nshm.gradle
@@ -53,13 +53,6 @@ task nshms() {
   }
 }
 
-task copyNshmFile() {
-  copy {
-    from "nshms.yml"
-    into "${buildDir}/resources/main"
-  }
-}
-
 // Test Alaska 2023 NSHM
 task testAlaska2023(type: Test) {
   description = "Test Alaska 2023 NSHM"
diff --git a/ws.Dockerfile b/ws.Dockerfile
index b4887d8a8..69a5349a0 100644
--- a/ws.Dockerfile
+++ b/ws.Dockerfile
@@ -51,6 +51,7 @@ ENV MODELS_DIRECTORY="/model"
 WORKDIR /app
 
 COPY --from=builder /app/build/libs/nshmp-haz.jar .
+COPY --from=builder /app/nshms.yml .
 
 VOLUME [ "${MODELS_DIRECTORY}" ]
 
-- 
GitLab


From a0bb366ff9f590a2cf7ba327331bacbee263e81f Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 6 Dec 2022 17:31:00 -0700
Subject: [PATCH 57/57] add instance types

---
 nshms.yml | 36 ++++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/nshms.yml b/nshms.yml
index 3b32abcd1..3fcf34579 100644
--- a/nshms.yml
+++ b/nshms.yml
@@ -8,10 +8,13 @@ nshms:
     tag: 3.a.0
     year: 2023
     deployments:
-      - development
-      - staging
+      development:
+        instanceType: t4g.xlarge
+      staging:
+        instanceType: t4g.2xlarge
       # TODO: Add to production when model is stable
-      # - production
+      # production:
+      #   instanceType: m6g.2xlarge
 
   # CONUS 2018 NSHM
   -
@@ -19,9 +22,12 @@ nshms:
     tag: 5.2.0
     year: 2018
     deployments:
-      - development
-      - staging
-      - production
+      development:
+        instanceType: t4g.xlarge
+      staging:
+        instanceType: m6g.4xlarge
+      production:
+        instanceType: m6g.4xlarge
 
   # CONUS 2023 NSHM
   -
@@ -29,10 +35,13 @@ nshms:
     tag: 6.a.3
     year: 2023
     deployments:
-      - development
-      - staging
+      development:
+        instanceType: t4g.xlarge
+      staging:
+        instanceType: m6g.4xlarge
       # TODO: Add to production when model is stable
-      # - production
+      # production:
+      #   instanceType: m6g.4xlarge
 
   # Hawaii 2021 NSHM
   -
@@ -40,6 +49,9 @@ nshms:
     tag: 2.0.2
     year: 2021
     deployments:
-      - development
-      - staging
-      - production
+      development:
+        instanceType: t4g.xlarge
+      staging:
+        instanceType: t4g.2xlarge
+      production:
+        instanceType: m6g.2xlarge
-- 
GitLab