Terrenus HRPT v2.2

terrenus.instrument
Class AVHRRCalibrator

java.lang.Object
  extended by terrenus.instrument.AbstractRadiometerCalibrator
      extended by terrenus.instrument.AVHRRCalibrator
All Implemented Interfaces:
RadiometerCalibrator

public class AVHRRCalibrator
extends AbstractRadiometerCalibrator

The AVHRRCalibrator class uses an HRPTDecoder to compute AVHRR calibration coefficients for a NOAA HRPT data file. A new set of calibration coefficients may be generated for a user-specified number of consecutive AVHRR scan lines. Calibration data is generated using the methods described in the NOAA KLM User's Guide, http://www2.ncdc.noaa.gov/docs/klm/index.htm.

The Record class holds calibration data for one set of consecutive AVHRR scan lines. For visible channels 1, 2, and 3a, five coefficients are supplied as follows: [slope1, intercept1, slope2, intercept2, cutoff]. Visible albedo in percent may be computed from count value using the equation: albedo = count*slope + intercept where slope1/intercept1 are used for count values below the cutoff and slope2/intercept2 are used for count values above the cutoff. For thermal channels 3, 4, and 5, three coefficients are supplied as follows: [a0, a1, a2]. Thermal radiance in mW/(m2.sr.cm-1) may be computed from count value using the equation: radiance = a0 + a1*count + a2*count^2.


Nested Class Summary
 
Nested classes/interfaces inherited from interface terrenus.instrument.RadiometerCalibrator
RadiometerCalibrator.CalibrationType, RadiometerCalibrator.Record
 
Constructor Summary
AVHRRCalibrator(HRPTDecoder decoder)
          Creates a new calibrator.
 
Method Summary
 void calibrate(int[] countData, double[] calData, int channel, RadiometerCalibrator.CalibrationType calType, RadiometerCalibrator.Record record)
          Calibrates radiometer data from raw count data to scientific units.
 RadiometerCalibrator.Record getCalibration(int startLine, int endLine)
          Gets the calibration record for the specified scan line range.
static void main(java.lang.String[] argv)
          Tests this class.
 
Methods inherited from class terrenus.instrument.AbstractRadiometerCalibrator
getCalibration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AVHRRCalibrator

public AVHRRCalibrator(HRPTDecoder decoder)
Creates a new calibrator.

Parameters:
decoder - the decoder to use for data calibration.
Method Detail

calibrate

public void calibrate(int[] countData,
                      double[] calData,
                      int channel,
                      RadiometerCalibrator.CalibrationType calType,
                      RadiometerCalibrator.Record record)
Description copied from interface: RadiometerCalibrator
Calibrates radiometer data from raw count data to scientific units.

Parameters:
countData - the raw radiometer count data.
calData - the output calibrated data.
channel - the channel to calibrate in the range [1..CHANNELS].
calType - the calibration type to apply.
record - the calibration record to use.

getCalibration

public RadiometerCalibrator.Record getCalibration(int startLine,
                                                  int endLine)
                                           throws java.io.IOException
Description copied from interface: RadiometerCalibrator
Gets the calibration record for the specified scan line range. Only scan lines in the specified range are used to compute the calibration record.

Parameters:
startLine - the starting scan line for calibration.
endLine - the ending scan line for calibration.
Returns:
the calibration record or null if one could not be computed.
Throws:
java.io.IOException - if a problem occurred accessing the data.

main

public static void main(java.lang.String[] argv)
                 throws java.lang.Exception
Tests this class.

Throws:
java.lang.Exception

Terrenus HRPT v2.2