Version 12 (modified by mggr, 16 years ago) (diff)



Consists of three files patterned as azYYMMDD[ABC].cal, where the last character before the .cal is A for scan speed 12.5, B = 25, C = 50.

The contents of the files are like:

AZ16 bandpairs 10 1 1000
87.72727273 24498 6.12019233 24468 2.31661442 24425 5.34458259 24501 2.05878963 24516 2.24453694 24704 1.29384497 24663 3.35342640 24280 0.64997509 24088 0.15410141 24283

Format is 10 pairs of numbers (one each for channels 1-10). The first number is the gain (multiplier), the second number is the dark current level. To compute a real world value, you should compute:

real world value = (sensor_DN - dark_current_level) * multiplier

ATM calibration procedure

(as described by Andrew Wilson and dodgily transcribed by Mike, then tested and annotated further)

  1. The ATM is placed in the light bench kept at Kidlington.
  2. The ATM is run for 500-1000 scans at the 12.5, 25 and 50 scan speeds with the light off (gets dark current values).
  3. The light is then switched on and left to warm up for 3-4hrs.
  4. Another set of captures is then made with the light on (gets sensor value at calibrated light level).
  5. These data are then processed into level 1 HDFs (without calibration being applied!) to get raw sensor values.
  6. For each channel (1-10)
    1. Using some smoothing, find the brightest columns in the image (this will be near the centre point and will be where the ATM scan head is closest to perpendicular to the light source. Use this column number on the dark images too, provided the ATM and bench aren't moved.
    2. Take the average of the column to get the typical value (mode best for dark current, mean best for lit value)
  7. For channel 11, do nothing?

For channels 9 and 10 (SW IR), there is a fudge factor - apparently the ATM instrument records lower values when in the air than on the ground. One should process a flight line and look at dark areas (no cloud, directly under instrument) such as water to get some idea of these, but the dark current is normally ~100-300 lower when flying. does this apply to the max value too?


Calibration files are produced by Specim when they do maintenance on the instrument. FSF is starting to do this now (first test attempt in Dec 2007).

A brief description of the procedure:

  1. checking wavelength alignment (can be done in imaging mode - 512x?) - this checks that the light is being measured at the correct wavelengths (value unimportant)
    1. pick a suitable calibrated light source (e.g. big lamp) and flood out the CCD evenly
    2. examine the output to see if there are spikes (value unimportant, only position in spectrum counts) in the appropriate emission bands
    3. repeat with a filter and look for troughs (value unimportant, only position in spectrum counts) in the appropriate absorption bands
    4. this method can also be used to verify an existing calibration to some extent
  2. full calibration
    1. switch the instrument to calibration mode (1024x1024 pixels)
    2. point the instrument into a calibrated integrating sphere, at a distance where there won't be too many reflections back into the sphere, but close enough to evenly illuminate the whole CCD
    3. take measurements at the various settings
    4. (post processing) calculate offset and gain constants


Files look like:

Lens configuration file - contains calibration date and a few other human-readable items
Header file for the data file..
Data file (containing several frames?) of the per-pixel calibrations


Lens configuration file - contains calibration date and a few other human-readable items
Header file for the data file..
Data file (containing several frames?) of the per-pixel calibrations
Bad pixel table (text format, unsure of contents)


Radiometric calibration done by <name of guy> at Environment Agency (or Met Office?) using an integrating sphere at FSF and post-processing at the EA?

Consists of five 700KB files named inXXaA.rad, where X = two digit calibration sequence (up to 36 for 2007) and A = aperature (1-5). The files are binary (guessing pixel array of min/max floats?).

Additionally, there is a file that describes the view angles for each pixel to compensate for (lens?) distortions in the view field. The current version of this file is named NERC253_527tan.txt and looks like:

0 26.311677 0.051465
1 26.221749 0.089928
2 26.131682 0.090067
3 26.041477 0.090205
4 25.951133 0.090344
5 25.860650 0.090483
6 25.770029 0.090621
7 25.679270 0.090759
8 25.588372 0.090898
9 25.497337 0.091036
504 -26.131682 0.090205
505 -26.221749 0.090067
506 -26.311677 0.089928
507 -26.401465 0.089789
508 -26.491115 0.089649
509 -26.580625 0.089510
510 -26.669996 0.089371
511 -26.759227 0.089231

I'm guessing CCD column number, X angle, Y angle.