cdm/src/main/java/ucar/nc2/dataset/CoordSysBuilder.java
protected void makeCoordinateSystemsImplicit(NetcdfDataset ncDataset) {
    for (VarProcess vp : varList) {
      if (!vp.hasCoordinateSystem() && vp.maybeData()) {
        List<CoordinateAxis> dataAxesList = vp.findCoordinateAxes(true);
        if (dataAxesList.size() < 2)
          continue;

        VariableEnhanced ve = (VariableEnhanced) vp.v;
        String csName = CoordinateSystem.makeName(dataAxesList);
        CoordinateSystem cs = ncDataset.findCoordinateSystem(csName);
        if ((cs != null) && cs.isComplete(vp.v)) { // must be complete
          ve.addCoordinateSystem(cs);
          parseInfo.format(" assigned implicit CoordSystem '%s' for var= %s%n", cs.getName(), vp.v.getFullName());
        } else {
          CoordinateSystem csnew = new CoordinateSystem(ncDataset, dataAxesList, null);
          csnew.setImplicit(true);
          if (csnew.isComplete(vp.v)) {
            ve.addCoordinateSystem(csnew);
            ncDataset.addCoordinateSystem(csnew);
            parseInfo.format(" created implicit CoordSystem '%s' for var= %s%n", csnew.getName(), vp.v.getFullName());
          }
        }
      }
    }
  }
protected void makeCoordinateSystemsImplicit(NetcdfDataset ncDataset) {
    for (VarProcess vp : varList) {
      if (!vp.hasCoordinateSystem() && vp.maybeData()) {
        List<CoordinateAxis> dataAxesList = vp.findCoordinateAxes(true);
        if (dataAxesList.size() < 2)
          continue;

        VariableEnhanced ve = (VariableEnhanced) vp.v;
        String csName = CoordinateSystem.makeName(dataAxesList);
        CoordinateSystem cs = ncDataset.findCoordinateSystem(csName);
        if ((cs != null) && cs.isComplete(vp.v)) { // must be complete
          ve.addCoordinateSystem(cs);
          parseInfo.format(" assigned implicit CoordSystem '%s' for var= %s%n", cs.getName(), vp.v.getFullName());
        } else {
          CoordinateSystem csnew = new CoordinateSystem(ncDataset, dataAxesList, null);
          csnew.setImplicit(true);
          if (csnew.isComplete(vp.v)) {
            ve.addCoordinateSystem(csnew);
            ncDataset.addCoordinateSystem(csnew);
            parseInfo.format(" created implicit CoordSystem '%s' for var= %s%n", csnew.getName(), vp.v.getFullName());
          }
        }
      }
    }
  }
protected void makeCoordinateSystemsImplicit ( NetcdfDataset ncDataset ) { for ( VarProcess vp : varList ) { if ( ! vp . hasCoordinateSystem ( ) && vp . maybeData ( ) ) { List < CoordinateAxis > dataAxesList = vp . findCoordinateAxes ( true ) ; if ( dataAxesList . size ( ) < 2 ) continue ; VariableEnhanced ve = ( VariableEnhanced ) vp . v ; String csName = CoordinateSystem . makeName ( dataAxesList ) ; CoordinateSystem cs = ncDataset . findCoordinateSystem ( csName ) ; if ( ( cs != null ) && cs . isComplete ( vp . v ) ) { // must be complete
 ve . addCoordinateSystem ( cs ) ; parseInfo . format ( " assigned implicit CoordSystem '%s' for var= %s%n" , cs . getName ( ) , vp . v . getFullName ( ) ) ; } else { CoordinateSystem csnew = new CoordinateSystem ( ncDataset , dataAxesList , null ) ; csnew . setImplicit ( true ) ; if ( csnew . isComplete ( vp . v ) ) { ve . addCoordinateSystem ( csnew ) ; ncDataset . addCoordinateSystem ( csnew ) ; parseInfo . format ( " created implicit CoordSystem '%s' for var= %s%n" , csnew . getName ( ) , vp . v . getFullName ( ) ) ; } } } } }
Make implicit CoordinateSystem objects for variables that dont already have one, by using the
variables' list of coordinate axes, and any coordinateVariables for it. Must be at least 2 axes.
All of a variable's _Coordinate Variables_ plus any variables listed in a *__CoordinateAxes_* or *_coordinates_* attribute
will be made into an *_implicit_* Coordinate System.
If there are at least two axes, and the coordinate system uses all of the variable's dimensions,
it will be asssigned to the data variable.
Make implicit CoordinateSystem objects for variables that dont already have one by using the variables list of coordinate axes and any coordinateVariables for it . Must be at least 2 axes . All of a variable s _Coordinate Variables_ plus any variables listed in a * __CoordinateAxes_ * or * _coordinates_ * attribute will be made into an * _implicit_ * Coordinate System . If there are at least two axes and the coordinate system uses all of the variable s dimensions it will be asssigned to the data variable .