The following tests and corrections are performed.
TESTS:
(details of the tests)
- 1.temperature in range for altitude
- 2. wind direction in range 0-360, but
different for UPS aircraft. see
details.
- 3. wind speed >= 0 and less than max for altitude, but
different for Delta MD88 aircraft. see
details.
- 4. aircraft groundspeed less than a certain value (currently 1099 kts)
- 4a. aircraft lat or lon must be different between adjacent obs, if the
altitude is different between the obs (the later ob is flagged bad).
- 5. "bounces" in aircraft altitude in any 3 adjacent obs must be less
than a certain value (currently 38 feet per second).
CORRECTIONS
- some aircraft report lat/lon in DDTTT (D=degrees, T=thousandths of
a degree) instead of the expected DDMMt (D=degrees, M=minutes,
t=tenths of minutes). The program discovers such aircraft (by looking
for the last 3 digits of lat or lon having values of 600 or larger),
maintains a list of the aircraft, and corrects the lat/lon. This is
indicated by the correction flag l (the letter el).
- some aircraft report temperature in degrees instead of tenths of
degrees. The program uses a list of such aircraft (provided by hand)
to correct these. This is indicated by the correction flag
T (capitalized). As of 11-Jan-99, there are no
longer any aircraft on this list.
- In addition, all Delta MD88s have the observation time set to the
report receipt time, because they always report 0000 as the obs
time. This is indicated by the corrected-flag
t (lower case), ot f if the
data have had their longitude flipped around 95W. (As of
20-Jan-00, no aircraft require their longitude to be flipped.)
INTERPOLATION OF TIME AND LAT/LON
Some high-resolution ascent/descent observations are reported without
times, and/or lat/lon. In these cases:
- time is interpolated linearly within each message. (The
interpolation is based on the takeoff time and the report time of
subsequent messages, with each message containing 10-15
observations.)
- lat/lon is interpolated linearly between known observation
locations (with a maximum expected error of 2.5 km in the worst
case, and generally less than 1 km).
DETAILS OF THE TESTS
TEMPERATURE:
Max temp:
if altitude > 35000 ft, T must be < -20 C
otherwise, T must be < 60 - 80 * (altitude/35000)
Min temp:
if altitude < 18000 ft, T must be > -60 C
if altitude > 35000 ft, t must be > -100 C
otherwise, t must be > -60 -40*(altitude - 18000)/17000
WIND:
direction:
For airlines other than UPS:
0 <= direction <= 360
For UPS, also allow -99 to -37, and -9 to 0 degrees. (Recent (8/96) evidence
suggests wind directions of -36 to -18 are also good, but these
are currently flagged as bad.)
speed (in knots):
speed >= 0
Also, for Delta MD88 aircraft, wind speeds of zero are
flagged as bad (with bad wind speed flag = 'D').
and for the maximum speed, in knots, here's the C code:
bad=0;
if(altitude < 30000.) {
wmax=70. + 230.* altitude / 30000.;
} else if (altitude < 40000.) {
wmax = 300.;
} else if (altitude < 45000.) {
wmax = 300. - 100 * (altitude - 40000.) / 5000.;
} else {
wmax = 200.;
}
if(WindSpeed > wmax) {
bad = 1;
}
The remaining tests require a pair of observations. I assume reports
from the same aircraft are unrelated if more than 20 minutes separates
them.
Platform speed >= 0 (Must allow zero because sometimes the
aircraft report from the ground, or circle.)
Platform speed <= 600 m/s (= 1099 kts) (This is faster than
actual speeds because of the 1 minute time resolution on the
observation time. Also, I use speed instead of change in lat/lon
because the time between observations can vary.)
The following test requires three observations:
'Bounce' < 38 feet per second. ("Bounce" refers to an ascent
followed by a descent, or vice versa. This test performs much better
than simpler ascent/descent tests, because isolated bad observations
that distort the altitude are relatively more common than
step-function kinds of altitude errors.)
Quality Control Flags
The netCDF data (and the textual output from the non-java display)
contains several flags for each datum, as follows. In
general, for error tests,
'p' means the test was passed, '-' means the test could not be
performed, and capital letters
designate various kinds of failure. Capital letters are associated
with data that fail QC.
- Data Descriptor - 'R' if reported
temperature and wind
were in appropriate ranges; 'T' if in addition tests for
platform continuity were passed; 'X' if the data failed
any test.
- errorType - 'W' for wind, 'T' for temperature, 'B'for
both.
- tempError - temperature. 'H' for too hot, 'C'
for too cold.
- windDirError - wind direction. 'B' for bad.
- windSpeedError - wind speed. 'S' for < 0, 'F'
for > maximum, 'D' for zero winds from some Delta MD88D
aircraft.
- speedError - platform speed. 'S' for too slow
(stuck lat/lon), 'F' for too fast.
- bounceError - platform altitude 'bounce' (see
below). 'L' for below adjacent points, 'H' for above.
- interpolatedTime - ('i'), or as
reported ('r')
- interpolatedLL - indicate lat/lon was
interpolated ('i'), or as reported ('r')
- rollFlag - 'G' means roll < 5
degrees, 'B' means roll > 5 degrees, '.' means not reported
- correctedFlag - (See details.)
- 'r' for "raw" data,
- 'l' for data that has
undergone lat/lon correction (other than interpolation),
- 'T' for data that has undergone temperature correction,
- 'f' for data that has had its longitude and wind direction
flipped and its obs time set to the report receipt time,
- 't' for data that has had its obs time set to the
report receipt time.
|