NOAA Center for Satellite Applications and Research banner
 
National Oceanic & Atmospheric Administration website NOAA Center for Satellite Applications and Research website

STAR - Global Vegetation Health Products : AVHRR calibration

This page describes the AVHRR calibration parameters used by VHP project.

1: Pre-launch calibration file

File name:

AVHRR_calibration_prelaunch.txt

Description:

This is a static file, includes launch date and pre-luanch calibraion for each satellite: NOAA 7 to 19, M1 and M2.

2: Post-luanch calibraion file

File name:

AVHRR_calibration_postlaunch.txt

Description:

This file is updated monthly, includes post-luanch calibraion for each satellite: NOAA 16 to 19, M1 and M2. We use the the following varibales to calculate the post-launch calibration (S, i.e. ratio of R/R_prelauch).

  • "reflectance constant" and "degredation rate" are read from post-launch calibration file.
  • "days Since Launch" was calulated from current date and the date when satellite was launched
  • "reference reflectance" are pre-defined, static numbers for band 1 and 2.


   float Reference_Reflectance_Of_CH1 = 37.80; 
   float Reference_Reflectance_Of_CH2 = 42.60;  
   a1= (CH1.reflectance_constant + CH1.degradation_rate * daysSinceLaunch);
   a2= (CH2.reflectance_constant + CH2.degradation_rate * daysSinceLaunch);
   S1 = Reference_Reflectance_Of_CH1 /a1;
   S2 = Reference_Reflectance_Of_CH2 /a2;

exmaple:


   #post-launch calibration with the most recent update.
   #data source= https://www.star.nesdis.noaa.gov/smcd/spb/fwu/homepage/AVHRR/Op_Cal_AVHRR/Op_Cal_AVHRR.html
   #Sat CH Update       Data       Center  Constant Deg. Rate  sin     cos    Amp.   Angle  Mean  Ratio  Slope_lo Int_lo Slope_hi Int_hi
   NL CH1: 09/24/2013 09/07/2007 10/26/2013 38.7391 -0.1277% -0.4390 -0.4089 0.5999  42.96  32.63 1.1584  0.06066  -2.339  0.1771  -60.18
   NL CH2: 09/24/2013 09/07/2007 10/26/2013 40.5308 -0.1742% -0.1953 -1.3403 1.3544  81.71  32.20 1.3231  0.06786  -2.563  0.1999  -68.61
   NM CH1: 09/28/2010 09/24/2010 10/26/2010 39.5504 -0.0995% -0.2193  0.4581 0.5079 -64.42  36.52 1.0351  0.05737  -2.296  0.1684  -57.94
   NM CH2: 09/28/2010 09/24/2010 10/26/2010 37.0158 -0.1198% -1.0015  0.0726 1.0041  -4.15  33.37 1.2768  0.06944  -2.726  0.2067  -71.57
   NM CH3: 09/28/2010 09/24/2010 10/26/2010 59.2315 -0.2189%  0.0068  1.3414 1.3414  89.71  52.56 1.2728  0.03373  -1.422  0.2364 -103.22
   NN CH1: 09/24/2013 09/17/2013 10/26/2013 39.9964 -0.1373%  0.0430  0.6667 0.6681  86.31  35.77 1.0569  0.05707  -2.250  0.1702  -58.52
   NN CH2: 09/24/2013 09/17/2013 10/26/2013 38.7937 -0.1547% -0.9087  0.7444 1.1746 -39.32  34.03 1.2520  0.06623  -2.609  0.1987  -69.24
   NP CH1: 09/24/2013 09/23/2013 10/26/2013 41.0745 -0.0599%  0.6506 -0.1431 0.6661 -12.40  40.04 0.9440  0.05201  -2.022  0.1534  -52.74
   NP CH2: 09/24/2013 09/23/2013 10/26/2013 41.9109 -0.1331%  1.1734  0.6702 1.3513  29.73  39.62 1.0753  0.05902  -2.289  0.1758  -60.70
   NP CH3: 09/24/2013 09/23/2013 10/26/2013 36.7549 39.2989%-13.6567 23.176126.9005 -59.49 714.27 0.0937  0.00255  -0.102  0.0176   -7.63
   M2 CH1: 09/24/2013 09/17/2013 10/26/2013 39.0906 -0.0924% -0.1924 -0.4161 0.4584  65.18  36.72 1.0294  0.05529  -2.236  0.1634  -56.39
   M2 CH2: 09/24/2013 09/17/2013 10/26/2013 38.4566 -0.1394%  0.4001 -1.1163 1.1858 -70.28  34.88 1.2213  0.06658  -2.646  0.1977  -68.28
   M2 CH3: 09/24/2013 09/17/2013 10/26/2013 58.0146 -0.1815% -1.0043 -0.6548 1.1989  33.10  53.36 1.2538  0.03316  -1.363  0.2303 -100.31
   M1 CH1: 11/23/2012 11/23/2012 11/23/2012       0.0514560   -2.0255039   0.1523520    -52.5609589
   M1 CH2: 11/23/2012 11/23/2012 11/23/2012       0.0563066   -2.2743661   0.1658762    -57.4006653
The post-luanch calibraions for M1 is for in "intitial stage". Thus, no degradation rate is provided.

3. Active Calibration for VHP project

File name:

avhrr_cali_allyears_active.txt

example:


  [Active Calibration] 1981 week=35 sat=NC CH1:   0.11075,  -3.98689,   0.00000,   0.00000, 1024.00000 CH2:   0.11784,  -4.36022,   0.00000,   0.00000, 1024.00000  AdjustmentForNDVI=1.050000

format:


  [Active Calibration] year week=xx sat=xx CH1:  slope_lo,Int_lo, Slope_hi,Int_hi, breakpoint,    CH2, slope_lo,Int_lo, Slope_hi,Int_hi, breakpoint  AdjustmentForNDVI=xxxx

Description:

        
 (1) Active calibration is that we used in our project; with both pre-launch  and post_launch calibration applied.

 (2) slop and intercept is the active calibration which will be applied to channel's count value  (ch_count):
 
         postcalibrated_reflectance = slope * ch_count +intercept;     

     if(ch_count < breakpoint) use parameters for low gain, otherwise use parameters for high gain.  

 (3) AdjustmentForNDVI is the amount to adjust on NDVI:
 
        adjusted_NDVI= AdjustmentForNDVI  * NDVI

4. Table of Post-Lunch Calibration Slope

File name:

avhrr_cali_allyears_slope.txt

example:


 [Note on Calibration] 1981 week=35 (jday=241): NC, daysSinceLaunch=  67;  S1/S1_day1= 1.006688, S2/S2_day1= 1.007951;  S1= 0.110747 S2= 0.117844;  D1= 36.0, D2= 37.0

Description:


 NC:   satellite ID for NOAA-7
 jday: day of year
 daysSinceLaunch: number of days since this satellite was launched
 S1, S2:  post-launch calibration for band 1 and 2  for the give day
 D1, D2: dark count for band 1 and 2
 S1_day1.S1/day2, post-launch calibration for band 1 and 2  for the day when this satellite was launched.

 For NOAA 7 to 14:
    Reflectance = S1 * ( ch_count - D1)
    
    which is eqivalent to :
        m_caliCH1.low_gain_slope     = S1;
        m_caliCH1.low_gain_intercept = -S1 * D1;
   
    Reflectance = m_caliCH1.low_gain_slope * ch_count  + m_caliCH1.low_gain_intercept 

    Since it is single slope, high gain section will not be used.
           
 For NOAA 15 to 19:
    first, load slope and intercept (for low and high gain) and launch date from  prelauched calibration file.
           see AVHRR_calibration_prelaunch.txt for detail.
  
    then , apply the post-launch calibration coefficients, S1 and S2:
          m_caliCH1.low_gain_slope      *= S1;
          m_caliCH1.low_gain_intercept  *= S1;
          m_caliCH1.high_gain_slope     *= S1;
          m_caliCH1.high_gain_intercept *= S1;
 
     Reflectance = m_caliCH1.low_gain_slope * ch_count  + m_caliCH1.low_gain_intercept