From b04acaad54385ede033af5f7b2ce106530ee72c4 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Thu, 24 Feb 2022 12:50:33 -0700
Subject: [PATCH] Simpify read data

---
 .../netcdf/reader/ReaderHazardCurves.java     | 24 ++-----------------
 1 file changed, 2 insertions(+), 22 deletions(-)

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java
index dfcbb89..b90c086 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/ReaderHazardCurves.java
@@ -1,15 +1,12 @@
 package gov.usgs.earthquake.nshmp.netcdf.reader;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.EnumMap;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.reflect.TypeToken;
-
 import gov.usgs.earthquake.nshmp.gmm.Imt;
 import gov.usgs.earthquake.nshmp.netcdf.data.NetcdfDataHazardCurves;
 import gov.usgs.earthquake.nshmp.netcdf.data.NetcdfShape;
@@ -41,30 +38,13 @@ public class ReaderHazardCurves extends Reader {
   NetcdfDataHazardCurves readData(Group targetGroup) throws IOException {
     var coords = super.readData(targetGroup);
     var vImls = targetGroup.findVariableLocal(Key.IMLS);
-    var vImts = targetGroup.findVariableLocal(Key.IMT);
-
-    var mapTypeToken = new TypeToken<Map<String, String>>() {}.getType();
-
-    // get list of IMT enums
-    List<Imt> imtList = new ArrayList<Imt>();
-    Map<String, String> imtFlagKeys = GSON
-        .fromJson(vImts.findAttribute(FLAG_KEY)
-            .getValues().toString(), mapTypeToken);
-
-    var imtArray = vImts.read();
-    for (int i = 0; i < vImts.getSize(); i++) {
-      var imtInt = imtArray.getInt(i);
-      var imtString = imtFlagKeys.get(Integer.toString(imtInt)).toString();
-      imtList.add(Imt.valueOf(imtString));
-    }
-    var imts = List.copyOf(imtList);
 
     // get map of IMLs
-    var imls = mapImls(vImls, imts);
+    var imls = mapImls(vImls, coords.imts());
 
     return NetcdfDataHazardCurves.builder()
         .imls(imls)
-        .imts(imts)
+        .imts(coords.imts())
         .latitudes(coords.latitudes())
         .longitudes(coords.longitudes())
         .scienceBaseMetadata(coords.scienceBaseMetadata())
-- 
GitLab