L1B_VIS_QA Interface Specification

Interface Specification Version 2.1.5.2

June 4, 2001

Swath Name = "L1B_VIS_QA"

Level = "level1B"

# Footprints = 90

# scanlines per scanset = 3

Dimensions

These fields define all dimensions that can be used for HDF-EOS swath fields.

The names "GeoTrack" and "GeoXTrack" have a special meaning for this document: "Cross-Track" data fields have a hidden dimension of "GeoXTrack"; "Along-Track" data fields have a hidden dimension of "GeoTrack"; "Full Swath Data Fields have hidden dimensions of both "GeoTrack" and "GeoXTrack".

Name Value Explanation
GeoXTrack 90 Dimension across track for footprint positions. Same as number of footprints per scanline.
GeoTrack # of scan lines in swath Dimension along track for footprint positions. Same as number of scanlines in granule. (Nominally 45 for Level-2, AMSU, and AIRS/Vis low-rate engineering; 135 for AIRS/Vis and HSB high-rate quantities)
SubTrack 9 VIS detector elements per AIRS footprint along track (9)
SubXTrack 8 VIS samples per AIRS footprint across track (8)
Bulb 3 Number of photometric calibration sources (light bulbs) that can be used as sources for photometric calibration (3)
GainHistory 5 Number of photometric gain calculations to store for use in smoothing of gain (5)
GeoLocationsPerSpot 4 Geolocations for the 4 corner pixels in the order: trailing first scanned; trailing last-scanned; leading first-scanned; leading last-scanned. Each footprint also has a central geolocation associated with the swath geolocation lat/lon/time of the footprint.
Channel 4 Dimension of radiance array

Geolocation Fields

These fields appear for every footprint (GeoTrack * GeoXTrack times) and correspond to footprint center coordinates and "shutter" time.

Name Explanation
Latitude Footprint boresight Latitude in degrees North (-90.0 ... 90.0)
Longitude Footprint boresight Longitude in degrees East (-180.0 ... 180.0)
Time Footprint "shutter" TAI Time: floating-point elapsed seconds since Jan 1, 1993
Size: 291600 bytes (0.3 MB) per 45-scanset granule

Attributes

These fields appear only once per granule

Name Type Extra Dimensions Explanation
processing_level string of 8-bit characters None Zero-terminated character string denoting processing level ("level1B")
instrument string of 8-bit characters None Zero-terminated character string denoting instrument ("VIS")
DayNightFlag string of 8-bit characters None Zero-terminated character string denoting granule as day and/or night: (Always "Day", "Night", or "Both")
AutomaticQAFlag string of 8-bit characters None Zero-terminated character string denoting granule data quality: (Always "Passed", "Failed", or "Suspect")
NumTotalData 32-bit integer None Total number of expected data points
NumProcessData 32-bit integer None Number of data points which are present and can be processed routinely (state = 0)
NumSpecialData 32-bit integer None Number of data points which are present and can be processed only as a special test (state = 1)
NumBadData 32-bit integer None Number of data points which are present but cannot be processed (state = 2)
NumMissingData 32-bit integer None Number of expected data points which are not present (state = 3)
NumLandSurface 32-bit integer None Number of data points for which the surface is more than 90% land
NumOceanSurface 32-bit integer None Number of data points for which the surface is less than 10% land
node_type string of 8-bit characters None Zero-terminated character string denoting whether granule is ascending, descending, or pole-crossing: ("Ascending" and "Descending" for entirely ascending or entirely descending granules, or "NorthPole" or "SouthPole" for pole-crossing granules)
start_year 32-bit integer None Year in which granule started, UTC (e.g. 1999)
start_month 32-bit integer None Month in which granule started, UTC (1 ... 12)
start_day 32-bit integer None Day of month in which granule started, UTC (1 ... 31)
start_hour 32-bit integer None Hour of day in which granule started, UTC (0 ... 23)
start_minute 32-bit integer None Minute of hour in which granule started, UTC (0 ... 59)
start_sec 32-bit floating-point None Second of minute in which granule started, UTC (0.0 ... 59.0)
start_orbit 32-bit integer None Orbit number of mission in which granule started
end_orbit 32-bit integer None Orbit number of mission in which granule ended
orbit_path 32-bit integer None Orbit path of start orbit (1 ... 233? as defined by EOS project)
granule_number 32-bit integer None Number of granule within orbit (1 ... 17?)
num_scansets 32-bit integer None Number of scansets in granule (1 ... 45)
num_scanlines 32-bit integer None Number of scanlines in granule (3 * num_scansets)
start_Latitude 64-bit floating-point None Latitude of spacecraft at start of granule
start_Longitude 64-bit floating-point None Longitude of spacecraft at start of granule
start_Time 64-bit floating-point None TAI Time at start of granule
end_Latitude 64-bit floating-point None Latitude of spacecraft at end of granule
end_Longitude 64-bit floating-point None Longitude of spacecraft at end of granule
end_Time 64-bit floating-point None TAI Time at end of granule
eq_x_longitude 32-bit floating-point None Longitude of spacecraft at southward equator crossing nearest granule start
eq_x_tai 64-bit floating-point None Time of eq_x_longitude in TAI units
orbitgeoqa 32-bit integer None Orbit Geolocation QA: bit 0 (LSB): bad input value (last scanline); bit 1: bad input value (first scanline); bit 2: PGS_EPH_GetEphMet() returned PGSEPH_E_NO_SC_EPHEM_FILE; bit 3: PGS_EPH_GetEphMet() returned PGSEPH_E_BAD_ARRAY_SIZE; bit 4: PGS_EPH_GetEphMet() returned PGSTD_E_TIME_FMT_ERROR; bit 5: PGS_EPH_GetEphMet() returned PGSTD_E_TIME_VALUE_ERROR; bit 6: PGS_EPH_GetEphMet() returned PGSTD_E_SC_TAG_UNKNOWN; bit 7: PGS_EPH_GetEphMet() returned PGS_E_TOOLKIT; bit 8: PGS_TD_UTCtoTAI() returned PGSTD_E_NO_LEAP_SECS; bit 9: PGS_TD_UTCtoTAI() returned PGSTD_E_TIME_FMT_ERROR; bit 10: PGS_TD_UTCtoTAI() returned PGSTD_E_TIME_VALUE_ERROR; bit 11: PGS_TD_UTCtoTAI() returned PGS_E_TOOLKIT; bit 12: PGS_CSC_DayNight() returned PGSTD_E_NO_LEAP_SECS; bit 13: PGS_CSC_DayNight() returned PGSCSC_E_INVALID_LIMITTAG; bit 14: PGS_CSC_DayNight() returned PGSCSC_E_BAD_ARRAY_SIZE; bit 15: PGS_CSC_DayNight() returned PGSCSC_W_ERROR_IN_DAYNIGHT; bit 16: PGS_CSC_DayNight() returned PGSCSC_W_BAD_TRANSFORM_VALUE; bit 17: PGS_CSC_DayNight() returned PGSCSC_W_BELOW_HORIZON; bit 18: PGS_CSC_DayNight() returned PGSCSC_W_PREDICTED_UT1; bit 19: PGS_CSC_DayNight() returned PGSTD_E_NO_UT1_VALUE; bit 20: PGS_CSC_DayNight() returned PGSTD_E_BAD_INITIAL_TIME; bit 21: PGS_CSC_DayNight() returned PGSCBP_E_TIME_OUT_OF_RANGE; bit 22: PGS_CSC_DayNight() returned PGSCBP_E_UNABLE_TO_OPEN_FILE; bit 22: PGS_CSC_DayNight() returned PGSMEM_E_NO_MEMORY; bit 24: PGS_CSC_DayNight() returned PGS_E_TOOLKIT; bit 25-31: not used
num_satgeoqa 16-bit integer None Number of scans with problems in satgeoqa
num_glintgeoqa 16-bit integer None Number of scans with problems in glintgeoqa
num_moongeoqa 16-bit integer None Number of scans with problems in moongeoqa
num_ftptgeoqa 16-bit integer None Number of footprints with problems in ftptgeoqa
num_zengeoqa 16-bit integer None Number of footprints with problems in zengeoqa
num_demgeoqa 16-bit integer None Number of footprints with problems in demgeoqa
num_fpe 16-bit integer None Number of floating point errors
LonGranuleCen 16-bit integer None Longitude of the center of the granule in degrees (-180 ... 180)
LatGranuleCen 16-bit integer None Latitude of the center of the granule in degrees (-90 ... 90)
LocTimeGranuleCen 16-bit integer None Local time at the center of the granule in minutes past midnight (0 ... 1439)
limit_scene_counts Color Counts (see below) Channel (= 4) * SubTrack (= 9) Input limit checking on scene data numbers
limit_bb_counts Color Counts (see below) Channel (= 4) * SubTrack (= 9) Input limit checking on data numbers from the blackbody (dark target)
limit_phot_counts Color Counts (see below) Channel (= 4) * SubTrack (= 9) Input limit checking on data numbers from the photometric calibration source (bright target)
limit_vis_det_temp Color Counts (see below) None Input limit checking on Vis sensor array temperature
input_scene_counts Limited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Input statistics on scene data numbers
input_bb_counts Limited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Input statistics on data numbers from the blackbody (dark target)
input_phot_counts Limited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Input statistics on data numbers from the photometric calibration source (bright target)
input_vis_det_temp Limited Engineering Struct (see below) None Input statistics on Vis sensor array temperature
offset_fit_dev Fit Deviation (see below) Channel (= 4) * SubTrack (= 9) Deviation fit report for offset
limit_offsets Color Counts (see below) Channel (= 4) * SubTrack (= 9) Output limit checking on offsets
offset_stats Unlimited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Statistics on offsets
offset_unc_stats Unlimited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Statistics on offset uncertainties
gain_scan 16-bit integer None Scanline number of (first) gain calculation completed in granule. 0 for no gain calculation completed in this granule.
gain_TAI 64-bit floating-point None TAI time of (first) gain calculation. 0.0 for no gain calculation completed in this granule.
gain_TAI_prev 64-bit floating-point Bulb (= 3) * GainHistory (= 5) TAI time of previous valid gain calculation on each bulb.
gain_num 16-bit integer None Number of gain calculations in this granule. (Should always be 0 or 1)
gain_bulb 16-bit integer None bulb number (1, 2, or 3) of bulb used for (first) gain calculation (including gain claculations started but not completed). 0 for no gain calculation occurred in this granule.
bulb_failed 8-bit integer None 1 if a bulb failure was detected in this granule, 0 otherwise.
gain 32-bit floating-point Channel (= 4) * SubTrack (= 9) Gain: number of radiance units per count. (Same as gain_prev on most recently used bulb when no gain calculation was performed in this granule)
gain_err 32-bit floating-point Channel (= 4) * SubTrack (= 9) Error caused by imperfect fit for gain (gain units). (Same as gain_err_prev on most recently used bulb when no gain calculation was performed in this granule)
gain_prev 32-bit floating-point Bulb (= 3) * GainHistory (= 5) * Channel (= 4) * SubTrack (= 9) Previous Gain: number of radiance units per count at time of previous gain calculations for each bulb
gain_err_prev 32-bit floating-point Bulb (= 3) * GainHistory (= 5) * Channel (= 4) * SubTrack (= 9) gain_err for each gain_prev
gain_fit_dev Fit Deviation (see below) Channel (= 4) * SubTrack (= 9) Deviation fit report for gain (invalid if no gain fit)
gain_start_TAI 64-bit floating-point None TAI time when photometric calibration source was turned "on" for a gain calculation that had started but had not finished collecting data at the end of the granule. 0.0 for no gain calculation left partial at the end of this granule.
gain_num_counts 32-bit integer Channel (= 4) * SubTrack (= 9) The number of data points of counts per detector collected in gain_sum_counts and gain_num_counts2 for a gain calculation that had started but had not finished collecting data at the end of the granule. 0.0 for no gain calculation left partial at the end of this granule.
gain_sum_counts 64-bit floating-point Channel (= 4) * SubTrack (= 9) The sum of the counts per detector for a gain calculation that had started but had not finished collecting data at the end of the granule. 0.0 for no gain calculation left partial at the end of this granule.
gain_sum_counts2 64-bit floating-point Channel (= 4) * SubTrack (= 9) The sum of the squares of counts per detector for a gain calculation that had started but had not finished collecting data at the end of the granule. 0.0 for no gain calculation left partial at the end of this granule.
primary_bulb 16-bit integer None Bulb number of photometric calibration source used as primary bulb (1, 2, or 3; 0 for no primary bulb)
secondary_bulb 16-bit integer None Bulb number of photometric calibration source used as secondary bulb (1, 2, or 3; 0 for no secondary bulb)
backup_bulb 16-bit integer None Bulb number of photometric calibration source used as backup bulb (1, 2, or 3; 0 for no backup bulb)
K21 32-bit floating-point Channel (= 4) * SubTrack (= 9) Gain calculated using bulb 2, divided by gain using bulb 1. (Tracks degradation of bulb 1 relative to bulb 2.)
K32 32-bit floating-point Channel (= 4) * SubTrack (= 9) Gain calculated using bulb 3, divided by gain using bulb 2. (Tracks degradation of bulb 2 relative to bulb 3.)
K31 32-bit floating-point Channel (= 4) * SubTrack (= 9) Gain calculated using bulb 3, divided by gain using bulb 1. (Tracks degradation of bulb 1 relative to bulb 3.)
K_factors_applied 8-bit integer Channel (= 4) Flag if K factors were applied for each channel (1 for yes, 0 for no)
gamma_ground 32-bit floating-point Channel (= 4) * SubTrack (= 9) Correction factor applied to gain calculation based on observations of known ground targets
gamma_MODIS 32-bit floating-point Channel (= 4) * SubTrack (= 9) Correction factor applied to gain calculation based on co-located MODIS and AIRS observations
rad_stats Unlimited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Statistics on radiances (radiance units)
rad_unc_stats Unlimited Engineering Struct (see below) Channel (= 4) * SubTrack (= 9) Statistics on radiance uncertainties due to Noise and offset & gain fit errors (radiance units)
granules_present string of 8-bit characters None Zero-terminated character string denoting which adjacent granules were available for smoothing ("All" for both previous & next, "Prev" for previous but not next, "Next" for next but not previous, "None" for neither previous nor next)
xtrack_err 32-bit floating-point Channel (= 4) cross-track pixel location error estimate per channel (km)
track_err 32-bit floating-point Channel (= 4) Along-track pixel location error estimate per channel (km)
align_1_2_nadir 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-nadir AIRS footprints (45 & 46) between VIS channels 1 & 2
align_2_3_nadir 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-nadir AIRS footprints (45 & 46) between VIS channels 2 & 3
align_2_4_nadir 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-nadir AIRS footprints (45 & 46) between VIS channels 2 & 4
align_1_2_maxang 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-limb AIRS footprints (1 & 90) between VIS channels 1 & 2
align_2_3_maxang 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-limb AIRS footprints (1 & 90) between VIS channels 2 & 3
align_2_4_maxang 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-limb AIRS footprints (1 & 90) between VIS channels 2 & 4
align_vis_airs 32-bit floating-point None Expected error (km) between the pixel locations for the corner locations of near-nadir AIRS footprints (45 & 46) between the AIRS center and all VIS channels
Size: 29587 bytes (0.0 MB) per granule

Along-Track Data Fields

These fields appear once per scanline (GeoTrack times)

Name Type Extra Dimensions Explanation
satheight 32-bit floating-point None Satellite altitude at nadirTAI in km above reference ellipsoid (e.g. 725.2)
satroll 32-bit floating-point None Satellite attitude roll angle at nadirTAI (-180.0 ... 180.0 angle about the +x (roll) ORB axis, +x axis is positively oriented in the direction of orbital flight completing an orthogonal triad with y and z.)
satpitch 32-bit floating-point None Satellite attitude pitch angle at nadirTAI (-180.0 ... 180.0 angle about +y (pitch) ORB axis. +y axis is oriented normal to the orbit plane with the positive sense opposite to that of the orbit's angular momentum vector H.)
satyaw 32-bit floating-point None Satellite attitude yaw angle at nadirTAI (-180.0 ... 180.0 angle about +z (yaw) axis. +z axis is positively oriented earthward parallel to the satellite radius vector R from the spacecraft center of mass to the center of the Earth.)
satgeoqa 32-bit integer None Satellite Geolocation QA flags: bit 0 (LSB): bad input value; bit 1: PGS_TD_TAItoUTC() returned PGSTD_E_NO_LEAP_SECS; bit 2: PGS_TD_TAItoUTC() returned PGS_E_TOOLKIT; bit 3: PGS_EPH_EphemAttit() returned PGSEPH_W_BAD_EPHEM_VALUE; bit 4: PGS_EPH_EphemAttit() returned PGSEPH_E_BAD_EPHEM_FILE_HDR; bit 5: PGS_EPH_EphemAttit() returned PGSEPH_E_NO_SC_EPHEM_FILE; bit 6: PGS_EPH_EphemAttit() returned PGSEPH_E_NO_DATA_REQUESTED; bit 7: PGS_EPH_EphemAttit() returned PGSTD_E_SC_TAG_UNKNOWN; bit 8: PGS_EPH_EphemAttit() returned PGSEPH_E_BAD_ARRAY_SIZE; bit 9: PGS_EPH_EphemAttit() returned PGSTD_E_TIME_FMT_ERROR; bit 10: PGS_EPH_EphemAttit() returned PGSTD_E_TIME_VALUE_ERROR; bit 11: PGS_EPH_EphemAttit() returned PGSTD_E_NO_LEAP_SECS; bit 12: PGS_EPH_EphemAttit() returned PGS_E_TOOLKIT; bit 13: PGS_CSC_ECItoECR() returned PGSCSC_W_BAD_TRANSFORM_VALUE; bit 14: PGS_CSC_ECItoECR() returned PGSCSC_E_BAD_ARRAY_SIZE; bit 15: PGS_CSC_ECItoECR() returned PGSTD_E_NO_LEAP_SECS; bit 16: PGS_CSC_ECItoECR() returned PGSTD_E_TIME_FMT_ERROR; bit 17: PGS_CSC_ECItoECR() returned PGSTD_E_TIME_VALUE_ERROR; bit 18: PGS_CSC_ECItoECR() returned PGSCSC_W_PREDICTED_UT1; bit 19: PGS_CSC_ECItoECR() returned PGSTD_E_NO_UT1_VALUE; bit 20: PGS_CSC_ECItoECR() returned PGS_E_TOOLKIT; bit 21: PGS_CSC_ECRtoGEO() returned PGSCSC_W_TOO_MANY_ITERS; bit 22: PGS_CSC_ECRtoGEO() returned PGSCSC_W_INVALID_ALTITUDE; bit 23: PGS_CSC_ECRtoGEO() returned PGSCSC_W_SPHERE_BODY; bit 24: PGS_CSC_ECRtoGEO() returned PGSCSC_W_LARGE_FLATTENING; bit 25: PGS_CSC_ECRtoGEO() returned PGSCSC_W_DEFAULT_EARTH_MODEL; bit 26: PGS_CSC_ECRtoGEO() returned PGSCSC_E_BAD_EARTH_MODEL; bit 27: PGS_CSC_ECRtoGEO() returned PGS_E_TOOLKIT; bit 28-31: not used
glintgeoqa 16-bit integer None Glint Geolocation QA flags: bit 0 (LSB): bad input value; bit 1: PGS_CBP_Earth_CB_Vector() returned PGSCBP_W_EARTH_CB_ID; bit 2: PGS_CBP_Earth_CB_Vector() returned PGSCBP_E_INVALID_CB_ID; bit 3: PGS_CBP_Earth_CB_Vector() returned PGSTD_E_BAD_INITIAL_TIME; bit 4: PGS_CBP_Earth_CB_Vector() returned PGSCBP_E_BAD_ARRAY_SIZE; bit 5: PGS_CBP_Earth_CB_Vector() returned PGSCBP_E_UNABLE_TO_OPEN_FILE; bit 6: PGS_CBP_Earth_CB_Vector() returned PGSCBP_E_TIME_OUT_OF_RANGE; bit 7: PGS_CBP_Earth_CB_Vector() returned PGSTD_E_NO_LEAP_SECS; bit 8: PGS_CBP_Earth_CB_Vector() returned PGSCBP_W_BAD_CB_VECTOR; bit 9: PGS_CBP_Earth_CB_Vector() returned PGS_E_TOOLKIT; bit 10: PGS_CSC_ECItoECR() returned any 'W' class return code (for Glint); bit 11: PGS_CSC_ECItoECR() returned any 'E' class return code (for Glint); bit 12: PGS_CSC_ECRtoGEO() returned any 'W' class return code (for Glint); bit 13: PGS_CSC_ECRtoGEO() returned any 'E' class return code (for Glint); bit 14: PGS_CSC_ECItoECR() returned any 'W' class return code (for Sun); bit 15: PGS_CSC_ECItoECR() returned any 'E' class return code (for Sun)
moongeoqa 16-bit integer None Moon Geolocation QA flags: bit 0: bad input value; bit 1: PGS_TD_TAItoUTC() returned PGSTD_E_NO_LEAP_SECS; bit 2: PGS_TD_TAItoUTC() returned PGS_E_TOOLKIT; bit 3: PGS_CBP_Sat_CB_Vector() returned PGSCSC_W_BELOW_SURFACE; bit 4: PGS_CBP_Sat_CB_Vector() returned PGSCBP_W_BAD_CB_VECTOR; bit 5: PGS_CBP_Sat_CB_Vector() returned PGSCBP_E_BAD_ARRAY_SIZE; bit 6: PGS_CBP_Sat_CB_Vector() returned PGSCBP_E_INVALID_CB_ID; bit 7: PGS_CBP_Sat_CB_Vector() returned PGSMEM_E_NO_MEMORY; bit 8: PGS_CBP_Sat_CB_Vector() returned PGSCBP_E_UNABLE_TO_OPEN_FILE; bit 9: PGS_CBP_Sat_CB_Vector() returned PGSTD_E_BAD_INITIAL_TIME; bit 10: PGS_CBP_Sat_CB_Vector() returned PGSCBP_E_TIME_OUT_OF_RANGE; bit 11: PGS_CBP_Sat_CB_Vector() returned PGSTD_E_SC_TAG_UNKNOWN; bit 12: PGS_CBP_Sat_CB_Vector() returned PGSEPH_E_BAD_EPHEM_FILE_HDR; bit 13: PGS_CBP_Sat_CB_Vector() returned PGSEPH_E_NO_SC_EPHEM_FILE; bit 14: PGS_CBP_Sat_CB_Vector() returned PGS_E_TOOLKIT; bit 15: not used
nadirTAI 64-bit floating-point None TAI time at which instrument is nominally looking directly down. (between footprints 15 & 16 for AMSU or between footprints 45 & 46 for AIRS/Vis & HSB)
sat_lat 64-bit floating-point None Satellite latitude in degrees (-90.0 ... 90.0)
sat_lon 64-bit floating-point None Satellite longitude in degrees (-180.0 ... 180.0)
scan_node_type 8-bit integer None 'A' for ascending, 'D' for descending, 'N' for North-Polar, 'S' for South-Polar
glintlat 32-bit floating-point None Solar glint latitude in degrees at nadirTAI (-90.0 ... 90.0)
glintlon 32-bit floating-point None Solar glint longitude in degrees at nadirTAI (-180.0 ... 180.0)
ViSnsrArrTemp 32-bit floating-point None Vis/NIR Sensor Array Temperature (Celcius)
ScHeadTemp1 32-bit floating-point None Scanner Head Housing Temperature 1 (active A or B) (Celcius)
OpMode 16-bit integer None Instrument Operations Mode. See AIRS Command Handbook, section 7.2.4, for a definition of each bit.
Size: 9045 bytes (0.0 MB) per 45-scanset granule

Full Swath Data Fields

These fields appear for every footprint of every scanline in the granule (GeoTrack * GeoXTrack times)

Name Type Extra Dimensions Explanation
scanang 32-bit floating-point None Scanning angle of AIRS instrument for this footprint (-180.0 ... 180.0)
ftptgeoqa 32-bit integer None Footprint Geolocation QA flags: bit 0 (LSB): bad input value; bit 1: PGS_TD_TAItoUTC() returned PGSTD_E_NO_LEAP_SECS; bit 2: PGS_TD_TAItoUTC() returned PGS_E_TOOLKIT; bit 3: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_MISS_EARTH; bit 4: PGS_CSC_GetFOV_Pixel() returned PGSTD_E_SC_TAG_UNKNOWN; bit 5: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_ZERO_PIXEL_VECTOR; bit 6: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_BAD_EPH_FOR_PIXEL; bit 7: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_INSTRUMENT_OFF_BOARD; bit 8: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_BAD_ACCURACY_FLAG; bit 9: PGS_CSC_GetFOV_Pixel() returned PGSCSC_E_BAD_ARRAY_SIZE; bit 10: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_DEFAULT_EARTH_MODEL; bit 11: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_DATA_FILE_MISSING; bit 12: PGS_CSC_GetFOV_Pixel() returned PGSCSC_E_NEG_OR_ZERO_RAD; bit 13: PGS_CSC_GetFOV_Pixel() returned PGSMEM_E_NO_MEMORY; bit 14: PGS_CSC_GetFOV_Pixel() returned PGSTD_E_NO_LEAP_SECS; bit 15: PGS_CSC_GetFOV_Pixel() returned PGSTD_E_TIME_FMT_ERROR; bit 16: PGS_CSC_GetFOV_Pixel() returned PGSTD_E_TIME_VALUE_ERROR; bit 17: PGS_CSC_GetFOV_Pixel() returned PGSCSC_W_PREDICTED_UT1; bit 18: PGS_CSC_GetFOV_Pixel() returned PGSTD_E_NO_UT1_VALUE; bit 19: PGS_CSC_GetFOV_Pixel() returned PGS_E_TOOLKIT; bit 20: PGS_CSC_GetFOV_Pixel() returned PGSEPH_E_BAD_EPHEM_FILE_HDR; bit 21: PGS_CSC_GetFOV_Pixel() returned PGSEPH_E_NO_SC_EPHEM_FILE; bit 22-31: not used
zengeoqa 16-bit integer None Satellite zenith Geolocation QA flags: bit 0 (LSB): (Spacecraft) bad input value; bit 1: PGS_CSC_ZenithAzimuth(S/C) returned PGSCSC_W_BELOW_HORIZON; bit 2: PGS_CSC_ZenithAzimuth(S/C) returned PGSCSC_W_UNDEFINED_AZIMUTH; bit 3: PGS_CSC_ZenithAzimuth(S/C) returned PGSCSC_W_NO_REFRACTION; bit 4: PGS_CSC_ZenithAzimuth(S/C) returned PGSCSC_E_INVALID_VECTAG; bit 5: PGS_CSC_ZenithAzimuth(S/C) returned PGSCSC_E_LOOK_PT_ALTIT_RANGE; bit 6: PGS_CSC_ZenithAzimuth(S/C) returned PGSCSC_E_ZERO_INPUT_VECTOR; bit 7: PGS_CSC_ZenithAzimuth(S/C) returned PGS_E_TOOLKIT; bit 8: (Sun) bad input value; bit 9: (suppressed) PGS_CSC_ZenithAzimuth(Sun) returned PGSCSC_W_BELOW_HORIZON (This is not an error condition - the sun is below the horizon at night); bit 10: PGS_CSC_ZenithAzimuth(Sun) returned PGSCSC_W_UNDEFINED_AZIMUTH; bit 11: PGS_CSC_ZenithAzimuth(Sun) returned PGSCSC_W_NO_REFRACTION; bit 12: PGS_CSC_ZenithAzimuth(Sun) returned PGSCSC_E_INVALID_VECTAG; bit 13: PGS_CSC_ZenithAzimuth(Sun) returned PGSCSC_E_LOOK_PT_ALTIT_RANGE; bit 14: PGS_CSC_ZenithAzimuth(Sun) returned PGSCSC_E_ZERO_INPUT_VECTOR; bit 15: PGS_CSC_ZenithAzimuth(Sun) returned PGS_E_TOOLKIT
demgeoqa 16-bit integer None Digital Elevation Model (DEM) Geolocation QA flags: bit 0 (LSB): bad input value; bit 1: Could not allocate memory; bit 2: Too close to North or South pole. Excluded; bit 3: Layer resolution incompatibility. Excluded; bit 4: Any DEM Routine (elev) returned PGSDEM_E_IMPROPER_TAG; bit 5: Any DEM Routine (elev) returned PGSDEM_E_CANNOT_ACCESS_DATA; bit 6: Any DEM Routine (land/water) returned PGSDEM_E_IMPROPER_TAG; bit 7: Any DEM Routine (land/water) returned PGSDEM_E_CANNOT_ACCESS_DATA; bit 8: Reserved for future layers; bit 9: Reserved for future layers; bit 10: PGS_DEM_GetRegion(elev) returned PGSDEM_M_FILLVALUE_INCLUDED; bit 11: PGS_DEM_GetRegion(land/water) returned PGSDEM_M_FILLVALUE_INCLUDED; bit 12: Reserved for future layers; bit 13: PGS_DEM_GetRegion(all) returned PGSDEM_M_MULTIPLE_RESOLUTIONS; bit 14: PGS_CSC_GetFOV_Pixel() returned any 'W' class return code; bit 15: PGS_CSC_GetFOV_Pixel() returned any 'E' class return code
satzen 32-bit floating-point None Spacecraft zenith angle (0.0 ... 180.0 degrees from zenith GEO)
satazi 32-bit floating-point None Spacecraft azimuth angle (-180.0 ... 180.0 degrees E of N GEO)
solzen 32-bit floating-point None Solar zenith angle (0.0 ... 180.0 degrees from zenith GEO)
solazi 32-bit floating-point None Solar azimuth angle (-180.0 ... 180.0 degrees E of N GEO)
sun_glint_distance 16-bit integer None Distance (km) from footprint center to location of the sun glint
topog 32-bit floating-point None Mean topography in meters above reference ellipsoid
topog_err 32-bit floating-point None Error estimate for topog
landFrac 32-bit floating-point None Fraction of spot that is land (0.0 ... 1.0)
landFrac_err 32-bit floating-point None Error estimate for landFrac
state 32-bit integer None Data state: 0:Process, 1:Special, 2:Erroneous, 3:Missing
Size: 607500 bytes (0.6 MB) per 45-scanset granule

Total File Size (plus storage for dimensions and other HDF-EOS overhead): 937732 bytes (0.9 MB) per 45-scanset granule = 225.1 MB per day


Special AIRS Types

Limited Engineering Struct: This type is used for engineering data fields for which there are known "yellow" limits

Field Name Type Explanation
min 32-bit floating-point Minimum value field takes on in granule (not valid when num_in = 0)
max 32-bit floating-point Maximum value field takes on in granule (not valid when num_in = 0)
mean 32-bit floating-point Mean of in-range values field takes on in granule (not valid when num_in = 0)
dev 32-bit floating-point Standard Deviation of in-range values field takes on in granule (not valid when num_in = 0)
num_in 32-bit integer Count of in-range values field takes on in granule
num_lo 32-bit integer Count of out-of-range low values field takes on in granule
num_hi 32-bit integer Count of out-of-range high values field takes on in granule
num_bad 32-bit integer Count of occassions on which field takes on invalid flag value (-9999) in granule
range_min 32-bit floating-point Minimum in-range value. Any value less than this is counted in num_lo and is not used in the calculation of mean & dev.
range_max 32-bit floating-point Maximum in-range value. Any value greater than this is counted in num_hi and is not used in the calculation of mean & dev.
missing 8-bit integer Missing limits flags. Bit 0 (LSB) is 1 when yellow low (range_min) limit is missing; Bit 1 is high when yellow high (range_max) limit is missing; other bits unused, set to 0.
max_track 32-bit integer GeoTrack index (counting from 1) where max was found
max_xtrack 32-bit integer GeoXTrack index (counting from 1) where max was found
min_track 32-bit integer GeoTrack index (counting from 1) where min was found
min_xtrack 32-bit integer GeoXTrack index (counting from 1) where min was found

Unlimited Engineering Struct: This type is used for engineering data fields for which there are NOT known "yellow" limits

Field Name Type Explanation
min 32-bit floating-point Minimum value field takes on in granule (not valid when num = 0)
max 32-bit floating-point Maximum value field takes on in granule (not valid when num = 0)
mean 32-bit floating-point Mean of values field takes on in granule (not valid when num = 0)
dev 32-bit floating-point Standard Deviation of values field takes on in granule (not valid when num = 0)
num 32-bit integer Count of occurrences of field in granule (not including those counted in num_bad)
num_bad 32-bit integer Count of occassions on which field takes on invalid flag value (-9999) in granule
max_track 32-bit integer GeoTrack index (counting from 1) where max was found
max_xtrack 32-bit integer GeoXTrack index (counting from 1) where max was found
min_track 32-bit integer GeoTrack index (counting from 1) where min was found
min_xtrack 32-bit integer GeoXTrack index (counting from 1) where min was found

Color Counts: This type tracks counts of values received during an interval by how they compare to corresponding "red" and "yellow" limits

Field Name Type Explanation
red_lo_limit 32-bit floating-point Value of the low "red" limit.
red_lo_cnt 16-bit integer Count of values less than the low "red" limit. This is an "Alarm" condition.
to_red_lo 16-bit integer Count of occasions on which the "color" of this field changed from some other value to "red_low".
yellow_lo_limit 32-bit floating-point Value of the low "yellow" limit.
yellow_lo_cnt 16-bit integer Count of values greater than the low "red" limit but less than the low "yellow" limit. This is a "Warning" condition.
to_yellow_lo 16-bit integer Count of occasions on which the "color" of this field changed from some other value to "yellow_low".
green_cnt 16-bit integer Count of values greater than the low "yellow" limit but less than the high "yellow" limit.
to_green 16-bit integer Count of occasions on which the "color" of this field changed from some other value to "green".
yellow_hi_limit 32-bit floating-point Value of the high "yellow" limit.
yellow_hi_cnt 16-bit integer Count of values greater than the high "yellow" limit but less than the high "red" limit. This is a "Warning" condition.
to_yellow_hi 16-bit integer Count of occasions on which the "color" of this field changed from some other value to "yellow_high".
red_hi_limit 32-bit floating-point Value of the high "red" limit.
red_hi_cnt 16-bit integer Count of values greater than the high "red" limit. This is an "Alarm" condition.
to_red_hi 16-bit integer Count of occasions on which the "color" of this field changed from some other value to "red_high".
missing 8-bit integer Missing limits flags. Bit 0 (LSB) is 1 when yellow low limit (yellow_lo_limit) is missing; Bit 1 is high when yellow high limit is missing; Bit 2 is 1 when red low limit is missing; Bit 3 is 1 when red high limit is missing; Other bits unused set to 0.

Fit Deviation: This type provides details about the greatest deviation of input from a fit

Field Name Type Explanation
fit_scanline 8-bit integer Scanline for which fit is being performed. (1..135 for case of AIRS with 45 scansets of 3 scanlines)
dev_granule 8-bit integer Granule in which maximum deviation from fit is found. (-1 for previous granule; 0 for current granule; 1 for next)
dev_scanline 8-bit integer Scanline in which maximum deviation from fit is found.
dev 32-bit floating-point magnitude of maximum fit in units of "y" (negative for raw data point less than calculated fit)