public class GranuleAggregation extends java.lang.Object implements MultiDimensionReader
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
crossTrackDimensionName |
(package private) java.util.Map<java.lang.Integer,java.util.List<ucar.ma2.Range>> |
granCutRanges |
(package private) java.util.Map<java.lang.Integer,java.lang.Integer> |
granCutScans |
private int |
granuleCount |
private java.lang.String |
inTrackDimensionName |
private java.lang.String |
inTrackGeoDimensionName |
private boolean |
isVIIRS |
private static org.slf4j.Logger |
logger |
(package private) java.util.Map<java.lang.String,float[]> |
lutMap |
(package private) java.util.List<NetCDFFile> |
ncdfal |
(package private) java.util.List<ucar.nc2.NetcdfFile> |
nclist |
private java.lang.String |
origName |
private java.util.Set<java.lang.String> |
products |
(package private) java.util.Map<java.lang.String,QualityFlag> |
qfMap |
(package private) java.util.Map<java.lang.String,int[]> |
varAggrDimLengths |
(package private) java.util.List<java.util.Map<java.lang.String,java.lang.Class>> |
varDataTypeList |
(package private) java.util.List<java.util.Map<java.lang.String,java.lang.String[]>> |
varDimNamesList |
(package private) java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.lang.Integer>> |
varGranInTrackLengths |
(package private) java.util.List<java.util.Map<java.lang.String,ucar.nc2.Variable>> |
varMapList |
(package private) java.util.Map<java.lang.String,RangeProcessor> |
varToRangeProcessor |
Constructor and Description |
---|
GranuleAggregation(java.util.List<NetCDFFile> ncdfal,
java.util.Set<java.lang.String> products,
java.lang.String inTrackDimensionName,
java.lang.String crossTrackDimensionName) |
GranuleAggregation(java.util.List<NetCDFFile> ncdfal,
java.util.Set<java.lang.String> products,
java.lang.String inTrackDimensionName,
java.lang.String crossTrackDimensionName,
boolean isEDR) |
GranuleAggregation(java.util.List<NetCDFFile> ncdfal,
java.util.Set<java.lang.String> products,
java.lang.String inTrackDimensionName,
java.lang.String inTrackGeoDimensionName,
java.lang.String crossTrackDimensionName) |
GranuleAggregation(java.util.List<NetCDFFile> ncdfal,
java.util.Set<java.lang.String> products,
java.lang.String inTrackDimensionName,
java.lang.String inTrackGeoDimensionName,
java.lang.String crossTrackDimensionName,
boolean isVIIRS) |
Modifier and Type | Method and Description |
---|---|
void |
addRangeProcessor(java.lang.String arrayName,
RangeProcessor rangeProcessor) |
void |
close() |
java.lang.Object |
getArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
HDFArray |
getArrayAttribute(java.lang.String array_name,
java.lang.String attr_name) |
java.lang.Class |
getArrayType(java.lang.String array_name) |
byte[] |
getByteArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
int[] |
getDimensionLengths(java.lang.String array_name) |
java.lang.String[] |
getDimensionNames(java.lang.String array_name) |
double[] |
getDoubleArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
float[] |
getFloatArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
HDFArray |
getGlobalAttribute(java.lang.String attr_name) |
int[] |
getIntArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
private int |
getInTrackIndex(ucar.nc2.Variable v)
Based on the names of the variable dimensions, determine the in-track index.
|
java.util.List<NetCDFFile> |
getReaders() |
short[] |
getShortArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
java.util.Map<java.lang.String,ucar.nc2.Variable> |
getVarMap() |
private void |
init(java.util.List<NetCDFFile> ncdfal) |
private java.lang.String |
mapNameIfLUTVar(java.lang.String array_name) |
private java.lang.String |
mapNameIfQualityFlag(java.lang.String array_name) |
private java.lang.Object |
processArray(java.lang.String mapName,
java.lang.String array_name,
java.lang.Class arrayType,
int granIdx,
java.lang.Object values,
RangeProcessor rngProcessor,
int[] start,
int[] count) |
private java.lang.Object |
readArray(java.lang.String array_name,
int[] start,
int[] count,
int[] stride) |
void |
setLUTMap(java.util.Map<java.lang.String,float[]> lutMap) |
void |
setQfMap(java.util.Map<java.lang.String,QualityFlag> qfMap) |
private static final org.slf4j.Logger logger
java.util.List<ucar.nc2.NetcdfFile> nclist
java.util.List<NetCDFFile> ncdfal
java.util.List<java.util.Map<java.lang.String,ucar.nc2.Variable>> varMapList
java.util.List<java.util.Map<java.lang.String,java.lang.String[]>> varDimNamesList
java.util.List<java.util.Map<java.lang.String,java.lang.Class>> varDataTypeList
java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,java.lang.Integer>> varGranInTrackLengths
java.util.Map<java.lang.String,int[]> varAggrDimLengths
java.util.Map<java.lang.Integer,java.util.List<ucar.ma2.Range>> granCutRanges
java.util.Map<java.lang.Integer,java.lang.Integer> granCutScans
java.util.Map<java.lang.String,QualityFlag> qfMap
java.util.Map<java.lang.String,float[]> lutMap
java.util.Map<java.lang.String,RangeProcessor> varToRangeProcessor
private int granuleCount
private java.lang.String inTrackDimensionName
private java.lang.String inTrackGeoDimensionName
private java.lang.String crossTrackDimensionName
private java.util.Set<java.lang.String> products
private java.lang.String origName
private boolean isVIIRS
public GranuleAggregation(java.util.List<NetCDFFile> ncdfal, java.util.Set<java.lang.String> products, java.lang.String inTrackDimensionName, java.lang.String inTrackGeoDimensionName, java.lang.String crossTrackDimensionName, boolean isVIIRS) throws java.lang.Exception
java.lang.Exception
public GranuleAggregation(java.util.List<NetCDFFile> ncdfal, java.util.Set<java.lang.String> products, java.lang.String inTrackDimensionName, java.lang.String inTrackGeoDimensionName, java.lang.String crossTrackDimensionName) throws java.lang.Exception
java.lang.Exception
public GranuleAggregation(java.util.List<NetCDFFile> ncdfal, java.util.Set<java.lang.String> products, java.lang.String inTrackDimensionName, java.lang.String crossTrackDimensionName) throws java.lang.Exception
java.lang.Exception
public GranuleAggregation(java.util.List<NetCDFFile> ncdfal, java.util.Set<java.lang.String> products, java.lang.String inTrackDimensionName, java.lang.String crossTrackDimensionName, boolean isEDR) throws java.lang.Exception
java.lang.Exception
public java.lang.Class getArrayType(java.lang.String array_name)
getArrayType
in interface MultiDimensionReader
public java.lang.String[] getDimensionNames(java.lang.String array_name)
getDimensionNames
in interface MultiDimensionReader
public int[] getDimensionLengths(java.lang.String array_name)
getDimensionLengths
in interface MultiDimensionReader
private java.lang.String mapNameIfQualityFlag(java.lang.String array_name)
private java.lang.String mapNameIfLUTVar(java.lang.String array_name)
public float[] getFloatArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
getFloatArray
in interface MultiDimensionReader
java.lang.Exception
public int[] getIntArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
getIntArray
in interface MultiDimensionReader
java.lang.Exception
public double[] getDoubleArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
getDoubleArray
in interface MultiDimensionReader
java.lang.Exception
public short[] getShortArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
getShortArray
in interface MultiDimensionReader
java.lang.Exception
public byte[] getByteArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
getByteArray
in interface MultiDimensionReader
java.lang.Exception
public java.lang.Object getArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
getArray
in interface MultiDimensionReader
java.lang.Exception
public HDFArray getGlobalAttribute(java.lang.String attr_name) throws java.lang.Exception
getGlobalAttribute
in interface MultiDimensionReader
java.lang.Exception
public HDFArray getArrayAttribute(java.lang.String array_name, java.lang.String attr_name) throws java.lang.Exception
getArrayAttribute
in interface MultiDimensionReader
java.lang.Exception
public void close() throws java.lang.Exception
close
in interface MultiDimensionReader
java.lang.Exception
private void init(java.util.List<NetCDFFile> ncdfal) throws java.lang.Exception
java.lang.Exception
private int getInTrackIndex(ucar.nc2.Variable v)
v
- Variable
that "contains" dimension names that
allow for inference of the in-track index. null
is allowed.private java.lang.Object readArray(java.lang.String array_name, int[] start, int[] count, int[] stride) throws java.lang.Exception
java.lang.Exception
public void setQfMap(java.util.Map<java.lang.String,QualityFlag> qfMap)
qfMap
- the qfMap to setpublic void setLUTMap(java.util.Map<java.lang.String,float[]> lutMap)
lutMap
- the lutMap to setpublic java.util.Map<java.lang.String,ucar.nc2.Variable> getVarMap()
public java.util.List<NetCDFFile> getReaders()
private java.lang.Object processArray(java.lang.String mapName, java.lang.String array_name, java.lang.Class arrayType, int granIdx, java.lang.Object values, RangeProcessor rngProcessor, int[] start, int[] count)
public void addRangeProcessor(java.lang.String arrayName, RangeProcessor rangeProcessor)