visad/src/main/java/ucar/nc2/iosp/mcidas/AreaServiceProvider.java
public void open(RandomAccessFile raf, NetcdfFile ncfile, CancelTask cancelTask) throws IOException {
    super.open(raf, ncfile, cancelTask);

    if (areaReader == null)
      areaReader = new AreaReader();

    try {
      areaReader.init(raf.getLocation(), ncfile);

    } catch (Throwable e) {
      close();              // try not to leak files
      throw new IOException(e);

    } finally {
      raf.close(); // avoid leaks
    }

  }
public void open(RandomAccessFile raf, NetcdfFile ncfile, CancelTask cancelTask) throws IOException {
    super.open(raf, ncfile, cancelTask);

    if (areaReader == null)
      areaReader = new AreaReader();

    try {
      areaReader.init(raf.getLocation(), ncfile);

    } catch (Throwable e) {
      close();              // try not to leak files
      throw new IOException(e);

    } finally {
      raf.close(); // avoid leaks
    }

  }
Open the service provider for reading.

@param raf        file to read from
@param ncfile     netCDF file we are writing to (memory)
@param cancelTask task for cancelling
@throws IOException problem reading file