Package noaa.coastwatch.io
Class NOAA1bV2Reader
java.lang.Object
noaa.coastwatch.io.EarthDataReader
noaa.coastwatch.io.NOAA1bReader
noaa.coastwatch.io.NOAA1bV2Reader
- Direct Known Subclasses:
NOAA1bV3Reader
A NOAA 1b version 2 reader is a NOAA 1b reader that reads NOAA
1b format KLM GAC/LAC/HRPT data files available from the
NOAA/NESDIS Satellite Active Archive. These files are
characterized by an optional 512 byte Archive Retrieval System
(ARS) header followed by data header and records of
12288/15872/22528 bytes for 8/10/16-bit LAC or 3584/4608/5632
bytes for 8/10/16-bit GAC. The NOAA 1b version 2 format
provides more information than version 1 including more view
angles, orbital model information, an extra channel 3, a more
complete set of calibration parameters, and so on.
- Since:
- 3.1.3
- Author:
- Peter Hollemans
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
The archive header version 2 class is an archive header that can read NOAA-KLM style Archive Retrieval System (ARS) headers.class
The data header version 2 class is a data header that can retrieve NOAA-KLM data header information.class
The scan line version 2 class is a scan line that can read, calibrate, and navigate NOAA-KLM data.Nested classes/interfaces inherited from class noaa.coastwatch.io.NOAA1bReader
NOAA1bReader.ArchiveHeader, NOAA1bReader.DataHeader, NOAA1bReader.LongitudeInterpolator, NOAA1bReader.ScanLine, NOAA1bReader.ScanLineCalibration
-
Field Summary
Modifier and TypeFieldDescriptionprotected int
The cloud data offset.static final String
The data format string supported by this class.Fields inherited from class noaa.coastwatch.io.NOAA1bReader
archive, archiveHeaderSize, attributeDataSize, dataHeaders, GAC_NAVIGATION_END, GAC_NAVIGATION_START, GAC_NAVIGATION_STEP, GAC_SAMPLES, header, inputChannel, LAC_NAVIGATION_END, LAC_NAVIGATION_START, LAC_NAVIGATION_STEP, LAC_SAMPLES, lines, LOOKUP_TABLE_SIZE, MAX_LOOKUP_TABLES, MAX_SCAN_LINES, navigationEnd, navigationStart, navigationStep, records, recordSize, samples, scanLineCache, scanLineMap, sensorWordSize, SWATH_POLY_SIZE
Fields inherited from class noaa.coastwatch.io.EarthDataReader
dataProjection, info, rawMetadataMap, variables
-
Constructor Summary
ConstructorDescriptionNOAA1bV2Reader
(String file) Constructs a NOAA 1b version 2 reader from the specified file. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Checks the dataset format and throws an error if it is incompatible with this reader.protected boolean
Checks for an archive header and returns true if so.Gets the archive header if it exists.Gets the data format description.protected int
Gets the data format version.Gets the data header.getScanLine
(int line, int start, int count) Gets the scan line at the specified index.protected String[]
Gets the variable names in this dataset.protected boolean
isNavigationUsable
(int record, ByteBuffer buffer) Gets the navigation data usability flag.protected boolean
isValidFormatDescription
(String format) Checks the data format description.Methods inherited from class noaa.coastwatch.io.NOAA1bReader
close, getBytes, getDataBuffer, getInt, getLines, getNBit, getPreviewImpl, getRecordStart, getSamples, getShort, getUByte, getUInt, getUShort, getVariable, interpolateNavigation, interpolateRawNavigation, isArchive, isByteSwapped, isPrint
Methods inherited from class noaa.coastwatch.io.EarthDataReader
canUpdateNavigation, containsVariable, finalize, findVariable, getAllGrids, getAllVariables, getChunkProducer, getCoordinateSystems, getIndex, getInfo, getName, getPreview, getPreview, getRawMetadata, getRawMetadata, getSceneTime, getSource, getStatistics, getStatisticsVariables, getVariable, getVariables, getVariablesForSystem, putStatistics, setDataProjection, setUnitsMap, updateNavigation
-
Field Details
-
DATA_FORMAT
The data format string supported by this class.- See Also:
-
cloudDataOffset
protected int cloudDataOffsetThe cloud data offset.
-
-
Constructor Details
-
NOAA1bV2Reader
Constructs a NOAA 1b version 2 reader from the specified file.- Parameters:
file
- the file name to read.- Throws:
IOException
- if an error occurred reading the file data.
-
-
Method Details
-
getDataFormat
Gets the data format description.- Specified by:
getDataFormat
in classEarthDataReader
-
getVariableNames
Description copied from class:NOAA1bReader
Gets the variable names in this dataset.- Specified by:
getVariableNames
in classNOAA1bReader
-
getArchiveFlag
Checks for an archive header and returns true if so. This method reads the ARS header which contains only printable ASCII characters.- Specified by:
getArchiveFlag
in classNOAA1bReader
- Throws:
IOException
-
getDataFormatVersion
protected int getDataFormatVersion()Gets the data format version. -
isValidFormatDescription
Checks the data format description. -
checkFormat
Description copied from class:NOAA1bReader
Checks the dataset format and throws an error if it is incompatible with this reader.- Specified by:
checkFormat
in classNOAA1bReader
- Throws:
IOException
-
getArchiveHeader
Description copied from class:NOAA1bReader
Gets the archive header if it exists.- Specified by:
getArchiveHeader
in classNOAA1bReader
- Returns:
- the archive header.
- Throws:
IOException
- if an error occurred reading the file data.
-
getDataHeader
Description copied from class:NOAA1bReader
Gets the data header.- Specified by:
getDataHeader
in classNOAA1bReader
- Returns:
- the data header.
- Throws:
IOException
- if an error occurred reading the file data.
-
getScanLine
Description copied from class:NOAA1bReader
Gets the scan line at the specified index.- Specified by:
getScanLine
in classNOAA1bReader
- Parameters:
line
- the scan line index in the range [0..lines-1].start
- the starting sensor data sample.count
- the total number of sensor data samples. If the count is 0, no sensor data is read.- Returns:
- the requested scan line.
- Throws:
IOException
- if an error occurred reading the file data or the scan line is marked as missing.- See Also:
-