visad/src/main/java/ucar/nc2/iosp/gempak/GempakSurfaceFileReader.java
protected boolean init(boolean fullCheck) throws IOException {

    if (!super.init(fullCheck)) {
      return false;
    }

    // Modeled after SF_OFIL
    if (dmLabel.kftype != MFSF) {
      logError("not a surface data file ");
      return false;
    }


    int numParams = 0;
    String partType = ((dmLabel.kfsrce == 100) && (dmLabel.kprt == 1))
            ? SFTX
            : SFDT;

    DMPart part = getPart(partType);

    if (part == null) {
      logError("No part named " + partType + " found");
      return false;
    } else {
      numParams = part.kparms;
    }

    if (!readStationsAndTimes(true)) {
      logError("Unable to read stations and times");
      return false;
    }
    // since the reads are ob by ob, set buffer size small
    if (subType.equals(STANDARD)) rf.setBufferSize(256);
    return true;

  }
protected boolean init(boolean fullCheck) throws IOException {

    if (!super.init(fullCheck)) {
      return false;
    }

    // Modeled after SF_OFIL
    if (dmLabel.kftype != MFSF) {
      logError("not a surface data file ");
      return false;
    }


    int numParams = 0;
    String partType = ((dmLabel.kfsrce == 100) && (dmLabel.kprt == 1))
            ? SFTX
            : SFDT;

    DMPart part = getPart(partType);

    if (part == null) {
      logError("No part named " + partType + " found");
      return false;
    } else {
      numParams = part.kparms;
    }

    if (!readStationsAndTimes(true)) {
      logError("Unable to read stations and times");
      return false;
    }
    // since the reads are ob by ob, set buffer size small
    if (subType.equals(STANDARD)) rf.setBufferSize(256);
    return true;

  }
Initialize this reader.  Get the Grid specific info

@param fullCheck check to make sure there are grids we can handle
@return true if successful
@throws IOException problem reading the data