private void addCoordinateAxes(CoverageCollection subsetDataset, NetcdfFileWriter writer) {
for (CoverageCoordAxis axis : subsetDataset.getCoordAxes()) {
String dims;
if (axis.getDependenceType() == CoverageCoordAxis.DependenceType.independent) {
dims = axis.getName();
} else if (axis.getDependenceType() == CoverageCoordAxis.DependenceType.scalar) {
dims = "";
} else {
dims = axis.getDependsOn();
}
boolean hasBounds = false;
if (axis.isInterval()) {
Variable vb = writer.addVariable(null, axis.getName()+BOUNDS, axis.getDataType(), dims+" "+BOUNDS_DIM);
vb.addAttribute(new Attribute(CDM.UNITS, axis.getUnits()));
hasBounds = true;
}
Variable v = writer.addVariable(null, axis.getName(), axis.getDataType(), dims);
addVariableAttributes(v, axis.getAttributes());
v.addAttribute(new Attribute(CDM.UNITS, axis.getUnits()));
if (hasBounds)
v.addAttribute(new Attribute(CF.BOUNDS, axis.getName()+BOUNDS));
if (axis.getAxisType() == AxisType.TimeOffset)
v.addAttribute(new Attribute(CF.STANDARD_NAME, CF.TIME_OFFSET));
}
}