cdm/src/main/java/ucar/nc2/iosp/nids/Nidsheader.java
public ArrayList parseData(ByteBuffer datainput)
            throws IOException
    {
        ArrayList arraylist = new ArrayList();
        int numRadials;
        int numBins;
        int dataOffset;
        readInString(datainput); // desc
        datainput.getFloat(); // numBins
        float rangeToFirstBin = datainput.getFloat();
        datainput.getInt(); // numOfParms
        datainput.getInt();
        numRadials = datainput.getInt();
        dataOffset = datainput.position();

        //getting numbin  by checking the first radial, but the data offset should be before this read
        datainput.getFloat();
        datainput.getFloat();
        datainput.getFloat();
        numBins = datainput.getInt();

        arraylist.add(numBins);
        arraylist.add(numRadials);
        arraylist.add(rangeToFirstBin);
        arraylist.add(dataOffset);

        //data = null;
    /*    for(int k = 0; k < numRadials; k++)
        {
            angleData[k] = datainput.getFloat();
            datainput.getFloat();
            datainput.getFloat();
            numBins = datainput.getInt();
            readInString(datainput);
            if(data == null)
                data = new short[numRadials * numBins];
            numBins = datainputstream.readInt();
            for(int l = 0; l < numBins; l++)
                data[k * numBins + l] = (short)datainputstream.getInt();

        }  */
        return arraylist;
    }
public ArrayList parseData(ByteBuffer datainput)
            throws IOException
    {
        ArrayList arraylist = new ArrayList();
        int numRadials;
        int numBins;
        int dataOffset;
        readInString(datainput); // desc
        datainput.getFloat(); // numBins
        float rangeToFirstBin = datainput.getFloat();
        datainput.getInt(); // numOfParms
        datainput.getInt();
        numRadials = datainput.getInt();
        dataOffset = datainput.position();

        //getting numbin  by checking the first radial, but the data offset should be before this read
        datainput.getFloat();
        datainput.getFloat();
        datainput.getFloat();
        numBins = datainput.getInt();

        arraylist.add(numBins);
        arraylist.add(numRadials);
        arraylist.add(rangeToFirstBin);
        arraylist.add(dataOffset);

        //data = null;
    /*    for(int k = 0; k < numRadials; k++)
        {
            angleData[k] = datainput.getFloat();
            datainput.getFloat();
            datainput.getFloat();
            numBins = datainput.getInt();
            readInString(datainput);
            if(data == null)
                data = new short[numRadials * numBins];
            numBins = datainputstream.readInt();
            for(int l = 0; l < numBins; l++)
                data[k * numBins + l] = (short)datainputstream.getInt();

        }  */
        return arraylist;
    }
public ArrayList parseData ( ByteBuffer datainput ) throws IOException { ArrayList arraylist = new ArrayList ( ) ; int numRadials ; int numBins ; int dataOffset ; readInString ( datainput ) ; // desc
 datainput . getFloat ( ) ; // numBins
 float rangeToFirstBin = datainput . getFloat ( ) ; datainput . getInt ( ) ; // numOfParms
 datainput . getInt ( ) ; numRadials = datainput . getInt ( ) ; dataOffset = datainput . position ( ) ; //getting numbin  by checking the first radial, but the data offset should be before this read
 datainput . getFloat ( ) ; datainput . getFloat ( ) ; datainput . getFloat ( ) ; numBins = datainput . getInt ( ) ; arraylist . add ( numBins ) ; arraylist . add ( numRadials ) ; arraylist . add ( rangeToFirstBin ) ; arraylist . add ( dataOffset ) ; //data = null;
 /*    for(int k = 0; k < numRadials; k++)
        {
            angleData[k] = datainput.getFloat();
            datainput.getFloat();
            datainput.getFloat();
            numBins = datainput.getInt();
            readInString(datainput);
            if(data == null)
                data = new short[numRadials * numBins];
            numBins = datainputstream.readInt();
            for(int l = 0; l < numBins; l++)
                data[k * numBins + l] = (short)datainputstream.getInt();

        }  */ return arraylist ; }
for level3 176 product

@param datainput
@return  arraylist
for level3 176 product