From 9f98818abc4bbf606bc11fa28dbda67c655fb4d0 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 21 Jul 2022 09:46:08 -0600 Subject: [PATCH] add read attribute util --- .../earthquake/nshmp/netcdf/reader/NetcdfUtils.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java index 186b146..8ccccd7 100644 --- a/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java +++ b/src/lib/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java @@ -4,6 +4,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import java.io.IOException; +import java.nio.file.Path; import java.util.Arrays; import com.google.common.math.DoubleMath; @@ -13,7 +14,10 @@ import gov.usgs.earthquake.nshmp.data.XySequence; import gov.usgs.earthquake.nshmp.geo.LocationList; import ucar.ma2.DataType; +import ucar.nc2.Attribute; import ucar.nc2.Group; +import ucar.nc2.dataset.NetcdfDataset; +import ucar.nc2.dataset.NetcdfDatasets; public class NetcdfUtils { @@ -190,6 +194,15 @@ public class NetcdfUtils { return (String[]) get1DArray(group, key, DataType.STRING); } + public static Attribute readAttribute(String attributeKey, Path netcdfPath) { + try (NetcdfDataset ncd = NetcdfDatasets.openDataset(netcdfPath.toString())) { + Group group = ncd.getRootGroup(); + return group.attributes().findAttribute(attributeKey); + } catch (IOException e) { + throw new RuntimeException("Could not read Netcdf file [" + netcdfPath + " ]"); + } + } + public static class Key { public static final String DESCRIPTION = "description"; public static final String GRID_STEP = "gridStep"; -- GitLab