diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java index 76e5f58c43d20a255a8afbafc194b9c0f707700e..3f6aa549e01d79fbc318a2777dd24340c7328023 100644 --- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java +++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NetcdfHazardCurves.java @@ -23,18 +23,8 @@ import ucar.nc2.dataset.NetcdfDatasets; */ public class NetcdfHazardCurves extends Netcdf<StaticDataHazardCurves> { - private final Nshm nshm; - public NetcdfHazardCurves(Path netcdfPath) { super(netcdfPath); - nshm = Nshm.valueOf(netcdfData().scienceBaseMetadata().catalogId); - } - - /** - * Returns the NSHM - */ - public Nshm nshm() { - return nshm; } @Override diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java index 2e8378706615b2224f10abbdb3df9d373f508def..fe7c8b3683284fed828871d46ff834019ce32ee0 100644 --- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java +++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardMetadata.java @@ -2,7 +2,6 @@ package gov.usgs.earthquake.nshmp.netcdf.www; import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass; -import gov.usgs.earthquake.nshmp.netcdf.Nshm; import gov.usgs.earthquake.nshmp.netcdf.www.Metadata.ServiceResponseMetadata; import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestData; import gov.usgs.earthquake.nshmp.netcdf.www.RequestHazardCurves.HazardRequestDataImt; @@ -15,23 +14,20 @@ import gov.usgs.earthquake.nshmp.netcdf.www.RequestHazardCurves.HazardRequestDat public class HazardMetadata { static class HazardResponseMetadata extends ServiceResponseMetadata { - public final Nshm nshm; public final Imt imt; HazardResponseMetadata( - Nshm nshm, NehrpSiteClass siteClass, Imt imt, String xLabel, String yLabel) { super(siteClass, xLabel, yLabel); - this.nshm = nshm; this.imt = imt; } @Override public HazardRequestDataImt toRequestMetadata(RequestData requestData) { - return new HazardRequestDataImt(nshm, requestData.site, siteClass, imt, requestData.format); + return new HazardRequestDataImt(requestData.site, siteClass, imt, requestData.format); } } } diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java index 16057bce7bb27737b1abdb33d1be214400a5440f..9d474a7b22d20bfb95a7c70dc80f40f06d931f08 100644 --- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java +++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/HazardQuery.java @@ -2,21 +2,17 @@ package gov.usgs.earthquake.nshmp.netcdf.www; import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass; -import gov.usgs.earthquake.nshmp.netcdf.Nshm; public class HazardQuery extends Query { - public final Nshm nshm; public final Imt imt; public HazardQuery( - Nshm nshm, Double longitude, Double latitude, NehrpSiteClass siteClass, Imt imt, ResponseFormat format) { super(longitude, latitude, siteClass, format); - this.nshm = nshm; this.imt = imt; } } diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java index 32a8b8982781acfb8dcddb719a41b734c8761fa1..4e1a688ead05ae7f864cfa4c981a7ad41204a2cb 100644 --- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java +++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfController.java @@ -6,7 +6,6 @@ import java.util.List; import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass; import gov.usgs.earthquake.nshmp.netcdf.NetcdfDataFilesHazardCurves; -import gov.usgs.earthquake.nshmp.netcdf.Nshm; import gov.usgs.earthquake.nshmp.netcdf.www.HazardMetadata.HazardResponseMetadata; import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass; import gov.usgs.earthquake.nshmp.netcdf.www.RequestHazardCurves.HazardRequestDataImt; @@ -33,8 +32,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.inject.Inject; /** - * Micronaut controller for getting static hazards or ground motions from a - * NetCDF file. + * Micronaut controller for getting static hazards from a NetCDF file. * * @see NetcdfService * @@ -47,6 +45,9 @@ public class NetcdfController { @Inject private NshmpMicronautServlet servlet; + /** + * The path to a hazard NetCDF file + */ @Value("${nshmp-ws-static.netcdf-path}") Path netcdfPath; @@ -87,11 +88,11 @@ public class NetcdfController { "### Service call pattern\n" + "This service call is slashed delimited with pattern: " + - "`/hazard/{nshm}/{longitude}/{latitude}/{siteClass}/{imt}`\n" + + "`/hazard/{longitude}/{latitude}/{siteClass}/{imt}`\n" + "<br><br>" + - "Example: `/hazard/CONUS_2018/-118/34/BC/PGA`" + + "Example: `/hazard/-118/34/BC/PGA`" + "<br><br>" + - "CSV Example: `/hazard/CONUS_2018/-118/34/BC/PGA?format=CSV`", + "CSV Example: `/hazard/-118/34/BC/PGA?format=CSV`", operationId = "hazard-by-imt") @ApiResponse( description = "Spatially interpolated hazard curves", @@ -110,18 +111,17 @@ public class NetcdfController { "Ground Motion (g),0.00233,0.0035,0.00524,0.00786,0.0118, ...\n" + "Annual Frequency of Exceedence,0.036386,0.026034,0.018125,0.012197, ...\n")) }) - @Get(uri = "/{nshm}/{longitude}/{latitude}/{siteClass}/{imt}{?format}", + @Get(uri = "/{longitude}/{latitude}/{siteClass}/{imt}{?format}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetSlashByImt( HttpRequest<?> request, - @Schema(required = true) @PathVariable Nshm nshm, @Schema(required = true) @PathVariable Double latitude, @Schema(required = true) @PathVariable Double longitude, @Schema(required = true) @PathVariable NehrpSiteClass siteClass, @Schema(required = true) @PathVariable Imt imt, @Schema(required = false, defaultValue = "JSON", implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) { - return doGet(request, nshm, longitude, latitude, siteClass, imt, format); + return doGet(request, longitude, latitude, siteClass, imt, format); } /** @@ -150,11 +150,11 @@ public class NetcdfController { "### Service call pattern\n" + "This service call is slashed delimited with pattern: " + - "`/hazard/{nshm}/{longitude}/{latitude}/{siteClass}`\n" + + "`/hazard/{longitude}/{latitude}/{siteClass}`\n" + "<br><br>" + - "Example: `/hazard/CONUS_2018/-118/34/BC`" + + "Example: `/hazard/-118/34/BC`" + "<br><br>" + - "Example: `/hazard/CONUS_2018/-118/34/BC?format=CSV`", + "Example: `/hazard/-118/34/BC?format=CSV`", operationId = "hazard-by-siteclass") @ApiResponse( description = "Spatially interpolated hazard curves", @@ -176,17 +176,16 @@ public class NetcdfController { "...")) }) - @Get(uri = "/{nshm}/{longitude}/{latitude}/{siteClass}{?format}", + @Get(uri = "/{longitude}/{latitude}/{siteClass}{?format}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetSlashBySite( HttpRequest<?> request, - @Schema(required = true) @PathVariable Nshm nshm, @Schema(required = true) @PathVariable Double latitude, @Schema(required = true) @PathVariable Double longitude, @Schema(required = true) @PathVariable NehrpSiteClass siteClass, @Schema(required = false, defaultValue = "JSON", implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) { - return doGet(request, nshm, longitude, latitude, siteClass, null, format); + return doGet(request, longitude, latitude, siteClass, null, format); } /** @@ -213,11 +212,11 @@ public class NetcdfController { "### Service call pattern\n" + "This service call is slashed delimited with pattern: " + - "`/hazard/{nshm}/{longitude}/{latitude}`\n" + + "`/hazard/{longitude}/{latitude}`\n" + "<br><br>" + - "Example: `/hazard/CONUS_2018/-118/34`" + + "Example: `/hazard/-118/34`" + "<br><br>" + - "Example: `/hazard/conus_2018/-118/34?format=CSV`", + "Example: `/hazard/-118/34?format=CSV`", operationId = "hazard") @ApiResponse( description = "Returns static curves from the NSHM NetCDF file", @@ -239,15 +238,14 @@ public class NetcdfController { "...")) }) - @Get(uri = "/{nshm}/{longitude}/{latitude}{?format}", produces = MediaType.APPLICATION_JSON) + @Get(uri = "/{longitude}/{latitude}{?format}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGetSlash( HttpRequest<?> request, - @Schema(required = true) @PathVariable Nshm nshm, @Schema(required = true) @PathVariable Double longitude, @Schema(required = true) @PathVariable Double latitude, @Schema(required = false, defaultValue = "JSON", implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) { - return doGet(request, nshm, longitude, latitude, null, null, format); + return doGet(request, longitude, latitude, null, null, format); } /** @@ -277,12 +275,12 @@ public class NetcdfController { "### Service call pattern\n" + "This service call is query based with pattern: " + - "`/hazard?nshm={string}&longitude={number}&latitude={number}" + + "`/hazard?longitude={number}&latitude={number}" + "&siteClass={string}&imt={string}&format={CSV|JSON}`\n" + "<br><br>" + - "Example: `/hazard?nshm=CONUS_2018&longitude=-118&latitude=34&siteClass=A&imt=PGA`" + + "Example: `/hazard?longitude=-118&latitude=34&siteClass=A&imt=PGA`" + "<br><br>" + - "CSV Example: `/hazard?nshm=CONUS_2018&longitude=-118&latitude=34&siteClass=A&imt=PGA?format=CSV`", + "CSV Example: `/hazard?longitude=-118&latitude=34&siteClass=A&imt=PGA?format=CSV`", operationId = "hazard-by-imt") @ApiResponse( description = "Spatially interpolated hazard curves", @@ -304,18 +302,17 @@ public class NetcdfController { "...")) }) - @Get(uri = "{?nshm,longitude,latitude,siteClass,imt,format}", + @Get(uri = "{?longitude,latitude,siteClass,imt,format}", produces = MediaType.APPLICATION_JSON) public HttpResponse<String> doGet( HttpRequest<?> request, - @Schema(required = true) @QueryValue @Nullable Nshm nshm, @Schema(required = true) @QueryValue @Nullable Double longitude, @Schema(required = true) @QueryValue @Nullable Double latitude, @QueryValue @Nullable NehrpSiteClass siteClass, @QueryValue @Nullable Imt imt, @Schema(required = false, defaultValue = "JSON", implementation = ResponseFormat.class) @QueryValue @Nullable ResponseFormat format) { - var query = new HazardQuery(nshm, longitude, latitude, siteClass, imt, format); + var query = new HazardQuery(longitude, latitude, siteClass, imt, format); return service.handleServiceCall(request, query); } diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java index 58e917ae385c7c3de4f654958d08b5e06aea626d..1332d2cbd156dc224a655a78856b75bd9035c321 100644 --- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java +++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/RequestHazardCurves.java @@ -7,9 +7,7 @@ import gov.usgs.earthquake.nshmp.Text.Delimiter; import gov.usgs.earthquake.nshmp.geo.Location; import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.gmm.NehrpSiteClass; -import gov.usgs.earthquake.nshmp.netcdf.Nshm; import gov.usgs.earthquake.nshmp.netcdf.reader.NetcdfUtils.Key; -import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestData; import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass; /** @@ -19,24 +17,18 @@ import gov.usgs.earthquake.nshmp.netcdf.www.Request.RequestDataSiteClass; */ public class RequestHazardCurves { - static class HazardRequestData extends RequestData { - public Nshm nshm; - - HazardRequestData(Nshm nshm, Location site, ResponseFormat format) { - super(site, format); - this.nshm = nshm; - } - } - /** * Request data with site class and imt */ - static class HazardRequestDataImt extends HazardRequestDataSiteClass { + static class HazardRequestDataImt extends RequestDataSiteClass { public Imt imt; - HazardRequestDataImt(Nshm nshm, Location site, NehrpSiteClass siteClass, Imt imt, + HazardRequestDataImt( + Location site, + NehrpSiteClass siteClass, + Imt imt, ResponseFormat format) { - super(nshm, site, siteClass, format); + super(site, siteClass, format); this.imt = imt; } @@ -46,23 +38,4 @@ public class RequestHazardCurves { super.toCsv(), Text.join(List.of(Key.IMT.toString(), imt.name()), Delimiter.COMMA)); } } - - /** - * Request data with site class - */ - static class HazardRequestDataSiteClass extends RequestDataSiteClass { - public Nshm nshm; - - HazardRequestDataSiteClass(Nshm nshm, Location site, NehrpSiteClass siteClass, - ResponseFormat format) { - super(site, siteClass, format); - this.nshm = nshm; - } - - @Override - public String toCsv() { - return String.format("%s,%s", - super.toCsv(), Text.join(List.of(Key.SITE_CLASS.toString(), siteClass), Delimiter.COMMA)); - } - } } diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java deleted file mode 100644 index 7369b6ccd6fc3934439a0079f108dd268c92251a..0000000000000000000000000000000000000000 --- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/Nshm.java +++ /dev/null @@ -1,22 +0,0 @@ -package gov.usgs.earthquake.nshmp.netcdf; - -/** - * The NSHMs. - * - * @author U.S. Geologcial Survey - */ -public enum Nshm { - CONUS_2018("NSHM Conterminous U.S 2018"), - HAWAII_2021("NSHM Hawaii 2021"); - - private String label; - - private Nshm(String label) { - this.label = label; - } - - @Override - public String toString() { - return label; - } -} diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java index 803769ee643fa78a9e492af8977418f410bf476f..cc9a932302868e95c509b888fa8855412a56e54c 100644 --- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java +++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/www/NetcdfWsUtils.java @@ -11,7 +11,6 @@ import com.google.gson.GsonBuilder; import gov.usgs.earthquake.nshmp.gmm.Imt; import gov.usgs.earthquake.nshmp.netcdf.NetcdfVersion; -import gov.usgs.earthquake.nshmp.netcdf.Nshm; import gov.usgs.earthquake.nshmp.www.ResponseBody; import gov.usgs.earthquake.nshmp.www.ResponseMetadata; import gov.usgs.earthquake.nshmp.www.WsUtils.EnumSerializer; @@ -28,7 +27,6 @@ public class NetcdfWsUtils { static { GSON = new GsonBuilder() .registerTypeAdapter(Imt.class, new EnumSerializer<Imt>()) - .registerTypeAdapter(Nshm.class, new EnumSerializer<Nshm>()) .registerTypeAdapter(Double.class, new NaNSerializer()) .disableHtmlEscaping() .serializeNulls()