GOES-8 Sounder Calibration Coefficients

4 March 1996

This note describes the calibration equations and coefficients for the GOES-8 Imager, based on the GOES Project documentation of GVAR and on a memo by Mike Weinreb at NOAA-NESDIS.

There are ninteen GOES-8 Sounder channels, each with 4 detectors, for a total of 76 sets calibration coefficients. It is busy work to convert convert the raw data to radiances, and then albedo or brightness temperatures.

Sounder Infrared Calibration Formulas

To convert a GOES-8 infrared Imager "count" value (digital voltage) to radiance (ergs/etc.), apply the following formula:
        Radiance = [counts - ScalingBias]/ScalingGain

The biases are fractional floating-point numbers, while the raw counts are 16-bit integers (range 0-65k). So, count-minus-bias differences always have a fractional part, and you never get a pixel that is exactly zero radiance to worry about when computing the brightness temperature from the inverse of the Plank Function. You will get negative radiances, however, due to random noise and calibration errors.

To convert to brightness temperatures, use the inverse Plank function with the wavenumber for the channel (Nu). The inverse Plank function for brightness temperature is:

        Btemp = [c2*Nu]/ln{1+[(c1*Nu^3)/Radiance]}
 where
        c1 = 2hc^2 = 1.191066E-5        mW/(m^2 sterradian cm^-4)
        c2 = hc/k  = 1.438833           K/cm^-1
        Nu is in wavenumbers            cm^-1
        Rad is in radiance              W/(m^-2 sec sterradian cm^-1)
        Btemp is in Kelvin              K

NOAA suggests additional fudge factors, C and M, to create a "scene temperature", compensating for the small shift in effective wavenumber with scene brightness.

	Tscene = C + M*Btemp

So, each detector has 5 calibration coefficients: Gain, Bias, Nu, C and M. For example, here are the 5 values for Sounder Channel 10 Detector 2:

#define S10D2Nu  1339.150
#define S10D2BtC         -0.138050
#define S10D2BtM         1.000410
#define S10D2ScalingGain 1126.22412109375
#define S10D2ScalingBias         900.9794921875
A complete set of all 76 groups is listed at the end of this note.

Note that the effective wavenumber (Nu) and scene temperature factors are slightly different for each detector. Curiously, ITT did not supply detector-dependent coefficients for the shortwave channels on GOES-8, and the NOAA sounding group at SSEC does not seem to care. The detector/side information often gets lost before you get the raw data, and so these scene temperature corrections are difficult to apply.

Sounder Visible Calibration Formulas

To convert a GOES-8 visible Imager "count" value (16-bit digital voltage, range 0-65k) to radiance (Watts/etc.), apply the following formula to each detector:

        Radiance = m * counts + b

However, we do not yet understand NOAA's coefficients for channel 19.

The m and b values are fractional floating-point numbers, while the raw counts are 10-bit integers. As a side-effect of mixing integers with fractions, you never get a visible pixel that is exactly zero radiance.

To convert a GOES-8 visible Imager radiance (Watts/etc.) to albedo (a fractional value between zero and one), apply the following formula to every detector:

        Albedo = c * Radiance
For GOES-8, NOAA declares:
#define SVISRadianceToAlbedo 9.45236E6
However, we do not yet understand this large value.

Spectral Filter Functions

The relative spectral response of each channel-detector-side on the Imager is measured at the factor by ITT before launch. The results have been tabulated by Mike Wienreb at NOAA-NESDIS but have not been released yet (3/3/96).

Known Calibration Errors

Upper/lower detector quadruplets inevitably show small differences, and images will appear slightly striped, especially in the high-gain upper air channels.

Sunlight inevitably gets into the Imager's aperture near sub-satellite midnight, confounding the internal calibation system, especially in the shortwave channels from 3.7 to 5 microns. NOAA/NESDIS may time-interpolate the calibration coefficients between the hours before and after midnidnight, since this is better than using sun-contaminated coefficients.

Finally, there is a problem with the infrared emissivity of the scan mirror being angle-dependent. Consequently, outer space appears brighter on one side of the Earth than the other by a few dozen counts, especially in the longwave channels. In June 1995, this mirror emissivity effect will be minimized by new pre-processing software before the data is broadcast in GVAR.

Calibration Memos from NOAA

Date: Wed, 28 Feb 1996 11:28:37 +0500
From: mweinreb@nesdis.noaa.gov (Mike Weinreb)
Subject: GOES Calibration Changes

THIS IS IMPORTANT!!  

        In approximately two weeks, NOAA will migrate ("rehost") the
operational processing for calibrating the GOES-9 sounder to a new computer
at Wallops.  This constitutes a major change in the calibration software.
MUCH OF THE EXISTING SOUNDER CALIBRATION WILL BE INCORPORATED IN NEW CODE,
and some modifications in the processing--to alleviate the effects of
certain instrument problems--will be introduced.  Also, the way we process
visible data from the both the sounder and the imager will be changed.
THUS, THE IMAGER PROCESSING--FOR THE VISIBLE CHANNEL ONLY--WILL BE AFFECTED,
TOO.

        The tentative time and date of the GOES-9 rehost is 1550Z on March
11, 1996.  I will keep you informed of any changes in this date.

        PLEASE INSPECT YOUR GOES-9 DATA CAREFULLY AFTER 1550Z ON MARCH 11.
Notify me, the sooner the better, if you detect any new problems.  Until
March 14, we will be able to move the processing back to the old system
fairly easily if problems occur.  After that, we will begin making hardware
changes in the other computers, and it will be harder to go back.  We have
been testing, and we continue to test, the new code off line as much as is
practical, but we cannot test under all possible real-life situations.  So
there is a chance that some unforeseen problems could surface during the
initial operations.   

        Assuming the GOES-9 processing is successfully rehosted, we expect
to rehost the GOES-8 processing on or about March 25.  I will keep you informed.

        The following are the main calibration modifications in the rehosted
software:  


SOUNDER

1.      A correction for the east-west variation in the reflectance of the
scan mirror in the midwave and longwave channels.  This will change the
overall "brightness" of frames slightly and will essentially eliminate the
artificial east-west gradients in those channels.

2.      "Relativization" of the data in the visible channel (channel 19).
Relativization equalizes the offsets of the four detectors in this channel
by adjusting their outputs on space to a single time-invariant constant.
Currently, detector-to-detector differences on space are approximately ten
counts (out of 8192), and this causes east-west stripes in the images.
Furthermore, there are diurnal and seasonal cycles, fifteen counts or less
(out of 8192) in amplitude, in the outputs of each detector.  Relativization
will reduce the striping on dark scenes and eliminate the diurnal and
seasonal cycles.    

3.      A change in the procedure for monitoring of the results of the
electronic calibration of the infrared channels.  This change will have no
effect on the radiances.  Only those who look at the electronic calibration
data in the Sounder ECAL Block 11 in GVAR will notice anything.  I can
supply details on request.       

Scene Temperatures to Mode-A (8bit) Counts

NOAA-NESDIS uses the following two-ramp dog-leg scheme for converting scene temperatures into an unsigned 8-bit integer in the range 0 to 255:
First, clip all scene temperatures to be in the range 163K to 330K
Then
     Mode-A (counts) = 418K - Tscene     (for Tscene between 163K and 242K)
     Mode-A (counts) = 660K - 2*Tscene   (for Tscene between 242K and 330K)
This inverts the intensity: 330K corresponds to zero counts, while 163K corresponds to 255 counts. It also maps the warmest 88K into the first 176 counts (0.5K/count), and maps the coldest 80K into the last 80 counts (1.0K/count). Consequently, typical scene temperatures between 220K and 300K map into middle-grey levels between 200 and 60 counts, respectively.

MODE-A lookup table             
Tscene (K)      ModeA (count)
330             0
329.5           1
329             2
328.5           3
328             4
327.5           5
327             6
326.5           7
326             8
325.5           9
325             10
324.5           11
324             12
323.5           13
323             14
322.5           15
322             16
321.5           17
321             18
320.5           19
320             20
319.5           21
319             22
318.5           23
318             24
317.5           25
317             26
316.5           27
316             28
315.5           29
315             30
314.5           31
314             32
313.5           33
313             34
312.5           35
312             36
311.5           37
311             38
310.5           39
310             40
309.5           41
309             42
308.5           43
308             44
307.5           45
307             46
306.5           47
306             48
305.5           49
305             50
304.5           51
304             52
303.5           53
303             54
302.5           55
302             56
301.5           57
301             58
300.5           59
300             60
299.5           61
299             62
298.5           63
298             64
297.5           65
297             66
296.5           67
296             68
295.5           69
295             70
294.5           71
294             72
293.5           73
293             74
292.5           75
292             76
291.5           77
291             78
290.5           79
290             80
289.5           81
289             82
288.5           83
288             84
287.5           85
287             86
286.5           87
286             88
285.5           89
285             90
284.5           91
284             92
283.5           93
283             94
282.5           95
282             96
281.5           97
281             98
280.5           99
280             100
279.5           101
279             102
278.5           103
278             104
277.5           105
277             106
276.5           107
276             108
275.5           109
275             110
274.5           111
274             112
273.5           113
273             114
272.5           115
272             116
271.5           117
271             118
270.5           119
270             120
269.5           121
269             122
268.5           123
268             124
267.5           125
267             126
266.5           127
266             128
265.5           129
265             130
264.5           131
264             132
263.5           133
263             134
262.5           135
262             136
261.5           137
261             138
260.5           139
260             140
259.5           141
259             142
258.5           143
258             144
257.5           145
257             146
256.5           147
256             148
255.5           149
255             150
254.5           151
254             152
253.5           153
253             154
252.5           155
252             156
251.5           157
251             158
250.5           159
250             160
249.5           161
249             162
248.5           163
248             164
247.5           165
247             166
246.5           167
246             168
245.5           169
245             170
244.5           171
244             172
243.5           173
243             174
242.5           175
242             176
241             177
240             178
239             179
238             180
237             181
236             182
235             183
234             184
233             185
232             186
231             187
230             188
229             189
228             190
227             191
226             192
225             193
224             194
223             195
222             196
221             197
220             198
219             199
218             200
217             201
216             202
215             203
214             204
213             205
212             206
211             207
210             208
209             209
208             210
207             211
206             212
205             213
204             214
203             215
202             216
201             217
200             218
199             219
198             220
197             221
196             222
195             223
194             224
193             225
192             226
191             227
190             228
189             229
188             230
187             231
186             232
185             233
184             234
183             235
182             236
181             237
180             238
179             239
178             240
177             241
176             242
175             243
174             244
173             245
172             246
171             247
170             248
169             249
168             250
167             251
166             252
165             253
164             254
163             255

STRUCTURED DUMP OF THE SOUNDER CALIBRATION COEFFICIENTS

Sounder Constants are ordered by [Channel][Detector]. The coefficients are meaningless for the uncalibrated visible detectors in GVAR channel 0.

#define S1D0Nu 680.650
#define S1D0BtC 0.019904
#define S1D0BtM 0.999967
#define S1D0ScalingGain 528.977294921875
#define S1D0ScalingBias 1745.62

#define S1D1Nu 680.750
#define S1D1BtC 0.012638
#define S1D1BtM 0.999994
#define S1D1ScalingGain 528.977294921875
#define S1D1ScalingBias 1745.625

#define S1D2Nu  680.450
#define S1D2BtC 0.022469
#define S1D2BtM 0.999958
#define S1D2ScalingGain 528.977294921875
#define S1D2ScalingBias 1745.625

#define S1D3Nu 680.550
#define S1D3BtC  0.017141
#define S1D3BtM  0.999971
#define S1D3ScalingGain 528.97729492187
#define S1D3ScalingBias 1745.625

#define S2D0Nu   695.750
#define S2D0BtC  -0.038501
#define S2D0BtM  1.000128
#define S2D0ScalingGain 540.004882812
#define S2D0ScalingBias 1566.013916015625

#define S2D1Nu  696.05
#define S2D1BtC  -0.55461
#define S2D1BtM  1.000166
#define S2D1ScalingGain 540.0048828125
#define S2D1ScalingBias 1566.013916015625

#define S2D2Nu   695.850
#define S2D2BtC  -0.045730
#define S2D2BtM  1.000139
#define S2D2ScalingGain 540.004882812
#define S2D2ScalingBias 1566.01391601562

#define S2D3Nu   695.850
#define S2D3BtC  -0.046514
#define S2D3BtM  1.000142
#define S2D3ScalingGain 540.0048828125
#define S2D3ScalingBias 1566.013916015625

#define S3D0Nu   711.750
#define S3D0BtC 0.006436
#define S3D0BtM 1.000015
#define S3D0ScalingGain 485.624267578125
#define S3D0ScalingBias 1311.18603515625

#define S3D1Nu   711.950
#define S3D1BtC -0.006230
#define S3D1BtM  1.000045
#define S3D1ScalingGain 485.62426757812
#define S3D1ScalingBias 1311.18603515625

#define S3D2Nu   711.850
#define S3D2BtC  -0.010018
#define S3D2BtM  1.000055
#define S3D2ScalingGain 485.62426757812
#define S3D2ScalingBias 1311.18603515625

#define S3D3Nu   711.750
#define S3D3BtC  -0.010737
#define S3D3BtM  1.000077
#define S3D3ScalingGain 485.624267578125
#define S3D3ScalingBias 1311.18603515625

#define S4D0Nu   732.450
#define S4D0BtC  -0.008454
#define S4D0BtM  1.000059
#define S4D0ScalingGain 394.5751953125
#define S4D0ScalingBias 887.794189453125

#define S4D1Nu   732.450
#define S4D1BtC  0.011943
#define S4D1BtM  0.999979
#define S4D1ScalingGain 394.575195312
#define S4D1ScalingBias 887.79418945312

#define S4D2Nu   732.350
#define S4D2BtC  0.005760
#define S4D2BtM  1.000018
#define S4D2ScalingGain 394.5751953125
#define S4D2ScalingBias 887.794189453125

#define S4D3Nu   732.450
#define S4D3BtC  -0.005157
#define S4D3BtM  1.000053
#define S4D3ScalingGain 394.5751953125
#define S4D3ScalingBias 887.794189453125

#define S5D0Nu   747.450
#define S5D0BtC -0.008830
#define S5D0BtM  1.000044
#define S5D0ScalingGain 357.802001953125
#define S5D0ScalingBias 787.164306640625


#define S5D1Nu   747.550
#define S5D1BtC  -0.025683
#define S5D1BtM  1.000096
#define S5D1ScalingGain 357.802001953125
#define S5D1ScalingBias 787.164306640625

#define S5D2Nu   747.450
#define S5D2BtC  -0.009995
#define S5D2BtM  1.000051
#define S5D2ScalingGain 357.802001953125
#define S5D2ScalingBias 787.164306640625

#define S5D3Nu   747.750
#define S5D3BtC  -0.036353
#define S5D3BtM  1.000113
#define S5D3ScalingGain 357.802001953125
#define S5D3ScalingBias 787.164306640625

#define S6D0Nu   791.350
#define S6D0BtC  -0.131993
#define S6D0BtM  1.000354
#define S6D0ScalingGain 334.1748046875
#define S6D0ScalingBias 417.718505859375

#define S6D1Nu   790.350
#define S6D1BtC  -0.089511
#define S6D1BtM  1.000277
#define S6D1ScalingGain 334.1748046875
#define S6D1ScalingBias 417.718505859375

#define S6D2Nu   790.350
#define S6D2BtC  -0.085445
#define S6D2BtM  1.000270
#define S6D2ScalingGain 334.1748046875
#define S6D2ScalingBias 417.718505859375

#define S6D3Nu   790.550
#define S6D3BtC  -0.087292
#define S6D3BtM  1.000270
#define S6D3ScalingGain 334.1748046875
#define S6D3ScalingBias 417.718505859375

#define S7D0Nu   827.550
#define S7D0BtC  0.029007
#define S7D0BtM  1.000240
#define S7D0ScalingGain 311.522705078125
#define S7D0ScalingBias 249.21800231933594

#define S7D1Nu   829.250
#define S7D1BtC -0.120689
#define S7D1BtM  1.000499
#define S7D1ScalingGain 311.522705078125
#define S7D1ScalingBias 249.21800231933594

#define S7D2Nu   830.350
#define S7D2BtC  -0.189531
#define S7D2BtM  1.000616
#define S7D2ScalingGain 311.522705078125
#define S7D2ScalingBias 249.21800231933594

#define S7D3Nu   827.550
#define S7D3BtC  -0.004756
#define S7D3BtM  1.000293
#define S7D3ScalingGain 311.522705078125
#define S7D3ScalingBias 249.21800231933594

#define S8D0Nu   907.550
#define S8D0BtC  -0.199301
#define S8D0BtM  1.000511
#define S8D0ScalingGain 314.603271484375
#define S8D0ScalingBias 251.68260192871094

#define S8D1Nu   906.850
#define S8D1BtC  -0.182261
#define S8D1BtM  1.000510
#define S8D1ScalingGain 314.603271484375
#define S8D1ScalingBias  251.68260192871094

#define S8D2Nu   906.150
#define S8D2BtC -0.148690
#define S8D2BtM 1.000478
#define S8D2ScalingGain 314.603271484375
#define S8D2ScalingBias  251.68260192871094

#define S8D3Nu   906.750
#define S8D3BtC  -0.142073
#define S8D3BtM  1.000456
#define S8D3ScalingGain 314.603271484375
#define S8D3ScalingBias 251.68260192871094

#define S9D0Nu   1029.350
#define S9D0BtC  -0.028735
#define S9D0BtM  1.000121
#define S9D0ScalingGain 434.351806640625
#define S9D0ScalingBias  716.680419921875

#define S9D1Nu   1029.250
#define S9D1BtC -0.038677
#define S9D1BtM  1.000140
#define S9D1ScalingGain 434.351806640625
#define S9D1ScalingBias  716.680419921875

#define S9D2Nu   1029.650
#define S9D2BtC  -0.040076
#define S9D2BtM  1.000141
#define S9D2ScalingGain 434.351806640625
#define S9D2ScalingBias 716.680419921875

#define S9D3Nu   1029.650
#define S9D3BtC  -0.032243
#define S9D3BtM  1.000120
#define S9D3ScalingGain 434.351806640625
#define S9D3ScalingBias  716.680419921875

#define S10D0Nu  1339.450
#define S10D0BtC         -0.138544
#define S10D0BtM         1.000387
#define S10D0ScalingGain 1126.22412109375
#define S10D0ScalingBias         900.9794921875

#define S10D1Nu  1339.450
#define S10D1BtC         -0.140583
#define S10D1BtM         1.000394
#define S10D1ScalingGain 1126.22412109375
#define S10D1ScalingBias         900.9794921875

#define S10D2Nu  1339.150
#define S10D2BtC         -0.138050
#define S10D2BtM         1.000410
#define S10D2ScalingGain 1126.22412109375
#define S10D2ScalingBias         900.9794921875

#define S10D3Nu  1339.750
#define S10D3BtC         0.152064
#define S10D3BtM         1.000376
#define S10D3ScalingGain 1126.22412109375
#define S10D3ScalingBias         900.9794921875

#define S11D0Nu  1422.350
#define S11D0BtC         -0.252788
#define S11D0BtM         1.000700
#define S11D0ScalingGain 1899.56494140625
#define S11D0ScalingBias        1139.739013671875

#define S11D1Nu  1420.650
#define S11D1BtC         -0.2111198
#define S11D1BtM         1.000795
#define S11D1ScalingGain 1899.56494140625
#define S11D1ScalingBias 1139.739013671875

#define S11D2Nu  1421.850
#define S11D2BtC         -0.247773
#define S11D2BtM         1.000698
#define S11D2ScalingGain 1899.56494140625
#define S11D2ScalingBias 1139.739013671875

#define S11D3Nu  1421.050
#define S11D3BtC -0.232015
#define S11D3BtM         1.000759
#define S11D3ScalingGain 1899.56494140625
#define S11D3ScalingBias        1139.739013671875

#define S12D0Nu  1535.050
#define S12D0BtC         -0.166728
#define S12D0BtM         1.000268
#define S12D0ScalingGain 2874.342041015625
#define S12D0ScalingBias 2155.757080078125

#define S12D1Nu  1537.450
#define S12D1BtC         -0.234580
#define S12D1BtM         1.000101
#define S12D1ScalingGain 2874.342041015625
#define S12D1ScalingBias 2155.757080078125

#define S12D2Nu  1535.250
#define S12D2BtC        -0.139640
#define S12D2BtM         1.000294
#define S12D2ScalingGain 2874.342041015625
#define S12D2ScalingBias         2155.757080078125

#define S12D3Nu 1536.250
#define S12D3BtC         -0.162133
#define S12D3BtM         1.000206
#define S12D3ScalingGain 2874.342041015625
#define S12D3ScalingBias        2155.757080078125

#define S13D0Nu 2184.750
#define S13D0BtC         -0.019012
#define S13D0BtM         1.000084
#define S13D0ScalingGain 9642.74609375
#define S13D0ScalingBias 626.778564453125

#define S13D1Nu  2184.750
#define S13D1BtC         -0.19012
#define S13D1BtM         1.000084
#define S13D1ScalingGain 9642.74609375
#define S13D1ScalingBias         626.778564453125

#define S13D2Nu 2184.750
#define S13D2BtC         -0.019012
#define S13D2BtM         1.000084
#define S13D2ScalingGain 9642.74609375
#define S13D2ScalingBias        626.778564453125

#define S13D3Nu  2184.750
#define S13D3BtC         0.019012
#define S13D3BtM         1.000084
#define S13D3ScalingGain 9642.74609375
#define S13D3ScalingBias        626.778564453125

#define S14D0Nu  2207.550
#define S14D0BtC         0.014675
#define S14D0BtM         0.999987
#define S14D0ScalingGain 14105.37890625
#define S14D0ScalingBias        916.849609375

#define S14D1Nu  2207.550
#define S14D1BtC         -0.14675
#define S14D1BtM         0.999987
#define S14D1ScalingGain 14105.37890625
#define S14D1ScalingBias        916.849609375

#define S14D2Nu  2207.550
#define S14D2BtC         -0.14675
#define S14D2BtM         0.999987
#define S14D2ScalingGain 14105.37890625
#define S14D2ScalingBias         916.849609375

#define S14D3Nu  2207.550
#define S14D3BtC        -0.14675
#define S14D3BtM         0.999987
#define S14D3ScalingGain 14105.37890625
#define S14D3ScalingBias         916.849609375

#define S15D0Nu  2247.550
#define S15D0BtC         -0.033804
#define S15D0BtM         0.999936
#define S15D0ScalingGain 26221.33984375
#define S15D0ScalingBias         1704.386962890625

#define S15D1Nu  2247.550
#define S15D1BtC         -0.33804
#define S15D1BtM         0.999936
#define S15D1ScalingGain 26221.33984375
#define S15D1ScalingBias         1704.386962890625

#define S15D2Nu  2247.550
#define S15D2BtC         -0.033804
#define S15D2BtM         0.999936
#define S15D2ScalingGain 26221.33984375
#define S15D2ScalingBias         1704.386962890625

#define S15D3Nu  2247.550
#define S15D3BtC         -0.033804
#define S15D3BtM         0.999936
#define S15D3ScalingGain 26221.33984375
#define S15D3ScalingBias         1704.386962890625

#define S16D0Nu  2422.050
#define S16D0BtC         -0.054633
#define S16D0BtM         0.999976
#define S16D0ScalingGain 10720.6015625
#define S16D0ScalingBias 428.823974609375

#define S16D1Nu 2422.050
#define S16D1BtC         -0.054633
#define S16D1BtM         0.999976
#define S16D1ScalingGain 10720.6015625

#define S16D1ScalingBias         428.823974609375

#define S16D2Nu  2422.050
#define S16D2BtC         -0.054633
#define S16D2BtM         0.999976
#define S16D2ScalingGain 10720.6015625
#define S16D2ScalingBias 428.823974609375

#define S16D3Nu  2422.050
#define S16D3BtC         -0.054633
#define S16D3BtM         0.999976
#define S16D3ScalingGain 10720.6015625
#define S16D3ScalingBias         428.823974609375

#define S17D0Nu  2509.350
#define S17D0BtC         -0.059776
#define S17D0BtM         1.000129
#define S17D0ScalingGain 12136.109375
#define S17D0ScalingBias 497.58056640625

#define S17D1Nu  2509.350
#define S17D1BtC         -0.059776
#define S17D1BtM         1.000129l
#define S17D1ScalingGain 12136.109375
#define S17D1ScalingBias        497.58056640625

#define S17D2Nu  2509.350
#define S17D2BtC         -0.059776
#define S17D2BtM         1.000129
#define S17D2ScalingGain 12136.109375
#define S17D2ScalingBias         497.58056640625

#define S17D3Nu  2509.350
#define S17D3BtC         -0.059776
#define S17D3BtM         1.000129
#define S17D3ScalingGain 12136.109375
#define S17D3ScalingBias         497.58056640625

#define S18D0Nu  2664.650
#define S18D0BtC         -0.341234
#define S18D0BtM         1.000939
#define S18D0ScalingGain 19358.12890625
#define S18D0ScalingBias         348.4462890625

#define S18D1Nu  2644.650
#define S18D1BtC         -0.341234
#define S18D1BtM        1.000939
#define S18D1ScalingGain 19358.12890625
#define S18D1ScalingBias        348.4462890625

#define S18D2Nu  2664.650
#define S18D2BtC         -0.341234
#define S18D2BtM         1.000939
#define S18D2ScalingGain 19358.12890625
#define S18D2ScalingBias        348.4462890625

#define S18D3Nu  2664.650
#define S18D3BtC         -0.341234
#define S18D3BtM         1.000939
#define S18D3ScalingGain 19358.12890625
#define S18D3ScalingBias         348.4462890625

#define SVISRadianceToAlbedo 9.45236E6

#define S19D0Nu  0.697
#define S19D0BtC         -0.000257
#define S19D0BtM         0.999424
#define S19D0ScalingM 0.064825296401977539
#define S19D0ScalingC   -60.329986572265625

#define S19D1Nu 0.697
#define S19D1BtC        -0.000257
#define S19D1BtM         0.999424
#define S19D1ScalingM 0.06522214412689209
#define S19D1ScalingC    -60.159988403320313

#define S19D2Nu  0.697
#define S19D2BtC        -0.000257
#define S19D2BtM         0.999424
#define S19D2ScalingM 0.065602421760559082
#define S19D2ScalingC   -61.769989013671875

#define S19D3Nu  0.697
#define S19D3BtC        -0.000257
#define S19D3BtM         0.999424
#define S19D3ScalingM 0.066420197486877441
#define S19D3ScalingC   -61.499984741210938