visad/src/main/java/ucar/nc2/iosp/gempak/GempakFileReader.java
public float DM_RFLT(int word) throws IOException {
    if (rf == null) {
      throw new IOException("DM_RFLT: no file to read from");
    }
    if (dmLabel == null) {
      throw new IOException("DM_RFLT: reader not initialized");
    }
    rf.seek(getOffset(word));
    if (needToSwap) {
      // set the order
      //if ((dmLabel.kmachn != MTMACH) &&
      //   ((dmLabel.kvmst && ! mvmst) ||
      //   (mvmst && !dmLabel.kvmst))) {
      rf.order(RandomAccessFile.LITTLE_ENDIAN);  // swap
    } else {
      rf.order(RandomAccessFile.BIG_ENDIAN);
    }
    float rdata = rf.readFloat();
    if (RMISSD != dmLabel.smissd) {
      if (Math.abs(rdata - dmLabel.smissd) < RDIFFD) {
        rdata = RMISSD;
      }
    }
    // reset to read normally
    rf.order(RandomAccessFile.BIG_ENDIAN);
    return rdata;
  }
public float DM_RFLT(int word) throws IOException {
    if (rf == null) {
      throw new IOException("DM_RFLT: no file to read from");
    }
    if (dmLabel == null) {
      throw new IOException("DM_RFLT: reader not initialized");
    }
    rf.seek(getOffset(word));
    if (needToSwap) {
      // set the order
      //if ((dmLabel.kmachn != MTMACH) &&
      //   ((dmLabel.kvmst && ! mvmst) ||
      //   (mvmst && !dmLabel.kvmst))) {
      rf.order(RandomAccessFile.LITTLE_ENDIAN);  // swap
    } else {
      rf.order(RandomAccessFile.BIG_ENDIAN);
    }
    float rdata = rf.readFloat();
    if (RMISSD != dmLabel.smissd) {
      if (Math.abs(rdata - dmLabel.smissd) < RDIFFD) {
        rdata = RMISSD;
      }
    }
    // reset to read normally
    rf.order(RandomAccessFile.BIG_ENDIAN);
    return rdata;
  }
Read a float

@param word word in file (1 based) to read
@return float read
@throws IOException problem reading file