Documentation of 'edu.wisc.ssec.mcidas.CalibratorMsg' Java class
CalibratorMsg
edu.wisc.ssec.mcidas

Class CalibratorMsg

  • All Implemented Interfaces:
    Calibrator


    public class CalibratorMsg
    extends java.lang.Object
    implements Calibrator
    Calibration routines for the Meteosat Second Generation (MSG) instrument.

    At the time this module was written the McIDAS documentation for the MSG Instrument did not reflect that calibration data is now stored by band in the calibration block.

    Current understanding is that an MSG ASCII calibration block should be prefixed by the string MSGT followed by the following 6 values for the Inverse Planck Funciton corresponding to each band:

    NameCalculationUnits
    C1W3C1 * W^3
    C1 = 2.0e5 * P * C^2radiance/(cm^-1)^3)
    W = 1.0e2 * (band wave numbers)(cm^-1)
    C2WC2 * W
    C2 = P * C / BK/(cm^-1)
    W = 1.0e2 * (band wave numbers)(cm^-1)
    ALPHAgain adjustment
    BETAbias adjustment
    GAINgain
    OFFSEToffset

    Where C = speed of light, P = planck constant, B = Boltzmann constant.

    Each string value is 17 characters with 10 decimal places (fortran E17.10), and should be parseable using Double.parseDouble. After converting cal block from ints to a string calibration values for the first band, including the header should look like:

    MSGT 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.2312809974E-01-0.1179533087E+01

    • Field Detail

      • isPreCalibrated

        public boolean isPreCalibrated
    • Constructor Detail

      • CalibratorMsg

        public CalibratorMsg(int[] cal)
                      throws CalibratorException
        Construct this object according to the calibration data provided. On initalization the calibration array is cloned and all bands available are read from the block.
        Parameters:
        cal - calibration block from an MSG AREA file.
        Throws:
        CalibratorException - on invalid calibration block.
    • Method Detail

      • setCalType

        public int setCalType(int calType)
        Set the input data calibration type.
        Specified by:
        setCalType in interface Calibrator
        Parameters:
        calType - calibration type from Calibrator
        Returns:
        0 if calibration type is valid, -1 otherwise.
      • calibrate

        public float[] calibrate(float[] input,
                                 int band,
                                 int calTypeOut)
        Calibrate an array of pixels from the current calibration type according to the parameters provided.
        Specified by:
        calibrate in interface Calibrator
        Parameters:
        input - pixel array to calibrate.
        band - channel for which to perform calibration.
        calTypeOut - Calibration type constant.
        Returns:
        calibrated pixel value or Float.NaN if the calibration type cannot be performed for the specified band.
      • calibrate

        public float calibrate(float inputPixel,
                               int band,
                               int calTypeOut)
        Calibrate a pixel from the current calibration type according to the parameters provided.
        Specified by:
        calibrate in interface Calibrator
        Parameters:
        inputPixel - pixel value to calibrate.
        band - channel for which to perform calibration.
        calTypeOut - Calibration type constant.
        Returns:
        calibrated pixel value or Float.NaN if the calibration type cannot be performed for the specified band.
      • calibratedList

        public int[] calibratedList(int band,
                                    boolean isPreCal)
        Specified by:
        calibratedList in interface Calibrator
      • calibrateFromRaw

        public float calibrateFromRaw(float inputPixel,
                                      int band,
                                      int calTypeOut)
        Calibrate a pixel from RAW data according to the parameters provided.
        Parameters:
        inputPixel - pixel value to calibrate.
        band - channel for which to perform calibration.
        calTypeOut - Calibration type constant.
        Returns:
        calibrated pixel value, Float.NaN if the calibration type cannot be performed for the specified band.
      • calibratedUnit

        public java.lang.String calibratedUnit(int calType)
        Specified by:
        calibratedUnit in interface Calibrator
      • convertBritToTemp

        public float convertBritToTemp(int inVal)
        convert a gray scale value to brightness temperature
        Specified by:
        convertBritToTemp in interface Calibrator
        Parameters:
        inVal - input data value
      • convertBritToTemp

        public float[] convertBritToTemp(float[] inputData)
        convert a gray scale value to brightness temperature
        Specified by:
        convertBritToTemp in interface Calibrator
        Parameters:
        inputData - input data array
      • getIsPreCalibrated

        public boolean getIsPreCalibrated()
        return isPrecalibrated value
        Specified by:
        getIsPreCalibrated in interface Calibrator
      • setIsPreCalibrated

        public void setIsPreCalibrated(boolean isPrecalibrated)
        set isPrecalibrated value
        Specified by:
        setIsPreCalibrated in interface Calibrator

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.