You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

111 lines
3.2 KiB

  1. const struct {
  2. float d[4][3];
  3. struct {
  4. float vc, A, B;
  5. } rad[3];
  6. struct {
  7. float Ns;
  8. float b[3];
  9. } cor[3];
  10. } satcal[] =
  11. {
  12. /* calibration coeff from NOAA KLM POES satellite user guide */
  13. /* http://www.ncdc.noaa.gov/oa/pod-guide/ncdc/docs/klm/tables.htm */
  14. {/* NOAA-15 */
  15. { /* PRT coeff d0,d1,d2 */
  16. {276.60157 , 0.051045 , 1.36328E-06},
  17. {276.62531 , 0.050909 , 1.47266E-06},
  18. {276.67413 , 0.050907 , 1.47656E-06},
  19. {276.59258 , 0.050966 , 1.47656E-06}
  20. },
  21. { /* channel radiance coeff vc,A,B*/
  22. {925.4075 , 0.337810 , 0.998719}, /* channel 4 */
  23. {839.8979 , 0.304558 , 0.999024}, /* channel 5 */
  24. {2695.9743 , 1.621256 , 0.998015} /* channel 3B */
  25. },
  26. { /* nonlinear radiance correction Ns,b0,b1,b2 */
  27. {-4.50 , {4.76 , -0.0932 , 0.0004524}}, /* channel 4 */
  28. {-3.61 , {3.83 , -0.0659 , 0.0002811}}, /* channel 5*/
  29. {0.0,{0.0,0.0,0.0}} /* channel 3B*/
  30. }
  31. },
  32. {/* NOAA-16 */
  33. { /* PRT coeff d0,d1,d2 */
  34. {276.355 , 5.562E-02 ,-1.590E-05},
  35. {276.142 , 5.605E-02 ,-1.707E-05},
  36. {275.996 , 5.486E-02 ,-1.223E-05},
  37. {276.132 , 5.494E-02 ,-1.344E-05}
  38. },
  39. { /* channel radiance coeff vc,A,B*/
  40. {917.2289 ,0.332380 ,0.998522}, /* channel 4 */
  41. {838.1255 ,0.674623 ,0.998363}, /* channel 5 */
  42. {2700.1148 ,1.592459,0.998147} /* channel 3B */
  43. },
  44. { /* nonlinear radiance correction Ns,b0,b1,b2 */
  45. {-2.467, {2.96,-0.05411,0.00024532}}, /* channel 4 */
  46. {-2.009,{2.25,-0.03665,0.00014854}}, /* channel 5*/
  47. {0.0,{0.0,0.0,0.0}} /* channel 3B*/
  48. }
  49. },
  50. {/* NOAA 17 */
  51. { /* PRT coeff d0,d1,d2 */
  52. {276.628 , 0.05098 , 1.371e-06},
  53. {276.538 , 0.05098 , 1.371e-06},
  54. {276.761 , 0.05097 , 1.369e-06},
  55. {276.660 , 0.05100 , 1.348e-06}
  56. },
  57. { /* channel radiance coeff vc,A,B*/
  58. {926.2947 , 0.271683 , 0.998794}, /* channel 4 */
  59. {839.8246 , 0.309180 , 0.999012}, /* channel 5 */
  60. {2669.3554 , 1.702380 , 0.997378} /* channel 3B */
  61. },
  62. { /* nonlinear radiance correction Ns,b0,b1,b2 */
  63. {-8.55 , {8.22 , -0.15795 , 0.00075579}}, /* channel 4 */
  64. {-3.97 , {4.31 , -0.07318 , 0.00030976}}, /* channel 5 */
  65. {0.0,{0.0,0.0,0.0}} /* channel 3B*/
  66. }
  67. },
  68. {/* NOAA 18 */
  69. { /* PRT coeff d0,d1,d2 */
  70. {276.601 , 0.05090 , 1.657e-06},
  71. {276.683 , 0.05101 , 1.482e-06},
  72. {276.565 , 0.05117 , 1.313e-06},
  73. {276.615 , 0.05103 , 1.484e-06}
  74. },
  75. { /* channel radiance coeff vc,A,B*/
  76. {928.1460 , 0.436645 , 0.998607}, /* channel 4 */
  77. {833.2532 , 0.253179 , 0.999057}, /* channel 5 */
  78. {2659.7952 , 1.698704 , 0.996960} /* channel 3B */
  79. },
  80. { /* nonlinear radiance correction Ns,b0,b1,b2 */
  81. {-5.53 , {5.82 , -0.11069 , 0.00052337}}, /* channel 4 */
  82. {-2.22 , {2.67 , -0.04360 , 0.00017715}}, /* channel 5 */
  83. {0.0,{0.0,0.0,0.0}} /* channel 3B*/
  84. }
  85. },
  86. {/* NOAA 19 */
  87. { /* PRT coeff d0,d1,d2 */
  88. {276.6067 , 0.051111 , 1.405783E-06},
  89. {276.6119 , 0.051090 , 1.496037E-06},
  90. {276.6311 , 0.051033 , 1.496990E-06},
  91. {276.6268 , 0.051058 , 1.493110E-06}
  92. },
  93. { /* channel radiance coeff vc,A,B*/
  94. {928.9 , 0.53959 , 0.998534}, /* channel 4 */
  95. {831.9 , 0.36064 , 0.998913}, /* channel 5 */
  96. {2670.0 , 1.67396 , 0.997364} /* channel 3B */
  97. },
  98. { /* nonlinear radiance correction Ns,b0,b1,b2 */
  99. {-5.49 , {5.70 -0.11187 , 0.00054668}}, /* channel 4 */
  100. {-3.39 , {3.58 -0.05991 , 0.00024985}}, /* channel 5 */
  101. {0.0,{0.0,0.0,0.0}} /* channel 3B*/
  102. }
  103. }
  104. };
  105. const float c1=1.1910427e-5;
  106. const float c2=1.4387752;