package org.esa.beam.smos.ee2netcdf.variable;
import com.bc.ceres.binio.CompoundData;
import com.bc.ceres.binio.SequenceData;
import org.esa.beam.dataio.netcdf.nc.NVariable;
import ucar.ma2.Array;
import ucar.ma2.Index;
import java.io.IOException;
class FloatStructSequence2DWriter extends AbstractVariableWriter {
private final int memberIndex;
FloatStructSequence2DWriter(NVariable variable, int width, int height, int memberIndex, float fillValue) {
this.variable = variable;
this.memberIndex = memberIndex;
final float[][] floatArray = VariableHelper.getFloatArray(width, height, fillValue);
array = Array.factory(floatArray);
}
@Override
public void write(CompoundData gridPointData, SequenceData btDataList, int index) throws IOException {
final Index arrayIndex = array.getIndex();
final long size = btDataList.getElementCount();
for (int i = 0; i < size; i++) {
final float data = btDataList.getCompound(i).getFloat(memberIndex);
arrayIndex.set(index, i);
array.setFloat(arrayIndex, data);
}
}
}