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.
The $ADAPSTABLES directory contains tables necessary to process AVHRR data. The following is a description and format of each of these 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 OfficerTBUS ephemeris data can be obtained from the NOAA bulletin board by contacting:
Omnet, Inc.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.
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.
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.
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:
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
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
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
The vermote.cal table contains ...
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)
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 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
text ..
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.
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.
The satellite.ids file contains translations values between satellite numbers and satellite names.
The satellite.l1b file contains translations values between level1-B encoded satellite numbers to satellite names.
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.
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.
The environment variable $EDCSOFT is assigned to the top level LAS and ADAPS directories. The following link is the LAS and ADAPS 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.