private String makeCoordinateList(VariableDS aggVar, String timeCoordName, boolean is2D) { String coords = ""; Attribute att = aggVar.findAttribute(CF.COORDINATES); if (att == null) att = aggVar.findAttribute(_Coordinate.Axes); if (att != null) coords = att.getStringValue(); if (is2D) return getRunDimensionName() + " " + timeCoordName + " " + coords; else return timeCoordName + "_" + getRunDimensionName() + " " + timeCoordName + " " + coords; }
logger.debug("{} for Variable = {}", getClass().getSimpleName(), forVar.getFullName()); Attribute scaleAtt = forVar.findAttribute(CDM.SCALE_FACTOR); if (scaleAtt != null && !scaleAtt.isString()) { scaleType = getAttributeDataType(scaleAtt); Attribute offsetAtt = forVar.findAttribute(CDM.ADD_OFFSET); if (offsetAtt != null && !offsetAtt.isString()) { offsetType = getAttributeDataType(offsetAtt); Attribute validRangeAtt = forVar.findAttribute(CDM.VALID_RANGE); if (validRangeAtt != null && !validRangeAtt.isString() && validRangeAtt.getLength() > 1) { validType = getAttributeDataType(validRangeAtt); Attribute validMinAtt = forVar.findAttribute(CDM.VALID_MIN); Attribute validMaxAtt = forVar.findAttribute(CDM.VALID_MAX); Attribute fillValueAtt = forVar.findAttribute(CDM.FILL_VALUE); if (fillValueAtt != null && !fillValueAtt.isString()) { DataType fillType = getAttributeDataType(fillValueAtt); Attribute missingValueAtt = forVar.findAttribute(CDM.MISSING_VALUE); if (missingValueAtt != null) { if (missingValueAtt.isString()) {
private String makeCoordinateList(VariableDS aggVar, String timeCoordName, boolean is2D) { String coords = ""; Attribute att = aggVar.findAttribute(CF.COORDINATES); if (att == null) att = aggVar.findAttribute(_Coordinate.Axes); if (att != null) coords = att.getStringValue(); if (is2D) return getRunDimensionName() + " " + timeCoordName + " " + coords; else return timeCoordName + "_" + getRunDimensionName() + " " + timeCoordName + " " + coords; }
private String makeCoordinateList(VariableDS aggVar, String timeCoordName, boolean is2D) { String coords = ""; Attribute att = aggVar.findAttribute(CF.COORDINATES); if (att == null) att = aggVar.findAttribute(_Coordinate.Axes); if (att != null) coords = att.getStringValue(); if (is2D) return getRunDimensionName() + " " + timeCoordName + " " + coords; else return timeCoordName + "_" + getRunDimensionName() + " " + timeCoordName + " " + coords; }
staxWriter.writeAttribute(CDM.UNITS, escaper.escape(v.getUnitsString())); Attribute att = v.findAttribute(BufrIosp2.fxyAttName); String desc = (att == null) ? "N/A" : att.getStringValue(); staxWriter.writeAttribute("bufr", escaper.escape(desc));
staxWriter.writeAttribute("units", StringUtil.quoteXmlAttribute(v.getUnitsString())); Attribute att = v.findAttribute("BUFR:TableB_descriptor"); String desc = (att == null) ? "N/A" : att.getStringValue(); staxWriter.writeAttribute("bufr", StringUtil.quoteXmlAttribute(desc)); // */
@Test public void testExplicitFillValue() throws Exception { String filename = TestDir.cdmLocalTestDataDir +"standardVar.nc"; try (NetcdfDataset ncfile = NetcdfDataset.openDataset(filename)) { VariableDS v = (VariableDS) ncfile.findVariable("t3"); Assert.assertNotNull("t3", v); Assert.assertTrue(v.hasFillValue()); Assert.assertNotNull(v.findAttribute("_FillValue")); int rank = v.getRank(); List<Range> ranges = new ArrayList<>(); ranges.add(null); for (int i = 1; i < rank; i++) { ranges.add(new Range(0, 1)); } VariableDS v_section = (VariableDS) v.section(ranges); Assert.assertNotNull (v_section.findAttribute("_FillValue")); System.out.println(v_section.findAttribute("_FillValue")); Assert.assertTrue(v_section.hasFillValue()); } }
if (null != (att = forVar.findAttribute(CDM.SCALE_FACTOR))) { if (!att.isString()) { scale = att.getNumericValue().doubleValue(); if (null != (att = forVar.findAttribute(CDM.ADD_OFFSET))) { if (!att.isString()) { offset = att.getNumericValue().doubleValue(); if (null != (validRangeAtt = forVar.findAttribute(CDM.VALID_RANGE))) { if (!validRangeAtt.isString() && validRangeAtt.getLength() > 1) { valid_min = validRangeAtt.getNumericValue(0).doubleValue(); if (null != (validMinAtt = forVar.findAttribute("valid_min"))) { if (!validMinAtt.isString()) { valid_min = validMinAtt.getNumericValue().doubleValue(); if (null != (validMaxAtt = forVar.findAttribute("valid_max"))) { if (!validMaxAtt.isString()) { valid_max = validMaxAtt.getNumericValue().doubleValue(); if ((null != (att = forVar.findAttribute(CDM.FILL_VALUE))) && !att.isString()) { double[] values = getValueAsDouble(att); // LOOK double WTF ?? if (values.length > 0) { if (null != (att = forVar.findAttribute(CDM.MISSING_VALUE))) { if (att.isString()) { String svalue = att.getStringValue();
if (null != (att = forVar.findAttribute(CDM.SCALE_FACTOR))) { if (!att.isString()) { scale = att.getNumericValue().doubleValue(); if (null != (att = forVar.findAttribute(CDM.ADD_OFFSET))) { if (!att.isString()) { offset = att.getNumericValue().doubleValue(); if (null != (validRangeAtt = forVar.findAttribute(CDM.VALID_RANGE))) { if (!validRangeAtt.isString() && validRangeAtt.getLength() > 1) { valid_min = validRangeAtt.getNumericValue(0).doubleValue(); if (null != (validMinAtt = forVar.findAttribute("valid_min"))) { if (!validMinAtt.isString()) { valid_min = validMinAtt.getNumericValue().doubleValue(); if (null != (validMaxAtt = forVar.findAttribute("valid_max"))) { if (!validMaxAtt.isString()) { valid_max = validMaxAtt.getNumericValue().doubleValue(); if ((null != (att = forVar.findAttribute(CDM.FILL_VALUE))) && !att.isString()) { double[] values = getValueAsDouble(att); // LOOK double WTF ?? if (values.length > 0) { if (null != (att = forVar.findAttribute(CDM.MISSING_VALUE))) { if (att.isString()) { String svalue = att.getStringValue();
v.setDimensions(gridset.makeDimensions(v.getDimensions())); v.remove(v.findAttribute(_Coordinate.Axes)); v.remove(v.findAttribute(CF.COORDINATES)); String coords = makeCoordinatesAttribute(grid.getCoordinateSystem(), gridset.timeDimName); v.addAttribute(new Attribute(CF.COORDINATES, coords)); VariableDS vds = new VariableDS(newds.getRootGroup(), v, false); // reparent LOOK fishy !!!! vds.clearCoordinateSystems(); vds.remove(vds.findAttribute("coordinates"));
Attribute att = vagg.findAttribute(_Coordinate.Axes); if (att != null) { String axes = dimName + " " + att.getStringValue();
Attribute att = vagg.findAttribute(_Coordinate.Axes); if (att != null) { String axes = dimName + " " + att.getStringValue();
Attribute att = vagg.findAttribute(_Coordinate.Axes); if (att != null) { String axes = dimName + " " + att.getStringValue();
assert( vs.getDataType() == DataType.BYTE); Attribute att = vs.findAttribute("_FillValue"); assert( null != att); assert( !att.isArray());
assert( vs.getDataType() == DataType.SHORT); Attribute att = vs.findAttribute(CDM.MISSING_VALUE); assert( null != att); assert( !att.isArray());