diff --git a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java index 00405f6d95f8aa7f57a5e2a35075266d9b71bea9..44a7e2960fec90dded35ae7761e02992e81546a3 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/site/NshmpSite.java @@ -303,7 +303,7 @@ public enum NshmpSite implements NamedLocation { YIGO_GU(144.9, 13.5), YONA_GU(144.8, 13.4), - /* Puerto Rico and U.S. Virgin Islands (16) */ + /* Puerto Rico and U.S. Virgin Islands (86) */ ADJUNTAS_PR(-66.7231, 18.1626), AGUADA_PR(-67.1888, 18.3797), AGUADILLA_PR(-67.1542, 18.4299), @@ -507,12 +507,8 @@ public enum NshmpSite implements NamedLocation { * A restricted set of CEUS sites that is clipped at -105.5°. */ public static EnumSet<NshmpSite> nrc() { - var coords = NshmpPolygon.CONUS_CLIP.coordinates(); return filteredSet( - site -> site.location.longitude >= -105.5 && - site.location.longitude <= coords.get(1).longitude && - site.location.latitude >= coords.get(0).latitude && - site.location.latitude <= coords.get(1).latitude); + site -> conus().contains(site) && site.location.longitude >= -105.5); } /** @@ -570,75 +566,26 @@ public enum NshmpSite implements NamedLocation { * The set of CIAPR test sites in Puerto Rico */ public static EnumSet<NshmpSite> ciapr() { - return EnumSet.of( - ADJUNTAS_PR, - AGUADA_PR, - AGUADILLA_PR, - AGUAS_BUENAS_PR, - AIBONITO_PR, - ARROYO_PR, - AÑASCO_PR, - BARCELONETA_PR, - BARRANQUITAS_PR, - CABO_ROJO_PR, - CAMUY_PR, - CANÓVANAS_PR, - CAROLINA_PR, - CATAÑO_PR, - CAYEY_PR, - CEIBA_PR, - CIALES_PR, - CIDRA_PR, - COAMO_PR, - COMERIO_PR, - COROZAL_PR, - DORADO_PR, - FLORIDA_PR, - GUAYAMA_PR, - GUAYANILLA_PR, - GUAYNABO_PR, - GURABO_PR, - GUÃNICA_PR, - HATILLO_PR, - HORMIGUEROS_PR, - HUMACAO_PR, - ISABELA_PR, - JAYUYA_PR, - JUANA_DÃAZ_PR, - JUNCOS_PR, - LAJAS_PR, - LARES_PR, - LAS_MARÃAS_PR, - LAS_PIEDRAS_PR, - LOÃZA_PR, - LUQUILLO_PR, - MANATÃ_PR, - MARICAO_PR, - MAUNABO_PR, - MOCA_PR, - MOROVIS_PR, - NAGUABO_PR, - NARANJITO_PR, - OROCOVIS_PR, - PATILLAS_PR, - PEÑUELAS_PR, - QUEBRADILLAS_PR, - RINCÓN_PR, - RÃO_GRANDE_PR, - SABANA_GRANDE_PR, - SALINAS_PR, - SAN_GERMÃN_PR, - SAN_LORENZO_PR, - SAN_SEBASTIAN_PR, - SANTA_ISABEL_PR, - TOA_ALTA_PR, - TOA_BAJA_PR, - TRUJILLO_ALTO_PR, - VEGA_ALTA_PR, - VEGA_BAJA_PR, - VIEQUES_PR, - VILLALBA_PR, - YAUCO_PR); + // exclude the non-CIAPR sites from PRVI sites + return filteredSet(site -> prvi().contains(site) && + !EnumSet.of(ARECIBO_PR, + BAYAMÓN_PR, + CAGUAS_PR, + CULEBRA_PR, + FAJARDO_PR, + GUAJATACA_LAKE_PR, + ISABEL_II_PR, + MAYAGÃœEZ_PR, + PONCE_PR, + SAN_JUAN_ATC_PR, + SAN_JUAN_PR, + UTUADO_PR, + YABUCOA_PR, + BROOKMAN_VI, + CHARLOTTE_AMALIE_1_VI, + CHARLOTTE_AMALIE_2_VI, + CHRISTIANSTED_VI, + CRUZ_BAY_VI).contains(site)); } static class StateComparator implements Comparator<NshmpSite> { diff --git a/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java b/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java index d6da4edd245eb088762d09055ff7a8054b2a36ab..c6cf80b72ef8c81f9e52c8cbbfcd3286cf3d0fcd 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/site/NshmpSiteTests.java @@ -98,6 +98,21 @@ public class NshmpSiteTests { NshmpSite.hawaii(), EnumSet.range(NshmpSite.BARBERS_POINT_HI, NshmpSite.WAIPAHU_HI)); + /* American Samoa */ + assertEquals( + NshmpSite.amsam(), + EnumSet.range(NshmpSite.APIA_UPOLU_SAMOA_AS, NshmpSite.VAITOGI_AS)); + + /* Guam and Northern Mariana Islands */ + assertEquals( + NshmpSite.gnmi(), + EnumSet.range(NshmpSite.ANDERSON_AFB_ATC_GU, NshmpSite.YONA_GU)); + + /* Puerto Rico and US Virgin Islands */ + assertEquals( + NshmpSite.prvi(), + EnumSet.range(NshmpSite.ADJUNTAS_PR, NshmpSite.CRUZ_BAY_VI)); + /* NRC comparision sites */ assertEquals( NshmpSite.nrc(), @@ -106,7 +121,7 @@ public class NshmpSiteTests { new Predicate<NshmpSite>() { @Override public boolean test(NshmpSite site) { - return site.location().longitude >= -105.5; + return NshmpSite.conus().contains(site) && site.location().longitude >= -105.5; } }::test), NshmpSite.class));