dap4/d4cdm/src/main/java/dap4/cdm/nc2/DataToCDM.java
protected CDMArraySequence
    createSequence(DataCursor data)
            throws DapException
    {
        CDMArraySequence arrayseq = new CDMArraySequence(this.cdmroot, data);
        DapVariable var = (DapVariable) data.getTemplate();
        DapSequence template = (DapSequence) var.getBaseType();
        List<DapDimension> dimset = var.getDimensions();
        long dimsize = DapUtil.dimProduct(dimset);
        int nfields = template.getFields().size();
        Odometer odom = Odometer.factory(DapUtil.dimsetToSlices(dimset));
        while(odom.hasNext()) {
            odom.next();
            DataCursor seq = ((DataCursor[]) data.read(odom.indices()))[0];
            long nrecords = seq.getRecordCount();
            for(int r = 0; r < nrecords; r++) {
                DataCursor rec = seq.readRecord(r);
                for(int f = 0; f < nfields; f++) {
                    DataCursor dc = rec.readField(f);
                    Array afield = createVar(dc);
                    arrayseq.add(r, f, afield);
                }
            }
        }
        return arrayseq;
    }
protected CDMArraySequence
    createSequence(DataCursor data)
            throws DapException
    {
        CDMArraySequence arrayseq = new CDMArraySequence(this.cdmroot, data);
        DapVariable var = (DapVariable) data.getTemplate();
        DapSequence template = (DapSequence) var.getBaseType();
        List<DapDimension> dimset = var.getDimensions();
        long dimsize = DapUtil.dimProduct(dimset);
        int nfields = template.getFields().size();
        Odometer odom = Odometer.factory(DapUtil.dimsetToSlices(dimset));
        while(odom.hasNext()) {
            odom.next();
            DataCursor seq = ((DataCursor[]) data.read(odom.indices()))[0];
            long nrecords = seq.getRecordCount();
            for(int r = 0; r < nrecords; r++) {
                DataCursor rec = seq.readRecord(r);
                for(int f = 0; f < nfields; f++) {
                    DataCursor dc = rec.readField(f);
                    Array afield = createVar(dc);
                    arrayseq.add(r, f, afield);
                }
            }
        }
        return arrayseq;
    }
Create a sequence. WARNING: the underlying CDM code
(esp. NetcdfDataset) apparently does not support nested
sequence arrays.

@param data the data underlying this sequence instance
@return A CDMArraySequence for this instance
@throws DapException