String vname = ds.findAttValueIgnoreCase(null, "altitude_coordinate", null);
if (!addAxisType(ds, vname, AxisType.Height)) { // attribute named
for (int i = 0; i < ds.getVariables().size(); i++) {
VariableEnhanced ve = (VariableEnhanced) ds.getVariables().get( i );
String positive = ds.findAttValueIgnoreCase((Variable) ve, "positive", null);
if (positive != null) {
addAxisType((Variable) ve, AxisType.Height); // CF-1
break;
}
}
}
}
}
}
// time
if (!hasAxisType( ds, AxisType.Time)) { // already has _CoordinateAxisType
if ( !addAxisType( ds, "time", AxisType.Time)) { // directly named
String vname = ds.findAttValueIgnoreCase(null, "time_coordinate", null);
if (!addAxisType( ds, vname, AxisType.Time)) { // attribute named
for (int i = 0; i < ds.getVariables().size(); i++) {
VariableEnhanced ve = (VariableEnhanced) ds.getVariables().get(i);
String unit = ve.getUnitsString();
if (unit == null) continue;
if (SimpleUnit.isDateUnit(unit)) {
addAxisType( (Variable) ve, AxisType.Time); // CF-1
break;
}