User Resources
Provider Resources
  MADIS WISDOM Quality Control

MADIS Gap-Filling Upper Air Quality Control


Automated Quality Control

Level 1 QC checks are considered the least sophisticated. The following table lists the WISDOM variables* that are QC'ed, and the checks that are used:

  MADIS WISDOM Variables with QC
  Code       Name                  Max    Level |        Level 1:                   
                                Possible        |                                   
                                QC Level        | Validity     Position   Provider    Subjective
                                                |            Consistency     QC      Intervention
  DD        wind direction        1                  X                       
  FF        wind speed            1                  X                       
  U         u wind component      1                  X                       
  V         v wind component      1                  X                       
  LAT       latitude              1                  X            X
  LON       longitude             1                  X            X
  T         air temperature       1                                                        X
  RH        relative humidity     1                                                        X
  POBS      pressure observed     1                                                        X

The level 1 validity checks restrict each observation to falling within a TSP-specified set of tolerance limits. Observations not falling within the limits are flagged as failing the QC check. The tolerances for wind speed are specified as a function of pressure level, and the heights are converted into pressure using the U.S. standard atmosphere calculation. The following table lists the tolerance limits used for the wind speed validity check:

  Validity Checks

                    Max Wind
  Level(mb)         Speed(Kts)
  1000                  70
   850                  90
   700                 120
   500                 200
   400                 250
   300                 300
   250                 300
   200                 300
   150                 200
   100                 200
    70                 200
    50                 200
    30                 200
    20                 200
    10                 200       
   <10                 200       

The following table lists the basic tolerance limits for the other observations:

  Validity Checks                              
  Latitude                   -90 -   90   deg N
  Longitude                 -180 -  180   deg E
  Wind Direction               0 -  360  deg

The level 1 position consistency check compares location and time to previous reports to insure that a balloon's position is consistent with the reported movement. An inconsistency is identified as an unrealistic speed. Speed is calculated from the distance traveled and the time elapsed since the previous report. Distance, in miles on a spherical Earth, is calculated from the reported latitude and longitude coordinates using the Haversine formula expressed in terms of a two-argument inverse tangent function (Sinnot, 1984).

The minimum allowable speed must be greater than 0 m/s and less than or equal to 250 m/s.

*It should be noted that while the QC checks discussed here are generally applied to the form of the variable stored in the database, the QC results will also be applied to any forms of the variable that are requested by the user and are derived from the primary variable. For example, U and V wind components will get the QC results from the checks applied to the wind speed and direction.

Subjective Intervention

Two text files, a "reject" and an "accept" list provide the capability to subjectively override the results of the automated QC checks. The reject list is a list of balloons and associated input observations that will be labeled as bad, regardless of the outcome of the QC checks; the accept list is the corresponding list of balloons that will be labeled as good, regardless of the outcome of the QC checks.

Here are the current subjective intervention lists in use:

QC Data Structures

The MADIS QC information available for each variable includes the following QC structures: a single-character "data descriptor", intended to define an overall opinion of the quality of each observation by combining the information from the various QC checks, and for users desiring detailed information, a "QC applied" bitmap indicating which QC checks were applied to each observation, and a "QC results" bitmap indicating the results of the various QC checks.

The following table provides a complete list of the data descriptors and the bits used in the bitmaps:

  MADIS QC Information - WISDOM

  QC Data Descriptor Values

  No QC available:

   Z - Preliminary, no QC

  Automated QC checks:

   C - Coarse pass, passed level 1
   S - Screened, passed levels 1 and 2
   V - Verified, passed levels 1, 2, and 3
   X - Rejected/erroneous, failed level 1
   Q - Questioned, passed level 1, failed 2 or 3

       where level 1 = validity and position consistency QC checks
             level 2 = N/A
             level 3 = N/A

  Subjective intervention:

   G - Subjective good
   B - Subjective bad

  Bitmask for QC Applied and QC Results

   Bit       QC Check                      Decimal Value
   ---       --------                      -------------
    1        Master Check                        1
    2        Validity Check                      2
    3        Position Consistency Check          4
    4        Reserved                            8
    5        Reserved                           16
    6        Reserved                           32
    7        Reserved                           64
    8        Reserved                          128
    9        Reserved                          256
   10        Reserved                          512
   11        Reserved                         1024
   12        Reserved                         2048

The QC bitmask is used in the QC applied and QC result "words" returned along with the QC data descriptor. By examining the individual bits, the user can determine which checks were actually applied, and the pass/fail status of each check that was applied.

In the QC applied word, a bit value of 1 means the corresponding check was applied, a bit value of 0 indicates the check wasn't applied.

In the QC results word, a bit value of 1 means the corresponding check was applied and failed, a bit value of 0 indicates the check passed (given that the check was applied).

The "Master Check" is used to summarize all of the checks in a single bit. If any check at all was applied, this bit will be set in the QC applied word. If the observation failed any QC check, it will be set in the QC results word.

When read as decimal numbers, the different bits that are set in the bitmask are summed together. For example, a QC applied value of 7 should be interpreted as 1 + 2 + 4, meaning the validity and position consistency checks were applied.


Sinnott, R.W., 1984: Virtues of the Haversine, Sky and Telescope, 68, 159-170.

Technique Specification Package 88-21-R2 For AWIPS-90 RFP Appendix G Requirements Numbers: Quality Control Incoming Data, 1994. AWIPS Document Number TSP-032-1992R2, NOAA, National Weather Service, Office of Systems Development.

Last updated 22 March 2017