public class TropomiIOSP extends ucar.nc2.iosp.AbstractIOServiceProvider
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
BAD_WIN_PATH
Sometimes
isValidFile(RandomAccessFile) will need to check
Windows paths that look something like /Z:/Users/bob/foo.txt . |
private static java.lang.String |
BASE_GROUP |
private static int[] |
dimLen |
private static java.lang.String |
filename |
private static java.util.HashMap<java.lang.String,java.lang.String> |
groupMap |
private ucar.nc2.NetcdfFile |
hdfFile |
private static java.lang.String |
LAT |
private static org.slf4j.Logger |
logger |
private static java.lang.String |
LON |
private static java.lang.String |
TROPOMI_FIELD_SEPARATOR |
private static java.lang.String |
TROPOMI_L2_REGEX |
static java.util.regex.Pattern |
TROPOMI_MATCHER
Compiled representation of
TROPOMI_L2_REGEX . |
Constructor and Description |
---|
TropomiIOSP() |
Modifier and Type | Method and Description |
---|---|
private static void |
addVar(ucar.nc2.NetcdfFile nc,
ucar.nc2.Group g,
ucar.nc2.Variable vIn) |
void |
close() |
private static int[] |
getDataShape(ucar.nc2.NetcdfFile hdf) |
private static java.util.Map<java.lang.String,java.util.List<ucar.nc2.Variable>> |
getDataVars(ucar.nc2.NetcdfFile hdf,
int[] dataShape) |
java.lang.String |
getFileTypeDescription() |
java.lang.String |
getFileTypeId() |
boolean |
isValidFile(ucar.unidata.io.RandomAccessFile raf) |
static void |
main(java.lang.String[] args) |
void |
open(ucar.unidata.io.RandomAccessFile raf,
ucar.nc2.NetcdfFile ncfile,
ucar.nc2.util.CancelTask cancelTask) |
private static void |
populateDataTree(ucar.nc2.NetcdfFile ncOut,
java.util.Map<java.lang.String,java.util.List<ucar.nc2.Variable>> groupsToVars) |
ucar.ma2.Array |
readData(ucar.nc2.Variable variable,
ucar.ma2.Section section)
Fulfill data requests
|
private static boolean |
validProduct(ucar.nc2.Variable variable) |
private static final java.lang.String LAT
private static final java.lang.String LON
private static final org.slf4j.Logger logger
private static final java.lang.String BASE_GROUP
private static final java.lang.String TROPOMI_FIELD_SEPARATOR
private static final java.lang.String TROPOMI_L2_REGEX
public static final java.util.regex.Pattern TROPOMI_MATCHER
TROPOMI_L2_REGEX
.private static final java.util.regex.Pattern BAD_WIN_PATH
isValidFile(RandomAccessFile)
will need to check
Windows paths that look something like /Z:/Users/bob/foo.txt
.
This regular expression is used by isValidFile(...)
to
identity these sorts of paths and fix them. Otherwise we'll generate
an InvalidPathException
.
private static java.util.HashMap<java.lang.String,java.lang.String> groupMap
private static int[] dimLen
private ucar.nc2.NetcdfFile hdfFile
private static java.lang.String filename
public TropomiIOSP()
public boolean isValidFile(ucar.unidata.io.RandomAccessFile raf)
public void open(ucar.unidata.io.RandomAccessFile raf, ucar.nc2.NetcdfFile ncfile, ucar.nc2.util.CancelTask cancelTask) throws java.io.IOException
open
in interface ucar.nc2.iosp.IOServiceProvider
open
in class ucar.nc2.iosp.AbstractIOServiceProvider
java.io.IOException
private static java.util.Map<java.lang.String,java.util.List<ucar.nc2.Variable>> getDataVars(ucar.nc2.NetcdfFile hdf, int[] dataShape)
private static void populateDataTree(ucar.nc2.NetcdfFile ncOut, java.util.Map<java.lang.String,java.util.List<ucar.nc2.Variable>> groupsToVars)
public ucar.ma2.Array readData(ucar.nc2.Variable variable, ucar.ma2.Section section) throws java.io.IOException, ucar.ma2.InvalidRangeException
java.io.IOException
ucar.ma2.InvalidRangeException
private static boolean validProduct(ucar.nc2.Variable variable)
private static int[] getDataShape(ucar.nc2.NetcdfFile hdf)
private static void addVar(ucar.nc2.NetcdfFile nc, ucar.nc2.Group g, ucar.nc2.Variable vIn)
public java.lang.String getFileTypeId()
public java.lang.String getFileTypeDescription()
public void close() throws java.io.IOException
close
in interface ucar.nc2.iosp.IOServiceProvider
close
in class ucar.nc2.iosp.AbstractIOServiceProvider
java.io.IOException
public static void main(java.lang.String[] args) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationException
java.io.IOException
java.lang.IllegalAccessException
java.lang.InstantiationException