private CalendarDate[] makeDateBounds(SubsetParams coords, CalendarDate runtime) { double[] time_bounds = coords.getTimeOffsetIntv(); CalendarDateUnit dateUnit = (CalendarDateUnit) coords.get(SubsetParams.timeOffsetUnit); CalendarDate[] result = new CalendarDate[2]; result[0] = runtime.add(CalendarPeriod.of((int) time_bounds[0], dateUnit.getCalendarField())); result[1] = runtime.add(CalendarPeriod.of((int) time_bounds[1], dateUnit.getCalendarField())); return result; }
public LatLonRect getLatLonBoundingBox() { return (LatLonRect) get(latlonBB);} public SubsetParams setLatLonBoundingBox(LatLonRect llbb) { set(latlonBB, llbb); return this; }
public List<String> getStations() { return (List<String>) get(stations);} public SubsetParams setStations(List<String> stns) { set(stations, stns); return this; }
public ProjectionRect getProjectionRect() { return (ProjectionRect) get(projBB);} public SubsetParams setProjectionRect(ProjectionRect projRect) { set(projBB, projRect); return this; }
public List<String> getVariables() { return (List<String>) get(variables);} public SubsetParams setVariables(List<String> vars) { set(variables, vars); return this; }
public CalendarDate getTime() { return (CalendarDate) get(time);} public SubsetParams setTimePresent() { set(timePresent, true); return this; }
public double[] getVertRange() { return (double []) get(vertRange);} public Double getVertCoord() { return (Double) get(vertCoord);}
public Double getEnsCoord() { return (Double) get(ensCoord);} public SubsetParams setEnsCoord(double coord) { set(ensCoord, coord); return this; }
public LatLonPointImpl getLatLonPoint() { return (LatLonPointImpl) get(latlonPoint);} public SubsetParams setLatLonPoint(LatLonPointImpl pt) { set(latlonPoint, pt); return this; }
public CalendarDateRange getTimeRange() { return (CalendarDateRange) get(timeRange);} public SubsetParams setTimeRange(CalendarDateRange dateRange) { set(timeRange, dateRange); return this; }
public CalendarDate getRunTime() { return (CalendarDate) get(runtime);} public SubsetParams setRunTime(CalendarDate date) { set(runtime, date); return this; }
public Double getVertCoord() { return (Double) get(vertCoord);} public SubsetParams setVertCoord(double coord) { set(vertCoord, coord); return this; }
public Double getTimeOffset() { return (Double) get(timeOffset); }
public CalendarPeriod getTimeWindow() { return (CalendarPeriod) get(timeWindow);}
public double [] getTimeOffsetIntv() { return (double []) get(timeOffsetIntv); }
public double[] getVertCoordIntv() { return (double[]) get(vertIntv);}
void tryAgain(SubsetParams coords) { try { if (cover != null) cover.readData(coords); if (grid != null) { int rtIndex = (Integer) dtCoords.get("rtIndex"); int tIndex = (Integer) dtCoords.get("tIndex"); int zIndex = (Integer) dtCoords.get("zIndex"); grid.readDataSlice(rtIndex, -1, tIndex, zIndex, -1, -1); } } catch (InvalidRangeException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }