public TypedDataset open(NetcdfDataset ncd, ucar.nc2.util.CancelTask task, StringBuilder errlog) throws IOException { return new CFnetCDF2Dataset(ncd); }
/** * Constructor. * * @param ds Source NetCDF dataset */ public CFnetCDF2Dataset(NetcdfDataset ds) { this.ds = ds; desc = "CF/Radial radar dataset"; init(); for (Variable var : ds.getVariables()) { addRadialVariable(ds, var); } }
/** * _more_ */ public void clearDatasetMemory() { List rvars = getDataVariables(); Iterator iter = rvars.iterator(); while (iter.hasNext()) { RadialVariable radVar = (RadialVariable) iter.next(); radVar.clearVariableMemory(); } }
Variable snumber = ds.findVariable("sweep_number"); setEarthLocation(); try { Array tArray = t.read(); nsweeps = ((int[]) sn.copyTo1DJavaArray()).length; setTimeUnits(); } catch (Exception e) { throw new RuntimeException(e); setStartDate(); setEndDate(); setBoundingBox();
protected void setBoundingBox() { LatLonRect bb; if (origin == null) { return; } double dLat = Math.toDegrees(getMaximumRadialDist() / Earth.getRadius()); double latRadians = Math.toRadians(origin.getLatitude()); double dLon = dLat * Math.cos(latRadians); double lat1 = origin.getLatitude() - dLat / 2; double lon1 = origin.getLongitude() - dLon / 2; bb = new LatLonRect(new LatLonPointImpl(lat1, lon1), dLat, dLon); boundingBox = bb; }
/** * _more_ * * @param nds _more_ * @param var _more_ */ protected void addRadialVariable(NetcdfDataset nds, Variable var) { RadialVariable rsvar = null; String vName = var.getShortName(); int tIdx = var.findDimensionIndex("time"); int rIdx = var.findDimensionIndex("range"); if ((tIdx == 0) && (rIdx == 1)) { VariableSimpleIF v = new MyRadialVariableAdapter(vName, var.getAttributes()); rsvar = makeRadialVariable(nds, v, var); } if (rsvar != null) { dataVariables.add(rsvar); } }
public void init() { setEarthLocation(); try { Variable t = ds.findVariable("time"); ray_start_index = (int[]) var.read().copyTo1DJavaArray(); setTimeUnits(); } catch (Exception e) { throw new RuntimeException(e); setStartDate(); setEndDate(); setBoundingBox();
/** * _more_ */ protected void setBoundingBox() { LatLonRect bb; if (origin == null) { return; } double dLat = Math.toDegrees(getMaximumRadialDist() / Earth.getRadius()); double latRadians = Math.toRadians(origin.getLatitude()); double dLon = dLat * Math.cos(latRadians); double lat1 = origin.getLatitude() - dLat / 2; double lon1 = origin.getLongitude() - dLon / 2; bb = new LatLonRect(new LatLonPointImpl(lat1, lon1), dLat, dLon); boundingBox = bb; }
/** * _more_ * * @param nds _more_ * @param var _more_ */ protected void addRadialVariable(NetcdfDataset nds, Variable var) { RadialVariable rsvar = null; String vName = var.getShortName(); int tIdx = var.findDimensionIndex("time"); int rIdx = var.findDimensionIndex("range"); int ptsIdx = var.findDimensionIndex("n_points"); if (((tIdx == 0) && (rIdx == 1)) || (ptsIdx == 0)) { VariableSimpleIF v = new MyRadialVariableAdapter(vName, var.getAttributes()); rsvar = makeRadialVariable(nds, v, var); } if (rsvar != null) { dataVariables.add(rsvar); } }
/** * Constructor. * * @param ds must be from nexrad2 IOSP */ public CFnetCDF2Dataset(NetcdfDataset ds) { //super(ds); this.ds = ds; desc = "CF netCDF 2 radar dataset"; init(); List vars = ds.getVariables(); for (int i = 0; i < vars.size(); i++) { // VariableEnhanced varDS = (VariableEnhanced) vars.get(i); addRadialVariable(ds, (Variable) vars.get(i)); } }
public void clearDatasetMemory() { for (VariableSimpleIF rvar : getDataVariables()) { RadialVariable radVar = (RadialVariable) rvar; radVar.clearVariableMemory(); } }
/** * _more_ * * @param ncd _more_ * @param task _more_ * @param errlog _more_ * * @return _more_ * * @throws IOException _more_ */ public TypedDataset open(NetcdfDataset ncd, ucar.nc2.util.CancelTask task, StringBuilder errlog) throws IOException { return new CFnetCDF2Dataset(ncd); }