ADAPS Configuration Notes

The configuration notes should be read by the system manager and the programmer. The configuration notes contains descriptions of the ADAPS tables, environment variables, and directory structures needed by ADAPS.

ADAPS Tables

The $ADAPSTABLES directory contains tables necessary to process AVHRR data. The following is a description and format of each of these tables:

Ephemeris Tables

The Navy Space surveillance and North American Air Defense Command centers monitor the NOAA satellites and record their position and attribute information daily. NAVSPASUR ephemeris data can be obtained from the Navy by contacting:

Commanding Officer
Naval Space Surveillance Center
Dahlgren, Virginia 22448-5180
Attn: 33 Customer Support

TBUS ephemeris data can be obtained from the NOAA bulletin board by contacting:

Omnet, Inc.
154 Wells Ave,
Newton Centre Massachusetts 02159, USA
617-244-4333

NAVSPASUR and TBUS contain slightly different information, but either can be used as input into the ADAPS system. The daily ephemeris elements are saved in a file (name based on the satellite id) in the $ADAPSTABLES directory. The following is an example of the NOAA-11 ephemeris file "19531.dat" from the $ADAPSTABLES directory:

  1771   1 NOAA-11                                                   
195310000884228154827660880000300119727719927045688080827473049880925
195310002294380072827661190000300119377716875985688197127473339880926
195310003605066532827661330000300119157708491465688353727473511880927
195310005015549653827661430000300119060702138665688499627473532880928

The header record contains the number of records in the file, number of header records, and the ASCII satellite identifier. The remaining records are the daily ephemeris elements. The following is an example of an ephemeris record with the elements separated by spaces:

19531 00050 15549653 82766143 00003 00119060 70213866 56884996 27473532 880928

A record of ephemeris elements contain the satellite id, orbit number, mean anomaly, mean motion, orbital decay, eccentricity, argument of perigee, longitude of ascending node, inclination angle, and date of epoch. Ephemeris elements with a date of epoch greater than five days from the image acquisition date cause the degradation of the model accuracy.

Staion IDs Table

All AVHRR images received are ingested and reformatted into a standard EDC AVHRR archive format. Deciphering the various formats is accomplished by setting up an entry in the "station.ids" table in the $ADAPSTABLES directory for each format that is to be ingested. The header describes the fields in the table. The following is an example of the "station.ids" table:

051     Number of lines of comments in this table
                 
FT      Format type, a 3 character alpha-numeric code that is used to           
        identify multiple formats for a station

ID      3 character alpha-numeric station code
                                  
HT      Information header type, identifies the type of header that precedes
        any data header or data record.                                  
	(0 for none, see acqio/acqhead for others)                     

T       Type of data
        (1 - HRPT/LAC 2 - GAC)
                                               
SH      Number of header records to skip to get to the image data
               
RL      Records per line
        (positive - x lines in 1 record;  negative - 1 line in x records)    
              
Byt/L   Total bytes per line
        (includes HRPT minor frame, TIP, and image data)
                     
Mptr    Pointer to start of the HRPT minor frame (bytes)
                        
Msiz    Size of the HRPT minor frame (bytes)
        (103 - 8 bit, 206 - unpacked, 140 - packed)
                          
Tptr    Pointer to the TIP data (bytes)
                                         
Tsiz    Size of the TIP data (bytes)
        (520 - 8 bit, 1040 - unpacked, 449 - packed)
                         
Iptr    Pointer to the image data (bytes)
                                       
Isiz    Size of the image data (bytes)
        LAC: (10240 - 8 bit, 20480 - unpacked, 13656 - packed)
        GAC: ( 2045 - 8 bit,  4090 - unpacked,  2728 - packed)
               
F       File format
        (1 - BIL, 2 - BSQ, 3 - BIP)
                                          
FF      Flip flag
        (1 - FLIP, 0 - NOFLIP)
                                               
S       Swap flag
        (1 - SWAP, 0 - NOSWAP)
                                               
Station 24 character station name (No spaces allowed between words)             

FT  ID  HT T SH RL Byt/L Mptr Msiz Tptr Tsiz Iptr Isize F S FF Station name 
--- --- -- - -- -- ----- ---- ---- ---- ---- ---- ----- - - -- ------------------------
BAA BAA  3 3  0  1 14848    0  103  206  520  750 20480 3 1  0 Buenos_Aires_Argentina
BJG BJG  8 3  0 -2  7400  308  140   -1    0  448 13656 3 0  0 Beijing_China 
CAI CAI  0 3  0  1 21980    0  206  206 1040 1500 20480 3 0  0 Cairo_Egypt (use CRO)
CPA CPA  0 3  0  1 22016    0  206  206 1040 1536 20480 1 1  0 Cachoeira_Paulista_Brzl
CSY CSY  0 3  0  1 14788    0  103  206  520  750 20480 3 0  0 Casey_Antarctica
DAR DAR  0 3  0  1 14788    0  103  206  520  750 20480 3 0  0 Darwin_Australia
DSA DSA  0 3  0  1 22528    0  206  206 1040 1500 20480 3 1  0 Dhahran_Saudi_Arabia
EAF SFL  2 3  0  1 20992    0  206   -1    0  512 20480 1 1  0 EROS_Archive_Format
GAC GAC  0 2  0  1  5790    0  103  206  520  750   409 3 0  0 Global_Area_Coverage

The table contains a Committee on Earth Observing Satellites identifier (CEOS ID) to identify the format, the type of satellite data (HRPT, LAC, or GAC), the number of header records in the image file to be skipped, the number of records that make up one line of satellite data, the number of bytes per line, location and size of the 103 words of the HRPT minor frame, location and size of the TIP data, location and size of the image data, the band format (band interleaved by line - BIL, band interleaved by pixel - BIP, or band sequential - BSQ), a flag indicating whether ascending images have already been flipped (north up), and a flag indicating whether the pixel data needs to be byte swapped. The size of the HRPT minor frame, TIP and image data all indicate the data type and if the data is packed or not. INGEST uses the "station.ids" table to determine how to read and extract information to create the standard EDC AVHRR archive format.

Calibration Tables

Refer to the NOAA Technical Memorandum NESS 107 for detailed information on the calibration of AVHRR data. The Ness 107 memorandum is obsolete, see the NOAA Polor Orbiter Guide or the NOAA KLM User's Guide for current calibration information.

AVHRR bands one and two are calibrated on pre-launch information or from results of ground-based experiments. Calibration of bands three, four, and five require information located in the first 103-word HRPT minor frame and tables provided by the National Environmental Satellite and Information Service (NESDIS). K-values and degradation tables for the visible channels are contained in prelaunch.cal, kaufman.cal, rao.cal, teillet.cal and vermote.cal located in the $ADAPSTABLES directory. Additional visible channel calibration information and the thermal information are contained in the noaaxx.cal tables, where xx is the satellite number (6-17). The calibration file for NOAA-12 is noaa12.cal. These tables are located in the $ADAPSTABLES directory.

Channel 1 and 2 Calibration

For visible channel calibration, reflectance = a + b * detector count

a =  -K * C0 * alpha * 2^22  		b = K * alpha * 2^30

where:
  K is a constant for satellite/channel
  alpha = 1/g
  C0 (radiance offset) and g (detector gain) are calculated from the
  selected degradation table:
Prelaunch Calibration Degradation Table

The prelaunch.cal table contains slope and intercept values for channels 1 and 2 of satellites 7 - 12. These values are used to calculate detector gain. The radiance offset C0 is a constant value for channels 1 and 2 of each satellite.

  alpha = slope * months since launch + intercept
  C0 = constant
Kaufman-Holben Calibration Degradation Table

The kaufman.cal table contains slope and intercept values for channels 1 and 2 of satellites 7 - 12. These values are used to calculate detector gain. The radiance offset C0 is a constant value for channels 1 and 2 of each satellite.

  alpha = slope * months since launch + intercept
  C0 = constant
Teillet Calibration Degradation Table

The teillet.cal table contains two sets of quadratic coefficients for channels 1 and 2 for satellites 6 - 12. These coefficients are used for calculation of detector gain g and radiance offset C0. There are different sets of coefficients for different time periods. To apply them: calculate number of days since launch, select the appropriate set of coefficients, and calculate as such:

g  = A * days^2 + B * days + C
C0 = D * days^2 + E * days + F

However, we use a piece-wise linear approach, ignoring the squared terms. To apply the coefficients: calculate number of days since launch, select the appropriate set of coefficients, and calculate as such:

g  = B * days + C
C0 = E * days + F

Vermote Calibration Degradation Table

The vermote.cal table contains ...

Channel 3, 4, and 5 Calibration

The information needed to calibrate the infared channels are provided by NESDIS in Appendix B. The Appendix B information is entered into calibration tables stored in the $ADAPSTABLES directory. The tables contain the following information:

a(i,j), i=1-4, j=0-4:  used to convert PRT mean counts to temperature

T(i) = a(i,0) + a(i,1)*x1 + a(i,2)*x1^2 + a(i,3)*x1^3 + a(i,4)*x1^4

b(i), i=1-4:           used to calculate average internal target
                       temperature from the four PRT temperatures
                       (b = .25 -- is an average)

nsp, channels 3,4,5:   radiance of space correction used in calculating
                       the calibration gain and intercept

visible channel
calibration gain
and intercept:         not used (degradation tables above are used instead)

normalized response
function data for
channels 3, 4, and 5:  used to calculate the radiance of the target N(t)
                       from the average target temperature, which is in
                       turn used to calculate the gain:

                       nu1:          the initial wave number

                       deltanu:      the number of wave numbers between
                                     points at which the normalized response
                                     function is evaluated

                       nnu:          the number of points at which the
                                     normalized response function is
                                     evaluated

                       phihat(nnu):  the normalized response function
                                     evaluated at each of the nnu points

Here are the formulae:

    nu(i) = nu1 + i * deltanu


            |n (C1 * nu(i)^3 * phihat * deltanu)
            |  ---------------------------------
    N(t)=SUM|            C2*nu(i)
            |  	        (--------)
            |                T
            |1 	       e           -1


        nsp - N(t)
    G = ----------
        xsp - x(t)

Priority facsimile Table

The priority facsimile table is used by the ADAPS processing system to assign a priority to each facsimile for printing. This is accomplished by assigning each facsimile a character to be used in naming the image, which will then cause the facsimiles to be found in alphabetic priority using the ls and/or dir commands. The character zero is used to indicate that no facsimile should be produced. Valid priorities are a-z and 0. If an entry is not found in the table then it is assumed to have priority 0. The following is an example of entries in the table:

NOAA-11 HRPT SFL a
NOAA-11 HRPT NOA b
NOAA-11 HRPT NGC c
NOAA-11 LAC  NGC 0
NOAA-11 LAC  NOA e
NOAA-12 HRPT SFL f
NOAA-12 LAC  NOA 0

Column 1:  Indicates the satellite the data was acquired by
Column 2:  Is the type of data (GAC, HRPT, LAC)
Column 3:  Is the CEOS ID of the receiving station that acquired the data
Column 4:  Is the priority for printing the facsimiles

Microfiche Table

Microfiche processing requires five tables. The first three, microfiche.enb, microfiche.eng, and microfiche.enr, are enhancement look-up tables (LUTs) used to contrast-stretch the microfiche when it is printed on the ColorFIRE.

The remaining two tables, micro_aa.sav and micro_ah.sav, are used to keep a count of the number of microfiche images processed for the North America and World-wide microfiche sets, respectively. These two tables are TAE parameter files, with a parameter of CURRENT indicating the number of microfiche images processed. Since microfiche images are processed in sets of 24, the value stored in the table should be a multiple of 24. To display the value of CURRENT in the table, type

LAS70>display-parfile $ADAPSTABLES/micro_ah.sav

To set the value of CURRENT in the table, tutor the SET proc. Assign the appropriate value of CURRENT, and save the value in the table. You do not need to run this proc. Example:

LAS70>t set

? current=192
? save $ADAPSTABLES/micro_ah.sav
? exit

Product generation Table

text ..

Satellite Time Correction Table

The TIROS-N seris satellites has an on-board clock that is used to place a time stamp code into every line of AVHRR data. This on-board clock can drift up to one half of a second before it is reset by the ground control station. The clock drift can cause an error of up to 3 lines when geo-referencing the AVHRR data with the satellite model. A National Bureau of Standards (NBS) clock was installed with the EDC acquisition system to determine the clock drift error. This clock error is saved in the EDC archive header and used to correct the start and end time stamp codes in the header. The date, start time of acquisition, and the clock error are also appended to a time corrections table located in the $ADAPSTABLES directory. The table is named based on the satellite name with an extention of ".timcor". The time correction table for the NOAA-11 satellite would be noaa11.timcor. The following is an example of entries in the "noaa11.timcor" table:

002                         
  Date       Time     Error 
04/01/94 21:12:11.000 00331
04/01/94 22:51:59.000 00332
04/02/94 21:00:18.000 00356
04/02/94 22:39:25.000 00357

The time correction table is used by INGEST to calculate the time correction value for recorded data (LAC and GAC) and data acquired from other receiving stations. The date and start time of acquisition is extracted from the AVHRR data and the nearest date and times are found in the time correction table. A linear interpolation between the nearest times is used to calculate the time correction for the image. This time correction value is saved in the EDC archive header and used to correct the start and end time stamp codes in the header. The time correction value is set to zero when the time of the image is before or after any entries in the time correction table or when the time correction table for the satellite doesn't exist.

CEOS IDs Table

The Committe on Earth Observing Satellites has assigned a three letter code for receiving stations that acquire AVHRR data. The ceos.ids table contains the three letter codes and the name of each location. This table is subject to changes or additions to accomodate new sources of AVHRR data from cooperating agencies.

Satellite IDs

The satellite.ids file contains translations values between satellite numbers and satellite names.

Satellite Level1-B IDs

The satellite.l1b file contains translations values between level1-B encoded satellite numbers to satellite names.

Priority Stations

The priority.stations file is used by the ADAPS processing system to assign a priority to each station. The priority is used in orbital stitching, in which data from two stations may overlap. Due to continued data quality errors in overlap areas, one station's data would be chosen over another based on the priority. The base priority is 0. If two stations overlap with equal priority, the data from the beginning of the second scene will replace data from the end of the previous scene.

Atmocor

Atmocor tables go here

Environment Variables

There are two top level environment variables that are assigned in a user's login or by the LAS "masterlog" script. These are:

    EDCSOFT       Top level location of the LAS and ADAPS source
                  and exectuables
    TAE           Top level location of the TAE source and executables

These two environment variables are used to assign all other LAS and ADAPS environment variables for the programmer and user. The following is a list of programmer's environment variables needed to build ADAPS applications:

    ADAPSINCLUDE  Location of the ADAPS include files
    ADAPSLIB      Location of the ADAPS libraries

The following is a list of programmer and user environment variables needed to locate scripts, PDFs, executables, and documention:

    LASASSIGN    Location of the ADAPS assignment scripts
    ADAPSBASE    Location of the baseline PDFs and executables
    ADAPSCONTRIB Location of contributed PDFs and executables
    ADAPSLOCAL   Location of local (site specific) PDFs and executables
    LASTOOLS     Location of script and executable tools used by ADAPS
    ADAPSDOC     Location of the ADAPS documentation

The environment variable $DSTDIR is assiged by the programmer to install the executables into one of the above directories. See Building an Application in the ADAPS Programmer's Guide for more information on building and installing applications.

$EDCSOFT Directory Structure

The environment variable $EDCSOFT is assigned to the top level LAS and ADAPS directories. The following link is the LAS and ADAPS directory structure.

ADAPS Source Directory Structure

All TAE, LAS, and ADAPS source code is maintained under the Concurent Concurrent Versions System (CVS) which used the UNIX Revision Control System (RCS). The following link is the ADAPS source directory under CVS.