"time of stroke", null, secondsSince1970, AxisType.Time); seq.addMemberVariable(v); seq.addMemberVariable(v); seq.addMemberVariable(v); seq.addMemberVariable(v); "error ellipse semi-major axis", null, "km", null); seq.addMemberVariable(v); "error ellipse minor axis ", null, "km", null); seq.addMemberVariable(v); "error ellipse axis angle of orientation ", null, "degrees", null); seq.addMemberVariable(v); "multiplicity [#strokes per flash]", null, "", null); seq.addMemberVariable(v);
"time of stroke", null, secondsSince1970, AxisType.Time); seq.addMemberVariable(v); seq.addMemberVariable(v); seq.addMemberVariable(v); seq.addMemberVariable(v); "error ellipse semi-major axis", null, "km", null); seq.addMemberVariable(v); "error ellipse minor axis ", null, "km", null); seq.addMemberVariable(v); "error ellipse axis angle of orientation ", null, "degrees", null); seq.addMemberVariable(v); "multiplicity [#strokes per flash]", null, "", null); seq.addMemberVariable(v);
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "otherData"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[8])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "data", DataType.INT, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "additional data specified in table 101.1")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "table101code", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "code figure from table 101")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "indicatorFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=data, 1=form")); v.setSPobject(new Vinfo(pos)); pos += 2; return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "otherData"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[8])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "data", DataType.INT, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "additional data specified in table 101.1")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "table101code", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "code figure from table 101")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "indicatorFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=data, 1=form")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "otherData"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[8])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "data", DataType.INT, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "additional data specified in table 101.1")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "table101code", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "code figure from table 101")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "indicatorFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=data, 1=form")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "clouds"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[7])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "percentClouds", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "amount of cloudiness (%)")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=percentClouds")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "clouds"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[7])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "percentClouds", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "amount of cloudiness (%)")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=percentClouds")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "windHeightLevels"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[4])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "geopotential", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "meter")); v.addAttribute(new Attribute(CDM.LONG_NAME, "geopotential")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, 99999.0f)); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=geopot, 1=wind")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "clouds"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[7])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "percentClouds", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "")); v.addAttribute(new Attribute(CDM.LONG_NAME, "amount of cloudiness (%)")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=percentClouds")); v.setSPobject(new Vinfo(pos)); pos += 2; return seq; }
Variable timev = recordStructure.addMemberVariable(new Variable(ncfile, null, recordStructure, TIME_NAME, DataType.INT, "")); timev.addAttribute(new Attribute("units", dateUnit.getUnitsString())); timev.addAttribute(new Attribute("long_name", "time of observation"));
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "windHeightLevels"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[4])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "geopotential", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "meter")); v.addAttribute(new Attribute(CDM.LONG_NAME, "geopotential")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, 99999.0f)); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=geopot, 1=wind")); v.setSPobject(new Vinfo(pos)); pos += 2; return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "windHeightLevels"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[4])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "geopotential", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "meter")); v.addAttribute(new Attribute(CDM.LONG_NAME, "geopotential")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, 99999.0f)); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=geopot, 1=wind")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "windPressureLevels"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[3])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); v.addAttribute(new Attribute("accuracy", "mbar/10")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=wind")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "windPressureLevels"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[3])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); v.addAttribute(new Attribute("accuracy", "mbar/10")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=wind")); v.setSPobject(new Vinfo(pos)); return seq; }
Structure makeStructure(Structure parent) throws InvalidRangeException { Sequence seq = new Sequence(ncfile, null, parent, "windPressureLevels"); seq.addAttribute(new Attribute(CDM.LONG_NAME, catNames[3])); int pos = 0; Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); v.addAttribute(new Attribute("accuracy", "mbar/10")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Pressure.toString())); v.setSPobject(new Vinfo(pos)); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v.addAttribute(new Attribute(CDM.MISSING_VALUE, (short) 999)); v.setSPobject(new Vinfo(pos)); pos += 2; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{2}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=wind")); v.setSPobject(new Vinfo(pos)); pos += 2; return seq; }
Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "temperature", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "temperature")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "dewpoint", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "dewpoint depression")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{3}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=temp, 2=dewpoint"));
Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "temperature", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "temperature")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "dewpoint", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "dewpoint depression")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{3}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=temp, 2=dewpoint"));
Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "temperature", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "temperature")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "dewpoint", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "dewpoint depression")); v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{4}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=temp, 2=dewpoint, 3=wind"));
Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "temperature", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "temperature")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "dewpoint", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "dewpoint depression")); v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windDir", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "degrees")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind direction")); v = seq.addMemberVariable(new Variable(ncfile, null, parent, "windSpeed", DataType.SHORT, "")); v.addAttribute(new Attribute(CDM.UNITS, "knots")); v.addAttribute(new Attribute(CDM.LONG_NAME, "wind speed")); v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{4}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=temp, 2=dewpoint, 3=wind"));
Variable v = seq.addMemberVariable(new Variable(ncfile, null, parent, "pressure", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "mbars")); v.addAttribute(new Attribute(CDM.LONG_NAME, "pressure level")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "temperature", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "temperature")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "dewpoint", DataType.FLOAT, "")); v.addAttribute(new Attribute(CDM.UNITS, "celsius")); v.addAttribute(new Attribute(CDM.LONG_NAME, "dewpoint depression")); pos += 4; v = seq.addMemberVariable(new Variable(ncfile, null, parent, "qualityFlags", DataType.CHAR, "")); v.setDimensionsAnonymous(new int[]{3}); v.addAttribute(new Attribute(CDM.LONG_NAME, "quality marks: 0=pressure, 1=temp, 2=dewpoint"));