private void addAdjustedTimeCoords(SubsetParams result, CoverageCoordAxis1D axis, int coordIdx, CalendarDate runtime) {
double adjust = axis.getOffsetInTimeUnits(runtime, axis.getRefDate());
if (axis.isInterval()) {
double[] adjustVal = new double[] {axis.getCoordEdge1(coordIdx)+adjust, axis.getCoordEdge2(coordIdx)+adjust};
result.setTimeOffsetIntv(adjustVal);
double mid = (adjustVal[0]+adjustVal[1]) / 2.0;
result.set(SubsetParams.timeOffsetUnit, axis.makeDateInTimeUnits(runtime, mid));
result.set(SubsetParams.timeOffsetUnit, axis.getCalendarDateUnit());
} else {
double adjustVal = axis.getCoordMidpoint(coordIdx) + adjust;
result.setTimeOffset(adjustVal);
result.set(SubsetParams.timeOffsetDate, axis.makeDateInTimeUnits(runtime, adjustVal));
result.set(SubsetParams.timeOffsetUnit, axis.getCalendarDateUnit());
}
}