public class GranuleAggregation extends Object implements MultiDimensionReader
Modifier and Type | Field and Description |
---|---|
private String |
crossTrackDimensionName |
private int |
granuleCount |
private int |
granuleLength |
private String |
inTrackDimensionName |
private static org.slf4j.Logger |
logger |
(package private) ArrayList<NetCDFFile> |
ncdfal |
(package private) ArrayList<ucar.nc2.NetcdfFile> |
nclist |
(package private) ArrayList<HashMap<String,Class>> |
varDataTypeList |
(package private) ArrayList<HashMap<String,int[]>> |
varDimLengthsList |
(package private) ArrayList<HashMap<String,String[]>> |
varDimNamesList |
(package private) ArrayList<HashMap<String,Integer>> |
varGranuleRatiosList |
(package private) ArrayList<HashMap<String,ucar.nc2.Variable>> |
varMapList |
(package private) HashMap<String,RangeProcessor> |
varToRangeProcessor |
Constructor and Description |
---|
GranuleAggregation(ArrayList<NetCDFFile> ncdfal,
int granuleLength,
String inTrackDimensionName,
String crossTrackDimensionName) |
Modifier and Type | Method and Description |
---|---|
void |
addRangeProcessor(String arrayName,
RangeProcessor rangeProcessor) |
(package private) void |
analyzeStructure(ucar.nc2.Structure var,
HashMap<String,ucar.nc2.Variable> varMap,
HashMap<String,String[]> varDimNames,
HashMap<String,int[]> varDimLengths,
HashMap<String,Class> varDataType) |
void |
close() |
Object |
getArray(String array_name,
int[] start,
int[] count,
int[] stride) |
HDFArray |
getArrayAttribute(String array_name,
String attr_name) |
Class |
getArrayType(String array_name) |
byte[] |
getByteArray(String array_name,
int[] start,
int[] count,
int[] stride) |
int[] |
getDimensionLengths(String array_name) |
String[] |
getDimensionNames(String array_name) |
double[] |
getDoubleArray(String array_name,
int[] start,
int[] count,
int[] stride) |
float[] |
getFloatArray(String array_name,
int[] start,
int[] count,
int[] stride) |
HDFArray |
getGlobalAttribute(String attr_name) |
int[] |
getIntArray(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
|
ArrayList<NetCDFFile> |
getReaders() |
short[] |
getShortArray(String array_name,
int[] start,
int[] count,
int[] stride) |
HashMap |
getVarMap() |
private void |
init(ArrayList<NetCDFFile> ncdfal) |
private Object |
processArray(String array_name,
Class arrayType,
int granIdx,
Object values,
RangeProcessor rngProcessor) |
private Object |
readArray(String array_name,
int[] start,
int[] count,
int[] stride) |
private static final org.slf4j.Logger logger
ArrayList<NetCDFFile> ncdfal
ArrayList<HashMap<String,ucar.nc2.Variable>> varMapList
ArrayList<HashMap<String,String[]>> varDimNamesList
ArrayList<HashMap<String,int[]>> varDimLengthsList
ArrayList<HashMap<String,Class>> varDataTypeList
ArrayList<HashMap<String,Integer>> varGranuleRatiosList
HashMap<String,RangeProcessor> varToRangeProcessor
private int granuleCount
private int granuleLength
private String inTrackDimensionName
private String crossTrackDimensionName
public GranuleAggregation(ArrayList<NetCDFFile> ncdfal, int granuleLength, String inTrackDimensionName, String crossTrackDimensionName) throws Exception
Exception
public Class getArrayType(String array_name)
getArrayType
in interface MultiDimensionReader
public String[] getDimensionNames(String array_name)
getDimensionNames
in interface MultiDimensionReader
public int[] getDimensionLengths(String array_name)
getDimensionLengths
in interface MultiDimensionReader
public float[] getFloatArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
getFloatArray
in interface MultiDimensionReader
Exception
public int[] getIntArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
getIntArray
in interface MultiDimensionReader
Exception
public double[] getDoubleArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
getDoubleArray
in interface MultiDimensionReader
Exception
public short[] getShortArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
getShortArray
in interface MultiDimensionReader
Exception
public byte[] getByteArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
getByteArray
in interface MultiDimensionReader
Exception
public Object getArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
getArray
in interface MultiDimensionReader
Exception
public HDFArray getGlobalAttribute(String attr_name) throws Exception
getGlobalAttribute
in interface MultiDimensionReader
Exception
public HDFArray getArrayAttribute(String array_name, String attr_name) throws Exception
getArrayAttribute
in interface MultiDimensionReader
Exception
public void close() throws Exception
close
in interface MultiDimensionReader
Exception
private void init(ArrayList<NetCDFFile> ncdfal) throws Exception
Exception
private int getInTrackIndex(ucar.nc2.Variable v)
dimNames
- names of dimensions - should match static strings in relevant classesvoid analyzeStructure(ucar.nc2.Structure var, HashMap<String,ucar.nc2.Variable> varMap, HashMap<String,String[]> varDimNames, HashMap<String,int[]> varDimLengths, HashMap<String,Class> varDataType) throws Exception
Exception
private Object readArray(String array_name, int[] start, int[] count, int[] stride) throws Exception
Exception
public ArrayList<NetCDFFile> getReaders()
private Object processArray(String array_name, Class arrayType, int granIdx, Object values, RangeProcessor rngProcessor)
public void addRangeProcessor(String arrayName, RangeProcessor rangeProcessor)