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

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

    // Modeled after SN_OFIL
    if (dmLabel.kftype != MFSN) {
      logError("not a sounding data file ");
      return false;
    }

    DMPart part = getPart(SNDT);

    if (part != null) {  // merged file
      subType = MERGED;
      String vertName = part.params.get(0).kprmnm;
      switch (vertName) {
        case "PRES":
          ivert = PRES_COORD;
          break;
        case "THTA":
          ivert = THTA_COORD;
          break;
        case "HGHT":
        case "MHGT":
        case "DHGT":
          ivert = HGHT_COORD;
          break;
        default:
          logError("unknown vertical coordinate in merged file");
          return false;
      }

    } else {
      unmergedParts = SN_CKUA();
      boolean haveUnMerged = !unmergedParts.isEmpty();
      if (!haveUnMerged) {
        logError("unknown sounding file type - not merged/unmerged");
        return false;
      } else {
        ivert = PRES_COORD;
        subType = UNMERGED;
      }
    }
    if (!readStationsAndTimes(true)) {
      logError("Unable to read stations and times");
      return false;
    }

    return true;

  }
protected boolean init(boolean fullCheck) throws IOException {

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

    // Modeled after SN_OFIL
    if (dmLabel.kftype != MFSN) {
      logError("not a sounding data file ");
      return false;
    }

    DMPart part = getPart(SNDT);

    if (part != null) {  // merged file
      subType = MERGED;
      String vertName = part.params.get(0).kprmnm;
      switch (vertName) {
        case "PRES":
          ivert = PRES_COORD;
          break;
        case "THTA":
          ivert = THTA_COORD;
          break;
        case "HGHT":
        case "MHGT":
        case "DHGT":
          ivert = HGHT_COORD;
          break;
        default:
          logError("unknown vertical coordinate in merged file");
          return false;
      }

    } else {
      unmergedParts = SN_CKUA();
      boolean haveUnMerged = !unmergedParts.isEmpty();
      if (!haveUnMerged) {
        logError("unknown sounding file type - not merged/unmerged");
        return false;
      } else {
        ivert = PRES_COORD;
        subType = UNMERGED;
      }
    }
    if (!readStationsAndTimes(true)) {
      logError("Unable to read stations and times");
      return false;
    }

    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