cdm/src/main/java/ucar/nc2/iosp/IospHelper.java
static public Object readDataFill(PositioningDataInputStream is, Layout index, DataType dataType, Object fillValue) throws java.io.IOException {
    Object arr = (fillValue == null) ? makePrimitiveArray((int) index.getTotalNelems(), dataType) :
            makePrimitiveArray((int) index.getTotalNelems(), dataType, fillValue);
    return readData(is, index, dataType, arr);
  }
static public Object readDataFill(PositioningDataInputStream is, Layout index, DataType dataType, Object fillValue) throws java.io.IOException {
    Object arr = (fillValue == null) ? makePrimitiveArray((int) index.getTotalNelems(), dataType) :
            makePrimitiveArray((int) index.getTotalNelems(), dataType, fillValue);
    return readData(is, index, dataType, arr);
  }
static public Object readDataFill ( PositioningDataInputStream is , Layout index , DataType dataType , Object fillValue ) throws java . io . IOException { Object arr = ( fillValue == null ) ? makePrimitiveArray ( ( int ) index . getTotalNelems ( ) , dataType ) : makePrimitiveArray ( ( int ) index . getTotalNelems ( ) , dataType , fillValue ) ; return readData ( is , index , dataType , arr ) ; }
Read data subset from PositioningDataInputStream, create primitive array of size Layout.getTotalNelems.
Reading is controlled by the Layout object.

@param is        read from here.
@param index     handles skipping around in the file.
@param dataType  dataType of the variable
@param fillValue must be Number if dataType.isNumeric(), or String for STRING, byte[] for Structure, or null for none
@return primitive array with data read in
@throws java.io.IOException on read error
Read data subset from PositioningDataInputStream create primitive array of size Layout . getTotalNelems . Reading is controlled by the Layout object .