diff --git a/vortex-api/src/main/java/mil/army/usace/hec/vortex/io/GridDatasetReader.java b/vortex-api/src/main/java/mil/army/usace/hec/vortex/io/GridDatasetReader.java index 5094c4f0..bf6dc0da 100644 --- a/vortex-api/src/main/java/mil/army/usace/hec/vortex/io/GridDatasetReader.java +++ b/vortex-api/src/main/java/mil/army/usace/hec/vortex/io/GridDatasetReader.java @@ -375,7 +375,7 @@ private String getAttributeStringValue(Attribute attribute) { private List getTimeRecordsWithTimeAxis1D(CoordinateAxis1DTime tAxis) { List list = new ArrayList<>(); if (!tAxis.isInterval() && !isSpecialTimeBounds()) { - return getTimeInstants(tAxis); + return getCoordinateBounds(tAxis); } for (int i = 0; i < (int) tAxis.getSize(); i++) { @@ -421,10 +421,16 @@ private boolean isSpecialTimeBounds() { return specialFileType != null && specialFileType != UNDEFINED; } - private List getTimeInstants(CoordinateAxis1DTime timeAxis) { - return timeAxis.getCalendarDates().stream() - .map(TimeConverter::toZonedDateTime) - .map(t -> VortexDataInterval.of(t, t)) - .toList(); + private List getCoordinateBounds(CoordinateAxis1DTime timeAxis) { + List list = new ArrayList<>(); + for (int i = 0; i < timeAxis.getSize(); i++) { + CalendarDate[] dates = timeAxis.getCoordBoundsDate(i); + ZonedDateTime startTime = TimeConverter.toZonedDateTime(dates[0]); + ZonedDateTime endTime = TimeConverter.toZonedDateTime(dates[1]); + VortexDataInterval interval = new VortexDataInterval(startTime, endTime); + list.add(interval); + } + + return List.copyOf(list); } }