From ba73436ea9381b96fc978de06d63ed6fed9668cb Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Fri, 23 Sep 2022 11:32:30 -0600
Subject: [PATCH] Filter out nulls

---
 .../nshmp/netcdf/reader/BoundingReaderHazardCurves.java  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingReaderHazardCurves.java b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingReaderHazardCurves.java
index 91a58a3..839fad7 100644
--- a/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingReaderHazardCurves.java
+++ b/src/hazard/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingReaderHazardCurves.java
@@ -2,6 +2,7 @@ package gov.usgs.earthquake.nshmp.netcdf.reader;
 
 import java.io.IOException;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import gov.usgs.earthquake.nshmp.data.XySequence;
 import gov.usgs.earthquake.nshmp.geo.Location;
@@ -148,7 +149,13 @@ public class BoundingReaderHazardCurves extends BoundingReader<StaticDataHazardC
               netcdfData.imls().get(imt),
               (double[]) hazards.section(origin, shape).reduce().get1DJavaArray(DataType.DOUBLE));
 
-          imtHazardMap.put(imt, xySequence);
+          var points = xySequence.stream().filter(xy -> !Double.isNaN(xy.y()))
+              .collect(Collectors.toList());
+
+          var xs = points.stream().map(xy -> xy.x()).collect(Collectors.toList());
+          var ys = points.stream().map(xy -> xy.y()).collect(Collectors.toList());
+
+          imtHazardMap.put(imt, XySequence.create(xs, ys));
         } catch (InvalidRangeException e) {
           throw new RuntimeException(e.getMessage());
         }
-- 
GitLab