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.
 
 
 
 
 

106 lines
3.6 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. /* Calibration corficcients taken from the NOAA KLM satellite user guide
  11. * https://web.archive.org/web/20141220021557/https://www.ncdc.noaa.gov/oa/pod-guide/ncdc/docs/klm/tables.htm
  12. */
  13. } satcal[] = {
  14. { // NOAA 15
  15. { // PRT coefficient 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 coefficient 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 coefficient 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 coefficient 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 coefficient 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 coefficient 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 coefficient 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 coefficient 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 coefficient 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. const float c1 = 1.1910427e-5;
  105. const float c2 = 1.4387752;