Thermal Index Report Generator

(ti)

by
Kevin Ford

updated 28 March 2002

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

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.