diff --git a/gradle.properties b/gradle.properties index 6e69a119387b179bc044d6f830b3041c159abe31..e3bd62ba98cab5d81577d065d9f31407c7bec50d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,9 @@ -cdmVersion = 5.1.0 githooksVersion = 1.2.0 jacksonVersion = 2.9.0 junitVersion = 5.8.2 micronautVersion = 3.2.3 micronautRxVersion = 2.1.1 -netcdfVersion = 5.1.0 +netcdfVersion = 5.5.1 nodePluginVersion = 3.0.1 nodeVersion = 16.3.0 nshmpLibVersion = 0.8.2 diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 5d0bbfcfa842838020e95c04571dd5f92be0e8bb..3a35167eb637aca8feb638a6133808166d0b158c 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -5,7 +5,7 @@ dependencies { implementation "ghsc:nshmp-ws-utils:${nshmpWsUtilsVersion}" // NetCDF - implementation "edu.ucar:cdm:${cdmVersion}" + implementation "edu.ucar:cdm-core:${netcdfVersion}" implementation "edu.ucar:netcdf4:${netcdfVersion}" implementation "org.slf4j:slf4j-jdk14:${slfVersion}" diff --git a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NshmNetcdfReader.java b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NshmNetcdfReader.java index 98600bf0d64d6187309f8461d920b2c830ae113b..3def8b52fed351a1efc529ed8b00821ce2a431ea 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NshmNetcdfReader.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/NshmNetcdfReader.java @@ -18,7 +18,7 @@ import gov.usgs.earthquake.nshmp.netcdf.reader.NetcdfCoordinates; import gov.usgs.earthquake.nshmp.netcdf.reader.StaticHazard; import gov.usgs.earthquake.nshmp.netcdf.reader.StaticHazards; -import ucar.nc2.dataset.NetcdfDataset; +import ucar.nc2.dataset.NetcdfDatasets; /** * @@ -60,7 +60,7 @@ public class NshmNetcdfReader { throw new IllegalArgumentException("Path to Netcdf file [" + path + "] does not exist"); } - try (var ncd = NetcdfDataset.openDataset(path.toString())) { + try (var ncd = NetcdfDatasets.openDataset(path.toString())) { coords = new NetcdfCoordinates(ncd.getRootGroup()); } catch (IOException e) { throw new RuntimeException("Could not read Netcdf file [" + path + " ]"); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingHazardsReader.java b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingHazardsReader.java index 92088868cdc1a45e5f2cc14bb71364b77e92d44e..7395ffef8d03550faf9654c76f4c3a2938d38d4f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingHazardsReader.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/BoundingHazardsReader.java @@ -14,7 +14,7 @@ import gov.usgs.earthquake.nshmp.netcdf.reader.NetcdfUtils.Key; import ucar.ma2.Array; import ucar.ma2.DataType; import ucar.ma2.InvalidRangeException; -import ucar.nc2.dataset.NetcdfDataset; +import ucar.nc2.dataset.NetcdfDatasets; /** * Container for gridded hazard curves at four closest grid points to target @@ -122,7 +122,7 @@ public class BoundingHazardsReader { private BoundingHazards extractHazardsAt( int idxLonLL, int idxLatLL) { - try (NetcdfDataset ncd = NetcdfDataset.openDataset(netcdf.path().toString())) { + try (var ncd = NetcdfDatasets.openDataset(netcdf.path().toString())) { var boundingHazardMaps = BoundingHazards.builder(); var targetGroup = ncd.getRootGroup(); @@ -140,7 +140,7 @@ public class BoundingHazardsReader { * be [0,0,0,0,0] for LL grid point ...and shape of requested array is * [nVs,nImt,1,1,nIml] */ - var aHazards = targetGroup.findVariable(Key.HAZARD).read(targetOrigin, targetShape); + var aHazards = targetGroup.findVariableLocal(Key.HAZARD).read(targetOrigin, targetShape); var shape = targetShape.clone(); shape[2] = 1; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfCoordinates.java b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfCoordinates.java index 3ca684e889792cbbc7d46cd4ca257d6ffbf369c2..149586ac0495d7557d4c34e79e11de662c42d654 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfCoordinates.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfCoordinates.java @@ -44,10 +44,10 @@ public class NetcdfCoordinates { // variables and their dimensions should be, this is OK(???) // TODO: probably better (proper) to access netCDF dimensions - var vSiteClass = targetGroup.findVariable(Key.SITE_CLASS); - var vImls = targetGroup.findVariable(Key.IMLS); - var vImts = targetGroup.findVariable(Key.IMT); - var vBounds = targetGroup.findVariable(Key.BOUNDS); + var vSiteClass = targetGroup.findVariableLocal(Key.SITE_CLASS); + var vImls = targetGroup.findVariableLocal(Key.IMLS); + var vImts = targetGroup.findVariableLocal(Key.IMT); + var vBounds = targetGroup.findVariableLocal(Key.BOUNDS); var vs30s = NetcdfUtils.getDoubleArray(targetGroup, Key.VS30); var lats = NetcdfUtils.getDoubleArray(targetGroup, Key.LAT); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java index f1c2e7737de5ee7da705d6afc4fcba3dd933bd40..26fd2e408336fd3cd1e85eb82cdc5577fc138a9f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/netcdf/reader/NetcdfUtils.java @@ -93,7 +93,7 @@ public class NetcdfUtils { * @throws IOException */ static Object get1DArray(Group group, String key, DataType dataType) throws IOException { - var var = group.findVariable(key); + var var = group.findVariableLocal(key); checkNotNull( var, String.format("Could not find variable [%s] in group [%s]", key, group.getFullName()));