cdm/src/main/java/ucar/nc2/Variable.java
public boolean isCoordinateVariable() {
    if ((dataType == DataType.STRUCTURE) || isMemberOfStructure()) // Structures and StructureMembers cant be coordinate variables
      return false;

    int n = getRank();
    if (n == 1 && dimensions.size() == 1) {
      Dimension firstd = dimensions.get(0);
      if (getShortName().equals(firstd.getShortName())) { //  : short names match
        return true;
      }
    }
    if (n == 2 && dimensions.size() == 2) {    // two dimensional
      Dimension firstd = dimensions.get(0);
      if (shortName.equals(firstd.getShortName()) &&  // short names match
              (getDataType() == DataType.CHAR)) {         // must be char valued (really a String)
        return true;
      }
    }

    return false;
  }
public boolean isCoordinateVariable() {
    if ((dataType == DataType.STRUCTURE) || isMemberOfStructure()) // Structures and StructureMembers cant be coordinate variables
      return false;

    int n = getRank();
    if (n == 1 && dimensions.size() == 1) {
      Dimension firstd = dimensions.get(0);
      if (getShortName().equals(firstd.getShortName())) { //  : short names match
        return true;
      }
    }
    if (n == 2 && dimensions.size() == 2) {    // two dimensional
      Dimension firstd = dimensions.get(0);
      if (shortName.equals(firstd.getShortName()) &&  // short names match
              (getDataType() == DataType.CHAR)) {         // must be char valued (really a String)
        return true;
      }
    }

    return false;
  }
public boolean isCoordinateVariable ( ) { if ( ( dataType == DataType . STRUCTURE ) || isMemberOfStructure ( ) ) // Structures and StructureMembers cant be coordinate variables return false ; int n = getRank ( ) ; if ( n == 1 && dimensions . size ( ) == 1 ) { Dimension firstd = dimensions . get ( 0 ) ; if ( getShortName ( ) . equals ( firstd . getShortName ( ) ) ) { //  : short names match return true ; } } if ( n == 2 && dimensions . size ( ) == 2 ) { // two dimensional Dimension firstd = dimensions . get ( 0 ) ; if ( shortName . equals ( firstd . getShortName ( ) ) && // short names match ( getDataType ( ) == DataType . CHAR ) ) { // must be char valued (really a String) return true ; } } return false ; }
Calculate if this is a classic coordinate variable: has same name as its first dimension.
If type char, must be 2D, else must be 1D.

@return true if a coordinate variable.
Calculate if this is a classic coordinate variable : has same name as its first dimension . If type char must be 2D else must be 1D .