cdm/src/main/java/ucar/nc2/ft/point/standard/plug/CFpointObs.java
protected TableConfig getProfileConfig(NetcdfDataset ds, EncodingInfo info, Formatter errlog) throws IOException {
    if (!identifyEncodingProfile(ds, info, errlog)) return null;

    TableConfig profileTable = makeStructTable(ds, FeatureType.PROFILE, info, errlog);
    if (profileTable == null) return null;
    profileTable.feature_id = identifyIdVariableName(ds, CF.FeatureType.profile);
    if (profileTable.feature_id == null) {
      errlog.format("CFpointObs getProfileConfig cant find a profile id %n");
    }

    // obs table
    VariableDS z = CoordSysEvaluator.findCoordByType(ds, AxisType.Height);
    if (z == null) z = CoordSysEvaluator.findCoordByType(ds, AxisType.Pressure);
    if (z == null) z = CoordSysEvaluator.findCoordByType(ds, AxisType.GeoZ);
    if (z == null) {
      errlog.format("CFpointObs getProfileConfig cant find a Height coordinate %n");
      return null;
    }
    if (info.childStruct == null)
      info.childStruct = z.getParentStructure();

    TableConfig obsTable = null;
    switch (info.encoding) {
      case single:
        obsTable = makeSingle(ds, info.childDim, errlog);
        break;
      case multidim:
        obsTable = makeMultidimInner(ds, profileTable, info.childDim, info, errlog);
        if (z.getRank() == 1) {// z(z)
          obsTable.addJoin(new JoinArray(z, JoinArray.Type.raw, 0));
          obsTable.elev = z.getFullName();
        }
        break;
      case raggedContiguous:
        profileTable.numRecords = info.ragged_rowSize.getFullName();
        obsTable = makeRaggedContiguousChildTable(ds, info.parentDim, info.childDim, info.childStruct, errlog);
        break;
      case raggedIndex:
        obsTable = makeRaggedIndexChildTable(ds, info.parentDim, info.childDim, info.ragged_parentIndex, errlog);
        break;
      case flat:
        throw new UnsupportedOperationException("CFpointObs: profile flat encoding");
    }
    if (obsTable == null) return null;

    profileTable.addChild(obsTable);
    return profileTable;
  }
protected TableConfig getProfileConfig(NetcdfDataset ds, EncodingInfo info, Formatter errlog) throws IOException {
    if (!identifyEncodingProfile(ds, info, errlog)) return null;

    TableConfig profileTable = makeStructTable(ds, FeatureType.PROFILE, info, errlog);
    if (profileTable == null) return null;
    profileTable.feature_id = identifyIdVariableName(ds, CF.FeatureType.profile);
    if (profileTable.feature_id == null) {
      errlog.format("CFpointObs getProfileConfig cant find a profile id %n");
    }

    // obs table
    VariableDS z = CoordSysEvaluator.findCoordByType(ds, AxisType.Height);
    if (z == null) z = CoordSysEvaluator.findCoordByType(ds, AxisType.Pressure);
    if (z == null) z = CoordSysEvaluator.findCoordByType(ds, AxisType.GeoZ);
    if (z == null) {
      errlog.format("CFpointObs getProfileConfig cant find a Height coordinate %n");
      return null;
    }
    if (info.childStruct == null)
      info.childStruct = z.getParentStructure();

    TableConfig obsTable = null;
    switch (info.encoding) {
      case single:
        obsTable = makeSingle(ds, info.childDim, errlog);
        break;
      case multidim:
        obsTable = makeMultidimInner(ds, profileTable, info.childDim, info, errlog);
        if (z.getRank() == 1) {// z(z)
          obsTable.addJoin(new JoinArray(z, JoinArray.Type.raw, 0));
          obsTable.elev = z.getFullName();
        }
        break;
      case raggedContiguous:
        profileTable.numRecords = info.ragged_rowSize.getFullName();
        obsTable = makeRaggedContiguousChildTable(ds, info.parentDim, info.childDim, info.childStruct, errlog);
        break;
      case raggedIndex:
        obsTable = makeRaggedIndexChildTable(ds, info.parentDim, info.childDim, info.ragged_parentIndex, errlog);
        break;
      case flat:
        throw new UnsupportedOperationException("CFpointObs: profile flat encoding");
    }
    if (obsTable == null) return null;

    profileTable.addChild(obsTable);
    return profileTable;
  }
protected TableConfig getProfileConfig ( NetcdfDataset ds , EncodingInfo info , Formatter errlog ) throws IOException { if ( ! identifyEncodingProfile ( ds , info , errlog ) ) return null ; TableConfig profileTable = makeStructTable ( ds , FeatureType . PROFILE , info , errlog ) ; if ( profileTable == null ) return null ; profileTable . feature_id = identifyIdVariableName ( ds , CF . FeatureType . profile ) ; if ( profileTable . feature_id == null ) { errlog . format ( "CFpointObs getProfileConfig cant find a profile id %n" ) ; } // obs table
 VariableDS z = CoordSysEvaluator . findCoordByType ( ds , AxisType . Height ) ; if ( z == null ) z = CoordSysEvaluator . findCoordByType ( ds , AxisType . Pressure ) ; if ( z == null ) z = CoordSysEvaluator . findCoordByType ( ds , AxisType . GeoZ ) ; if ( z == null ) { errlog . format ( "CFpointObs getProfileConfig cant find a Height coordinate %n" ) ; return null ; } if ( info . childStruct == null ) info . childStruct = z . getParentStructure ( ) ; TableConfig obsTable = null ; switch ( info . encoding ) { case single : obsTable = makeSingle ( ds , info . childDim , errlog ) ; break ; case multidim : obsTable = makeMultidimInner ( ds , profileTable , info . childDim , info , errlog ) ; if ( z . getRank ( ) == 1 ) { // z(z)
 obsTable . addJoin ( new JoinArray ( z , JoinArray . Type . raw , 0 ) ) ; obsTable . elev = z . getFullName ( ) ; } break ; case raggedContiguous : profileTable . numRecords = info . ragged_rowSize . getFullName ( ) ; obsTable = makeRaggedContiguousChildTable ( ds , info . parentDim , info . childDim , info . childStruct , errlog ) ; break ; case raggedIndex : obsTable = makeRaggedIndexChildTable ( ds , info . parentDim , info . childDim , info . ragged_parentIndex , errlog ) ; break ; case flat : throw new UnsupportedOperationException ( "CFpointObs: profile flat encoding" ) ; } if ( obsTable == null ) return null ; profileTable . addChild ( obsTable ) ; return profileTable ; }
//
//