From d22e3766880e4720e51782592650366c0f3f087a Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Wed, 9 Feb 2022 07:46:41 -0700 Subject: [PATCH 1/6] lingering incorrect URLs --- etc/matlab/gmmBatchExample.m | 4 ++-- etc/matlab/gmmExample.m | 4 ++-- src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/etc/matlab/gmmBatchExample.m b/etc/matlab/gmmBatchExample.m index e61fff510..eadd4d9a2 100644 --- a/etc/matlab/gmmBatchExample.m +++ b/etc/matlab/gmmBatchExample.m @@ -14,11 +14,11 @@ clear; % 90.0, % % For a full list of GMM input paramters see: -% http://usgs.github.io/nshmp-haz/javadoc/gov/usgs/earthquake/nshmp/gmm/GmmInput.html +% https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/gmm/GmmInput.html % % If 'null' is supplied as a value or a GMM input field and values are % not given, the default values are used: -% http://usgs.github.io/nshmp-haz/javadoc/gov/usgs/earthquake/nshmp/gmm/GmmInput.Builder.html#withDefaults-- +% https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/gmm/GmmInput.Builder.html#withDefaults() inputs = fileread('gmm-inputs.csv'); diff --git a/etc/matlab/gmmExample.m b/etc/matlab/gmmExample.m index 609bf1799..22cbd3633 100644 --- a/etc/matlab/gmmExample.m +++ b/etc/matlab/gmmExample.m @@ -54,11 +54,11 @@ input.z2p5 = NaN; % in km; NaN triggers default basin depth model input.z1p0 = NaN; % in km; NaN triggers default basin depth model % Specify a ground motion model. GMM identifiers: -% http://usgs.github.io/nshmp-haz/javadoc/gov/usgs/earthquake/nshmp/gmm/Gmm.html +% https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/gmm/Gmm.html gmm = 'ASK_14'; % Specify an intensity measure type (IMT). IMT identifiers: -% http://usgs.github.io/nshmp-haz/javadoc/gov/usgs/earthquake/nshmp/gmm/Imt.html +% https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/gmm/Imt.html imt = 'PGA'; % Do a calculation. The MatUtil.calc(gmm, imt, gmmInput) method returns an diff --git a/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java index d2a3fd5c0..581b40dca 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java @@ -54,9 +54,9 @@ public class RateCalc { * argument. * * <p>Please refer to the nshmp-haz <a - * href="https://github.com/usgs/nshmp-haz/wiki">wiki</a> for comprehensive - * descriptions of source models, configuration files, site files, and - * earthquake rate calculations. + * href="https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/tree/main/docs">documentation</a> + * for comprehensive descriptions of source models, configuration files, site + * files, and earthquake rate calculations. * * @see <a * href="https://code.usgs.gov/ghsc/nshmp/nshmp-haz/-/blob/main/docs/pages/Building-&-Running.md"> -- GitLab From adf88a2ca6eee810d4368854ef11e775ef633174 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Wed, 9 Feb 2022 08:23:54 -0700 Subject: [PATCH 2/6] site spec doc update --- docs/pages/Site-Specification.md | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/docs/pages/Site-Specification.md b/docs/pages/Site-Specification.md index 48fddc3be..796f52840 100644 --- a/docs/pages/Site-Specification.md +++ b/docs/pages/Site-Specification.md @@ -5,21 +5,12 @@ ways. Examples of the file formats described below are available in the resource [`etc/nshm`](../../etc/nshm/README.md). __Note on Coordinates:__ *nshmp-haz* supports longitude and latitude values in the closed -ranges `[-360° ‥ 360°]` and `[-90° ‥ 90°]`. Note, however, that mixing site and/or source +ranges `[-360° ‥ 360°]` and `[-90° ‥ 90°]`. However, mixing site and/or source coordinates across the antimeridian (the -180° to 180° transition) will yield unexpected results. For Pacific models and calculations, always use positive or negative longitudes exclusively. -## Site String - -For the case of running a single site of interest, most *nshmp-haz* programs accept a -comma-delimited string of the form: `name,lon,lat[,vs30,vsInf[,z1p0,z2p5]]`, where `vs30`, `vsInf`, -`z1p0`, and `z2p5` are optional. Note that if `vs30` is supplied, so too must `vsInf`. Likewise if -`z1p0` is supplied, so too must `z2p5`. If the string contains any spaces, escape them or wrap the -entire string in double quotes. - -For any site parameter values that are not supplied on the command line or in the file formats -below, the following defaults are used (see the `site` member of the -[configuration parameter](./Calculation-Configuration.md#calculation-configuration-parameters) table): +For any site parameter values that are not supplied in the file formats below, the following +defaults are used: ```text name: Unnamed @@ -30,7 +21,7 @@ below, the following defaults are used (see the `site` member of the ``` For basin depth parameters `z1p0` and `z2p5`, a `null` value indicates that a GMM should use -it's 'default' basin depth scale factor. +it's 'default' basin depth scale factor, which is usually included in it's Vs30 site term. ## Comma-Delimited Format (\*.csv) -- GitLab From 4149ff4236f823cc1f6e5485565caa0cd8057272 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Wed, 9 Feb 2022 08:34:13 -0700 Subject: [PATCH 3/6] removed default site block from config docs --- docs/pages/Calculation-Configuration.md | 52 +++++++++++-------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/docs/pages/Calculation-Configuration.md b/docs/pages/Calculation-Configuration.md index c7a20bde5..34c28af33 100644 --- a/docs/pages/Calculation-Configuration.md +++ b/docs/pages/Calculation-Configuration.md @@ -14,41 +14,37 @@ may be overridden. See [building and running](./Building-&-Running.md) and the Parameter | Type | Default | Notes | --------- | ---- | ------- | ----- | __`hazard`__ - `.exceedanceModel` |`String` | `TRUNCATION_3SIGMA_UPPER` | [`ExceedanceModel`][url-exceedance] - `.truncationLevel` |`Double` | `3.0` | [1](#notes) + `.exceedanceModel` |`String` | `TRUNCATION_3SIGMA_UPPER` | [`ExceedanceModel`][url-exceedance] + `.truncationLevel` |`Double` | `3.0` | [1](#notes) `.imts` |`String[]` | `[ PGV, PGA, SA0P01, SA0P02, SA0P03, SA0P05, SA0P075, SA0P1, SA0P15, SA0P2, SA0P25, SA0P3, SA0P4, SA0P5, SA0P75, SA1P0, SA1P5, SA2P0, SA3P0, SA4P0, SA5P0, SA7P5, SA10P0 ]` | [`Imt`][url-imt] `.customImls` |`Map<String, Double[]>` | `{}` (empty object) | [2](#notes) - `.gmmUncertainty` |`Boolean` | `false` | [3](#notes) - `.valueFormat` |`String` | `ANNUAL_RATE` | [`ValueFormat`][url-valueformat] + `.gmmDampingRatio` |`Double` | `0.05` (5%) | [3](#notes) + `.gmmSigmaScale` |`Double` | `1.0` (100%) | + `.valueFormat` |`String` | `ANNUAL_RATE` | [`ValueFormat`][url-valueformat] __`disagg`__ - `.bins` |`Object` | | [4](#notes) - `.contributorLimit` |`Double` | `0.1` | [5](#notes) + `.retrunPeriod` |`Double` | `2475` | + `.bins` |`Object` | | [4](#notes) + `.contributorLimit` |`Double` | `0.1` | [5](#notes) __`rate`__ - `.bins` |`Object` | | [6](#notes) + `.bins` |`Object` | | [6](#notes) `.distance` |`Double` | `20` km - `.distributionFormat` |`String` | `INCREMENTAL` | [`DistributionFormat`][url-distribution] + `.distributionFormat` |`String` | `INCREMENTAL` | [`DistributionFormat`][url-distribution] `.timespan` |`Double` | `30` years - `.valueFormat` |`String` | `ANNUAL_RATE` | [`ValueFormat`][url-valueformat] -__`site`__ - `.vs30` |`Double` | `760.0` | [`Site`][url-site] - `.vsInferred` |`Boolean` | `true` - `.z1p0` |`Double` | `null` | [7](#notes) - `.z2p5` |`Double` | `null` | [7](#notes) + `.valueFormat` |`String` | `ANNUAL_RATE` | [`ValueFormat`][url-valueformat] __`output`__ | `.directory` |`String` | `hazout` - `.dataTypes` |`String[]` | `[ TOTAL, MAP ]` | [`DataType`][url-datatype] - `.returnPeriods` |`Integer[]`| `[ 475, 975, 2475 ]` | [`ReturnPeriods`][url-returnperiods] + `.dataTypes` |`String[]` | `[ TOTAL, MAP ]` | [`DataType`][url-datatype] + `.returnPeriods` |`Double[]` | `[ 475, 975, 2475, 10000]` | [`ReturnPeriods`][url-returnperiods] __`performance`__ - `.optimizeGrids` |`Boolean` | `true` | [8](#notes) - `.smoothGrids` |`Boolean` | `true` | [9](#notes) - `.systemPartition` |`Integer` | `1000` | [10](#notes) - `.threadCount` |`String` | `ALL` | [`ThreadCount`][url-sheets] + `.optimizeGrids` |`Boolean` | `true` | [7](#notes) + `.smoothGrids` |`Boolean` | `true` | [8](#notes) + `.systemPartition` |`Integer` | `1000` | [9](#notes) + `.threadCount` |`String` | `ALL` | [`ThreadCount`][url-sheets] [url-exceedance]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/ExceedanceModel.html [url-imt]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/gmm/Imt.html [url-valueformat]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/ValueFormat.html [url-distribution]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/DistributionFormat.html -[url-site]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/Site.html [url-datatype]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/DataType.html [url-returnperiods]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/CalcConfig.Output.html#returnPeriods [url-sheets]: https://earthquake.usgs.gov/nshmp/docs/nshmp-lib/gov/usgs/earthquake/nshmp/calc/ThreadCount.html @@ -57,12 +53,11 @@ __`performance`__ 1. `hazard.truncationLevel`: This value is only used if the `hazard.exceedanceModel` requires a limit (e.g. `TRUNCATION_UPPER_ONLY`) -2. `hazard.gmmUncertainty`: If values for additional epistemic uncertainty on ground motion have - been defined, this value en/disables this feature. -3. `hazard.customImls`: Hazard is computed at default intensity measure levels (IMLs) for every +2. `hazard.customImls`: Hazard is computed at default intensity measure levels (IMLs) for every supported intenisty measure type (IMT), but a user can specify different IMLs as needed (see [example 2](../../etc/examples/2-custom-config/README.md) and the table of default IMLs, below). +3. `hazard.gmmDampingRatio` currently has no effect. 4. `disagg.bins`: This field maps to a data container that specifies the following default ranges and intervals for distance, magnitude, and epsilon binning: `"bins": { "rMin": 0.0, "rMax": 1000.0, "Δr": 20.0, "mMin": 4.4, "mMax": 9.4, "Δm": 0.2, "εMin": -3.0, "εMax": 3.0, "Δε": 0.5 }`. @@ -72,14 +67,11 @@ __`performance`__ 6. `rate.bins`: This field maps to a data container that specifies the following default magnitude binning range and interval: `"bins": { "mMin": 4.2, "mMax": 9.4, "Δm": 0.1 }`. The `bins` object must be fully specified; partial overrides do not apply to nested JSON objects. -7. `site.z1p0` and `site.z2p5`: Basin terms may be specified as `null` or `NaN` (both unquoted). - `null` is preferred as `NaN` does not conform to the JSON spec. When trying to override default - values, however, a `null` term will be ignored whereas `NaN` will override any existing value. -8. `performance.optimizeGrids`: Gridded seismicity source optimizations are currently implemented +7. `performance.optimizeGrids`: Gridded seismicity source optimizations are currently implemented for any non-fixed strike grid source. For any site, rates across all azimuths are aggregated in tables of distance and magnitude. -9. `performance.smoothGrids`: Resample gridded seismicity sources close to a site. -10. `performance.systemPartition`: The number of ruptures in a fault-system source to process +8. `performance.smoothGrids`: Resample gridded seismicity sources close to a site. +9. `performance.systemPartition`: The number of ruptures in a fault-system source to process concurrently. ## Default Intensity Measure Levels (IMLs) -- GitLab From 4fcbf774d29deff85ae24ef12e2f21455150a8a5 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Wed, 9 Feb 2022 08:39:19 -0700 Subject: [PATCH 4/6] added filters and vs30s to config docs --- docs/pages/Calculation-Configuration.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/pages/Calculation-Configuration.md b/docs/pages/Calculation-Configuration.md index 34c28af33..8ed8b9276 100644 --- a/docs/pages/Calculation-Configuration.md +++ b/docs/pages/Calculation-Configuration.md @@ -17,9 +17,12 @@ __`hazard`__ `.exceedanceModel` |`String` | `TRUNCATION_3SIGMA_UPPER` | [`ExceedanceModel`][url-exceedance] `.truncationLevel` |`Double` | `3.0` | [1](#notes) `.imts` |`String[]` | `[ PGV, PGA, SA0P01, SA0P02, SA0P03, SA0P05, SA0P075, SA0P1, SA0P15, SA0P2, SA0P25, SA0P3, SA0P4, SA0P5, SA0P75, SA1P0, SA1P5, SA2P0, SA3P0, SA4P0, SA5P0, SA7P5, SA10P0 ]` | [`Imt`][url-imt] + `.tectonicSettings` |`String[]` | `[]` | Tectonic setting filter + `.sourceTypes` |`String[]` | `[]` | Source type filter + `.vs30s` |`Double[]` | `[]` | Vs30s to use for batch jobs `.customImls` |`Map<String, Double[]>` | `{}` (empty object) | [2](#notes) `.gmmDampingRatio` |`Double` | `0.05` (5%) | [3](#notes) - `.gmmSigmaScale` |`Double` | `1.0` (100%) | + `.gmmSigmaScale` |`Double` | `1.0` (100%, no scaling) | `.valueFormat` |`String` | `ANNUAL_RATE` | [`ValueFormat`][url-valueformat] __`disagg`__ `.retrunPeriod` |`Double` | `2475` | -- GitLab From 740e02bbea1d5e95466611285ae463a2188b3c23 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Wed, 9 Feb 2022 09:33:13 -0700 Subject: [PATCH 5/6] new util createSite method for services --- .../usgs/earthquake/nshmp/www/ServletUtil.java | 13 ++++++++++++- .../nshmp/www/hazard/DisaggService.java | 17 ++++------------- .../nshmp/www/hazard/HazardService.java | 8 ++------ 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java index 49392833d..3e83a7d4f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java @@ -29,10 +29,11 @@ import com.google.gson.JsonSerializer; import gov.usgs.earthquake.nshmp.calc.Site; import gov.usgs.earthquake.nshmp.calc.ValueFormat; +import gov.usgs.earthquake.nshmp.geo.Location; import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.model.HazardModel; +import gov.usgs.earthquake.nshmp.model.SiteData; import gov.usgs.earthquake.nshmp.www.meta.MetaUtil; - import io.micronaut.context.annotation.Value; import io.micronaut.context.event.ShutdownEvent; import io.micronaut.context.event.StartupEvent; @@ -188,6 +189,16 @@ public class ServletUtil { return new Server(threads, timer); } + public static Site createSite(Location location, double vs30, SiteData siteData) { + Site.Builder builder = Site.builder() + .location(location) + .vs30(vs30); + SiteData.Values sdValues = siteData.get(location); + sdValues.z1p0.ifPresent(builder::z1p0); + sdValues.z2p5.ifPresent(builder::z2p5); + return builder.build(); + } + private static class Server { final int threads; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java index 04c4b44af..113b57397 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java @@ -32,7 +32,6 @@ import gov.usgs.earthquake.nshmp.www.ResponseBody; import gov.usgs.earthquake.nshmp.www.ServletUtil; import gov.usgs.earthquake.nshmp.www.hazard.HazardService.Metadata; import gov.usgs.earthquake.nshmp.www.meta.Parameter; - import io.micronaut.http.HttpRequest; import io.micronaut.http.HttpResponse; import jakarta.inject.Singleton; @@ -136,14 +135,10 @@ public final class DisaggService { // modify config to include service endpoint arguments CalcConfig config = CalcConfig.copyOf(model.config()) .imts(request.imls.keySet()) - // .dataTypes(request.dataTypes) .build(); - // TODO this needs to pick up SiteData, centralize - Site site = Site.builder() - .location(Location.create(request.longitude, request.latitude)) - .vs30(request.vs30) - .build(); + Location loc = Location.create(request.longitude, request.latitude); + Site site = ServletUtil.createSite(loc, request.vs30, model.siteData()); // use HazardService.calcHazard() instead? CompletableFuture<Hazard> hazFuture = CompletableFuture.supplyAsync( @@ -173,14 +168,10 @@ public final class DisaggService { // modify config to include service endpoint arguments CalcConfig config = CalcConfig.copyOf(model.config()) .imts(request.imts) - // .dataTypes(request.dataTypes) .build(); - // TODO this needs to pick up SiteData, centralize - Site site = Site.builder() - .location(Location.create(request.longitude, request.latitude)) - .vs30(request.vs30) - .build(); + Location loc = Location.create(request.longitude, request.latitude); + Site site = ServletUtil.createSite(loc, request.vs30, model.siteData()); // could just get from HazardService CompletableFuture<Hazard> hazFuture = CompletableFuture.supplyAsync( diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java index 5f767a08d..3758dc3fd 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java @@ -39,7 +39,6 @@ import gov.usgs.earthquake.nshmp.www.ServletUtil; import gov.usgs.earthquake.nshmp.www.meta.DoubleParameter; import gov.usgs.earthquake.nshmp.www.meta.Parameter; import gov.usgs.earthquake.nshmp.www.services.SourceServices.SourceModel; - import io.micronaut.http.HttpRequest; import io.micronaut.http.HttpResponse; import jakarta.inject.Singleton; @@ -138,11 +137,8 @@ public final class HazardService { .imts(request.imts) .build(); - // TODO this needs to pick up SiteData, centralize - Site site = Site.builder() - .location(Location.create(request.longitude, request.latitude)) - .vs30(request.vs30) - .build(); + Location loc = Location.create(request.longitude, request.latitude); + Site site = ServletUtil.createSite(loc, request.vs30, model.siteData()); CompletableFuture<Hazard> future = CompletableFuture.supplyAsync( () -> HazardCalcs.hazard( -- GitLab From 29f2b5a0d5854bfc31305d72e33700c91957bcdd Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Wed, 9 Feb 2022 09:49:54 -0700 Subject: [PATCH 6/6] spotless edits --- src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java | 1 + .../java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java | 1 + .../java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java | 1 + 3 files changed, 3 insertions(+) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java index 3e83a7d4f..f4b7b1e98 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java @@ -34,6 +34,7 @@ import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.model.HazardModel; import gov.usgs.earthquake.nshmp.model.SiteData; import gov.usgs.earthquake.nshmp.www.meta.MetaUtil; + import io.micronaut.context.annotation.Value; import io.micronaut.context.event.ShutdownEvent; import io.micronaut.context.event.StartupEvent; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java index 113b57397..a4e527bf7 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/DisaggService.java @@ -32,6 +32,7 @@ import gov.usgs.earthquake.nshmp.www.ResponseBody; import gov.usgs.earthquake.nshmp.www.ServletUtil; import gov.usgs.earthquake.nshmp.www.hazard.HazardService.Metadata; import gov.usgs.earthquake.nshmp.www.meta.Parameter; + import io.micronaut.http.HttpRequest; import io.micronaut.http.HttpResponse; import jakarta.inject.Singleton; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java index 3758dc3fd..e87db5fef 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/www/hazard/HazardService.java @@ -39,6 +39,7 @@ import gov.usgs.earthquake.nshmp.www.ServletUtil; import gov.usgs.earthquake.nshmp.www.meta.DoubleParameter; import gov.usgs.earthquake.nshmp.www.meta.Parameter; import gov.usgs.earthquake.nshmp.www.services.SourceServices.SourceModel; + import io.micronaut.http.HttpRequest; import io.micronaut.http.HttpResponse; import jakarta.inject.Singleton; -- GitLab