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

    TableConfig trajTable = makeStructTable(ds, FeatureType.TRAJECTORY, info, errlog);
    if (trajTable == null) return null;
    trajTable.feature_id = identifyIdVariableName(ds, CF.FeatureType.trajectory);
    if (trajTable.feature_id == null) {
      errlog.format("CFpointObs getTrajectoryConfig cant find a trajectoy id %n");
    }

    // obs table
    //Dimension obsDim = time.getDimension(time.getRank() - 1); // may be time(time) or time(traj, obs)

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

    trajTable.addChild(obsConfig);
    return trajTable;
  }
protected TableConfig getTrajectoryConfig(NetcdfDataset ds, EncodingInfo info, Formatter errlog) throws IOException {
    if (!identifyEncodingTraj(ds, info, errlog)) return null;

    TableConfig trajTable = makeStructTable(ds, FeatureType.TRAJECTORY, info, errlog);
    if (trajTable == null) return null;
    trajTable.feature_id = identifyIdVariableName(ds, CF.FeatureType.trajectory);
    if (trajTable.feature_id == null) {
      errlog.format("CFpointObs getTrajectoryConfig cant find a trajectoy id %n");
    }

    // obs table
    //Dimension obsDim = time.getDimension(time.getRank() - 1); // may be time(time) or time(traj, obs)

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

    trajTable.addChild(obsConfig);
    return trajTable;
  }
protected TableConfig getTrajectoryConfig ( NetcdfDataset ds , EncodingInfo info , Formatter errlog ) throws IOException { if ( ! identifyEncodingTraj ( ds , info , errlog ) ) return null ; TableConfig trajTable = makeStructTable ( ds , FeatureType . TRAJECTORY , info , errlog ) ; if ( trajTable == null ) return null ; trajTable . feature_id = identifyIdVariableName ( ds , CF . FeatureType . trajectory ) ; if ( trajTable . feature_id == null ) { errlog . format ( "CFpointObs getTrajectoryConfig cant find a trajectoy id %n" ) ; } // obs table
 //Dimension obsDim = time.getDimension(time.getRank() - 1); // may be time(time) or time(traj, obs)
 TableConfig obsConfig = null ; switch ( info . encoding ) { case single : obsConfig = makeSingle ( ds , info . childDim , errlog ) ; break ; case multidim : obsConfig = makeMultidimInner ( ds , trajTable , info . childDim , info , errlog ) ; if ( info . time . getRank ( ) == 1 ) { // join time(obs) or time(time)
 obsConfig . addJoin ( new JoinArray ( info . time , JoinArray . Type . raw , 0 ) ) ; obsConfig . time = info . time . getFullName ( ) ; } break ; case raggedContiguous : trajTable . numRecords = info . ragged_rowSize . getFullName ( ) ; obsConfig = makeRaggedContiguousChildTable ( ds , info . parentDim , info . childDim , info . childStruct , errlog ) ; break ; case raggedIndex : obsConfig = makeRaggedIndexChildTable ( ds , info . parentDim , info . childDim , info . ragged_parentIndex , errlog ) ; break ; case flat : throw new UnsupportedOperationException ( "CFpointObs: trajectory flat encoding" ) ; } if ( obsConfig == null ) return null ; trajTable . addChild ( obsConfig ) ; return trajTable ; }
//
//