Thermal Index Report Generator

(ti)

by
Kevin Ford

updated 28 March 2002

How to request reports by e-mail

RAOB weather reports can be obtained by sending an e-mail message to
   soar@soarforecast.com
Indicate the type of information you want in the subject line. Currently, the following subject lines are accepted:
INFOrequest this file
SOURCErequest thermal index program source code (in C)
UPA12request the latest 12Z RAOB data, in raw format
UPA00request the latest 00Z RAOB data, in raw format
anything elserequest a thermal index report

The text of the message contains various lines which indicate the specific information required. These lines may occur in any order. The following line is required for all requests:

   ReturnAddress: you@your.address
This is the address that the requested information will be sent to. If the address contains any '!' characters, please precede them with a backslash '\' character, or the script will not run properly. Compuserve users must make sure to change the comma to a period in your address.

Requests for RAOB data or thermal index reports must have the line:

   UpperStation: id
where id is the three or four letter identification of the sounding station. Only one station may be listed in each request to the server. A list of stations that the server recognizes is given later in this file.

Requests for thermal index reports must, in addition, contain the line:

   MaxAltitude: maxalt
maxalt is the maximum altitude you want the thermal index calculated to, in feet. Don't put in any commas!

To obtain the thermal index reports, one of the following lines must be present:

   SurfaceStation: id
or
   ForecastHigh: num
Here id is the three or four letter identifier for the city that the forecast high temperature is taken from. A list of cities that are recognized by the server is given later in this file. num is the forecast high temperature in Fahrenheit. If both of the above lines appear, the line with ForecastHigh will be used. If neither line appears, or the forecast high for the city listed is not available, you can still use the trigger temperature column to evaluate the soaring outlook (see the examples below).

Example.

If I wanted a thermal index report for FWD (Fort Worth, TX) using the forecast high from AUS (Austin), to 18,000 feet, the text of the message would be
UpperStation: FWD
SurfaceStation: AUS
MaxAltitude: 18000
ReturnAddress: ford@math.uiuc.edu

Errors

If your mail bounces, the report never arrives, or you get a message like
   ti error: XXX data not found
this could mean several things: For questions, comments or bug reports, send mail to me at
   ford@math.uiuc.edu
Do not send anything except server requests to soar@soarforecast.com.

How to request specific reports via WWW

The program that processes the selactions and generates the requested report is called ti.cgi. A specific report can be requested by appending to the Web address a list of data variables; e.g.
   http://www.soarforecast.com/ti.cgi?subject=upa12&upperstation=fwd
which requests the latest 12Z raw RAOB data from the Fort Worth/Dallas RAOB station. The other variables are identical to those used to request reports by e-mail (surfacestation, forecasthigh, maxaltitude), and the values are specified using
   varname=value
with each variable assignment separated by an '&' character. Both variable names and values are case insensitive. The subject value "INFO" is not implemented. You can get the instructions from the Web page.

General Information

The thermal index reports consist of a tabular list of the sounding data, plus the thermal index calculations depicted in tabular form and graphically. If run between 1200Z and 2359Z, the report will be based on the 12Z sounding data. Otherwise it will be based on the 0Z data, using the forecast high temperature for that day (if the line with SurfaceStation: is used), or the actual high temperature listed in the line with ForecastHigh: if this is used.

The raw RAOB data is provided for people who want to perform their own calculations and/or plotting with their own programs. Instructions on decoding these is provided later in this file.

Where does the data come from?

Twice a day, at 0Z and 12Z, at about 150 locations in North America, weather balloons are sent up to gather data on temperature, pressure, dewpoint, wind speed and wind direction. The data is usually available on the computer within an hour after the observation. The 12Z sounding is particularly useful in the United States for forecasting soaring conditions.

When does the data arrive?

The 12Z data usually starts arriving about 1245Z, but it may be until 1330Z before some station data arrives. For unknown reasons, sometimes certain station data won't arrive at all.

Why did I write the program?

I like to have some idea what the soaring conditions will be like, and the upper air sounding is the most important piece of weather information a soaring pilot can have. And it's not available on DUAT of from FSS. Sure, you can get the "Winds Aloft Forecast", but this is next to useless because 1) it's based on upper air data that is 15-18 hours old, and 2) the lowest level that the temperature is forecast is 6000 MSL in the Eastern U.S., which is usually higher than the thermals will go. With the morning's sounding you get the actual temperatures and winds aloft (at 1000 foot intervals) that existed 3-6 hours before your flight.

What is a thermal index?

The thermal index at a given altitude is the difference between the actual air temperature and the temperature that a parcel of air would have if it started at the surface and rose adiabatically (as it does in a thermal) to that altitude. Negative values mean that the air parcel is at a higher temperature than the surrounding air, and therefore the air will continue to rise. The altitude for which the t.i. reaches zero can be used as an approximation for the maximum height of thermals for the day. The maximum altitude a sailplane may reach may be lower. Some people use the threshold t.i. value of -3 to estimate the highest they will be able to fly. Due to continuous mixing in the atmosphere, the actual difference between a rising air parcel and the surrounding air is usually not more than .1 C, however. Therefore the t.i. value is not very useful in determining thermal strength. The maximum height of convection is more important.

What good is the 0Z sounding data?

The 0Z sounding data can tell you much about the soaring conditions that occurred that day. The convection during the day mixes the atmosphere, and so you will see the actual lapse rate very close to the dry adiabatic lapse rate from the surface up to some altitude. That altitude is either cloudbase or the maximum thermal height. This can be very useful for evaluating days you didn't fly, especially blue days.

The Complete Report

The following is a sample complete report:
Forecast high taken from DFW
   2-APR-1996 12 UTC  Soaring report from FWD upper air data.
   Forecast high: 77 F; estimated cloud base:12300 feet AGL.

                    === Raw Upper-Air Data ===
Feet MSL:    643   1511   2830   5000   6647   7022  10231  11190  13036  17692
Pres mb:     996    965    920    850    800    789    700    675    629    524
Temp C:      9.8   14.6   13.0   10.6    8.0    9.2    2.2    0.0   -2.3  -13.5
VirT C:     10.3   15.0   13.4   11.0    8.3    9.5    2.4    0.2   -2.1  -13.4
DewPt C:    -3.2   -6.4   -7.0   -9.4  -14.0  -13.8  -20.8  -23.0  -24.3  -33.5
Wdir@kts:               185 25 180 11               230 12

       === Interpolations (temps in deg. F, altitudes in feet MSL) ===
  MSL  *TI* Wdir@kts trig  VirT  2.2 degrees/division ("`": Dry Adiabatic)
-----  ---- -------- ---- . ---- -----------------------------------------
10000   5.3  230  12   87 | 37.2        `     :
 9500   4.9            86 | 39.2          `     :
 9000   4.5  215  10   85 | 41.2           `     :
 8500   4.1            85 | 43.2             `    :
 8000   3.8  195   8   84 | 45.2               `    :
 7500   3.4            83 | 47.2                 `   :
 7000   2.9  200   8   82 | 48.9                   `  :
 6500   0.5            78 | 47.3                    `:
 6000  -0.2  185   9   77 | 48.8                      :
 5500  -0.8            76 | 50.3                       :`
 5000  -1.5  180  11   75 | 51.8                        : `
 4500  -2.4            73 | 52.8                         :  `
 4000  -3.3  195  17   72 | 53.8                         :    `
 3500  -4.3            71 | 54.8                          :    `
 3000  -5.2  190  22   69 | 55.8                           :     `
 2500  -6.1            67 | 56.9                            :      `
 2000  -6.9  175  31   66 | 58.0                            :        `
 1500  -7.9            64 | 58.9                             :         `
 1000 -12.1  165  15   57 | 54.1                          :              `


   === Complete Upper Air Data ===

   P(mb)     H(ft)    Tv(C)    T(C)    DP(C)   wind dir  wind spd

    996.0      643     10.3      9.8     -3.2
    965.0     1511     15.0     14.6     -6.4
    920.0     2830     13.4     13.0     -7.0      185       25
    850.0     5000     11.0     10.6     -9.4      180       11
    800.0     6647      8.3      8.0    -14.0
    789.0     7022      9.5      9.2    -13.8
    700.0    10231      2.4      2.2    -20.8      230       12
    675.0    11190      0.2      0.0    -23.0
    629.0    13036     -2.1     -2.3    -24.3
    524.0    17692    -13.4    -13.5    -33.5
    500.0    18863    -13.0    -13.1    -33.1      225       13
    400.0    24292    -26.7    -26.7    -43.7      260       11
    300.0    30870    -43.5    -43.5    -57.5      270       18
    268.0    33321    -50.5    -50.5    -62.5
    250.0    34797    -53.9    -53.9    -65.9      285       14
    200.0    39400    -62.9    -62.9    -72.9      285       34
    161.0    43797    -61.5    -61.5    -71.5
    150.0    45249    -57.7    -57.7    -68.7      280       56

The header includes the date/time of the observations, the station used, the forecast high temperature used in the t.i. calculations, and a cloud base estimate. The cloud base estimate is based entirely on the dewpoint depression (temp minus d.p.), and thus represents the height that clouds will form IF they form at all. For the above report, it is unlikely that cumulus clouds will form. The first table is raw data for the lowest 10 levels reported. VirtT is the virtual temperature, and is explained below. The next table shows the TI values, wind data and trigger temperature at 500 foot intervals. The trigger temperature is the ground temperature for which the dry adiabat intercepts the temperature graph, i.e the temperature which will produce a TI value of zero at that altitude. The graph at right shows the temperatures aloft as well as a dry adiabat line (` characters) starting at the surface forecast high temperature. This particular graph shows that the inversion at about 6000 MSL will effectively cap the thermals. The last table is raw data: P = pressure in millibars, H = height in feet, Tv = virtual temperature in degrees Celcius, T = temperature in degrees Celcius, DP = dewpoint in degrees Celcius, wind direction in degrees, wind speed in knots.

The Cloudbase Estimate

The cloudbase estimate is based on taking the average dewpoint in the lowest 500 meters (1600 feet) of the atmosphere as the surface dewpoint. The cloud base (in thousands of feet) is then estimated as the dewpoint depression (temperature minus dewpoint) in F divided by 4.4.

Virtual Temperature

The presence of water vapor in the air makes air less dense than dry air at the same temperature and pressure, the difference depending on the mixing ratio, or water to air ratio (by weight). The virtual temperature is the temperature a dry parcel of air would have at the same pressure and density. Since the buoyancy of an air parcel depends entirely on the density, it makes sense to calculate the thermal index based on the virtual temperature rather than the actual temperature. The difference, however, is usually small, being less than 1 degree in dry conditions, and only 4 degrees in extreme humidity (dewpoint >70 Fahrenheit).

Reading raw RAOB data

The raw data that was used to produce the above report is listed below: (actually this is not the "raw" data, but is a result of some pre-processing. The actual raw data is very similar, though).
FWD
00164 X X
92819 13070 18525
85525 10670 18011
70118 02273 23012
50575 13170 22513
40740 26767 26011
30941 43564 27018
25060 53962 28514
20200 62960 28534
15378 57761 28056
10629 64560 28041
88200 62960 28534
77999
 X X X X X X X X X X X X X X X X
996 09863
965 14671
800 08072
789 09273
675 00073
629 02372
524 13570
500 13170
268 50562
200 62960
161 61560
150 57761
100 64560
X
00 16004 01 16515 02 17531
03 19022 04 19517 05 18011
06 18509 07 20008 08 19508
09 21510
10 23012 12 21517 13 21019
14 22520 15 22519 16 22518
19 22512
20 22010 24 26012 25 26013
28 24511
30 26016 35 29014
46 28057
50 27547 53 27544
$
Most of it is easy to figure out by comparing it to the above report. The data comes in three sections: mandatory levels (first group, before the line of X's), significant levels (next group, before the line with the single X), and wind levels.

Each mandatory level has three blocks of numbers, with an X meaning missing data. For example, the sequence

   70118 02273 23012
means at the 700 mb level, the altitude is 3118 meters, the temperature is 2.2 C, the dewpoint depression is 23 C, and the wind is 230 at 12 knots. The 00 level is 1000 mb, and the altitudes are decoded differently for each level. My program doesn't use these, however, since they can be easily calculated from the other data values.

Temperatures ending in an odd tenth are negative, and those ending in an even tenth are positive. The two digits comprising the dewpoint depression (dpd) are decoded as follows: if code<=55 then dpd=code/10 else dpd=code-50. e.g. the digits 42 mean a dpd of 4.2 C and the digits 62 mean a dpd of 12 C. The final two levels, which start with 88 and 77, are the tropopause level and maximum wind level, respectively.

The significant levels consist of two blocks of number each: e.g.

   965 14671
means at the 965 millibar level the temp is 14.6 C and the dpd is 21 C. The last one is followed by an X.

The winds aloft section also consists of two blocks of numbers per level; e.g.

   09 21510
means at 9000 feet MSL the wind is 215 at 10 knots. The 00 level is the surface.

Info on RAOB stations and surface reporting stations

This is primarily for e-mail users.

List of valid SurfaceStation ids

Current as of April 10, 1998 Special thanks to Michael Steckner for supplying much of the data base. Cities are listed by State or Province ID (a few are listed under CN=Canada)
                                Prov/                                  Prov/
ID   NAME                       State  ID   Name                       State
---  ---------------------        --   ---  ----------------------       --
YYC  Calgary                      AB   YEG  Edmonton                     AB
PABE Bethel                       AK   PABI Delta Junction/Allen AAF     AK
PABR Barrow                       AK   PABT Bettles                      AK
PACD Cold Bay                     AK   PACV Cordova                      AK
PADL Dillingham                   AK   PADQ Kodiak                       AK
PAEN Kenai                        AK   PAFA Fairbanks                    AK
PAGK Gulkana                      AK   PAHO Homer                        AK
PAIN McKinley (Denali) Park       AK   PAJN Juneau                       AK
PAKN King Salmon                  AK   PAKT Ketchikan                    AK
PAMC McGrath                      AK   PANC Anchorage                    AK
PANT Annette Island               AK   PAOM Nome                         AK
PAOR Northaway                    AK   PAOT Kotzebue                     AK
PASC Deadhorse                    AK   PASI Sitka                        AK
PASN St. Paul Island              AK   PATK Talkeetna                    AK
PAWR Whittier                     AK   PAYA Yakutat                      AK
WLK  Selawik                      AK   AOA  Alabaster                    AL
DHN  Dothan                       AL   HSV  Huntsville                   AL
MGM  Montgomery                   AL   MOB  Mobile                       AL
BHM  Birmingham                   AL   FYV  Fayetteville                 AR
FSM  Fort Smith                   AR   LIT  Little Rock                  AR
FLG  Flagstaff                    AZ   PHX  Phoenix                      AZ
TUS  Tucson                       AZ   INW  Winslow                      AZ
YUM  Yuma                         AZ   GAZ  Globe                        AZ
YVR  Vancouver                    BC   YXS  Prince George                BC
BFL  Bakersfield                  CA   O58  Calistoga                    CA
LAX  Los Angeles                  CA   RDD  Redding                      CA
RIV  Riverside                    CA   SAC  Sacramento                   CA
SAN  San Diego                    CA   SFO  San Francisco                CA
LGB  Long Beach                   CA   FAT  Fresno                       CA
ACV  Arcata                       CA   WLG  Little Chicago               CN
WLF  Lansdowne House              CN   WIZ  L'Acadie                     CN
BVR  Byers                        CO   GJT  Grand Junction               CO
TAD  Trinidad                     CO   DEN  Denver                       CO
COS  Colorado Springs             CO   PUB  Pueblo                       CO
BDL  Hartford                     CT   DCA  Washington                   DC
IAD  Washington                   DC   ILG  Wilmington                   DE
LAL  Lakeland                     FL   PNS  Pensacola                    FL
GNV  Gainesville                  FL   DAB  Daytona Beach                FL
EYW  Key West                     FL   MCO  Orlando                      FL
FMY  Fort Myers                   FL   MIA  Miami                        FL
MLB  Melbourne                    FL   TLH  Tallahassee                  FL
TPA  Tampa                        FL   JAX  Jacksonville                 FL
PBI  West Palm Beach              FL   PFN  Panama City                  FL
DTS  Destin                       FL   BKV  Brooksville                  FL
AHN  Athens                       GA   SSI  Brunswick                    GA
ATL  Atlanta                      GA   CSG  Columbus                     GA
MCN  Macon                        GA   ABY  Albany                       GA
VLD  Valdosta                     GA   AGS  Augusta                      GA
SAV  Savannah                     GA   OKZ  Sandersville                 GA
MLI  Davenport                    IA   ALO  Waterloo                     IA
SUX  Sioux City                   IA   DSM  Des Moines                   IA
MCW  Mason City                   IA   LWS  Lewiston                     ID
MYL  McCall                       ID   PIH  Pocatello                    ID
BOI  Boise                        ID   SPI  Springfield                  IL
PIA  Peoria                       IL   ORD  Chicago                      IL
LWV  Lawrenceville                IL   RFD  Rockford                     IL
CMI  Champaign                    IL   SBN  South Bend                   IN
FWA  Fort Wayne                   IN   EVV  Evansville                   IN
IND  Indianapolis                 IN   SLN  Salina                       KS
DDC  Dodge City                   KS   GLD  Goodland                     KS
P28  Medicine Lodge               KS   CNK  Concordia                    KS
RSL  Russell                      KS   TOP  Topeka                       KS
CNU  Chanute                      KS   HUT  Hutchinson                   KS
HYS  Hays                         KS   ICT  Wichita                      KS
GCK  Garden City                  KS   WLD  Winfield                     KS
EHA  Elkhart                      KS   CFV  Coffeeville                  KS
EWK  Newton                       KS   K88  Iola                         KS
EQA  El Dorado                    KS   LBL  Liberal                      KS
MPR  McPherson                    KS   GBD  Great Bend                   KS
CVG  Covington                    KY   JKL  Jackson                      KY
LOZ  London                       KY   PAH  Paducah                      KY
SDF  Louisville                   KY   LEX  Lexington                    KY
ESF  Alexandria                   LA   SHV  Shreveport                   LA
MLU  Monroe                       LA   LFT  Lafayette                    LA
MSY  New Orleans                  LA   BTR  Baton Rouge                  LA
LCH  Lake Charles                 LA   CWF  Lake Charles                 LA
AEX  Alexandria                   LA   BOS  Boston                       MA
YWG  Winnipeg                     MB   YQD  The Pas                      MB
SBY  Salisbury                    MD   BWI  Baltimore                    MD
PWM  Portland                     ME   BGR  Bangor                       ME
CAR  Caribou                      ME   APN  Alpena                       MI
GRR  Grand Rapids                 MI   TVC  Traverse City                MI
MQT  Marquette                    MI   Y62  Sault Ste Marie              MI
DTW  Detroit                      MI   MKG  Muskegon                     MI
FNT  Flint                        MI   LAN  Lansing                      MI
STC  St Cloud                     MN   RST  Rochester                    MN
HIB  Hibbing                      MN   INL  International Fall           MN
MSP  Minneapolis                  MN   DLH  Duluth                       MN
BRD  Brainerd                     MN   JLN  Joplin                       MO
STL  St Louis                     MO   MCI  Kansas City                  MO
COU  Columbia                     MO   SGF  Springfield                  MO
MEI  Meridian                     MS   GPT  Gulfport                     MS
JAN  Jackson                      MS   BIX  Biloxi                       MS
MCB  McComb                       MS   FCA  Kalispell                    MT
MSO  Missoula                     MT   BIL  Billings                     MT
HVR  Havre                        MT   GTF  Great Falls                  MT
MLS  Miles City                   MT   GGW  Glasgow                      MT
HLN  Helena                       MT   ECG  Elizabeth City               NC
GSO  Greensboro                   NC   ILM  Wilmington                   NC
RDU  Raleigh-Durham               NC   CLT  Charlotte                    NC
HAT  Cape Hatteras                NC   AVL  Asheville                    NC
MOT  Minot                        ND   FAR  Fargo                        ND
BIS  Bismarck                     ND   GFK  Grand Forks                  ND
ISN  Williston                    ND   N60  Garrison                     ND
ONL  ONeill                       NE   IML  Imperial                     NE
ANW  Ainsworth                    NE   LXN  Lexington                    NE
LBF  North Platte                 NE   VTN  Valentine                    NE
BFF  Scottsbluff                  NE   GRI  Grand Island                 NE
BBW  Broken Bow                   NE   ODX  Ord                          NE
OMA  Omaha                        NE   OGA  Ogallala                     NE
CON  Concord                      NH   EWR  Newark                       NJ
ACY  Atlantic City                NJ   N40  Pittstown                    NJ
N50  Bridgetown                   NJ   TCC  Tucumcari                    NM
TCS  Truth or Conseq              NM   ROW  Roswell                      NM
GUP  Gallup                       NM   CNM  Carlsbad                     NM
ABQ  Albuquerque                  NM   SAF  Santa Fe                     NM
EKO  Elko                         NV   ELY  Ely                          NV
RNO  Reno                         NV   LAS  Las Vegas                    NV
WMC  Winnemucca                   NV   MSS  Massena                      NY
BUF  Buffalo                      NY   ROC  Rochester                    NY
BGM  Binghamton                   NY   SYR  Syracuse                     NY
ALB  Albany                       NY   JFK  New York                     NY
LGA  New York/Laguardia           NY   CLE  Cleveland                    OH
YNG  Youngstown                   OH   DAY  Dayton                       OH
TOL  Toledo                       OH   CAK  Akron                        OH
CMH  Columbus                     OH   PMH  Portsmouth                   OH
AOH  Lima                         OH   AXV  Wapakoneta                   OH
MLC  McAlester                    OK   LTS  Altus                        OK
PNC  Ponca City                   OK   GAG  Gage                         OK
TUL  Tulsa                        OK   OKC  Norman                       OK
BVO  Bartlesville                 OK   HBR  Hobart                       OK
MKO  Muskogee                     OK   MIO  Miami                        OK
F10  Henryetta                    OK   GUY  Guymon                       OK
DUA  Durant                       OK   HHW  Hugo                         OK
YYB  North Bay                    ON   YQT  Thunder Bay                  ON
MFR  Medford                      OR   PDT  Pendleton                    OR
PDX  Portland                     OR   EUG  Eugene                       OR
OTH  North Bend                   OR   RDM  Redmond                      OR
AST  Astoria                      OR   BNO  Burns                        OR
SLE  Salem                        OR   BFD  Bradford                     PA
CXY  Harrisburg                   PA   ERI  Erie                         PA
PIT  Pittsburgh                   PA   ABE  Allentown                    PA
AVP  Scranton                     PA   IPT  Williamsport                 PA
PHL  Philadelphia                 PA   N70  Perkasie                     PA
PBZ  Corapolis                    PA   SJU  San Juan                     PR
YQB  Quebec                       QB   PVD  Providence                   RI
MYR  Myrtle Beach                 SC   CHS  Charleston                   SC
AND  Anderson                     SC   CAE  Columbia                     SC
FLO  Florence                     SC   GSP  Greenville-Spartan           SC
RAP  Rapid City                   SD   ABR  Aberdeen                     SD
PIR  Pierre                       SD   HON  Huron                        SD
FSD  Sioux Falls                  SD   YPA  Prince Albert                SK
YQR  Regina                       SK   BNA  Nashville                    TN
TYS  Knoxville                    TN   TRI  Bristol                      TN
MEM  Memphis                      TN   CHA  Chattanooga                  TN
APT  Jasper                       TN   ACT  Waco                         TX
CRP  Corpus Christi               TX   ELP  El Paso                      TX
MAF  Midland                      TX   P07  Sanderson                    TX
AUS  Austin                       TX   DFW  Dallas                       TX
SJT  San Angelo                   TX   VCT  Victoria                     TX
AMA  Amarillo                     TX   LBB  Lubbock                      TX
MRF  Marfa                        TX   SPS  Wichita Falls                TX
DHT  Dalhart                      TX   BPT  Beaumont                     TX
DRT  Del Rio                      TX   MFE  McAllen                      TX
LFK  Lufkin                       TX   F75  Knox City                    TX
ABI  Abilene                      TX   BRO  Brownsville                  TX
IAH  Houston                      TX   SAT  San Antonio                  TX
SLC  Salt Lake City               UT   CDC  Cedar City                   UT
LYH  Lynchburg                    VA   DAN  Danville                     VA
ROA  Roanoke                      VA   ORF  Norfolk                      VA
RIC  Richmond                     VA   BCB  Blacksburg                   VA
STT  Charlotte Amalie             VI   BTV  Burlington                   VT
HQM  Hoquiam                      WA   UIL  Quillayute                   WA
YKM  Yakima                       WA   GEG  Spokane                      WA
SEA  Seattle                      WA   OLM  Olympia                      WA
EAU  Eau Claire                   WI   MKE  Milwaukee                    WI
GRB  Green Bay                    WI   MSN  Madison                      WI
HYR  Hayward                      WI   BLF  Bluefield                    WV
HTS  Huntington                   WV   LWB  Lewisburg                    WV
BKW  Beckley                      WV   CRW  Charleston                   WV
CYS  Cheyenne                     WY   CPR  Casper                       WY
RKS  Rock Springs                 WY   LND  Lander                       WY
SHR  Sheridan                     WY   EVR  ???                            
PAZ  ???                               PRT  ???                            
RNK  ???                               BEL  ???                            
IDB  ???                               LYN  ???                            
RGD  ???                               MN6  ???                            
MN7  ???                               LOW  ???                            
PDS  ???                               HUG  ???                            
MAR  ???                               BYV  ???                            
BOO  ???                               UVL  ???                            
N80  ???                               NJ1  ???                            
HYD  ???                               PMT  ???                            
HEB  ???                               MN4  ???                            
RGC  ???                               ZNS  ???                            

List of valid UpperStation ids

Current as of Dec. 8, 1997.
Note: the list of stations is constantly changing.

United States


ident WMO #   lat   long   elev op date name                    State alt. id
----- -----  ----- ------ ----  ------  -----------------------  --   -------
 BRW  70026  71.30 156.78   12  770616  POINT BARROW             AK
 OTZ  70133  66.87 162.63    5  421026  KOTZEBUE                 AK
 OME  70200  64.50 165.43    5  660429  NOME AP                  AK
 BET  70219  60.78 161.80   36  811101  BETHEL                   AK
 MCG  70231  62.97 155.62  103  420411  MCGRATH                  AK
 FAI  70261  64.82 147.87  135  520113  FAIRBANKS                AK
 ANC  70273  61.17 150.02   45  640709  ANCHORAGE IAP/PT. CAMPBE AK
 SNP  70308  57.15 170.22   10  561201  ST PAUL ISLAND           AK
 CDB  70316  55.20 162.72   30  610422  COLD BAY                 AK
 AKN  70326  58.68 156.65   15  551213  KING SALMON              AK
 ADQ  70350  57.75 152.48    4  730201  KODIAK                   AK
 YAK  70361  59.52 139.67   10  491001  YAKUTAT                  AK
 ANN  70398  55.03 131.57   37  510701  ANNETTE ISLAND           AK
 SYA  70414  52.72 174.10   37  800101  SHEMYA                   AK
 ADK  70454  51.88 176.65    5  920727  ADAK/DAVIS AFB           AK
 BMX  72230  33.10  86.70  178  940823  BIRMINGHAM (SHELBY APT)  AL
 1M1  72340  34.83  92.27  172  751219  N LITTLE ROCK            AR (or LZK)
 TUS  72274  32.12 110.93  788  860328  TUSCON                   AZ
 GBN  74724  32.95 112.67  262  940101  GILA BEND AAF            AZ 
 FLG  72376  35.23 111.82 2179  950823  FLAGSTAFF/BELLEMT (ARMY) AZ (or FSX)
 NKX  72293  32.87 117.15  147  890915  MIRAMAR NAS              CA (or MYF)
 OAK  72493  37.75 122.22    6  661221  OAKLAND  INT AP          CA 
 EDW  72381  34.90 117.92  724  930104  EDWARDS/AFB - UPPER AIR  CA 
 VBG  72393  34.75 120.57  100  651203  VANDENBERG               CA 
 NID  74612  35.68 117.68  681  730501  INYOKERN/CHINA LAKE NAF  CA 
 FCS  72468  38.70 104.77 1788  880506  FORT CARSON/ARMY         CO 
 DEN  72469  39.77 104.88 1611  561114  DENVER/STAPLETON ARPT    CO (or DNR)
 GJT  72476  39.12 108.53 1472  690101  GRAND JUNCTION           CO 
 EYW  72201  24.55  81.75    1  720629  KEY WEST INT AP          FL
 MFL  72202  25.75  80.38    4  950721  MIAMI/FL INTL UNIV       FL (or MIA)
 JAX  72206  30.43  81.70   10  950124  JACKSONVILLE             FL
 TBW  72210  27.70  82.40   13  750723  TAMPA BAY/RUSKIN         FL
 XMR  74794  28.48  80.55    5  631200  CAPE KENNEDY             FL 
 TLH  72214  30.38  84.37   25  910612  TALLAHASEE               FL
 VPS  72221  30.52  86.58   20  880415  VALPARAISO/ELGIN AFB     FL
 FFC  72215  33.35  84.56  246  940830  PEACHTREE CITY           GA
 LIH  91165  21.98 159.35   36  500300  LIHUE/KAUAI              HI 
 ITO  91285  19.72 155.07   10  700129  HILO                     HI 
 DVN  74455  41.60  90.57  229  950214  DAVENPORT MUNICIPAL AP   IA 
 BOI  72681  43.57 116.22  871  690809  BOISE                    ID 
 ILX  74560  40.15  89.33  178  950210  LINCOLN-LOGAN COUNTY AP  IL 
 DDC  72451  37.77  99.97  791  631228  DODGE CITY               KS 
 TOP  72456  39.07  95.62  268  690101  TOPEKA                   KS 
 SIL  72233  30.33  89.82    8  880619  SLIDELL                  LA (or LIX)
 LCH  72240  30.12  93.22    5  611231  LAKE CHARLES             LA
 SHV  72248  32.45  93.83   84  950221  SHREVEPORT REGIONAL AP   LA
 CHH  74494  41.67  69.97   16  701118  CHATHAM                  MA 
 APG  74002  39.47  76.07    5  950209  PHILLIPS AFB, ABERDEEN   MD 
 GYX  74389  43.89  70.25  125  940922  GRAY                     ME 
 CAR  72712  46.87  68.02  191  540904  CARIBOU                  ME 
 DTX  72632  42.70  83.47  329  940914  DETROIT/PONTIAC          MI 
 Y62  72734  46.47  84.37  221  910619  SAULT STE MARIE          MI (or SSM)
 APX  72634  44.55  84.43  448  950503  GAYLORD / ALPENA         MI
 MPX  72649  44.83  93.55  287  950602  MINNEAPOLIS              MN 
 INL  72747  48.57  93.38  359  691101  INTERNATIONAL FALLS      MN 
 SGF  72440  37.23  93.40  394  950518  SPRINGFIELD REGIONAL AP  MO 
 JAN  72235  32.32  90.07   91  780918  JACKSON/THOMPSON FLD     MS
 GGW  72768  48.20 106.62  693  950829  GLASGOW                  MT 
 TFX  72776  47.45 111.38 1130  940915  GREAT FALLS              MT 
 MHX  72305  34.70  76.80   11  940719  MOREHEAD CITY/NEWPORT    NC
 GSO  72317  36.08  79.95  277  801224  GREENSBORO               NC
 BIS  72764  46.77 100.75  503  690101  BISMARCK                 ND 
 OAX  72558  41.32  96.37  350  940513  OMAHA/VALLEY             NE 
 LBF  72562  41.13 100.68  847  690101  NORTH PLATTE             NE 
 ABQ  72365  35.05 106.62 1619  510905  ALBUQUERQUE              NM 
 EPZ  72364  31.90 106.70 1257  950911  SANTA TERESA             NM 
 DRA  72387  36.62 116.02 1007  780516  DESERT ROCK/MERCURY      NV 
 REV  72489  39.57 119.80 1516  941026  RENO                     NV 
 LKN  72582  40.87 115.73 1608  950805  ELKO                     NV (or EKO)
 OKX  72501  40.87  72.87   20  940829  BROOKHAVEN               NY 
 ALB  72518  42.75  73.80   86  551019  ALBANY                   NY 
 BUF  72528  42.93  78.73  218  600820  BUFFALO/GRTR ARPT        NY 
 ILN  72426  39.42  83.82  317  950928  WILMINGTON               OH 
 OUN  72357  35.23  97.47  362  890328  NORMAN                   OK 
 MFR  72597  42.37 122.87  397  840814  MEDFORD                  OR 
 SLE  72694  44.92 123.02   61  560601  SALEM                    OR 
 PIT  72520  40.53  80.23  360  700213  PITTSBURGH/MOON TOWNSHIP PA 
 CHS  72208  32.90  80.03   15  500716  CHARLESTON               SC
 ABR  72659  45.45  98.42  397  941120  ABERDEEN                 SD 
 UNR  72662  44.07 103.21 1037  951108  RAPID CITY               SD (or RAP)
 BNA  72327  36.25  86.57  180  631028  NASHVILLE                TN 
 FTD  72249  32.80  97.30  196  940712  FT WORTH                 TX (or FWD)
 BRO  72250  25.90  97.43    7  510101  BROWNSVILLE              TX
 CRP  72251  29.77  97.50   14  891111  CORPUS CHRISTI           TX
 AMA  72363  35.23 101.70 1095  561231  AMARILLO                 TX 
 DRT  72261  29.37 100.92  313  630304  DEL RIO                  TX
 MAF  72265  31.93 102.20  873  720418  MIDLAND                  TX
 SLC  72572  40.77 111.97 1288  560807  SALT LAKE CITY           UT 
 WAL  72402  37.93  75.48   13  840601  WALLOPS ISLAND           VA 
 RNK  72318  37.20  80.41  648  951109  ROANOKE/BLACKSBURG       VA 
 IAD  72403  38.98  77.47   85  601011  STERLING(WASH DULLES)    VA 
 OTX  72786  47.68 117.63  728  950921  SPOKANE INTNL APT        WA (or GEG)
 UIL  72797  47.95 124.55   56  661010  QUILLAYUTE               WA 
 GRB  72645  44.48  88.13  210  640814  GREEN BAY                WI 
 HTS  72425  38.37  82.55  246  611201  HUNTINGTON               WV 
 RIW  72672  43.06 108.47 1688  940829  RIVERTON                 WY 
 JSJ  78526  18.43  66.00    3  750224  SAN JUAN/ISLA VERDE      PR 

Canada

                                                                Prov
                                                                ----
 YVQ  71043  65.28 126.75   95  841101  NORMAN WELLS (UA)        NW
 YMD  71072  76.23 119.33   58  770701  MOULD BAY                NW
 YUX  71081  68.78  81.25    7  770701  HALL BEACH/HALL LK       NW
 YLT  71082  82.50  62.33   66  770701  ALERT                    NW
 YZT  71109  50.68 127.37   17  770701  PORT HARDY               BC
 WSE  71119  53.55 114.10  766  770701  EDMONTON/STONY PLAIN     AB
 WZB  71197  47.57  59.17   40  940000  PORT-AUX-BASQUES         NF
 YLW  71203  49.97 119.38  430  940000  KELOWNA APT              BC
 YSA  71600  43.93  60.02    4  770701  SABLE ISLAND             NS
 WQI  71603  43.87  66.05    9  880901  YARMOUTH                 NS
 YWA  71625  45.95  77.32  130  770701  PETAWAWA/ARPT            ON
 YCX  71701  45.83  66.43   52  870107  GAGETOWN                 NB
 YOY  71716  46.90  71.50  178  870101  VALCARTIER               QB
 YMW  71722  46.38  75.97  170  770701  MANIWAKI                 PQ
 YYT  71801  47.67  52.75  140  770701  TORBAY/ST JOHNS          NF
 YZV  71811  50.22  66.27   52  770701  SEPT ILES (UA)           PQ
 YYR  71816  53.30  60.37   36  770701  GOOSE/GOOSE BAY          NF
 YAH  71823  53.75  73.67  307  851201  LA GRANDE IV             PQ
 YMO  71836  51.27  80.65   10  770701  MOOSONEE                 PQ
 WPL  71845  51.47  90.20  373  911002  PICKLE LAKE              ON
 YLO  71853  49.82  99.65  382  870127  SHILO                    MB
 YXE  71866  52.16 106.68  504  940000  SASKATOON AIRPORT        AB
 YQD  71867  53.97 101.10  273  770701  THE PAS                  MB
 YXS  71896  53.88 122.68  675  860600  PRINCE GEORGE            BC
 YVP  71906  58.10  68.42   60  851101  KUUJJUAQ (UA)            PQ
 YPH  71907  58.45  78.12    7  770701  INUKJUAK                 PQ
 YVN  71909  63.75  68.55   21  870201  IQALUIT (UA)             NW
 YYQ  71913  58.75  94.07   29  770701  CHURCHILL                MB
 YZS  71915  64.20  83.37   57  850801  CORAL HARBOUR            NW
 YEU  71917  79.98  85.93   10  770701  EUREKA                   NW
 YRB  71924  74.72  94.98   40  770701  RESOLUTE                 NW
 YCB  71925  69.10 105.12   25  770701  CAMBRIDGE BAY            NW
 YBK  71926  64.30  96.00   49  800403  BAKER LAKE (UA)          NW
 YSM  71934  60.03 111.95  203  770701  FT SMITH (UA)            NW
 YYE  71945  58.83 122.60  377  830101  FORT NELSON UA           BC
 YEV  71957  68.32 133.53  103  770701  INUVIK (UA)              NW
 YXY  71964  60.72 135.07  704  770701  WHITEHORSE               YK

Mexico


 IGP  76151  28.87 118.25   23  710116  GUADALUPE ISLAND   
 MCV  76225  28.70 106.07 1428  670701  CHIHUAHUA          
 GYM  76256  27.95 110.80   12  650205  EMPALME SONORA     
 TRC  76382  25.53 103.45 1150  940000  TORREON AIRPORT    
 MTY  76394  25.87 100.20  450  700801  MONTERREY          
 LAP  76405  24.07 110.33   14  910705  LA PAZ/DE LEON     
 MZT  76458  23.18 106.42    4  630831  MAZATLAN SINALOA   
 CUN  76595  21.03  86.92   10  950000  CANCUN
 GDL  76612  20.68 103.33 1551  790301  GUADALAJARA        
 MID  76644  20.95  89.65   11  681221  MERIDA IAP         
 ZLO  76654  19.07 104.33    3  760716  MANZANILLO         
 MEX  76679  19.43  99.07 2234  700821  MEXICO CITY/INT APT 
 VER  76692  19.17  96.12   13  640301  VERACRUZ           
 SIC  76723  18.72 110.95   34  800701  SOCORRO ISLAND     
 ACA  76805  16.05  99.93    3  930101  ACCAPULCO          

Caribbean


 XKF  78016  32.37  64.68   25  690831  BERMUDA/(MCKINDLY AFB)   BE
 YNN  78073  25.05  77.47    2  771214  NASSAU APT               BM
 KCR  78384  19.30  81.37    3  560814  GRAND CAYMAN             CI
 KJP  78397  17.93  76.78    1  630515  KINGSTON/PALISADOES      JA
 SDQ  78486  18.47  69.88   14  620806  SANTO DOMINGO            DR
 BLB  78806   8.98  79.60   66  870108  BALBOA/ALBROOK AFB       PN
 ACM  78866  18.05  63.12    3  660629  SINT MARTIN/JULIANA      NA
 FFR  78897  16.27  61.52    8  880501  POINT A PITRE/RAIZET     GU
 BDI  78954  13.07  59.50   47  711027  SEAWELL APT              BA
 KPP  78970  10.58  61.35   12  691212  TRINIDAD/PIARCO IAP      TR
 ACC  78988  12.20  68.97   54  760523  CURACAO/WILLEMSTAD       NA

Acknowledgement

Special thanks for help in setting up this server to John Kemp, Ken Bowman, Neil Smith, Gary Helmstetter, Mike Abernathy and Bill Dolson.