mweather/CODES0000644000175000017500000030720510554400302012146 0ustar mattmatt# Full listing of METAR location codes, taken nicely from # https://weather.noaa.gov/weather/ccworld.html # Contributed to mweather by Equinoxe 22/01/2001 -Albania LATI -> Tirana + -Angola FNLU -> Luanda + -Antarctic NZCM -> Williams Field + -Antigua and Barbuda TAPA -> Vc Bird International Airport Antigua + -Algeria DAUA -> Adrar DABB -> Annaba DABC -> Constantine DAAG -> Dar-El-Beida DAUG -> Ghardaia DAUH -> Hassi-Messaoud DAUZ -> In Amenas DAOO -> Oran / Es Senia DAAT -> Tamanrasset / Aguenna DABS -> Tebessa DAON -> Tlemcen Zenata + -Argentina SABE -> Aeroparque Bs. As. Aerodrome SAZB -> Bahia Blanca Aerodrome SAZS -> Bariloche Aerodrome SAVC -> Comodoro Rivadavia Aerodrome SAAC -> Concordia Aerodrome SACO -> Cordoba Aerodrome SARC -> Corrientes Aero. SADD -> Don Torcuato Aerodrome SAEZ -> Ezeiza Aerodrome SARF -> Formosa Aerodrome SARI -> Iguazu Aerodrome SASJ -> Jujuy Aerodrome SAZM -> Mar Del Plata Aerodrome SAME -> Mendoza Aerodrome SAZN -> Neuquen Aerodrome SARL -> Paso De Los Libres Aerodrome SARP -> Posadas Aero. SARE -> Resistencia Aero. SAWG -> Rio Gallegos Aerodrome SAWE -> Rio Grande B. A. SAAR -> Rosario Aerodrome SASA -> Salta Aerodrome SANU -> San Juan Aerodrome SANE -> Santiago Del Estero Aero. SAAV -> Sauce Viejo Aerodrome SAVT -> Trelew Aerodrome SANT -> Tucuman Aerodrome SAOR -> Villa Reynolds Aerodrome + -Armenia UGEE -> Yerevan + -Aruba TNCA -> Queen Beatrix Airport, Aruba + -Australia YPAD -> Adelaide Airport YBAS -> Alice Springs Aerodrome YPPH -> Belmont Perth Airport YBBN -> Brisbane Airport M. O YBRM -> Broome Airport YPEA -> Bullsbrook Pearce Amo YBCS -> Cairns Airport YSCB -> Canberra YPDN -> Darwin Airport YSDU -> Dubbo YMHB -> Hobart Airport YPTN -> Katherine Aerodrome YPLM -> Learmonth Airport YMML -> Melbourne Airport YSNF -> Norfolk Island Airport YPPD -> Port Hedland Pardoo YSRI -> Richmond Aus-Afb YBRK -> Rockhampton Airport YSSY -> Sydney Airport YBTL -> Townsville Amo + -Austria LOWG -> Graz-Thalerhof-Flughafen LOWI -> Innsbruck-Flughafen LOWK -> Klagenfurt-Flughafen LOWL -> Linz / Hoersching-Flughafen LOWS -> Salzburg-Flughafen LOWW -> Wien / Schwechat-Flughafen + -Azerbaijan UBBB -> Baku / Bine Airport + -Bahamas MYGF -> Freeport, Grand Bahama MYNN -> Nassau Airport + -Bahrain OBBI -> Bahrain International Airport + -Bangladesh VGEG -> Chittagong Patenga VGZR -> Kurmitola, Dia + -Barbados TBPB -> Grantley Adams + -Belarus UMMS -> Minsk EVRA -> Riga Airport UMII -> Vitebsk + -Belgium EBAW -> Antwerpen / Deurne EBBE -> Beauvechain EBLG -> Bierset EBBT -> Brasschaat EBBR -> Bruxelles National EBCI -> Charleroi / Gosselies EBCV -> Chievres EBLB -> Elsenborn EBFS -> Florennes EBTN -> Goetsenhoven EBBL -> Kleine Brogel EBFN -> Koksijde EBOS -> Oostende Airport EBDT -> Schaffen EBSP -> Spa / La Sauveniere + -Belize MZBZ -> Belize / Phillip Goldston Intl. Airport + -Benin DBBB -> Cotonou + -Bermuda TXKF -> Bermuda + -Bolivia SLCA -> Camiri SLCN -> Charana SLCO -> Cobija SLCB -> Cochabamba SLCP -> Concepcion SLLP -> La Paz / Alto SLMG -> Magdalena SLOR -> Oruro SLPO -> Potosi SLPS -> Puerto Suarez SLRY -> Reyes SLRI -> Riberalta SLRB -> Robore SLRQ -> Rurrenabaque SLSI -> San Ignacio De Velasco SLJO -> San Joaquin SLJE -> San Jose De Chiquitos SLSA -> Santa Ana SLSU -> Sucre SLTJ -> Tarija SLTR -> Trinidad SLVM -> Villamontes SLVR -> Viru-Viru SLYA -> Yacuiba + -Botswana FBFT -> Francistown FBGZ -> Ghanzi FBJW -> Jwaneng FBKE -> Kasane FBMN -> Maun FBSK -> Seretse Khama International Airport FBSW -> Shakawe FBTS -> Tsabong FBTE -> Tshane + -Brazil SBAF -> Afonsos Aeroporto SBAT -> Alta Floresta Aeroporto SBHT -> Altamira SBAR -> Aracaju Aeroporto SBBG -> Bage Aeroporto SBBU -> Bauru SBBE -> Belem Aeroporto SBCF -> Belo Horizonte SBBH -> Belo Horizonte Aeroporto SBBV -> Boa Vista Aeropor-To SBBR -> Brasilia Aeroporto SBKG -> Campina Grande SBKP -> Campinas Aeroporto SBCG -> Campo Grande Aeroporto SBCV -> Caravelas Aeropor-To SBAA -> Conceicao Do Araguaia SBCR -> Corumba SBCY -> Cuiaba Aeroporto SBBI -> Curitiba SBCT -> Curitiba Aeroporto SBEG -> Eduardo Gomes International SBFN -> Fernando De Noronha SBFL -> Florianopolis Aeroporto SBFZ -> Fortaleza Aeropor-To SBFI -> Foz Do Iguacu Aeroporto SBGL -> Galeao SBGO -> Goiania Aeroporto SBGW -> Guaratingueta SBGR -> Guarulhos Civ / Mil SBIL -> Ilheus Aeroporto SBIZ -> Imperatriz SBIH -> Itaituba SBLO -> Londrina Aeroporto SBME -> Macae SBMQ -> Macapa SBMO -> Maceio Aeroporto SBMN -> Manaus Aeroporto SBMA -> Maraba SBMT -> Marte Civ / Mil SBNT -> Natal Aeroporto SBPK -> Pelotas SBYS -> Pirassununga SBPC -> Pocos De Caldas SBPP -> Ponta Pora Aeropor-To SBCO -> Porto Alegre SBPA -> Porto Alegre Aero-Porto SBPN -> Porto Nacional Aeroporto SBPV -> Porto Velho Aeroporto SBDN -> Presidente Prudente SBRF -> Recife Aeroporto SBJR -> Rio / Jacarepagua SBRB -> Rio Branco SBRJ -> Rio De Janeiro Aeroporto SBSV -> Salvador Aeroporto SBSC -> Santa Cruz Aeropor-To SBSM -> Santa Maria Aero-Porto SBSN -> Santarem-Aeroporto SBST -> Santos Aeroporto SBSJ -> Sao Jose Dos Campo SBSL -> Sao Luiz Aeroporto SBSP -> Sao Paulo Aeropor-To SBTT -> Tabatinga SBTF -> Tefe SBTE -> Teresina Aeroporto SBTU -> Tucurui SBUR -> Uberaba SBUG -> Uruguaiana Aeroporto SBVH -> Vilhena Aeroporto SBVT -> Vitoria Aeroporto + -British Indian Ocean Territory FJDG -> Diego Garcia + -Brunei Darussalam WBSB -> Brunei Airport + -Bulgaria LBBG -> Burgas LBPD -> Plovdiv LBSF -> Sofia Observ. LBWN -> Varna + -Burundi HBBA -> Bujumbura + -Cambodia VDPP -> Phnom-Penh / Pochentong + -Cameroon FKKD -> Douala Obs. + -Canada CYXX -> Abbotsford, B. C. CYBG -> Bagotville, Que. CYYC -> Calgary International, Alta. CYCB -> Cambridge Bay, N. W. T. CYCH -> Chatham Can-Mil CZUM -> Churchill Falls, Nfld. CYYQ -> Churchill, Man. CYOD -> Cold Lake, Alta. CYQQ -> Comox, B. C. CYZS -> Coral Harbour, N. W. T. CYEG -> Edmonton International, Alta. CYET -> Edson, Alta. CZFM -> Fort Mcpherson Airport CYFC -> Fredericton, N. B. CYQX -> Gander Int. Airport, Nfld. CYYR -> Goose, Nfld. CYZX -> Greenwood, N. S. CYHZ -> Halifax International Airport CYFB -> Iqaluit, N. W. T. CYAH -> La Grande Iv, Que. CYGL -> La Grande Riviere, Que CYZY -> Mackenzie, B. C. CYNM -> Matagami, Que. CYXH -> Medicine Hat, Alta. CYQM -> Moncton, N. B. CYUL -> Montreal / Dorval International, Que CYMX -> Montreal / Mirabel CYBU -> Nipawin, Sask. CYOC -> Old Crow Airport CYOW -> Ottawa Int'L. Ont. CYYF -> Penticton, B. C. CYZT -> Port Hardy, B. C. CYPG -> Portage Southport A CYQB -> Quebec, Que CYUY -> Rouyn Airport CWZZ -> Saglek Bay CYAY -> Saint Anthony Airport CYZV -> Sept-Iles, Que. CYAW -> Shearwater, N. S. CYUA -> Shingle Point, Y. T. CYYT -> St. John's, Nfld CYJT -> Stephenville, Nfld. CYYN -> Swift Current, Sask. CYQY -> Sydney, N. S. CYTH -> Thompson Weather Office, Man CYYZ -> Toronto Pearson Int'L. Ont. CYTR -> Trenton, Ont. CYVR -> Vancouver International Air-Port, B. C. CYYJ -> Victoria Int. Airportb. C. CYQG -> Windsor, Ont. CYWG -> Winnipeg Int. Airportman. CYZF -> Yellowknife, N. W. T. + -Cape Verde GVAC -> Sal + -Cayman Islands MWCR -> Owen Roberts Airportgrand Cayman + -Central African Republic FEFF -> Bangui + -Chad FTTJ -> Ndjamena + -Chile SCFA -> Antofagasta SCAR -> Arica SCIE -> Concepcion SCHA -> Copiapo SCDA -> Iquique / Diego Arac SCIP -> Isla De Pascua SCSE -> La Serena SCEL -> Pudahuel SCTE -> Puerto Montt SCCI -> Punta Arenas + -China ZBAA -> Beijing ZUUU -> Chengdu ZYTL -> Dalian ZGGG -> Guangzhou ZSHC -> Hangzhou ZSOF -> Hefei ZPPP -> Kunming ZGNN -> Nanning ZSSS -> Shanghai / Hongqiao ZGSZ -> Shenzhen ZBYN -> Taiyuan ZBTJ -> Tianjin / Zhangguizhu ZWWW -> Urum-Qi / Diwopu ZSAM -> Xiamen + -Christmas Island YPXM -> Christmas Island Aerodrome YPCC -> Cocos Island Airport + -Colombia SKBQ -> Barranquilla / Ernestocortissoz SKBO -> Bogota / Eldorado SKBG -> Bucaramanga / Palonegro SKCL -> Cali / Alfonso Bonillaaragon SKCG -> Cartagena / Rafael Nunez SKLT -> Leticia / Vasquez Cobo SKMD -> Medellin / Olaya Herrera SKPE -> Pereira / Matecana SKRG -> Rionegro / J. M. Cordova SKSP -> San Andres Isla / Sesquicentenario SKSM -> Santa Marta / Simon Bolivar + -Comoros FMCZ -> Dzaoudzi / Pamanzi Mayotte FMCH -> Hahaya International Airport + -Congo FCBB -> Brazzaville / Maya-Maya FCPP -> Pointe-Noire + -Cook Islands NCRG -> Rarotonga + -Costa Rica MRCH -> Chacarita MROC -> Juan Santamaria MRLB -> Liberia MRLM -> Puerto Limon MRPV -> Tobias Bolanos International + -Cote D'Ivoire DIAP -> Abidjan + -Croatia LDDU -> Dubrovnik / Cilipi LDPL -> Pula Aerodrome LDRI -> Rijeka / Omisalj LDSP -> Split / Resnik LDZD -> Zadar / Zemunik LDZA -> Zagreb / Pleso + -Cuba MUHA -> Aeropuerto Jose Mar-Ti, Rancho-Boyeros, Habana MUBA -> Baracoa, Oriente MUBY -> Bayamo MUCM -> Camaguey Aeropuerto MUCL -> Cayo Largo Del Sur MUGT -> Guantanamo, Oriente MUHG -> Holguin Civ / Mil MUVT -> Las Tunas, Las Tunas MUMZ -> Manzanillo, Oriente MUMO -> Moa Military MUNG -> Nueva Gerona, Isla De Pinos MUCU -> Santiago De Cuba, Oriente MUVR -> Varadero, Matanzas MUCA -> Venezuela, Ciego De Avila + -Cyprus LCRA -> Akrotiri LCEN -> Ercan LCLK -> Larnaca Airport LCPH -> Paphos Airport + -Czech Republic LKTB -> Brno / Turany LKMT -> Ostrava / Mosnov LKPR -> Praha / Ruzyne + -Denmark EKYT -> Aalborg EKBI -> Billund Lufthavn EKEB -> Esbjerg EKKA -> Karup EKCH -> Koebenhavn / Kastrup EKRK -> Koebenhavn / Roskilde EKMB -> Maribo Lufthavn EKOD -> Odense / Beldringe EKRN -> Roenne EKSN -> Sindal Flyveplads EKSV -> Skive Lufthavn EKSP -> Skrydstrup EKSB -> Soenderborg Lufthavn EKVG -> Soervaag / Vagar EKVJ -> Stauning Lufthavn EKTS -> Thisted Lufthavn EKAH -> Tirstrup EKVL -> Vaerloese EKVD -> Vamdrup EKVA -> Vandel + -Djibouti HDAM -> Djibouti \ Ambouli + -Dominica TDCF -> Canefield Airport TDPD -> Melville Hall Airport + -Dominican Republic MDLR -> La Romana International Airport MDSD -> Las Americas MDPP -> Puerto Plata International MDPC -> Punta Cana MDST -> Santiago + -Ecuador SEGU -> Guayaquil / Simon Bolivar SELT -> Latacunga SEMT -> Manta SEQU -> Quito / Mariscal Sucre + -Egypt HEAX -> Alexandria / Nouzha HESN -> Asswan HECA -> Cairo Airport HELX -> Luxor HEMM -> Mersa Matruh HEPS -> Port Said HESH -> Sharm El Sheikhintl + -El Salvador MSAC -> Acajutla MSLP -> El Salvador Intl. Airport / Comalapa MSSM -> San Miguel / El Papalon MSSS -> San Salvador / Ilopango MSSA -> Santa Ana / El Palmar + -Ethiopia HAAB -> Addis Ababa HADR -> Dire Dawa + -Fiji NFFN -> Nandi NFNA -> Nausori + -Finland EFHF -> Helsinki-Malmi EFHK -> Helsinki-Vantaa EFIV -> Ivalo EFJY -> Jyvaskyla EFKE -> Kemi EFKK -> Kruunupyy EFKU -> Kuopio EFMA -> Mariehamn / Aland Island EFOU -> Oulu EFPO -> Pori EFRO -> Rovaniemi EFTP -> Tampere / Pirkkala EFTU -> Turku EFVA -> Vaasa + -France LFBA -> Agen LFKJ -> Ajaccio LFSB -> Bale-Mulhouse LFKB -> Bastia LFOB -> Beauvais LFBZ -> Biarritz LFBD -> Bordeaux / Merignac LFLD -> Bourges LFRB -> Brest LFRK -> Caen LFKC -> Calvi LFMD -> Cannes LFBC -> Cazaux LFLB -> Chambery / Aix-Les-Bains LFRC -> Cherbourg / Maupertus LFLC -> Clermont-Ferrand LFBG -> Cognac LFSC -> Colmar LFSD -> Dijon LFRD -> Dinard LFOE -> Evreux LFKF -> Figari LFLS -> Grenoble / St. Geoirs LFTH -> Hyeres LFOH -> La Heve LFRH -> Lann Bihoue LFRO -> Lannion / Servel LFRM -> Le Mans LFAT -> Le Touquet LFQQ -> Lille LFBL -> Limoges LFSX -> Luxeuil LFLY -> Lyon / Bron LFLL -> Lyon / Satolas LFML -> Marseille / Marignane LFSF -> Metz / Frescaty LFJL -> Metz-Nancy-Lorraine LFBM -> Mont-De-Marsan LFMT -> Montpellier LFSN -> Nancy / Essey LFSO -> Nancy / Ochey LFRS -> Nantes LFMN -> Nice LFTW -> Nimes / Garons LFPB -> Paris / Le Bourget LFPG -> Paris-Aeroport Charles De Gaulle LFPO -> Paris-Orly LFBP -> Pau LFMP -> Perpignan LFBI -> Poitiers LFRQ -> Quimper LFSR -> Reims LFRN -> Rennes LFOP -> Rouen LFRT -> Saint-Brieuc LFSI -> St-Dizier LFMH -> St-Etienne Boutheon LFCG -> St-Girons LFRZ -> St-Nazaire LFST -> Strasbourg LFBT -> Tarbes / Ossun LFSL -> Toul / Rosieres LFBO -> Toulouse / Blagnac LFOT -> Tours LFPN -> Toussus Le Noble LFQB -> Troyes LFLV -> Vichy LFPV -> Villacoublay + -French Guiana SOCA -> Cayenne / Rochambeau + -French Polynesia NTTO -> Hao NTAA -> Tahiti-Faaa + -Gabon FOON -> Franceville / Mvengue FOOL -> Libreville FOOG -> Port-Gentil + -Gambia GBYD -> Banjul / Yundum + -Georgia UGGG -> Tbilisi + -Germany EDMA -> Augsburg EDQD -> Bayreuth EDDB -> Berlin-Schoenefeld EDDT -> Berlin-Tegel EDDI -> Berlin-Tempelhof EDVE -> Braunschweig EDDW -> Bremen ETHC -> Celle EDLW -> Dortmund / Wickede EDDC -> Dresden-Klotzsche EDDL -> Duesseldorf ETHS -> Fassberg EDDF -> Frankfurt / M-Flughafen EDNY -> Friedrichshafen EDFH -> Hahn EDHI -> Hamburg-Finkenwerder EDDH -> Hamburg-Fuhlsbuettel EDDV -> Hannover EDQM -> Hof ETHI -> Itzehoe EDVK -> Kassel / Calden EDDK -> Koeln / Bonn EDDP -> Leipzig-Schkeuditz EDWD -> Lemwerder EDHL -> Luebeck-Blankensee EDLN -> Monchengladbach EDDG -> Muenster / Osnabrueck EDDM -> Munich / Riem EDDN -> Nuernberg EDMO -> Oberpfaffenhofen EDLP -> Paderborn / Lippstadt ETHE -> Rheine-Bentlage EDDR -> Saarbruecken / Ensheim EDDS -> Stuttgart-Echterdingen EDXW -> Westerland / Sylt + -Ghana DGAA -> Accra + -Gibraltar LXGB -> Gibraltar + -Greece LGPZ -> Aktion Airport LGAL -> Alexandroupoli Airport LGAD -> Andravida Airport LGRX -> Araxos Airport LGAT -> Athinai Airport LGKV -> Chrysoupoli Airport LGEL -> Elefsis Airport LGIR -> Heraklion Airport LGKL -> Kalamata Airport LGKF -> Kefalhnia Airport LGKR -> Kerkyra Airport LGKO -> Kos Airport LGKZ -> Kozani Airport LGLM -> Limnos Airport LGMT -> Mytilini Airport LGRP -> Rhodes Airport LGSM -> Samos Airport LGSR -> Santorini Island LGSK -> Skiathos Island LGSA -> Souda Airport LGTS -> Thessaloniki Airport LGZA -> Zakinthos Airport + -Greenland BGCO -> Constable Pynt BGGH -> Godthaab / Nuuk BGJN -> Jacobshavn Lufthavn BGKK -> Kulusuk Lufthavn BGBW -> Narsarsuaq BGSF -> Sdr Stroemfjord BGTL -> Thule A. B. + -Grenada TGPY -> Point Salines Airport + -Guadeloupe TFFR -> Le Raizet, Guadeloupe + -Guatemala MGFL -> Flores MGGT -> Guatemala Aeropuertola Aurora MGHT -> Huehuetenango MGPB -> Puerto Barrios MGQZ -> Quezaltenango MGSJ -> San Jose MGZA -> Zacapa + -Guinea-Bissau GGOV -> Bissau Aeroport + -Guinea GUCY -> Conakry / Gbessia + -Guyana SYTM -> Timehri Airport + -Haiti MTPP -> Port-Au-Prince / Aeroport International + -Honduras MHAM -> Amapala MHCA -> Catacamas MHCH -> Choluteca MHLC -> La Ceiba Airport MHLE -> La Esperanza MHLM -> La Mesa San Pedro Sula MHSC -> Nueva Ocotepeque MHPL -> Puerto Lempira MHRO -> Roatan MHSR -> Santa Rosa De Copan MHTG -> Tegucigalpa MHTE -> Tela MHYR -> Yoro + -Hong Kong VHHH -> Hong Kong Inter-National Airport + -Hungary LHBP -> Budapest / Ferihegy LHPA -> Papa LHSY -> Szombathely + -Iceland BIEG -> Egilsstadir BIKF -> Keflavikurflugvollur BIRK -> Reykjavik + -India VAAH -> Ahmadabad VIAR -> Amritsar VABB -> Bombay / Santacruz VECC -> Calcutta / Dum Dum VOHY -> Hyderabad Airport VOMM -> Madras / Minambakkam VANP -> Nagpur Sonegaon VIDP -> New Delhi / Palam VEPT -> Patna VOTV -> Thiruvananthapuram VOTR -> Tiruchchirapalli VIBN -> Varanasi / Babatpur + -Indonesia WRLL -> Balikpapan / Sepinggan WABB -> Biak / Mokmer WRRR -> Denpasar / Ngurah-Rai WIII -> Jakarta / Soekarno-Hatta WIIH -> Jakarta Halim Perdanakusuma WIMM -> Medan / Polonia WRSJ -> Surabaya / Juanda WRLR -> Tarakan / Juwata WAAA -> Ujung Pandang / Hasanuddin + -Iran, Islamic Republic of OIAW -> Ahwaz OIKB -> Bandarabbass OIFM -> Esfahan OIKK -> Kerman OIMM -> Mashhad OISS -> Shiraz OITT -> Tabriz OIII -> Tehran-Mehrabad + -Ireland EICK -> Cork Airport EIDW -> Dublin Airport EINN -> Shannon Airport + -Israel LLBG -> Ben-Gurion International Airport LLET -> Eilat LLOV -> Ovda + -Italy LIMG -> Albenga LIEA -> Alghero LIBA -> Amendola LIPA -> Aviano LIBD -> Bari / Palese Macchie LIME -> Bergamo / Orio Al Serio LIPE -> Bologna / Borgo Panigale LIPB -> Bolzano LIPL -> Brescia / Ghedi LIBR -> Brindisi LIEE -> Cagliari / Elmas LIEB -> Capo Bellavista LIMU -> Capo Mele LIQC -> Capri LICC -> Catania / Fontanarossa LICZ -> Catania / Sigonella LIPC -> Cervia LIBC -> Crotone LIED -> Decimomannu LIVD -> Dobbiaco LIPY -> Falconara LIPF -> Ferrara LIRQ -> Firenze / Peretola LIPK -> Forli LIVF -> Frontone LIRH -> Frosinone LIMJ -> Genova / Sestri LIBV -> Gioia Del Colle LIRS -> Grosseto LIBG -> Grottaglie LIRG -> Guidonia LICA -> Lamezia Terme LICD -> Lampedusa LIRL -> Latina LIBN -> Lecce LICF -> Messina LIML -> Milano / Linate LIMC -> Milano / Malpensa LIQO -> Monte Argentario LIMO -> Monte Bisbino LIVC -> Monte Cimone LIMY -> Monte Malanotte LIBQ -> Monte Scuro LIRK -> Monte Terminillo LIRN -> Napoli / Capodichino LIMN -> Novara / Cameri LIEO -> Olbia / Costa Smeralda LIVP -> Paganella LICJ -> Palermo / Punta Raisi LICG -> Pantelleria LIMV -> Passo Dei Giovi LIMT -> Passo Della Cisa LIVR -> Passo Rolle LIRZ -> Perugia LIBP -> Pescara LIMS -> Piacenza LIMH -> Pian Rosa LIRP -> Pisa / S. Giusto LIRE -> Pratica Di Mare LIVM -> Punta Marina LICR -> Reggio Calabria LIVE -> Resia Pass LIQN -> Rieti LIPR -> Rimini LIRA -> Roma / Ciampino LIRU -> Roma / Urbe LIRF -> Roma Fiumicino LIPQ -> Ronchi Dei Legionari LIBY -> S. Maria Di Leuca LIQW -> Sarzana / Luni LIVO -> Tarvisio LIMK -> Torino / Bric Della Croce LIMF -> Torino / Caselle LICT -> Trapani / Birgi LIRT -> Trevico LIPS -> Treviso / Istrana LIPH -> Treviso / S. Angelo LIVT -> Trieste LIPI -> Udine / Rivolto LIPZ -> Venezia / Tessera LIPX -> Verona / Villafranca LIPT -> Vicenza LIRV -> Viterbo + -Jamaica MKJP -> Kingston / Norman Manley MKJS -> Montego Bay / Sangster + -Japan RJOE -> Akeno Ab RJSK -> Akita Airport RJKA -> Amami Airport RJSA -> Aomori Airport RJCA -> Asahikawa Ab RJEC -> Asahikawa Airport RJFA -> Ashiya Ab RJTA -> Atsugi United States Naval Air Station RJAO -> Chichijima RJCC -> Chitose Ab RJCJ -> Chitose Japanese Air Self Defense Force RJTF -> Chofu Airport RJAT -> Fuji Ab RJFE -> Fukue Airport RJNF -> Fukui Airport RJFF -> Fukuoka Airport RJNG -> Gifu Ab RJTH -> Hachijojima Airport RJSH -> Hachinohe Ab RJCH -> Hakodate Airport RJNH -> Hamamatsu Ab RJSI -> Hanamaki Airport RJOA -> Hiroshima Airport RJOF -> Hofu Ab RJAH -> Hyakuri Ab RJAI -> Ichikawa RJDB -> Iki Airport RJTJ -> Iruma Ab RJOI -> Iwakuni Marine Corps Air Station RJAW -> Iwojima RJOC -> Izumo Airport RODN -> Kadena Ab RJFK -> Kagoshima Airport RJDK -> Kamigoto RJFY -> Kanoya Ab RJBB -> Kansai International Airport RJAK -> Kasumigaura Ab RJSU -> Kasuminome Ab RJKI -> Kikai Island RJTK -> Kisarazu Ab RJFR -> Kitakyushu Airport RJOK -> Kochi Airport RJNK -> Komatsu Ab RJOP -> Komatsujima Ab RJFT -> Kumamoto Airport RJCK -> Kushiro Airport RJAF -> Matsumoto Airport RJST -> Matsushima Ab RJOM -> Matsuyama Airport RJCM -> Memambetsu Airport RJDM -> Metabaru Ab RJOH -> Miho Ab RJAM -> Minamitorishima RJSM -> Misawa Ab RJTQ -> Miyakejima Airport RJFM -> Miyazaki Airport RJEB -> Mombetsu Airport RJFU -> Nagasaki Airport RJNN -> Nagoya Airport ROAH -> Naha Airport RJCN -> Nakashibetsu Airport RJBD -> Nankishirahama Airport RJAA -> New Tokyo Inter-National Airport RJSN -> Niigata Airport RJFN -> Nyutabaru Ab RJCB -> Obihiro Airport RJFO -> Oita Airport RJDO -> Ojika Island RJOB -> Okayama Airport RJNO -> Oki Airport RJKB -> Okinoerabu RJEO -> Okushiri Island RJSO -> Ominato Ab RJOO -> Osaka International Airport RJTO -> Oshima Airport RJOZ -> Ozuki Ab RJCR -> Rebun Island RJER -> Rishiri Island RJCO -> Sapporo Ab RJSS -> Sendai Airport RJTL -> Shimofusa Ab RJNY -> Shizuhama Ab RJTC -> Tachikawa Ab RJBT -> Tajima RJOT -> Takamatsu Airport RJFG -> Tanegashima Airport RJTE -> Tateyama Ab RJCT -> Tokachi Japanese Ground Self Defense Force RJKN -> Tokunoshima Island RJOS -> Tokushima Ab RJTI -> Tokyo Heliport RJTT -> Tokyo International Airport RJOR -> Tottori Airport RJNT -> Toyama Airport RJFZ -> Tsuiki Ab RJDT -> Tsushima Airport RJTU -> Utsunomiya Ab RJCW -> Wakkanai Airport RJFC -> Yakushima RJSC -> Yamagata Airport RJDC -> Yamaguchi Ube Airport RJOY -> Yao Airport RJTX -> Yokosuka Fwf RJTY -> Yokota Ab RJTR -> Zama Airfield + -Jordan OJAM -> Amman Airport OJAQ -> Aqaba Airport LLJR -> Jerusalem Airport OJAI -> Queen Alia Airport + -Kenya HKEL -> Eldoret HKEM -> Embu HKGA -> Garissa HKKG -> Kakamega HKKR -> Kericho HKKS -> Kisii HKKI -> Kisumu HKKT -> Kitale HKLU -> Lamu HKLO -> Lodwar HKMU -> Makindu HKML -> Malindi HKMA -> Mandera HKMB -> Marsabit HKME -> Meru HKMO -> Mombasa HKMY -> Moyale HKNC -> Nairobi / Dagoretti HKJK -> Nairobi / Kenyatta Airport HKNW -> Nairobi / Wilson HKNK -> Nakuru HKNO -> Narok HKNI -> Nyeri HKVO -> Voi HKWJ -> Wajir + -Kiribati NGTA -> Tarawa + -Korea, Democratic People's Republic of ZKPY -> Pyongyang + -Korea, Republic of RKSX -> Camp Stanley / H-207 RKPC -> Cheju International Airport RKTU -> Chongju Ab RKTM -> Mangilsan Ab RKSO -> Osan Ab RKTB -> Paekado RKSP -> Paengnyongdo Ab RKTH -> Pohang Ab RKPK -> Pusan / Kimhae International Airport RKSG -> Pyongtaek Ab RKTS -> Sangju RKSS -> Seoul / Kimp'O International Airport RKSF -> Seoul / Yongdungp'O Rokaf Wc RKSM -> Seoul E Ab RKTE -> Songmu Ab RKSW -> Suwon Ab RKTT -> Taegu RKTN -> Taegu Ab RKTF -> Taejon RKPU -> Ulsan RKTW -> Woong Cheon RKTY -> Yechon Ab RKSU -> Yeoju Range RKSQ -> Yeonpyeungdo RKSY -> Yongsan / H-208 Hp RKJY -> Yosu Airport + -Kuwait OKBK -> Kuwait Internationalairport + -Lao People's Democratic Republic VLVT -> Vientiane + -Lebanon OLBA -> Beyrouth Aeroport + -Libyan Arab Jamahiriya HLLB -> Benina HLLT -> Tripoli Inter-National Airport + -Lithuania EYVI -> Vilnius + -Luxembourg ELLX -> Luxembourg / Luxembourg + -Macau VMMC -> Taipa + -Macedonia, the Former Yugoslav Republic of LWOH -> Ohrid LWSK -> Skopje-Petrovec + -Madagascar FMMI -> Antananarivo / Ivato FMMT -> Tamatave + -Malawi FWCL -> Chileka FWUU -> Mzuzu + -Malaysia WBKK -> Kota Kinabalu WMKK -> Kuala Lumpur / Subang WBGG -> Kuching WMKP -> Penang / Bayan Lepas + -Maldives VRMM -> Male + -Mali GABS -> Bamako / Senou + -Malta LMML -> Luqa + -Marshall Islands PKWA -> Kwajalein / Bucholz PKMJ -> Majuro / Marshall Island + -Martinique TFFF -> Le Lamentin + -Mauritania GQPP -> Nouadhibou GQNN -> Nouakchott + -Mauritius FIMP -> Plaisance Mauritius + -Mexico MMAA -> Acapulco / G. Alvarez MMMD -> Aerop. Internacional Merida, Yuc MMAN -> Aerop. Internacional Monterrey, N. L. MMAS -> Aguascalientes, Ags. MMBT -> Bahias De Huatulco MMCP -> Campeche, Camp. MMUN -> Cancun International Airport MMCM -> Chetumal, Q. Roo MMCU -> Chihuahua International Airport MMCE -> Ciudad Del Carmen MMCS -> Ciudad Juarez International MMCV -> Ciudad Victoria Airport MMIA -> Colima MMCZ -> Cozumel Civ / Mil MMCB -> Cuernavaca, Mor. MMCL -> Culiacan, Sin. MMLO -> Del Bajio / Leon MMGL -> Don Miguel / Guadalaj MMDO -> Durango Airport MMVR -> Gen. Heriberto Jara MMGM -> Guaymas International Airport MMHO -> Hermosillo, Son. MMZH -> Ixtapa-Zihuatanejo MMLP -> La Paz International Airport MMLM -> Los Mochis Airport MMZO -> Manzanillo International MMMA -> Matamoros International MMMZ -> Mazatlan / G. Buelna MMML -> Mexicali International Airport MMMX -> Mexico City / Licenci MMMT -> Minatitlan MMMV -> Monclova, Coah. MMMY -> Monterrey / Gen Maria MMMM -> Morelia New MMNL -> Nuevo Laredo International MMOX -> Oaxaca / Xoxocotlan MMPG -> Piedras Negras, Coah. MMPB -> Puebla, Pue. MMPS -> Puerto Escondido MMPR -> Puerto Vallarta / Lic MMQT -> Queretaro, Qro. MMRX -> Reynosa International Airport MMIO -> Saltillo, Coah. MMSD -> San Jose Del Cabo MMSP -> San Luis Potosi, S. L. P. MMCN -> Santa Rosalia, B. C. S. MMTM -> Tampico / Gen Fj Mina MMTP -> Tapachula MMEP -> Tepic, Nay. MMTJ -> Tijuana International Airport MMTO -> Toluca / Jose Maria MMTC -> Torreon, Coah. MMTL -> Tulancingo MMTG -> Tuxtla Gutierrez, Chis. MMPN -> Uruapan / Gen Rayon MMVA -> Villahermosa MMZC -> Zacatecas Airport + -Micronesia, Federated States of PTSA -> Kusaie / Kosrae East PTPN -> Ponape Island PTKK -> Truk Intl / Moen Island PTYA -> Yap Island + -Morocco GMAA -> Agadir GMTA -> Al Hoceima GMFF -> Fes-Sais GMMX -> Marrakech GMMN -> Nouasseur GMFO -> Oujda GMME -> Rabat-Sale GMTT -> Tanger Aerodrome GMTN -> Tetuan / Sania Ramel + -Mozambique FQBR -> Beira FQMA -> Maputo / Mavalane + -Myanmar VBRR -> Mingaladon + -Nauru ANAU -> Nauru Airport + -Nepal VNKT -> Kathmandu Airport + -Netherlands Antilles TNCB -> Flamingo Airport, Bonaire TNCC -> Hato Airport, Curacao TNCM -> Juliana Airport, Saint Maarten TNCE -> Roosevelt Airport Saint Eustatius + -Netherlands EHAM -> Amsterdam Airport Schiphol EHKD -> De Kooy EHDL -> Deelen EHEH -> Eindhoven EHGR -> Gilze-Rijen EHGG -> Groningen Airport Eelde EHLW -> Leeuwarden EHBK -> Maastricht Airport Zuid Limburg EHRD -> Rotterdam Airport Zestienhoven EHSB -> Soesterberg EHTW -> Twenthe EHVB -> Valkenburg EHVL -> Vlieland EHVK -> Volkel EHWO -> Woensdrecht + -New Caledonia NWWW -> La Tontouta Nlle-Caledonie + -New Zealand NZAA -> Auckland Airport NZCH -> Christchurch PLCH -> Christmas / Cassidy NZWN -> Wellington Airport + -Nicaragua MNBL -> Bluefields MNCH -> Chinandega MNJG -> Jinotega MNJU -> Juigalpa MNMG -> Managua A. C. Sandino MNPC -> Puerto Cabezas MNRS -> Rivas + -Niger DRRN -> Niamey-Aero + -Norway ENAL -> Alesund / Vigra ENAT -> Alta Lufthavn ENAN -> Andoya ENNA -> Banak ENDU -> Bardufoss ENBR -> Bergen / Flesland ENBV -> Berlevag ENBO -> Bodo Vi ENBN -> Bronnoysund / Bronnoy ENDI -> Dagali ENEK -> Ekofisk Oil Platform ENEV -> Evenes ENFG -> Fagernes Leirin ENFL -> Floro ENBL -> Forde / Bringeland ENFR -> Frigg ENGC -> Gullfax Platform ENHF -> Hammerfest ENHD -> Haugesund / Karmoy ENHV -> Honningsvag / Valan ENKR -> Kirkenes Lufthavn ENCN -> Kristiansand / Kjevik ENKB -> Kristiansund / Kvernberget ENLK -> Leknes ENLI -> Lista Flyplass ENMH -> Mehamn ENRA -> Mo I Rana / Rossvoll ENML -> Molde / Aro ENMS -> Mosjoen Kjaerstad ENNM -> Namsos Lufthavn ENNK -> Narvik Iii ENNO -> Notodden ENOL -> Orland Iii ENOV -> Orsta-Volda / Hovden ENOA -> Oseberg ENFB -> Oslo / Fornebu ENGM -> Oslo / Gardermoen ENRO -> Roros Lufthavn ENRM -> Rorvik / Ryum ENRS -> Rost Flyplass ENRY -> Rygge ENSD -> Sandane / Anda ENST -> Sandnessjoen / Stokka ENSN -> Skien-Geiteryggen ENSG -> Sogndal / Haukasen ENSR -> Sorkjosen ENZV -> Stavanger / Sola ENSO -> Stord / Soerstokken ENSK -> Storkmarknes / Skagen ENSB -> Svalbard Lufthavn ENSH -> Svolvaer / Helle ENTO -> Torp ENTC -> Tromso / Langnes ENVA -> Trondheim / Vaernes ENVD -> Vadso + -Oman OOMA -> Masirah OOSQ -> Saiq OOSA -> Salalah OOMS -> Seeb, International Airport OOTH -> Thumrait + -Pakistan OPRN -> Islamabad Airport OPKC -> Karachi Airport OPLA -> Lahore Airport OPNH -> Nawabshah + -Palau PTRO -> Koror / Palau Island + -Panama MPBO -> Bocas Del Toro International MPDA -> David MPHO -> Howard Air Force Base MPMG -> Marcos A. Gelabert MPSA -> Santiago MPTO -> Tocumen + -Paraguay SGES -> Aeropuerto Guarany SGAS -> Asuncion / Aeropuerto + -Peru SPHY -> Andahuayla SPQU -> Arequipa SPHO -> Ayacucho SPJR -> Cajamarca SPPY -> Chachapoyas SPHI -> Chiclayo SPEO -> Chimbote SPZO -> Cuzco SPNC -> Huanuco SPQT -> Iquitos SPJI -> Juanjui SPJL -> Juliaca SPIM -> Lima-Callao / Aerop. Internacional Jorgechavez SPSO -> Pisco SPUR -> Piura SPCL -> Pucallpa SPTU -> Puerto Maldonado SPJA -> Rioja SPTN -> Tacna SPYL -> Talara SPST -> Tarapoto SPGM -> Tingo Maria SPRU -> Trujillo SPME -> Tumbes SPMS -> Yurimaguas + -Philippines RPVM -> Masbate RPLL -> Ninoy Aquino Inter-National Airport RPLB -> Subic Bay Weather Station + -Poland EPGD -> Gdansk-Rebiechowo EPKT -> Katowice EPKK -> Krakow EPPO -> Poznan EPRZ -> Rzeszow-Jasionka EPSC -> Szczecin EPWA -> Warszawa-Okecie EPWR -> Wroclaw Ii + -Portugal LPBJ -> Beja LPFR -> Faro / Aeroporto LPFU -> Funchal / S. Catarina LPLA -> Lajes Acores LPPT -> Lisboa / Portela LPPD -> Ponta Delgada / Nordela Acores LPPR -> Porto / Pedras Rubras LPPS -> Porto Santo LPAZ -> Santa Maria Acores + -Puerto Rico TJBQ -> Aquadilla / Borinquen TISX -> Christiansted / Alex. Hamilton Field, Saint Croix TJSJ -> Luis Munoz Marin TJMZ -> Mayaguez / Eugenio TJPS -> Ponce / Mercedita + -Qatar OTBD -> Doha International Airport + -Reunion FMEE -> Saint-Denis / Gillot + -Romania LRAR -> Arad LRBS -> Bucuresti / Imh LROP -> Bucuresti Otopeni LRIA -> Iasi LRCK -> Kogalniceanu LRTR -> Timisoara LRTM -> Tirgu Mures LRTC -> Tulcea + -Russian Federation UHMA -> Anadyr UHMD -> Buhta Providenja UIAA -> Chita UHHH -> Habarovsk UIII -> Irkutsk UEEE -> Jakutsk UHSS -> Juzhno-Sahalinsk UHMM -> Magadan UUEE -> Moscow / Sheremet'Ye UUWW -> Moscow / Vnukovo UWPP -> Penza UHPP -> Petropavlovsk-Kamchatskij ULLI -> St. Peterburg UUEM -> Tver UIUU -> Ulan-Ude UHWW -> Vladivostok + -Rwanda HRYR -> Kigali + -Saint Helena FHAW -> Wide Awake Field Ascension Island + -Saint Kitts and Nevis TKPK -> Golden Rock + -Saint Lucia TLPL -> Hewanorra International Airport TLPC -> Vigie + -Saint Vincent and the Grenadines TVSV -> Arnos Vale + -Samoa NSFA -> Faleolo Intl / Apia + -Sao Tome and Principe FPST -> S. Tome + -Saudi Arabia OEAB -> Abha OEAH -> Al Ahsa OEBA -> Al Baha OEPA -> Al Qaysumah OESK -> Al-Jouf OERR -> Arar OEBH -> Bisha OEDW -> Dawadmi OEDR -> Dhahran OEGS -> Gassim OEGN -> Gizan OEGT -> Guriat OEKK -> Hafr Al-Batin OEHL -> Hail OEJN -> Jeddah King Abdul Aziz International Airport OEKM -> Khamis Mushait OERK -> King Khaled International Airport OEMA -> Madinah OEMK -> Makkah OENG -> Najran OERF -> Rafha OERY -> Riyadh OESH -> Sharurah OETB -> Tabuk OETF -> Taif OETR -> Turaif OEWD -> Wadi Al Dawasser Airport OEWJ -> Wejh OEYN -> Yenbo + -Senegal GOGS -> Cap-Skirring GOOY -> Dakar / Yoff GOSS -> Saint-Louis GOTT -> Tambacounda GOGG -> Ziguinchor + -Seychelles FSIA -> Seychelles Inter-National Airport + -Sierra Leone GFLL -> Lungi + -Singapore WSSS -> Singapore / Changi Airport WSAP -> Singapore / Paya Lebar + -Slovakia LZIB -> Bratislava Ivanka LZTT -> Poprad / Tatry + -Slovenia LJLJ -> Ljubljana / Brnik LJMB -> Maribor / Slivnica LJPZ -> Portoroz + -Solomon Islands AGGH -> Honiara / Henderson + -Somalia HCMM -> Mogadiscio + -South Africa FABM -> Bethlehem Airport FABL -> Bloemfontein J. B. M. Hertzog FACT -> Cape Town D. F. Malan FADN -> Durban Louis Botha FAEL -> East London FAGG -> George Airport FAJS -> Jan Smuts FALW -> Langebaanweg FALT -> Lichtenburg FAPB -> Pietersburg FAPE -> Port Elizabeth FAPR -> Pretoria FASB -> Springbok FAUP -> Upington + -Spain LEAL -> Alicante / El Altet LEAM -> Almeria / Aeropuerto LEAS -> Asturias / Aviles LEBL -> Barcelona / Aeropuerto LEBB -> Bilbao / Sondica GCFV -> Fuerteventura / Aeropuerto LEGE -> Gerona / Costa Brava LEGR -> Granada / Aeropuerto GCHI -> Hierro / Aeropuerto LEIB -> Ibiza / Es Codola LEJR -> Jerez De La Fronteraaeropuerto LECO -> La Coruna / Alvedro GCLA -> La Palma / Aeropuerto GCRR -> Lanzarote / Aeropuerto GCLP -> Las Palmas De Gran Canaria / Gando LEMD -> Madrid / Barajas LEVS -> Madrid / Cuatro Vientos LEMG -> Malaga / Aeropuerto GEML -> Melilla LEMH -> Menorca / Mahon LELC -> Murcia / San Javier LEPA -> Palma De Mallorca / Son San Juan LEPP -> Pamplona / Noain LERS -> Reus / Aeropuerto LESO -> San Sebastian / Fuenterrabia LEXJ -> Santander / Parayas LEST -> Santiago / Labacolla LEZL -> Sevilla / San Pablo GCXO -> Tenerife / Los Rodeos GCTS -> Tenerife Sur LEVC -> Valencia / Aeropuerto LEVD -> Valladolid / Villanubla LEVX -> Vigo / Peinador LEVT -> Vitoria LEZG -> Zaragoza / Aeropuerto + -Sri Lanka VCBI -> Katunayake + -Sudan HSSS -> Khartoum + -Suriname SMJP -> Johan A. Pengel + -Swaziland FDMS -> Manzini / Matsapa Airport + -Sweden ESGG -> Goteborg / Landvetter ESGP -> Goteborg / Save ESGJ -> Jonkoping Flygplats ESSQ -> Karlstad Flygplats ESNQ -> Kiruna Airport ESDA -> Ljungbyhed ESMS -> Malmo / Sturup ESSP -> Norrkoping ESDF -> Ronneby ESSA -> Stockholm / Arlanda ESSB -> Stockholm / Bromma ESNN -> Sundsvall-Harnosand Flygplats ESGT -> Trollhattan Private ESNU -> Umea Flygplats ESOW -> Vasteras / Hasslo ESMX -> Vaxjo ESSV -> Visby Flygplats + -Switzerland LSZB -> Bern / Belp LSGG -> Geneve-Cointrin LSZA -> Lugano LSGS -> Sion LSZH -> Zurich-Kloten + -Syrian Arab Republic OSAP -> Aleppo International Airport OSDI -> Damascus Int. Airport OSLK -> Lattakia + -Taiwan RCFS -> Chia Tung RCTP -> Chiang Kai Shek RCKU -> Chiayi Tw-Afb RCQS -> Chihhang Tw-Afb RCBS -> Chinmem / Shatou Air Force Base RCLM -> Dongsha RCNO -> Dongshi RCFN -> Feng Nin Tw-Afb RCKW -> Hengchun RCPO -> Hsinchu Tw-Afb RCYU -> Hulien Ab RCMS -> Ilan RCAY -> Kangshan Tw-Afb RCKH -> Kaohsiung International Airport RCQC -> Makung Ab RCFG -> Mazu RCUK -> Pa Kuei / Bakuai RCSQ -> Pingtung North Air Force Base RCDC -> Pingtung South Air Force Base RCSS -> Sungshan / Taipei RCLG -> Taichung Tw-Afb RCNN -> Tainan Tw-Afb RCGM -> Taoyuan Ab = 589650 RCMQ -> Wuchia Observatory + -Tajikistan UTDD -> Dushanbe + -Tanzania, United Republic of HTAR -> Arusha HTBU -> Bukoba HTDA -> Dar Es Salaam Airport HTDO -> Dodoma HTIR -> Iringa HTKA -> Kigoma HTKJ -> Kilimanjaro Airport HTMB -> Mbeya HTMG -> Morogoro HTMS -> Moshi HTMU -> Musoma HTMW -> Mwanza HTPE -> Pemba / Karume Airport HTSE -> Same HTSY -> Shinyanga HTSO -> Songea HTTB -> Tabora Airport HTTG -> Tanga HTZA -> Zanzibar / Kisauni + -Thailand VTCC -> Chiang Mai VTBD -> Don Muang VTSS -> Hat Yai VTSP -> Phuket Airport VTBU -> Rayong + -Togo DXXX -> Lome + -Tonga NFTF -> Fua'Amotu + -Trinidad and Tobago TTCP -> Crown Pt./ Scarborou TTPP -> Piarco International Airport, Trinidad + -Tunisia DTTB -> Bizerte DTTJ -> Djerba Mellita DTTR -> El Borma DTTG -> Gabes DTMB -> Habib Bourguiba DTTN -> Jendouba DTTK -> Kairouan DTTL -> Kelibia DTTD -> Remada DTTX -> Sfax El-Maou DTTZ -> Tozeur DTTA -> Tunis-Carthage + -Turkey LTAG -> Adana / Incirlik LTAF -> Adana / Sakirpasa LTAH -> Afyon LTBT -> Akhisar LTAC -> Ankara / Esenboga LTAD -> Ankara / Etimesgut LTAI -> Antalya LTBF -> Balikesir LTBG -> Bandirma LTCJ -> Batman LTBE -> Bursa LTBU -> Corlu LTBS -> Dalaman LTCC -> Diyarbakir LTCA -> Elazig LTCE -> Erzurum LTBI -> Eskisehir LTAJ -> Gaziantep LTBA -> Istanbul / Ataturk LTBJ -> Izmir / Adnan Menderes LTBL -> Izmir / Cigli LTAU -> Kayseri / Erkilet LTAN -> Konya LTAT -> Malatya / Erhac LTAP -> Merzifon LTAE -> Murted Tur-Afb LTCK -> Mus Tur-Afb LTAQ -> Samsun LTAR -> Sivas LTAV -> Sivrihisar LTBQ -> Topel Tur-Afb LTCG -> Trabzon LTCH -> Urfa LTCI -> Van + -Tuvalu NGFU -> Funafuti + -Uganda HUEN -> Entebbe Airport HUKS -> Kasese HUMA -> Mbarara HUSO -> Soroti + -Ukraine UKBB -> Boryspil UKKK -> Kyiv UKLL -> L'Viv UKOO -> Odesa + -United Arab Emirates OMAD -> Abu Dhabi Bateen Airport OMAA -> Abu Dhabi International Airport OMAL -> Al Ain International Airport OMDB -> Dubai International Airport OMFJ -> Fujairah OMRK -> Ras Al Khaimah International Airport OMSJ -> Sharjah International Airport + -United Kingdom EGPD -> Aberdeen / Dyce EGJA -> Alderney / Channel Island EGAA -> Belfast / Aldergrove Airport EGAC -> Belfast / Harbour EGPL -> Benbecula EGUB -> Benson EGKB -> Biggin Hill EGBB -> Birmingham / Airport EGNH -> Blackpool Airport EGDM -> Boscombe Down EGQM -> Boulmer EGHH -> Bournemouth Airport EGGD -> Bristol / Lulsgate EGSC -> Cambridge EGFF -> Cardiff-Wales Airport EGNC -> Carlisle EGBE -> Coventry Airport EGTC -> Cranfield EGDR -> Culdrose EGPN -> Dundee / Riverside EGNX -> East Midlands EGPH -> Edinburgh Airport EGAE -> Eglinton / Londonderr EGTE -> Exeter Airport EGLF -> Farnborough EGPF -> Glasgow Airport EGJB -> Guernsey Airport EGNJ -> Humberside EGPE -> Inverness / Dalcross EGNS -> Isle Of Man / Ronaldsway Airport EGJJ -> Jersey Airport EGQK -> Kinloss EGNM -> Leeds And Bradford EGQL -> Leuchars EGGP -> Liverpool Airport EGKK -> London / Gatwick Airport EGLL -> London / Heathrow Airport EGLC -> London City Airport EGQS -> Lossiemouth EGGW -> Luton Airport EGMD -> Lydd Airport EGDL -> Lyneham EGCC -> Manchester Airport EGVP -> Middle Wallop EGNT -> Newcastle EGSH -> Norwich Weather Centre EGHD -> Plymouth / Roborough EGDP -> Portland / Rnas EGPK -> Prestwick Airport EGDG -> Saint Mawgan EGPM -> Scatsa / Shetland Island EGHE -> Scilly, Saint Mary'S EGOS -> Shawbury EGKA -> Shoreham Airport EGHI -> Southampton / Weather Centre EGMC -> Southend-On-Sea EGSS -> Stansted Airport EGBJ -> Staverton Private EGPO -> Stornoway EGPB -> Sumburgh Cape EGFH -> Swansea EGNV -> Tees-Side EGPU -> Tiree EGPW -> Unst Island EGOV -> Valley EGPC -> Wick EGDY -> Yeovilton + -United States Minor Outlying Islands PGUM -> Agana, Guam, Mariana Islands PGUA -> Andersen Air Force Base PJON -> Johnston Island NSTU -> Pago Pago / Int. Airp. PGWT -> Peipeinimaru PGRO -> Rota Intl / Rota Island PGSN -> Saipan / Isley Coast Guard Station PWAK -> Wake Island Airfld + -United States KABR -> Aberdeen, Aberdeen Regional Airport KABI -> Abilene, Abilene Regional Airport KVJI -> Abingdon PADK -> Adak, Naval Air Station KADG -> Adrian, Lenawee County Airport KANW -> Ainsworth Municipal KAFF -> Air Force Academy KAIT -> Aitkin NDB Automatic Weather Observing / Reporting System KCAK -> Akron, Akron-Canton Regional Airport KAKO -> Akron, Akron-Washington County Airport KEET -> Alabaster, Shelby County Airport KALM -> Alamogordo-White KALS -> Alamosa, San Luis Valley Regional Airport KALB -> Albany, Albany County Airport KABY -> Albany, Southwest Georgia Regional Airport KAEL -> Albert Lea Automatic Weather Observing / Reporting System KABQ -> Albuquerque, Albuquerque International Airport KESF -> Alexandria, Alexandria Esler Regional Airport KAEX -> Alexandria, Alexandria International Airport KAXN -> Alexandria, Chandler Field KAXA -> Algona KALI -> Alice, Alice International Airport KABE -> Allentown, Lehigh Valley International Airport KAIA -> Alliance, Alliance Municipal Airport KAMG -> Alma, Bacon County Airport KAPN -> Alpena, Alpena County Regional Airport KALN -> Alton / St. Louis Regional KAOO -> Altoona, Altoona-Blair County Airport KO00 -> Alturas KLTS -> Altus Air Force Base KAMA -> Amarillo, Amarillo International Airport PAFM -> Ambler K7R3 -> Amelia / Lake Palourd KAMW -> Ames, Ames Municipal Airport PAKP -> Anaktuvuk Pass PAED -> Anchorage / Elmendorf Air Force Base PANC -> Anchorage, Anchorage International Airport KAID -> Anderson Municipal KAND -> Anderson, Anderson County Airport K12N -> Andover, Aeroflex-Andover Airport KLBX -> Angleton / Lake Jackson, Brazoria County Airport PANI -> Aniak KARB -> Ann Arbor, Ann Arbor Municipal Airport PANT -> Annette Island KANB -> Anniston, Anniston Metropolitan Airport KAIG -> Antigo - Lang Automatic Weather Observing / Reporting System KAQQ -> Apalachicola, Apalachicola KATW -> Appleton / Outagamie KACV -> Arcata / Eureka, Arcata Airport PARC -> Arctic Village KADM -> Ardmore Municipal KAWO -> Arlington Municipal KGKY -> Arlington, Arlington Municipal Airport KAVL -> Asheville, Asheville Regional Airport KOFP -> Ashland, Hanover County Municipal Airport KASX -> Ashland, Kennedy Memorial Airport KHZY -> Ashtabula, Ashtabula County Airport KASE -> Aspen, Aspen-Pitkin County Airport KAST -> Astoria, Astoria Regional Airport KAHN -> Athens, Athens Airport KPDK -> Atlanta, De Kalb-Peachtree Airport KFTY -> Atlanta, Fulton County Airport-Brown Field KATL -> Atlanta, Hartsfield Atlanta International Airport KFFC -> Atlanta, Peachtree City-Falcon Field KAIO -> Atlantic KACY -> Atlantic City, Atlantic City International Airport KLEW -> Auburn-Lewiston KAUO -> Auburn-Opelika Airport KAUG -> Augusta, Augusta State Airport KAGS -> Augusta, Bush Field KDNL -> Augusta, Daniel Field KARR -> Aurora, Aurora Municipal Airport KUAO -> Aurora, Aurora State Airport KU31 -> Austin KAUM -> Austin Municipal KAUS -> Austin, Mueller Municipal Airport KAVX -> Avalon, Catalina Airport KBKE -> Baker, Baker Municipal Airport KBFL -> Bakersfield, Meadows Field KMTN -> Baltimore / Martin KBWI -> Baltimore, Baltimore-Washington International Airport KDMH -> Baltimore, Inner Harbor KBGR -> Bangor, Bangor International Airport KBHB -> Bar Harbor Automatic Weather Observing / Reporting System KBAD -> Barksdale Air Force Base KMPV -> Barre / Montpelier, Knapp State Airport PABR -> Barrow, Post Rogers Memorial Airport PABA -> Barter Island KBVO -> Bartlesville, Bartlesville Municipal Airport KBOW -> Bartow Municipal KBVX -> Batesville Automatic Weather Observing / Reporting System KBTR -> Baton Rouge, Baton Rouge Metropolitan, Ryan Field KBTL -> Battle Creek, Kellogg Airport KB23 -> Battle Mountain KBDE -> Baudette, Baudette International Airport KBAB -> Beale Air Force Base / Marysvile KBIE -> Beatrice Municipal KNBC -> Beaufort, Marine Corps Air Station KMRH -> Beaufort, Smith Field KBUO -> Beaumont KBPT -> Beaumont / Port Arthur, Jefferson County Airport KBVI -> Beaver Falls Airport KBKW -> Beckley, Raleigh County Memorial Airport KBED -> Bedford, Hanscom Field KEFC -> Belle Fourche KBLI -> Bellingham, Bellingham International Airport KBLM -> Belmar-Farmdale KBJI -> Bemidji KDDH -> Bennington, Bennington Morse State Airport KBBB -> Benson Municipal KBEH -> Benton Harbor, Southwest Michigan Regional Airport KVBT -> Bentonville Automatic Weather Observing / Reporting System KBSM -> Bergstrom, Austin-Bergstrom International Airport KBML -> Berlin, Berlin Municipal Airport PABE -> Bethel / Bethel Airport PABT -> Bettles KBVY -> Beverly, Beverly Municipal Airport KBYS -> Bicycle Lake U. S. Army Airfield, Ca KBPI -> Big Piney, Big Piney-Marbleton Airport PALV -> Big River Lake KBIL -> Billings, Billings Logan International Airport KBGM -> Binghamton, Binghamton Regional Airport KBHM -> Birmingham, Birmingham International Airport KBIH -> Bishop, Bishop Airport KBIS -> Bismarck, Bismarck Municipal Airport K4BL -> Blanding KBID -> Block Island Automatic Weather Observing / Reporting System KBMI -> Bloomington / Normal KBMG -> Bloomington, Monroe County Airport KBLF -> Bluefield, Mercer County Airport KBLH -> Blythe, Blythe Airport KHKA -> Blytheville, Blytheville Municipal Airport KBOI -> Boise, Boise Air Terminal KBNW -> Boone Municipal KBGD -> Borger, Hutchinson County Airport KOVS -> Boscobel, Boscobel Airport KBOS -> Boston, Logan International Airport KBWG -> Bowling Green, Bowling Green-Warren County Regional Airport KBZN -> Bozeman, Gallatin Field KBFD -> Bradford, Bradford Regional Airport PHSF -> Bradshaw Army Air Field / Hawaii KBRD -> Brainerd, Brainerd-Crow Wing County Regional Airport KPWT -> Bremerton National Automatic Weather Observing / Reporting System KHDE -> Brewster Field Airport KBDR -> Bridgeport, Sikorsky Memorial Airport KTRI -> Bristol / Johnson / Kingsport, Tri-City Regional Airport KBBW -> Broken Bow Municipal K4BK -> Brookings KBKX -> Brookings Automatic Weather Observing / Reporting System KBKV -> Brooksville, Hernando County Airport KBJC -> Broomfield / Jeffco KBRO -> Brownsville, Brownsville / South Padre Island International Airport KBQK -> Brunswick / Glynco KSSI -> Brunswick, McKinnon Airport KNHZ -> Brunswick, Naval Air Station KBCE -> Bryce Canyon, Bryce Canyon Airport KBKF -> Buckley Air National Guard Base / Denver K2WX -> Buffalo KBUF -> Buffalo, Greater Buffalo International Airport KBYG -> Buffalo, Johnson County Airport KU17 -> Bullfrog Marina KBUR -> Burbank, Burbank-Glendale-Pasadena Airport KBYI -> Burley, Burley Municipal Airport K75S -> Burlington / Mt Vern KBUY -> Burlington, Burlington Alamance Regional Airport KBTV -> Burlington, Burlington International Airport KBRL -> Burlington, Burlington Regional Airport KITR -> Burlington, Carson County Airport KBMQ -> Burnet, Burnet Municipal Craddock Field KBNO -> Burns, Burns Municipal Airport KBTP -> Butler County Automatic Weather Observing / Reporting System KBTM -> Butte, Mooney Airport KCAD -> Cadillac / Wexford County KCPS -> Cahokia / St. Louis, St. Louis Downtown-Parks Airport KOZR -> Cairns Army Air Field / Ozark KEUL -> Caldwell Automatic Weather Observing / Reporting System KCDW -> Caldwell, Essex County Airport KP38 -> Caliente KCMA -> Camarillo Automatic Weather Observing / Reporting System KCBG -> Cambridge Municipal K7R5 -> Cameron Heliport KADW -> Camp Springs / Andrews Air Force Base KCZZ -> Campo KCVS -> Cannon Air Force Base / Clovis PATW -> Cantwell KCGI -> Cape Girardeau, Cape Girardeau Regional Airport PALU -> Cape Lisburne Airways Facilities Sector PAEH -> Cape Newenham Airways Facilities Sector PACZ -> Cape Romanzoff Airways Facilities Sector KMDH -> Carbondale / Murphysboro, Southern Illinois Airport KCAR -> Caribou, Caribou Municipal Airport KCNM -> Carlsbad, Cavern City Air Terminal KCRQ -> Carlsbad, McClellan-Palomar Airport KCIN -> Carroll KCGZ -> Casa Granda Automatic Weather Observing / Reporting System KCZK -> Cascade Locks State KCPR -> Casper, Natrona County International Airport KNZC -> Cecil, Naval Air Station KCDC -> Cedar City, Cedar City Municipal Airport KCID -> Cedar Rapids, Cedar Rapids Municipal Airport KCDR -> Chadron, Chadron Municipal Airport KU15 -> Challis, Challis Airport KE33 -> Chama K9V9 -> Chamberlain, Chamberlain Municipal Airport KCMI -> Champaign / Urbana, University Of Illinois-Willard Airport PALR -> Chandalar Lake KCNU -> Chanute, Chanute Martin Johnson Airport KCNC -> Chariton KCCY -> Charles City KCHS -> Charleston, Charleston Air Force Base KCRW -> Charleston, Yeager Airport KCLT -> Charlotte, Charlotte / Douglas International Airport KCHO -> Charlottesville, Charlottesville-Albemarle Airport KCQX -> Chatham, Chatham Municipal Airport KCHA -> Chattanooga, Lovell Field KCWF -> Chenault Airpark KNKT -> Cherry Point, Marine Corps Air Station KCYS -> Cheyenne, Cheyenne Airport KCGX -> Chicago / Meigs KUGN -> Chicago / Waukegan KDPA -> Chicago / West Chicago, Dupage Airport KPWK -> Chicago / Wheeling, Pal-Waukee Airport KMDW -> Chicago, Chicago Midway Airport KORD -> Chicago, Chicago-O'Hare International Airport KCIC -> Chico Municipal KCEF -> Chicopee Falls / Westover Air Force Base KCDS -> Childress, Childress Municipal Airport KCDJ -> Chillicothe, Chillicothe Agri-Science Center KNID -> China Lake, Naval Air Facility KCNO -> Chino, Chino Airport KCIU -> Chippewa International Automatic Weather Observing / Reporting System PAEC -> Chulitna KLUK -> Cincinnati, Cincinnati Municipal Airport Lunken Field PACR -> Circle City Airport KICL -> Clarinda KCAV -> Clarion KCKB -> Clarksburg, Benedum Airport K40B -> Clayton Lake KCAO -> Clayton, Clayton Municipal Airpark KN97 -> Clearfield, Clearfield-Lawrence Airport KCGF -> Cleveland / Cuyahoga KBKL -> Cleveland, Burke Lakefront Airport KCLE -> Cleveland, Cleveland-Hopkins International Airport KCQC -> Clines Corner KCWI -> Clinton Municipal Automatic Weather Observing / Reporting System KCSM -> Clinton, Clinton-Sherman Airport KCOQ -> Cloquet Automatic Weather Observing / Reporting System KCVN -> Clovis Municipal Automatic Weather Observing / Reporting System KCOF -> Cocoa / Patrick Air Force Base KCOD -> Cody KCOE -> Coeur D'Alene Automatic Weather Observing / Reporting System KCFV -> Coffeyville, Coffeyville Municipal Airport PACD -> Cold Bay, Cold Bay Airport KCLL -> College Station, Easterwood Field KCOS -> Colorado Springs, City Of Colorado Springs Municipal Airport KCAE -> Columbia, Columbia Metropolitan Airport KCUB -> Columbia, Columbia Owens Downtown Airport KCOU -> Columbia, Columbia Regional Airport KBAK -> Columbus / Balkalar KCBM -> Columbus Air Force Base KOLU -> Columbus Municipal Automatic Weather Observing / Reporting System KCSG -> Columbus, Columbus Metropolitan Airport KOSU -> Columbus, Ohio State University Airport KCMH -> Columbus, Port Columbus International Airport KCQV -> Colville Municipal KCCR -> Concord, Buchanan Field KCON -> Concord, Concord Municipal Airport KCNK -> Concordia, Blosser Municipal Airport KCXO -> Conroe, Montgomery County Airport KP59 -> Copper Harbor PACV -> Cordova / Mile 13 K4CR -> Corona / Lincoln KCRP -> Corpus Christi, Corpus Christi International Airport KNGP -> Corpus Christi, Naval Air Station KCRS -> Corsicana, Campbell Field-Corsicana Municipal Airport KCEZ -> Cortez, Cortez-Montezuma County Airport KCVO -> Corvallis Municipal Automatic Weather Observing / Reporting System KCOT -> Cotulla, Cotulla-La Salle County Airport KCBF -> Council Bluffs KCVG -> Covington / Cincinnati, Cincinnati / Northern Kentucky International Airport KCAG -> Craig, Craig-Moffat Airport KCEC -> Crescent City KCSQ -> Creston KCEW -> Crestview, Sikes Airport KCKN -> Crookston Municipal Field KCTY -> Cross City, Cross City Airport KCSV -> Crossville, Crossville Memorial Airport K0V1 -> Custer, Custer County Airport KCTB -> Cut Bank Automatic Weather Observing / Reporting System KDAG -> Daggett, Barstow-Daggett Airport KDHT -> Dalhart, Dalhart Municipal Airport KADS -> Dallas / Addison Airport KDFW -> Dallas / Fort Worth, Dallas / Fort Worth International Airport KDAL -> Dallas, Dallas Love Field KRBD -> Dallas, Redbird Airport KDXR -> Danbury, Danbury Municipal Airport KDAN -> Danville, Danville Regional Airport KDVN -> Davenport, Davenport Municipal Airport KDMA -> Davis-Monthan Air Force Base KFFO -> Dayton / Wright-Patterson Air Force Base KDAY -> Dayton, Cox Dayton International Airport KMGY -> Dayton, Dayton General Airport South Airport KDAB -> Daytona Beach, Daytona Beach Regional Airport PASC -> Deadhorse KDEC -> Decatur, Decatur Airport KDCU -> Decatur, Pryor Field KDEH -> Decorah KDEW -> Deer Park, Deer Park Airport PADE -> Deering KDFI -> Defiance, Defiance Memorial Airport KDRT -> Del Rio, Del Rio International Airport KU24 -> Delta KDMN -> Deming, Deming Municipal Airport KDNS -> Denison KDTO -> Denton, Denton Municipal Airport KAPA -> Denver, Centennial Airport KDEN -> Denver, Denver International Airport KDSM -> Des Moines, Des Moines International Airport KDTS -> Destin, Destin-Ft. Walton Beach Airport KDTL -> Detroit Lakes Automatic Weather Observing / Reporting System KDET -> Detroit, Detroit City Airport KDTW -> Detroit, Detroit Metropolitan Wayne County Airport KYIP -> Detroit, Willow Run Airport KDVL -> Devils Lake Automatic Weather Observing / Reporting System KDIK -> Dickinson, Dickinson Municipal Airport PADL -> Dillingham Municipal, Ak KDLN -> Dillon, Dillon Airport KDDC -> Dodge City, Dodge City Regional Airport KDHN -> Dothan, Dothan Airport KDUG -> Douglas Bisbee International KDGW -> Douglas, Converse County Airport KDOV -> Dover Air Force Base K3DU -> Drummond KDUJ -> Du Bois Automatic Weather Observing / Reporting System KPSK -> Dublin / New River Valley KDBQ -> Dubuque, Dubuque Regional Airport KDPG -> Dugway Proving Grounds KEGI -> Duke Field / Eglin Auxiliary KDLH -> Duluth, Duluth International Airport KDKK -> Dunkirk, Chautauqua County / Dunkirk Airport KDRO -> Durango, Durango-La Plata County Airport PADU -> Dutch Harbor KDYR -> Dyersburg Automatic Weather Observing / Reporting System KEGE -> Eagle County Regional KBYH -> Eaker Air Force Base KEAU -> Eau Claire County Airport KEDW -> Edwards Air Force Base PAII -> Egegik Automatic Weather Observing / Reporting System KNJK -> El Centro, Naval Air Facility KELD -> El Dorado, South Arkansas Regional Airport KEMT -> El Monte KELP -> El Paso, El Paso International Airport PAEL -> Elfin Cove Seaplane KECG -> Elizabeth City, Elizabeth City Coast Guard Air Station KEHA -> Elkhart Automatic Weather Observing / Reporting System KEKM -> Elkhart Municipal KEKN -> Elkins, Elkins-Randolph County-Jennings Randolph Field KEKO -> Elko, Elko Municipal-Harris Field KELN -> Ellensburg, Bowers Field KRCA -> Ellsworth Air Force Base KELM -> Elmira, Elmira / Corning Regional Airport KELO -> Ely Municipal Automatic Weather Observing / Reporting System KELY -> Ely, Ely Airport KBLU -> Emigrant Gap, Blue Canyon Nyack Airport PAEM -> Emmonak KEMP -> Emporia, Emporia Municipal Airport KWDG -> Enid / Woodring Municipal KEPH -> Ephrata, Ephrata Municipal Airport KERI -> Erie, Erie International Airport KESC -> Escanaba KEST -> Estherville, Estherville Municipal Airport KEUG -> Eugene, Mahlon Sweet Field PAZK -> Eureka KEVW -> Evanston, Evanston-Uinta County Burns Field KEVV -> Evansville, Evansville Regional Airport KEVM -> Eveleth Municipal Automatic Weather Observing / Reporting System KPAE -> Everett, Snohomish County Airport KGZH -> Evergreen, Middleton Field KFFL -> Fair Field PAEI -> Fairbanks / Eielson Air Force Base PAFA -> Fairbanks, Fairbanks International Airport KSKA -> Fairchild Air Force Base KSUU -> Fairfield / Travis Air Force Base KFRM -> Fairmont Municipal Automatic Weather Observing / Reporting System KD07 -> Faith KNFL -> Fallon, Naval Air Station KFNB -> Falls City / Brenner KFAR -> Fargo, Hector International Airport KFBL -> Faribault Municipal Automatic Weather Observing / Reporting System KFRG -> Farmingdale, Republic Airport KFAM -> Farmington Airport KFMN -> Farmington, Four Corners Regional Airport KFVX -> Farmville KFYV -> Fayetteville, Drake Field KFAY -> Fayetteville, Fayetteville Regional Airport KFFM -> Fergus Falls Automatic Weather Observing / Reporting System KFDY -> Findlay Automatic Weather Observing / Reporting System KFIT -> Fitchburg, Fitchburg Municipal Airport KFLG -> Flagstaff, Flagstaff Pulliam Airport KFNT -> Flint, Bishop International Airport KFLP -> Flippin Automatic Weather Observing / Reporting System KFLO -> Florence, Florence Regional Airport KFLD -> Fond Du Lac, Fond Du Lac County Airport KDAA -> Fort Belvoir KLSF -> Fort Benning KFBG -> Fort Bragg / Simmons Army Airfield KHOP -> Fort Campbell U. S. Army Airfield KFCS -> Fort Carson KFNL -> Fort Collins Automatic Weather Observing / Reporting System KFOD -> Fort Dodge KGTB -> Fort Drum / Wheeler-Sack U. S. Army Airfield KFAF -> Fort Eustis / Felker PABI -> Fort Greely / Allen U. S. Army Airfield, Ak KHLR -> Fort Hood KGRK -> Fort Hood / Gray U. S. Army Airfield KFHU -> Fort Huachuca KFTK -> Fort Knox KFLL -> Fort Lauderdale, Fort Lauderdale / Hollywood International Airport KFXE -> Fort Lauderdale, Fort Lauderdale Executive Airport KFLV -> Fort Leavenworth KTBN -> Fort Leonard Wood KGRF -> Fort Lewis / Gray U. S. Army Airfield KFSW -> Fort Madison KFMY -> Fort Myers, Page Field KRSW -> Fort Myers, Southwest Florida International Airport KFPR -> Fort Pierce, St. Lucie County International Airport KPOE -> Fort Polk KFRI -> Fort Riley KJWX -> Fort Ritchie KFSI -> Fort Sill KFSM -> Fort Smith, Fort Smith Regional Airport KFST -> Fort Stockton, Fort Stockton-Pecos County Airport KFWA -> Fort Wayne, Fort Wayne International Airport KAFW -> Fort Worth, Fort Worth Alliance Airport KFTW -> Fort Worth, Meacham International Airport KNFW -> Fort Worth, Naval Air Station PFYU -> Fort Yukon KFSE -> Fosston Automatic Weather Observing / Reporting System K9F2 -> Fourchon Supplementary Aviation Weather Reporting Station KFFT -> Frankfort, Capital City Airport KFKN -> Franklin / J B Rose KFKL -> Franklin Automatic Weather Observing / Reporting System KFDR -> Frederick, Frederick Municipal Airport KFET -> Fremont Municipal Airport KFVE -> Frenchville, Northern Aroostook Regional Airport KFAT -> Fresno, Fresno Air Terminal KFCH -> Fresno-Chandler KFHR -> Friday Harbor, Friday Harbor Airport KIZG -> Fryeburg, Eastern Slopes Regional Airport KLHW -> Ft. Stewart KFUL -> Fullerton, Fullerton Municipal Airport KGAD -> Gadsden Municipal Automatic Weather Observing / Reporting System KGAG -> Gage, Gage Airport KGNV -> Gainesville, Gainesville Regional Airport KGVL -> Gainesville, Gilmer Memorial Airport PAGB -> Galbraith Lake PAGA -> Galena A. KGUP -> Gallup, Gallup Municipal Airport KGLS -> Galveston, Scholes Field PAGM -> Gambell Automatic Weather Observing / Reporting System KGCK -> Garden City, Garden City Regional Airport KN60 -> Garrison KGYY -> Gary Regional KAKH -> Gastonia, Gastonia Municipal Airport KGLR -> Gaylord, Otsego County Airport KGTU -> Georgetown Automatic Weather Observing / Reporting System KGED -> Georgetown, Sussex County Airport KGBN -> Gila Bend U. S. Army Airfield KGCC -> Gillette, Gillette-Campbell County Airport KGGW -> Glasgow, Glasgow International Airport KGDV -> Glendive Automatic Weather Observing / Reporting System KGFL -> Glens Falls, Warren County Airport KGHW -> Glenwood Automatic Surface Observing System KGTR -> Golden Tri Automatic Weather Observing / Reporting System KGLD -> Goodland, Renner Field KGYR -> Goodyear Municipal KGSH -> Goshen, Goshen Municipal Airport KGCN -> Grand Canyon, Grand Canyon National Park Airport KRDR -> Grand Forks Air Force Base KGFK -> Grand Forks, Grand Forks International Airport KGRI -> Grand Island, Central Nebraska Regional Airport KAXO -> Grand Isle Supplementary Aviation Weather Reporting Station KGJT -> Grand Junction, Walker Field KP61 -> Grand Marais KGNA -> Grand Marais, The Bay of Grand Marais KGPZ -> Grand Rapids Automatic Weather Observing / Reporting System KGRR -> Grand Rapids, Kent County International Airport KS80 -> Grangeville KGNT -> Grants, Grants-Milan Municipal Airport KGBD -> Great Bend Automatic Weather Observing / Reporting System KGTF -> Great Falls, Great Falls International Airport KGXY -> Greeley / Weld Automatic Weather Observing / Reporting System KGRB -> Green Bay, Austin Straubel International Airport KU28 -> Green River Range KGSO -> Greensboro, Piedmont Triad International Airport KGVT -> Greenville / Majors KGMU -> Greenville, Greenville Downtown Airport KGLH -> Greenville, Greenville Municipal Airport KGWO -> Greenwood, Greenwood-LeFlore Airport KGSP -> Greer, Greenville-Spartanburg Airport KGEY -> Greybull, South Big Horn County Airport KRME -> Griffiss Air Force Base / Rome KGUS -> Grissom Air Force Base / Peru KGON -> Groton / New London, Groton-New London Airport KGPT -> Gulfport, Gulfport-Biloxi Regional Airport PAGK -> Gulkana / Intl. Fld. KGUC -> Gunnison Automatic Weather Observing / Reporting System PAGS -> Gustavus KGOK -> Guthrie, Guthrie Municipal Airport KGUY -> Guymon / Guymon Municipal Airport KHGR -> Hagerstown, Washington County Regional Airport KSUN -> Hailey / Friedman Memorial PAHN -> Haines KHMM -> Hamilton / Ravalli County KHAO -> Hamilton, Hamilton-Fairfield Airport KCMX -> Hancock, Houghton County Memorial Airport KHMS -> Hanford KO18 -> Hanford, Hanford Municipal Airport K4HV -> Hanksville KHRL -> Harlingen, Rio Grande Valley International Airport K3HT -> Harlowton KCXY -> Harrisburg, Capital City Airport KMDT -> Harrisburg, Harrisburg International Airport KHRO -> Harrison, Boone County Airport KHFD -> Hartford, Hartford-Brainard Airport KHSI -> Hastings, Hastings Municipal Airport KHSE -> Hatteras, Mitchell Field KHVR -> Havre, Havre City-County Airport KHHR -> Hawthorne, Hawthorne Municipal Airport KHDN -> Hayden / Yampa Automatic Weather Observing / Reporting System PAHZ -> Hayes River KHYS -> Hays Municipal Automatic Weather Observing / Reporting System KHWD -> Hayward, Hayward Air Terminal KHYR -> Hayward, Hayward Municipal Airport PAHV -> Healy River Airport KHLN -> Helena, Helena Regional Airport KEHR -> Henderson City KS22 -> Hermiston, Hermiston Municipal Airport KHEI -> Hettinger, Hettinger Municipal Airport KHIB -> Hibbing, Chisholm-Hibbing Airport KHKY -> Hickory, Hickory Regional Airport KHIF -> Hill Air Force Base / Ogden KHLC -> Hill City, Hill City Municipal Airport KHLX -> Hillsville PHTO -> Hilo, Hilo International Airport KHBR -> Hobart, Hobart Municipal Airport KHOB -> Hobbs / Lea County KBIV -> Holland, Tulip City Airport KHMN -> Holloman Air Force Base PAHO -> Homer KHST -> Homestead Air Force Base KHDO -> Hondo, Hondo Municipal Airport PHNL -> Honolulu, Honolulu International Airport PAOH -> Hoonah Seaplane KHQM -> Hoquiam, Bowerman Airport KHSP -> Hot Springs / Ingalls KHOT -> Hot Springs, Memorial Field KHTL -> Houghton Lake, Roscommon County Airport KHUL -> Houlton, Houlton International Airport KHUM -> Houma-Terrebonne KEFD -> Houston / Ellington KT02 -> Houston, Clover Field KHOU -> Houston, Hobby Airport KDWH -> Houston, Hooks Memorial Airport KIAH -> Houston, Houston Intercontinental Airport KSVN -> Hunter U. S. Army Airfield KHNB -> Huntingburg KHTS -> Huntington, Tri-State Airport KHSV -> Huntsville, Huntsville International / Jones Field KUTS -> Huntsville, Huntsville Municipal Airport KHRT -> Hurlburt Field KHON -> Huron, Huron Regional Airport PAHS -> Huslia KHCD -> Hutchinson Automatic Weather Observing / Reporting System KHUT -> Hutchinson, Hutchinson Municipal Airport KHYA -> Hyannis, Barnstable Municipal-Boardman Airport PAHY -> Hydaburg Seaplane KIDA -> Idaho Falls, Fanning Field PAIL -> Iliamna / Iliamna Airport KNRS -> Imperial Beach, Naval Auxiliary Landing Field KIML -> Imperial Municipal KIPL -> Imperial, Imperial County Airport PAIM -> Indian Mountain Airways Facilities Sector KIDI -> Indiana / Stewart Field KEYE -> Indianapolis, Eagle Creek Airpark KIND -> Indianapolis, Indianapolis International Airport KINL -> International Falls, Falls International Airport K7R4 -> Intracoastal City KIYK -> Inyokern KIOW -> Iowa City, Iowa City Municipal Airport KIMT -> Iron Mountain / Kingsford, Ford Airport KIWD -> Ironwood Automatic Weather Observing / Reporting System KISP -> Islip, Long Island Mac Arthur Airport KITH -> Ithaca / Tompkins County KJXN -> Jackson / Reynolds KJAC -> Jackson Hole Automatic Weather Observing / Reporting System KMJQ -> Jackson Municipal Automatic Weather Observing / Reporting System KJKL -> Jackson, Carroll Airport KJAN -> Jackson, Jackson International Airport KMKL -> Jackson, McKellar-Sipes Regional Airport KOAJ -> Jacksonville Automatic Weather Observing / Reporting System KCRG -> Jacksonville, Craig Municipal Airport KJAX -> Jacksonville, Jacksonville International Airport KNIP -> Jacksonville, Naval Air Station KNCA -> Jacksonville, New River, Marine Corps Air Station KAFN -> Jaffrey, Jaffrey Municipal-Silver Ranch Airport KJHW -> Jamestown Automatic Weather Observing / Reporting System KJMS -> Jamestown, Jamestown Municipal Airport KJVL -> Janesville / Rock County KJEF -> Jefferson City, Jefferson City Memorial Airport KU73 -> Jerome, Jerome County Airport KJST -> Johnstown, Johnstown-Cambria County Airport KJBR -> Jonesboro, Jonesboro Municipal Airport KJLN -> Joplin, Joplin Regional Airport KJDN -> Jordan, Jordan Airport KJCT -> Junction, Kimble County Airport PAJN -> Juneau, Juneau International Airport PHOG -> Kahului, Kahului Airport PHKO -> Kailua / Kona, Keahole Airport KAIZ -> Kaiser Memorial Automatic Weather Observing / Reporting System PAFE -> Kake Seaplane Base KAZO -> Kalamazoo, Kalamazoo / Battle Creek International Airport KFCA -> Kalispell, Glacier Park International Airport PAKV -> Kaltag, Kaltag Airport PHNG -> Kaneohe, Marine Corps Air Station KMKC -> Kansas City, Kansas City Downtown Airport KMCI -> Kansas City, Kansas City International Airport KGVW -> Kansas City, Richards-Gebaur Airport KEAR -> Kearney Municipal Automatic Weather Observing / Reporting System KEEN -> Keene / Dillant Automatic Weather Observing / Reporting System KBIX -> Keesler Air Force Base / Biloxi PHBK -> Kekaha, Pacific Missile Test Facility Barking Sands KSKF -> Kelly Air Force Base KKLS -> Kelso-Longview Automatic Weather Observing / Reporting System PAEN -> Kenai, Kenai Municipal Airport KENW -> Kenosha, Kenosha Regional Airport KEOK -> Keokuk Municipal PAKT -> Ketchikan, Ketchikan International Airport KEYW -> Key West, Key West International Airport KNQX -> Key West, Naval Air Station KILE -> Killeen Municipal Automatic Weather Observing / Reporting System PAKN -> King Salmon, King Salmon Airport KIGM -> Kingman, Kingman Airport KNQI -> Kingsville, Naval Air Station KISO -> Kinston / Stallings KIRK -> Kirksville, Kirksville Regional Airport PAVL -> Kivalina, Kivalina Airport KLMT -> Klamath Falls, Klamath Falls International Airport PAKW -> Klawock KOXV -> Knoxville KTYS -> Knoxville, McGhee Tyson Airport PADQ -> Kodiak PAOT -> Kotzebue, Wien Memorial Airport KLSE -> La Crosse, La Crosse Municipal Airport KLGD -> La Grande Automatic Weather Observing / Reporting System KLHX -> La Junta, La Junta Municipal Airport KPOC -> La Verne / Brackett KLCI -> Laconia Municipal Automatic Weather Observing / Reporting System KLFT -> Lafayette, Lafayette Regional Airport KLAF -> Lafayette, Purdue University Airport PHJH -> Lahaina / West Maui KLCH -> Lake Charles, Lake Charles Regional Airport PALH -> Lake Hood Seaplane KNEL -> Lakehurst Naval Air Station KLAL -> Lakeland Regional K4LW -> Lakeview KLKV -> Lakeview Automatic Weather Observing / Reporting System KLAA -> Lamar, Lamar Municipal Airport KLWD -> Lamoni, Lamoni Municipal Airport PHNY -> Lanai City Airport KWJF -> Lancaster / Fox Field KLHQ -> Lancaster, Fairfield County Airport KLNS -> Lancaster, Lancaster Airport KLND -> Lander KLFI -> Langley Air Force Base KLAN -> Lansing, Capital City Airport KLAR -> Laramie, Laramie Regional Airport KLRD -> Laredo International Airport KLRU -> Las Cruces International KLVS -> Las Vegas, Las Vegas Municipal Airport KLAS -> Las Vegas, McCarran International Airport KLBE -> Latrobe / Westmorland KDLF -> Laughlin, Laughlin Air Force Base Auxiliary Airfield KLWM -> Lawrence, Lawrence Municipal Airport KLWV -> Lawrenceville, Lawrenceville-Vincennes International Airport KLAW -> Lawton, Lawton Municipal Airport KLRJ -> Le Marine Aviation Reporting Station KLXV -> Leadville, Lake County Airport KLEB -> Lebanon, Lebanon Municipal Airport KJYO -> Leesburg / Godfrey KLEE -> Leesburg, Leesburg Municipal Airport KY22 -> Lemmon KNLC -> Lemoore, Naval Air Station KLWB -> Lewisburg / Greenbrier KLWS -> Lewiston, Lewiston-Nez Perce County Airport KLWT -> Lewistown Municipal KLEX -> Lexington, Blue Grass Airport KLBL -> Liberal Municipal Automatic Weather Observing / Reporting System KP67 -> Lidgerwood Remote Automatic Meteorological Observing System PHLI -> Lihue, Lihue Airport KAOH -> Lima, Lima Allen County Airport KLIC -> Limon, Limon Municipal Airport KLNK -> Lincoln, Lincoln Municipal Airport KLXL -> Little Falls Automatic Weather Observing / Reporting System KLRF -> Little Rock Air Force Base KLIT -> Little Rock, Adams Field KLVK -> Livermore, Livermore Municipal Airport KLVM -> Livingston, Mission Field KLGU -> Logan, Logan-Cache Airport KLPC -> Lompoc Automatic Weather Observing / Reporting System KLOZ -> London, London-Corbin Airport-Magee Field KLNR -> Lone Rock, Tri-County Regional Airport KLGB -> Long Beach, Long Beach Airport KGGG -> Longview, Gregg County Airport KLPR -> Lorain / Elyria, Lorain County Regional Airport KLAM -> Los Alamos KLAX -> Los Angeles, Los Angeles International Airport KLOU -> Louisville, Bowman Field KSDF -> Louisville, Standiford Field KLOL -> Lovelock, Derby Field KP69 -> Lowell KLBB -> Lubbock, Lubbock International Airport KLFK -> Lufkin, Angelina County Airport KLUF -> Luke Air Force Base / Phoenix KLBT -> Lumberton, Lumberton Municipal Airport KLYH -> Lynchburg, Lynchburg Regional Airport KMCF -> Macdill Air Force Base, Fl. KHFF -> Mackall U. S. Army Airfield KMCN -> Macon, Middle Georgia Regional Airport KMAE -> Madera, Madera Municipal Airport KMSN -> Madison, Dane County Regional-Truax Field KMLD -> Malad City K77M -> Malta KMMH -> Mammoth / June Lakes KHEF -> Manassas Municipal Automatic Weather Observing / Reporting System KMHT -> Manchester, Manchester Airport KMHK -> Manhattan, Manhattan Municipal Airport KMBL -> Manistee Automatic Weather Observing / Reporting System KP75 -> Manistique KMTW -> Manitowoc Municipal Automatic Weather Observing / Reporting System KMKT -> Mankato Automatic Weather Observing / Reporting System PAML -> Manley Hot Springs KMFD -> Mansfield, Mansfield Lahm Municipal Airport KMQI -> Manteo / Dare County Regional KMTH -> Marathon, Marathon Airport KMRF -> Marfa KMAI -> Marianna, Marianna Municipal Airport KMGE -> Marietta / Dobbins Air Force Base KMKJ -> Marion / Wytheville KMWA -> Marion Regional KMNN -> Marion, Marion Municipal Airport KMQT -> Marquette KMML -> Marshall / Ryan Automatic Weather Observing / Reporting System KMIW -> Marshalltown, Marshalltown Municipal Airport KMFI -> Marshfield, Marshfield Municipal Airport KMRB -> Martinsburg, Eastern West Virginia Regional Airport KMTV -> Martinsville KMYV -> Marysville, Yuba County Airport KMCW -> Mason City, Mason City Municipal Airport KMSS -> Massena, Massena International-Richards Field KMHR -> Mather Field KMTO -> Mattoon / Charleston, Coles County Memorial Airport KMEB -> Maxton, Laurinburg-Maxton Airport KMXF -> Maxwell Air Force Base / Montgomery KNRB -> Mayport, Naval Air Facility KPWG -> Mc Gregor Automatic Weather Observing / Reporting System KMLC -> McAlester, McAlester Regional Airport KMFE -> McAllen, Miller International Airport KMYL -> McCall, McCall Airport PAMX -> McCarthy KMCC -> McClellan Air Force Base KMCB -> McComb, McComb / Pike County Airport KIAB -> McConnell Air Force Base KMCK -> McCook, McCook Municipal Airport KMMT -> McEntire Air National Guard Weather Facility Base PAMC -> McGrath PAIN -> McKinley Park KTKI -> McKinney, McKinney Municipal Airport KMMV -> McMinnville, McMinnville Municipal Airport KWRI -> Mcguire Air Force Base KMEH -> Meacham, Meacham KMFR -> Medford, Rogue Valley International Airport KP28 -> Medicine Lodge, Medicine Lodge KEEO -> Meeker, Meeker Airport PAMY -> Mekoryuk KMLB -> Melbourne, Melbourne International Airport KMFV -> Melfa / Accomack Airport KMEM -> Memphis, Memphis International Airport KMNM -> Menominee Automatic Weather Observing / Reporting System KMCE -> Merced, Merced Municipal Airport KDRA -> Mercury, Desert Rock Airport KMEI -> Meridian, Key Field KNMM -> Meridian, Naval Air Station PAMR -> Merrill Field KFFZ -> Mesa / Falcon Field KTMB -> Miami, Kendall-Tamiami Executive Airport KMIA -> Miami, Miami International Airport KOPF -> Miami, Opa Locka Airport PAMD -> Middleton Island, Ak KMAF -> Midland, Midland International Airport PMDY -> Midway Island Naval Air Facility KMLS -> Miles City, Wiley Field KMLF -> Milford, Milford Municipal Airport KMLT -> Millinocket, Millinocket Municipal Airport KMIV -> Millville, Millville Municipal Airport KNSE -> Milton, Whiting Field North KMWC -> Milwaukee / Timmerman KMKE -> Milwaukee, General Mitchell International Airport PAMH -> Minchumina KMWL -> Mineral Wells, Mineral Wells Airport KANE -> Minneapolis / Blaine KMIC -> Minneapolis, Crystal Airport KFCM -> Minneapolis, Flying Cloud Airport KMSP -> Minneapolis, Minneapolis-St. Paul International Airport KARV -> Minocqua / Woodruff KMIB -> Minot Air Force Base KMOT -> Minot, Minot International Airport KMSO -> Missoula, Missoula International Airport KMHE -> Mitchell Automatic Weather Observing / Reporting System KCNY -> Moab, Canyonlands Field KBFM -> Mobile, Mobile Downtown Airport KMOB -> Mobile, Mobile Regional Airport KY26 -> Mobridge KMBG -> Mobridge, Mobridge Municipal Airport KMOD -> Modesto, Modesto City-County-Sham Field KMHV -> Mojave KMLI -> Moline, Quad-City Airport PHMK -> Molokai Automatic Meteorological Observing System KEQY -> Monroe, Monroe Airport KMLU -> Monroe, Monroe Regional Airport KSIY -> Montague / Siskiyou KMTP -> Montauk, Montauk Airport KMRY -> Monterey, Monterey Peninsula Airport KMVE -> Montevideo Automatic Weather Observing / Reporting System KMGM -> Montgomery, Dannelly Field KMGJ -> Montgomery, Orange County Airport KMSV -> Monticello Automatic Weather Observing / Reporting System KMXO -> Monticello Municipal KLLQ -> Monticello, Monticello Municipal Airport KMTJ -> Montrose, Montrose Regional Airport KVAD -> Moody Air Force Base KMGW -> Morgantown, Morgantown Municipal-Hart Field K4MY -> Moriarty KMOX -> Morris Municipal Automatic Weather Observing / Reporting System KMMU -> Morristown Municipal KMVL -> Morrisville, Morrisville-Stowe State Airport KMWH -> Moses Lake, Grant County Airport KCWA -> Mosinee / Central Wisconsin KVAY -> Mount Holly, South Jersey Regional Airport KMWT -> Mount Ida KMHS -> Mount Shasta KMVN -> Mount Vernon Automatic Weather Observing / Reporting System KMWN -> Mount Washington KMWS -> Mount Wilson KMUO -> Mountain Home Air Force Base KBPK -> Mountain Home, Baxter County Regional Airport KNUQ -> Mountain View, Moffett Field KMUI -> Muir Army Air Field / Indiantown KMLP -> Mullan Pass, Mullan Pass Vor KMIE -> Muncie, Delaware County-Johnson Field KMUT -> Muscatine KMSL -> Muscle Shoals, North West Alabama Regional Airport KMKG -> Muskegon, Muskegon County Airport KMKO -> Muskogee, Davis Field KMYR -> Myrtle Beach Air Force Base KOQU -> N. Kingston / Quonset KTTS -> NASA Shuttle Facility PABN -> Nabesna / Devil Mountain KOCH -> Nacogdoches Automatic Weather Observing / Reporting System KACK -> Nantucket, Nantucket Memorial Airport KAPC -> Napa, Napa County Airport KAPF -> Naples Municipal KASH -> Nashua / Boire Field KBNA -> Nashville, Nashville International Airport KHEZ -> Natchez / Hardy Automatic Weather Observing / Reporting System KEED -> Needles Airport KLSV -> Nellis Air Force Base PANN -> Nenana / Mun. KEWB -> New Bedford, New Bedford Regional Airport KEWN -> New Bern, Craven County Regional Airport KBAX -> New Braunfels, New Braunfels Municipal Airport KHVN -> New Haven, Tweed-New Haven Airport KARA -> New Iberia, Acadiana Regional Airport KNEW -> New Orleans, Lakefront Airport KNBG -> New Orleans, Naval Air Station KMSY -> New Orleans, New Orleans International Airport KPHD -> New Philadelphia, Harry Clever Field KRRF -> New Port Richey, Tampa Bay Executive Airport KULM -> New Ulm Municipal Automatic Weather Observing / Reporting System KJFK -> New York, Kennedy International Airport KLGA -> New York, La Guardia Airport KVTA -> Newark, Newark Heath Airport KEWR -> Newark, Newark International Airport KSWF -> Newburgh / Stewart KJNW -> Newport KONP -> Newport Municipal KPHF -> Newport News, Newport News / Williamsburg International Airport KUUU -> Newport, Newport State Airport KEWK -> Newton Automatic Weather Observing / Reporting System KTNU -> Newton Municipal KIAG -> Niagara Falls, Niagara Falls International Airport PAWN -> Noatak K13A -> Nogales Automatic Meteorological Observing System PAOM -> Nome, Nome Airport KNGU -> Norfolk, Naval Air Station KORF -> Norfolk, Norfolk International Airport KOFK -> Norfolk, Stefan Memorial Airport KAQW -> North Adams, Harriman-And-West Airport KOTH -> North Bend Automatic Weather Observing / Reporting System KCRE -> North Myrtle Beach, Grand Strand Airport KLBF -> North Platte, North Platte Regional Airport PAOR -> Northway, Northway Airport KSBD -> Norton Air Force Base / San Bern KOWD -> Norwood, Norwood Memorial Airport PAQT -> Nuiqsut, Nuiqsut Airport KONL -> O'Neill / Baker Field PHNA -> Oahu, Barbers Point, Naval Air Station K76S -> Oak Harbor Airpark KOAK -> Oakland, Metropolitan Oakland International Airport KOCF -> Ocala Municipal Automatic Weather Observing / Reporting System KNFG -> Oceanside, Camp Pendleton, Marine Corps Air Station KODO -> Odessa, Odessa-Schlemeyer Field KOLZ -> Oelwen KOGD -> Ogden, Ogden-Hinckley Airport KOGS -> Ogdensburg International KPWA -> Oklahoma City, Wiley Post Airport KOKC -> Oklahoma City, Will Rogers World Airport KOJC -> Olathe, Johnson County Executive Airport KIXD -> Olathe, New Century Aircenter KOLM -> Olympia, Olympia Airport KOFF -> Omaha / Offutt Air Force Base KOMA -> Omaha, Eppley Airfield KOMK -> Omak, Omak Airport KONT -> Ontario, Ontario International Airport KONO -> Ontario, Ontario Municipal Airport KORC -> Orange City KORE -> Orange, Orange Municipal Airport KOGB -> Orangeburg, Orangeburg Municipal Airport KODX -> Ord / Sharp Field KSFB -> Orlando / Sanford Airport KORL -> Orlando, Orlando Executive Airport KMCO -> Orlando, Orlando International Airport KOVE -> Oroville, Oroville Municipal Airport KORB -> Orr KOSH -> Oshkosh, Wittman Regional Airport KFMH -> Otis Air National Guard Base KOTM -> Ottumwa, Ottumwa Industrial Airport KOWA -> Owatonna Automatic Weather Observing / Reporting System KOWB -> Owensboro / Daviess KOXC -> Oxford Automatic Weather Observing / Reporting System KOXR -> Oxnard, Oxnard Airport KPAH -> Paducah, Barkley Regional Airport KPGA -> Page, Page Municipal Airport KPSX -> Palacios Municipal KPSP -> Palm Springs, Palm Springs Regional Airport KTRM -> Palm Springs, Thermal Airport KPMD -> Palmdale, Palmdale Production Flight Plant PAAQ -> Palmer KPAO -> Palo Alto Airport KPFN -> Panama City, Panama City-Bay County International Airport KPRX -> Paris / Cox Field KPKD -> Park Rapids, Park Rapids Municipal Airport KPKB -> Parkersburg / Wilson KPPF -> Parsons, Tri-City Airport KPQL -> Pascagoula, Lott International Airport KPSC -> Pasco, Tri-Cities Airport KPRB -> Paso Robles, Paso Robles Municipal Airport KPTN -> Patterson Memorial KNHK -> Patuxent River, Naval Air Station KSFZ -> Pawtucket Automatic Weather Observing / Reporting System PAXK -> Paxson K0E4 -> Payson KPSM -> Pease Air Force Base / Portsmouth KPLN -> Pellston, Pellston Regional Airport KPDT -> Pendleton, Eastern Oregon Regional At Pendleton Airport KPEO -> Penn Yan, Penn Yan Airport KNPA -> Pensacola, Naval Air Station KPNS -> Pensacola, Pensacola Regional Airport KPIA -> Peoria, Greater Peoria Regional Airport K40J -> Perry-Foley, Perry-Foley Airport PAPG -> Petersburg KPTB -> Petersburg Automatic Weather Observing / Reporting System KPNE -> Philadelphia, Northeast Philadelphia Airport KPHL -> Philadelphia, Philadelphia International Airport KPHP -> Philip, Philip Airport KPBH -> Phillips / Price County KAPG -> Phillips Army Air Field / Aberdeen KPHX -> Phoenix, Phoenix Sky Harbor International Airport KDVT -> Phoenix, Phoenix-Deer Valley Municipal Airport KPIR -> Pierre, Pierre Regional Airport K5I3 -> Pikeville Remote Automatic Meteorological Observing System KPIB -> Pine Belt Regional Automatic Weather Observing / Reporting System KPBF -> Pine Bluff, Grider Field KIEN -> Pine Ridge, Pine Ridge Airport KGDP -> Pine Springs, Guadalupe Mountains National Park KPQN -> Pipestone Automatic Weather Observing / Reporting System KPGV -> Pitt-Greenville Airport KAGC -> Pittsburgh, Allegheny County Airport KPIT -> Pittsburgh, Pittsburgh International Airport KPSF -> Pittsfield, Pittsfield Municipal Airport KPLB -> Plattsburgh, Clinton County Airport KPYM -> Plymouth, Plymouth Municipal Airport KPIH -> Pocatello, Pocatello Regional Airport PAPO -> Point Hope Automatic Weather Observing / Reporting System PPIZ -> Point Lay KNTD -> Point Mugu, Naval Air Warfare Center K87Q -> Point Piedras Blanca KPMP -> Pompano Beach, Pompano Beach Airpark KPNC -> Ponca City, Ponca City Municipal Airport KPTK -> Pontiac, Oakland County International Airport KPOB -> Pope Air Force Base KP02 -> Poplar Bluff, Mo. KPOF -> Poplar Bluff, Poplar Bluff Municipal Airport PAAP -> Port Alexander PALJ -> Port Alsworth KCLM -> Port Angeles, William R. Fairchild International Airport PAPH -> Port Heiden KP58 -> Port Hope KT31 -> Port Isabel, Port Isabel-Cameron County Airport KPTV -> Porterville Automatic Weather Observing / Reporting System KPDX -> Portland, Portland International Airport KPWM -> Portland, Portland International Jetport KHIO -> Portland, Portland-Hillsboro Airport KTTD -> Portland, Portland-Troutdale Airport KPTW -> Pottstown, Pottstown Limerick Airport KPOU -> Poughkeepsie, Dutchess County Airport KPRC -> Prescott, Love Field KPQI -> Presque Isle KPUC -> Price, Carbon County Airport KPNM -> Princeton KPVD -> Providence, Green State Airport KPVC -> Provincetown Automatic Weather Observing / Reporting System KPVU -> Provo Municipal Automatic Weather Observing / Reporting System KPUB -> Pueblo, Pueblo Memorial Airport KPUW -> Pullman / Moscow, Pullman / Moscow Regional Airport KPGD -> Punta Gorda, Charlotte County Airport PAPT -> Puntilla KNYG -> Quantico, Marine Corps Air Facility KUIL -> Quillayute, Quillayute State Airport KUIN -> Quincy Municipal / Baldwin KRAC -> Racine, Batten International Airport KRDU -> Raleigh / Durham, Raleigh-Durham International Airport KRNM -> Ramona, Ramona Airport KRND -> Randolph Air Force Base KRAP -> Rapid City, Rapid City Regional Airport KRTN -> Raton, Raton Municipal \ Crews Field Airport KRWL -> Rawlins Municipal KRDG -> Reading, Reading Regional Airport KRBL -> Red Bluff, Red Bluff Municipal Airport KRDK -> Red Oak KRDD -> Redding, Redding Municipal Airport KRDM -> Redmond Automatic Weather Observing / Reporting System KRWF -> Redwood Falls, Redwood Falls Municipal Airport KRNO -> Reno, Reno Tahoe International Airport KRNT -> Renton, Renton Municipal Airport KRXE -> Rexburg, Rexburg-Madison County Airport KRHI -> Rhinelander, Rhinelander-Oneida County Airport KRIC -> Richmond, Richmond International Airport KLCK -> Rickenbacker Air National Guard Base KRIL -> Rifle, Garfield County Regional Airport KRIV -> Riverside / March Air Force Base KRAL -> Riverside, Riverside Municipal Airport KRIW -> Riverton, Riverton Regional Airport KRZZ -> Roanoke Rapids, Halifax County Airport KROA -> Roanoke, Roanoke Regional Airport KROC -> Rochester, Greater Rochester International Airport KRST -> Rochester, Rochester Municipal Airport KUZA -> Rock Hill, Rock Hill - York County Airport KRKS -> Rock Springs KRFD -> Rockford, Greater Rockford Airport KRKD -> Rockland / Knox Automatic Weather Observing / Reporting System KRKP -> Rockport, Aransas County Airport KRWI -> Rocky Mount, Rocky Mount-Wilson Airport KROG -> Rogers Automatic Weather Observing / Reporting System KVIH -> Rolla / Vichy, Rolla National Airport KP88 -> Rome Automatic Meteorological Observing System KRMG -> Rome, R. B. Russell Airport KREO -> Rome, Rome TJNR -> Roosevelt Roads, Naval Station KROX -> Roseau Municipal Automatic Weather Observing / Reporting System KRBG -> Roseburg, Roseburg Regional Airport KROW -> Roswell, Roswell Industrial Air Center Airport KSRR -> Ruidoso Regional KRSL -> Russell, Russell Municipal Airport KRUE -> Russellville, Russellville Municipal Airport KRUT -> Rutland State Automatic Weather Observing / Reporting System KRPE -> Sabine Pass KSAC -> Sacramento, Sacramento Executive Airport KSMF -> Sacramento, Sacramento Metropolitan Airport KE74 -> Safford Automatic Meteorological Observing System KSAD -> Safford, Safford Municipal Airport KMBS -> Saginaw, MBSy International Airport KSGU -> Saint George Automatic Weather Observing / Reporting System K1V4 -> Saint Johnsbury PASM -> Saint Mary's Automatic Weather Observing / Reporting System PASN -> Saint Paul KSLE -> Salem, McNary Field KSLN -> Salina, Salina Municipal Airport KSNS -> Salinas, Salinas Municipal Airport KSBY -> Salisbury, Salisbury-Wicomico County Regional Airport K27U -> Salmon KSMN -> Salmon / Lemhi Automatic Weather Observing / Reporting System KSLC -> Salt Lake City, Salt Lake City International Airport KP92 -> Salt Point KSJT -> San Angelo, Mathis Field KSAT -> San Antonio, San Antonio International Airport KSSF -> San Antonio, Stinson Municipal Airport KSQL -> San Carlos Airport KSEE -> San Diego / Gillespie KSDM -> San Diego, Brown Field Municipal Airport KNKX -> San Diego, Miramar, Naval Air Station KMYF -> San Diego, Montgomery Field KNZY -> San Diego, North Island, Naval Air Station KSAN -> San Diego, San Diego International-Lindbergh Field KSFO -> San Francisco, San Francisco International Airport KRHV -> San Jose / Reid / Hillv KSJC -> San Jose, San Jose International Airport KSBP -> San Luis Obispo, San Luis Obispo County-Mc Chesney Field KNSI -> San Nicholas Island PASD -> Sand Point KSDB -> Sandberg KP07 -> Sanderson KSFM -> Sanford Municipal Automatic Weather Observing / Reporting System KSNA -> Santa Ana, John Wayne Airport-Orange County Airport KSBA -> Santa Barbara, Santa Barbara Municipal Airport KSAF -> Santa Fe, Santa Fe County Municipal Airport KSMX -> Santa Maria, Santa Maria Public Airport KSMO -> Santa Monica, Santa Monica Municipal Airport KSTS -> Santa Rosa, Sonoma County Airport KSLK -> Saranac Lake, Adirondack Regional Airport KSRQ -> Sarasota / Bradenton, Sarasota-Bradenton International Airport KANJ -> Sault Ste. Marie KSAV -> Savannah, Savannah International Airport PASA -> Savoonga Airport KSPB -> Scappoose, Scappoose Industrial Airpark KSCH -> Schenectady Airport KBLV -> Scott Air Force Base / Belleville KBFF -> Scottsbluff, Heilig Field KSDL -> Scottsdale, Scottsdale Airport KBFI -> Seattle, Seattle Boeing Field KSEA -> Seattle, Seattle-Tacoma International Airport KDMO -> Sedalia, Sedalia Memorial Airport PASK -> Selawik KMTC -> Selfridge Air National Guard Base KSEG -> Selinsgrove, Penn Valley Airport PAWD -> Seward KSXT -> Sexton Summit, KGSB -> Seymour-Johnson Air Force Base KEZF -> Shannon Airport KSSC -> Shaw Air Force Base KSBM -> Sheboygan, Sheboygan County Memorial Airport KGEZ -> Shelbyville, Shelbyville Municipal Airport KSHL -> Sheldon KO87 -> Shelter Cove KSHN -> Shelton, Sanderson Field PASY -> Shemya, Eareckson As KSDA -> Shenandoah Municipal KSHR -> Sheridan, Sheridan County Airport KF39 -> Sherman-Denison PASH -> Shishmaref Automatic Weather Observing / Reporting System KSOW -> Show Low Municipal KDTN -> Shreveport, Shreveport Downtown Airport KSHV -> Shreveport, Shreveport Regional Airport KSNY -> Sidney, Sidney Municipal Airport KSDY -> Sidney-Richland KSLG -> Siloam Spring Automatic Weather Observing / Reporting System KBFW -> Silver Bay KSUX -> Sioux City, Sioux Gateway Airport KFSD -> Sioux Falls, Foss Field K8D3 -> Sisseton, Sisseton Municipal Airport PASI -> Sitka, Sitka Airport PAGY -> Skagway PASW -> Skwentna PADT -> Slana Airport KASD -> Slidell, Slidell Airport KMQY -> Smyrna PALK -> Snowshoe Lake KU78 -> Soda Springs / Tigert PASX -> Soldotna KSME -> Somerset Automatic Weather Observing / Reporting System KN52 -> Somerville, Somerset Airport KSBN -> South Bend, Michiana Regional Airport KTVL -> South Lake Tahoe, Lake Tahoe Airport K7R8 -> South Marsh Island KS58 -> South Timbalier KSOP -> Southern Pines Automatic Weather Observing / Reporting System PASV -> Sparrevohn Airways Facilities Sector KSPA -> Spartanburg Memorial KSPF -> Spearfish / Clyde Ice KSPW -> Spencer, Spencer Municipal Airport KP35 -> Spickard KSFF -> Spokane, Felts Field KGEG -> Spokane, Spokane International Airport KASG -> Springdale Municipal KSPI -> Springfield, Capital Airport KSPD -> Springfield, Comanche National Grassland KVSF -> Springfield, Hartness State Springfield Airport KSGF -> Springfield, Springfield Regional Airport KSET -> St. Charles, St. Charles County Smartt Airport KPHN -> St. Clair County International KSTC -> St. Cloud, St. Cloud Municipal Airport KSTJ -> St. Joseph, Rosecrans Memorial Airport KSTL -> St. Louis, Lambert-St. Louis International Airport KSUS -> St. Louis, Spirit Of St. Louis Airport KSTP -> St. Paul, St. Paul Downtown Holman Field KPIE -> St. Petersburg / Clearwater, St. Petersburg / Clearwater International Airport KSPG -> St. Petersburg, Whitted Airport KSMP -> Stampede Pass KUNV -> State College KSHD -> Staunton / Shenandoah KSBS -> Steamboat Springs KSQI -> Sterling Rockfalls KSWO -> Stillwater, Stillwater Municipal Airport KSCK -> Stockton, Stockton Metropolitan Airport KSLB -> Storm Lake KSUE -> Sturgeon Bay KSGT -> Stuttgart Automatic Weather Observing / Reporting System KFWN -> Sussex, Sussex Airport PAJV -> Sutton KNJM -> Swansboro, Bogue Field, Marine Corps Auxiliary Landing Field KSYR -> Syracuse, Syracuse Hancock International Airport KTCM -> Tacoma / McChord Air Force Base KTIW -> Tacoma, Tacoma Narrows Airport PATK -> Talkeetna KTLH -> Tallahassee, Tallahassee Regional Airport KTPA -> Tampa, Tampa International Airport PATA -> Tanana KSKX -> Taos Municipal Airport Automatic Weather Observing / Reporting System PATL -> Tatalina Automatic Weather Observing / Reporting System KTAN -> Taunton, Taunton Municipal Airport KTQE -> Tekamah, Tekamah Municipal Airport KTEX -> Telluride Regional KTPL -> Temple / Miller Automatic Weather Observing / Reporting System KHUF -> Terre Haute, Hulman Regional Airport KTRL -> Terrell, Terrell Municipal Airport KTEB -> Teterboro, Teterboro Airport KTXK -> Texarkana, Texarkana Regional-Webb Field KDLS -> The Dalles, The Dalles Municipal Airport KTVF -> Thief River Automatic Weather Observing / Reporting System K3TH -> Thompson Falls PATC -> Tin City Airways Facilities Sector KTIK -> Tinker Air Force Base KTIX -> Titusville PATG -> Togiac Village Automatic Weather Observing / Reporting System KTDZ -> Toledo, Metcalf Field KTOL -> Toledo, Toledo Express Airport KTDO -> Toledo-Winlock Memorial KTPH -> Tonopah, Tonopah Airport KT62 -> Tooele KFOE -> Topeka, Forbes Field KTOP -> Topeka, Philip Billard Municipal Airport KTOA -> Torrance Municipal K4SL -> Torreon KTOR -> Torrington, Torrington Municipal Airport KTVC -> Traverse City, Cherry Capital Airport KTTN -> Trenton, Mercer County Airport KTAD -> Trinidad / Animas Co. KTOI -> Troy, Troy Municipal Airport KTRK -> Truckee-Tahoe KTCS -> Truth Or Consequences, Truth Or Consequences Municipal Airport KTUS -> Tucson, Tucson International Airport KTCC -> Tucumcari, Tucumcari Municipal Airport KRVS -> Tulsa, Jones Jr. Airport KTUL -> Tulsa, Tulsa International Airport KTUP -> Tupelo, Tupelo Municipal-Lemons Airport KTCL -> Tuscaloosa, Tuscaloosa Municipal Airport KNXP -> Twenty-Nine Palms, Marine Corps Air-Ground Combat Center KTWF -> Twin Falls, Joslin Field-Magic Valley Regional Airport KTWM -> Two Harbors KTYR -> Tyler, Tyler Pounds Field KPAM -> Tyndall Air Force Base KUKI -> Ukiah Municipal Automatic Weather Observing / Reporting System PAUM -> Umiat PAUN -> Unalakleet KUCA -> Utica, Oneida County Airport KVCB -> Vacaville, Nut Tree Airport PAVD -> Valdez 2 KVLD -> Valdosta Regional KVTN -> Valentine, Miller Field KVPS -> Valparaiso / Eglin Air Force Base KVPZ -> Valparaiso, Porter County Municipal Airport KVNY -> Van Nuys, Van Nuys Airport KEND -> Vance Air Force Base / Enid KVUO -> Vancouver, Pearson Airpark KVBG -> Vandenberg Air Force Base KXVW -> Vandenberg Range K7R1 -> Venice, Venice Heliport KVEL -> Vernal, Vernal Airport KVRB -> Vero Beach, Vero Beach Municipal Airport KTVR -> Vicksburg, Vicksburg / Tallulah Regional Airport KVCT -> Victoria, Victoria Regional Airport KMVY -> Vineyard Haven, Marthas Vineyard Airport KNTU -> Virginia Beach, Oceana, Naval Air Station KBCB -> Virginia Tech Airport KVIS -> Visalia Municipal Automatic Weather Observing / Reporting System KVOK -> Volk / Camp Douglas KACT -> Waco, Waco Regional Airport PAWI -> Wainwright Distant Early Warning PAFB -> Wainwright U. S. Army Airfield KAKQ -> Wakefield, Wakefield Municipal Airport KALW -> Walla Walla, Walla Walla Regional Airport KWAL -> Wallops Island, Wallops Flight Facility Airport KARG -> Walnut Ridge Automatic Weather Observing / Reporting System KWRB -> Warner Robins Air Force Base KAWG -> Washington KAFJ -> Washington Automatic Weather Observing / Reporting System KDCA -> Washington DC, Reagan National Airport KIAD -> Washington DC, Washington-Dulles International Airport KALO -> Waterloo, Waterloo Municipal Airport KRYV -> Watertown KART -> Watertown, Watertown International Airport KATY -> Watertown, Watertown Municipal Airport KWVL -> Waterville Automatic Weather Observing / Reporting System KWVI -> Watsonville, Watsonville Municipal Airport KAUW -> Wausau, Wausau Downtown Airport KEBS -> Webster City KEAT -> Wenatchee, Pangborn Memorial Airport KENV -> Wendover / Air Force Auxillary Field KPBI -> West Palm Beach, Palm Beach International Airport KUNO -> West Plains, West Plains Municipal Airport KWYS -> West Yellowstone KBAF -> Westfield, Barnes Municipal Airport KFOK -> Westhampton Beach, The Gabreski Airport KETH -> Wheaton NDB Automatic Weather Observing / Reporting System PHHI -> Wheeler Air Force Base / Oahu KHLG -> Wheeling, Wheeling Ohio County Airport KNUW -> Whidbey Island, Naval Air Station KHPN -> White Plains, Westchester County Airport K2C2 -> White Sands KHIE -> Whitefield, Mount Washington Regional Airport KSZL -> Whiteman Air Force Base PAWR -> Whittier KSPS -> Wichita Falls, Sheppard Air Force Base KAAO -> Wichita, Colonel James Jabara Airport KICT -> Wichita, Wichita Mid-Continent Airport KAWH -> Wildhorse Reservation / Elko KWWD -> Wildwood Automatic Weather Observing / Reporting System KAVP -> Wilkes-Barre - Scranton, Wilkes-Barre / Scranton International Airport KIWA -> Williams Air Force Base / Chandler KIPT -> Williamsport, Williamsport-Lycoming County Airport KIJD -> Willimantic, Windham Airport KISN -> Williston, Sloulin Field International Airport KILL -> Willmar / Rice Automatic Weather Observing / Reporting System KLNN -> Willoughby PAUO -> Willow Airport KNXX -> Willow Grove, Naval Air Station KILN -> Wilmington, Airborne Airpark Airport KILG -> Wilmington, New Castle County Airport KILM -> Wilmington, New Hanover International Airport KOKV -> Winchester Regional KRQE -> Window Rock, Window Rock Airport KBDL -> Windsor Locks, Bradley International Airport KWLD -> Winfield / Arkansas City, Strother Field KINK -> Wink, Winkler County Airport KWMC -> Winnemucca, Winnemucca Municipal Airport KSFD -> Winner - Bob Wiley Field KONA -> Winona Municipal Automatic Weather Observing / Reporting System KINW -> Winslow, Winslow Municipal Airport KINT -> Winston Salem, Smith Reynolds Airport KGIF -> Winter Haven, Winter Haven's Gilbert Airport KIWI -> Wiscasset, Wiscasset Airport KISW -> Wisconsin Rapids, Alexander Field South Wood County Airport KLNP -> Wise / Lonesome Pine KOLF -> Wolf Point, Clayton Airport KBJJ -> Wooster, Wayne County Airport KORH -> Worcester, Worcester Regional Airport KWRL -> Worland, Worland Municipal Airport KOTG -> Worthington Automatic Weather Observing / Reporting System PAWG -> Wrangell KOSC -> Wurtsmith Air Force Base KYKM -> Yakima, Yakima Air Terminal PAYA -> Yakutat KYKN -> Yankton Automatic Weather Observing / Reporting System KP60 -> Yellowstone Lake KTHV -> York, York Airport KYNG -> Youngstown, Youngstown-Warren Regional Airport KYUM -> Yuma / Yuma International KNYL -> Yuma, Marine Corps Air Station KZZV -> Zanesville, Zanesville Municipal Airport + -Uruguay SUAG -> Artigas SULS -> Capitan Corbeta SUMU -> Carrasco SUCA -> Colonia SUDU -> Durazno SUPE -> Maldonado / Punta Est SUAA -> Melilla SUPU -> Paysandu SURV -> Rivera SUSO -> Salto SUTB -> Tacuarembo + -Uzbekistan UTSS -> Samarkand UTTT -> Tashkent UTST -> Termez + -Vanuatu NVVV -> Bauerfield Efate + -Venezuela SVAC -> Acarigua SVBC -> Barcelona SVBI -> Barinas SVBM -> Barquisimeto SVCL -> Calabozo SVFM -> Caracas / La Carlota SVMI -> Caracas / Maiquetia Aerop. Intl. Simon Bolivar SVCS -> Caracas / Oscar Macha SVCB -> Ciudad Bolivar SVCR -> Coro SVCU -> Cumana SVGU -> Guanare SVPR -> Guayana / Manuel Car SVGI -> Guiria SVHG -> Higuerote SVLF -> La Fria SVMC -> Maracaibo-La Chinita SVBS -> Maracay-B. A. Sucre SVMG -> Margarita / Del Carib SVMT -> Maturin SVMN -> Mene Grande SVMD -> Merida SVMP -> Metropolitano Private SVJC -> Paraguana / Josefa SVPM -> Paramillo Private SVPC -> Pto. Cabello SVPA -> Puerto Ayacucho SVSA -> San Antonio Del Tachira SVSP -> San Felipe SVSR -> San Fernando De Apure SVST -> San Tome Private SVSZ -> Santa Barbara Zulia SVSE -> Santa Elena De Uairen SVSO -> Sto. Domingo SVTM -> Tumeremo SVVA -> Valencia SVVL -> Valera SVVP -> Valle De La Pascua + -Viet Nam VVDN -> Da Nang VVNB -> Ha Noi VVTS -> Ho Chi Minh + -Virgin Islands, British TUPJ -> Beef Island, Tortola + -Virgin Islands, U.S. TIST -> Charlotte Amalie, Cyril E. King International Airport, Saint Thomas + -Yemen OYAA -> Aden OYHD -> Hodeidah OYMB -> Marib OYSN -> Sana'A OYSY -> Sayun OYSQ -> Socotra OYTZ -> Taiz + -Yugoslavia LYBE -> Beograd / Surcin LYNI -> Nis LYTI -> Podgorica / Golubovci LYPG -> Podgorica Titograd LYPR -> Pristina LQSA -> Sarajevo / Butmir LYTV -> Tivat + -Zaire FZAA -> Kinshasa / N'Djili + -Zambia FLLI -> Livingstone FLLS -> Lusaka Internationalairport FLND -> Ndola + -Zimbabwe FVCZ -> Buffalo Range FVBU -> Bulawayo Airport FVTL -> Gweru FVHA -> Harare Kutsaga FVMV -> Masvingo FVFA -> Victoria Falls + mweather/config.php0000644000175000017500000001215110554400302013335 0ustar mattmatt $temp_vhot $sun_hot = "sun_hot.gif"; // > $temp_hot $sun_med = "sun_med.gif"; // > $temp_med $sun_low = "sun_low.gif"; // > $temp_low $sun_vlow = "sun_vlow.gif"; // > $temp_vlow $sun_vvlow = "sun_vvlow.gif"; // < $temp_vvlow // the following pieces of code are configurable, but for the love of god keep em clean! // the different cloud types $cloud_types = array( "OVC" => "Overcast", // overcast clouds "SCT" => "Scattered", // scattered clouds "BKN" => "Broken", // broken clouds "FEW" => "Few", // few clouds "SKC" => "No clouds", // no/vfew clouds "CLR" => "Clear" // clear ); // the cloud image array $cloud_images = array( "OVC" => "cloud_lots.gif", // lots of clouds (overcast) "SCT" => "cloud_med.gif", // scattered clouds "BKN" => "cloud.gif", // broken clouds "FEW" => "cloud_few.gif", // few clouds "SKC" => "clear_sky.gif", // clear sky "CLR" => "clear_sky.gif" // clear sky as well? ); $precip_types = array( "DZ" => "Drizzle", "RA" => "Rain", "SN" => "Snow", "SG" => "Snow grains", "IC" => "Ice cystals", "PL" => "Ice pellets", "GR" => "Hail", "GS" => "Small hail/snow pellets", "UP" => "Unknown", "BR" => "Mist", "FG" => "Fog", "FU" => "Smoke", "VA" => "Volcanic Ash", "SA" => "Sand", "HZ" => "Haze", "PY" => "Spray", "DU" => "Widespread Dust", "SQ" => "Squal", "SS" => "Sandstorm", "DS" => "Duststorm", "PO" => "Well developed dust/sand whirls", "FC" => "Funnel cloud", "MI" => "Shallow", "BC" => "Patches", "PR" => "Partial", "TS" => "Thunderstorm", "BL" => "Blowing", "SH" => "Showers", "DR" => "Drifting", "FZ" => "Freezing" ); // the various images for precipitation $precip_images = array( "DZ" => "rain.gif", // drizzle "RA" => "rain.gif", // rain "SN" => "snow.gif", // snow "SG" => "snow.gif", // snow grains "IC" => "ice_crystals.gif", // *ice crystals "PL" => "ice_pellets.gif", // *ice pellets "GR" => "hail.gif", // *hail "GS" => "hail_small.gif", // *small hail/snow pellets "UP" => "unknown.gif", // *unknown "BR" => "mist.gif", // *mist "FG" => "fog.gif", // *fog "FU" => "smoke.gif", // *smoke "VA" => "volcanic_ash.gif", // *volcanic ash "SA" => "sand.gif", // *sand "HZ" => "haze.gif", // *haze "PY" => "spray.gif", // *spray "DU" => "ws_dust", // *widespread dust "SQ" => "squal.gif", // *squal "SS" => "sandstorm.gif", // *sandstorm "DS" => "duststorm.gif", // *dust storm "PO" => "dust_sand_whirls.gif", // *dust and sand whirls "FC" => "funnel.gif", // *funnel "MI" => "shallow.gif", // *shallow "TS" => "lightning.gif", // *thunderstorm "BL" => "blowing.gif", // *blowing "SH" => "rain.gif", // rain/showers "DR" => "drifting.gif", // *drifting? "FZ" => "freeze.gif" // *freezing ); $precip_intensities = array( "none at all", "v v light", "v light", "light", "light-ish", "medium", "heavy-ish", "heavy", "v heavy", "v v heavy" ); ?> mweather/weather.foot0000644000175000017500000000025110554400302013705 0ustar mattmatt
Powered by MWeather
mweather/weather.head0000644000175000017500000000022210554400302013635 0ustar mattmatt Today's weather mweather/weather.tmpl0000644000175000017500000000123610554400302013716 0ustar MatildaMatilda
Weather for "[>AREA_NAME<]"
Recorded [>FDATE<], at [>TIME<] GMT
Temperature[>TEMP_C<]°c ([>TEMP_F<]°f)Temperature
Humidity[>HUMIDITY<]%
Wind information[>WIND_INFO<]
Clouds are[>CLOUD_INFO<]
Precipitation[>PRECIP_INFO<]
[>REGION_DD<]
mweather/images/snow.gif0000644000175000017500000000627110554400302014307 0ustar MatildaMatildaGIF89a22(VJ❳ǖ܂*^toݡZoy{˷^Z0∙Yv?f|nkjj=:Ъy\RyqhwʥU[܈䆖6HfⱲFń\[=^мs4ڠ)HQ|V9Pt5(.Q(萢 #iT:eAp\ؔŊ-J4cWڍ zh}R Wb0_࿐n2hD 6"~JERn(Y*(("h S>5뗜9'{< S0zyq+]8D6 #}ݓ 3GDe$ KC `4+s\>Y< qZ "E:PGC>QPC&Uic+À߼sHy,4<3#$=ZdA &62 KDB@̰0@IFםҊ=ܲ2Ȭ$CDM+l43̣|N4 3Ph534&2K1P h1IܠMp 168s q0 qG;dtt]4>#б<<rL$A3JFX8$`@E CL4JSc/!I |JTC! cM55@Vh` .JDܐ0ξ|!H `8,xF D30" s:Q c>,B%RĒH9S`s &dsM e3Mn\9OS5v cH*5X-dQ GD rؓA4 K*1 n/8Ћ>g3I!5- cK2ŬՎ(L/4#-S b0P7 (_%\0-(0ıjLBJ1 :H!$]@a Pq7a YhBP5MP$`*34KFܡMA $vġ̘~@-Ja>$ae,6#Y;4C {E{O!o% 6(!_X ` ؄cE J8 f4,dD<iBZ8P fD Qq A! j^p! ( >06QH@z0+B(^b ΈA?( jQ 橂XgX;5 ӄp @rw Xy0'.fЅ=%-x n |q@2{BxB?02p#M/>ЌC4*!X0js ܩ#\P||5J _A wan8D+  `C, px@% 0P>ZƂqg 3D@ 4\ meq {X"   P<( X4$p ?p >q( \bm@? L Wp 2Qq`HA2raG"dp> xƌ L " Q{p#cREt7"A0GxLg`n<P<P30` :"@`UhF?$! lD9( `NF  9pR T4ꡍUAF}-2sx4Oh#P%> 6!4 *&! 5! ר- ḿF,ц~ :|Rb _xu ;@pNi g X7pҜ *x; `#AS ʡ8AVN b:T60 #mL!-$pOP wT)J  D((hAXÁrbЁ%vm `ÕfA"d D}Z⣂Ġ>v-U>1/"@̆u(p%ܡzR.Qnp| H[t70J<%0 ^a  `svicvP~N%d>| Bj  =;mweather/images/lightning.gif0000644000175000017500000000473110554400302015303 0ustar MatildaMatildaGIF89a22 (<8Xsqvͮ5PMx+,vF~jVf8j$8P8@_\|RƮ0&r#QN>&΀( LhaP_rzjڶ{djZbV) ]7zI9{v62ꑰʲΊ~nzUBKpbfJ:&Tnj^~VP&2Bڟ_Zlrb/ vvZ7@?JR2!amro2zfӞPjgE&~rrVBR3 k}J^Y"P{x~vzf~ZbQ:&JLػbjN>>nFRMma<6C@&f&"N_A F۾!mZVz&"$W2aj'_RFV4JALdb5^nT~vatpz~^km~1u~nJ:jo"?ԴC+P޺*D) l,FD^kd>V2Udbk{vv~aC~B)r@IHϲz|RdRJdDºc~|:,85c~azwyhkQ>RNa_u*^ĉQ2f@~!Created with The GIMP! ,12 D  H(x,᥂-U  S<>VF4>IFdԢl ..j4O:s@ ʋ9S*ڵ/sL5gɔRj"`X;ӄQ' g8Oc03(1"cC 0(  TqР4U#IË3cX%2F+|c<5K H-&#ìFJ 4Q"%)B@+>ʹãJ`:"\I2ɘOJۊ4XG()iS&!2,Hy|s| *!B4JrJ60a <وa WJ%0O:ڊ3RtQ,$D601H#"Ҹd 0 S2 ] c?L<<5Ju՜qF>lts>k16G0J(1 7 d@/ 7X)2cXR1N. pD4I$ 8CΈh0 Ҝt#*\ Ɉ08c } (s`X la4( HNC[B4m! @x]a@:?4kЁ0ꡄ"P =Z}dPGТ ap ?~C!pqpj81v} <ΐdžJ# hf7 dHEJR 8bBCH3 ҁh`YB^) 0˂A jƸҵRTǞ3 ~5ɖ L٧ú̞XKΪFڪMF)H fޖr2HZ˺϶ʻӢ&W ΤڼpҰTQ֮66֪*ں9>Ҟ?ͭ[?W&Pʚ"^[zf6gҺzzT!Created with The GIMP! ,22 Hp *\Ȑ O #Jhċe/G}p6k B(D%%@}-NuD4l*B9k #gET!u '@Sa$x_I3 gz#!?zk!&Kyctm$30[\٪*=Ń.t k(ΈS]rE JC/KT &PBQ2ڹjpmVYAw3AܶQ0EK,%6߃jrÒ P$AQ$C F8B!ЅFCx?163upJMqv(آGd4cb&XF%cv:=`>\0 ㄋ8L 10 A5H4cS!b ,`nAcM7 D ܡN% Kb!f0 a`GK.L/M䑎 fl%Јcd"|ChAO,ÌhFK*6E %z% Hb.+,¯fhs3r[%Z׺8M0J1@h3xf;ؖD n(ZnȂj%lC `-1B;dӴ$ Y@W͍(pbrL9԰06<҉9f,!dg Q;La:wt652@TS;+/1y /@WjVܱe~*2> 9PQ ⱃb"2bg _ȁ;T 0tU lO5~$Yr0 w! `t1C!h ^C ,Nx 7Ěc aB~ } H6ABfXC0$&[c(`C2R ` #QA:$b \ 7<2 p0b Q\ы(̣$根b.`D-xCC*/LJt EI dы9lOA. *!GFAXJBp +s A <#I"XS ( fЈRGbT #UH7;mweather/images/sun_low.gif0000644000175000017500000000521110554400302015000 0ustar mattmattGIF89a22QJ~S*n6.fbdb0vdy ~FނNHƾrAoztW`\ڊyjfB.. :H@XP$>2҇ƾ\iaΒVzގ  žfnkVNR6B:2"N̸.Ǝ יXV4ڼ檀{gfzzrVf >B"ƺa2<. SQKJF"".*z{{B62*`..ejQUXU޸8rvyR®^O fgg*.16>&ωAGC`aa욒HjJR>J;JIFfZǼaʺrn^ƺ¦R#**BVNsNA9@<."fsvtD:.yr.^rf¾kQ.*Qkjhvn.bZZA>ir987箪143**.EQO|vBABpz ҊF^ppp###F@KWQOROZZ\itoNQTº%a~vri! ,22 H\ȰÁǔ=Hq!6*jƏaxLȏ02AʉR&S_L, !2L (؀ioE|=IМy8.d 6pb @c#pG@P#!Vp&AIX∠ԁ7d A 1c \bF0/ )HHØ"<Ju>A6pp|ŸӘP\ą !1|" (g HKAXPҁjHI(H 5l〇C #b x)*rB ּ0c >F4L$*n%U6?$ B6Tx!rHA pb 4 'h%m; Nn do@C2,]@Wi#D4~y #rBBAئݔ"97 'H$;mweather/images/clear_sky.gif0000644000175000017500000000321710554400302015272 0ustar MatildaMatildaGIF89a22!"#$&'(*+,-/01345689:<=>?ABCEFGHJ %).27;@DIKLMNOQPSRTUVWXZY[\]^_a`bcdefhgjiklmnoqprstuvxwyz{|}~!Created with The GIMP! ,22  !"#$%&'() *+,-./01&2'3()+-/ŧ1345· Ƨ%6n%-4` ,˰aXb D #Ĺ8J$Z0A"8S1;w#j^Yw߿sC4<Ё%^+tr)FaTH _!C9jCU$fLce/U#up#Gޢr[HjfLբ";w *,߾5VT2EJPUUW97VY6FuE`K0wr}GxvM^b؄ 94Ar]ts ' f-Y81=Hc7DGP<OfLF["+B!ES r5t=Ä9Z!QJ1U7uJY%Z{MwZqEDHTbY2ed`:ĘST(Zu\ip.)uYY`z^:&T([p!sEqtMf=j:&ۅ|*F{sJ&bQ_z[W(dz +\xa 뜲9d*jEZpq-a1ydzޞa"l1e̘[5X_ȩlFXF*1y! ˰^+qgƭ'׮k(2c|FhA5 DBQP{EGui慖z zn##mۤPhDP,,3ufp0,MJm lq\,zw<:,Z[Fp!\o2[3\ϝtmu=|BJcת{vGwad-jd8V9D~[q d \Ҿ;ʤ6/Y-_"\/,B4OW@0?7}0xC;S@H36~B뉮oCۼ7ՍTa8ָ} !"zgB"<:۴`f-MdOF;mweather/images/sun_vlow.gif0000644000175000017500000000523110554400302015170 0ustar mattmattGIF89a22,6=BҺ >º*FBκ1#^J96=>ƺ*4n;4?72>ʺ.99>@F޺@:-6.Fھ@&vFʺBº:>Fƺ@>>B&Fκj>9/:2B5J/51@6ZF,B־9>*z6?3:>6Fº<6R>%f:.B37(,r=6/FFFҺ.2:6>16FB696+j6B¾:8:>>:E6;>ʾ>ƾ726F?FBξ&nB12#W262vFʾF>6621>FB::6=%b"fBFƾFξ=Fֺ:BB6:B>)>BƺBFBʾBƾ2>FBF¾>*BC96EF*zBʺ?>>>336;:F+v:7::::1:>2B>12::>.6FҾ6622B:C47$t2:6.z2>.2>F@6B::>0:6.6Fֿ2*n>2]! ,22 HAH49ȰÇY Eg JV_hhA 50SVz2F fH b}<7j! mT닉 [QjH408mKA2dH cKKGFx:M:TゑPflSe cUy kAm1.NpK'>0 y EI krOh P* !*iR$|6L[#K8LDC.zQ#` Q,`&ZPG`bL/ B@ Hjŧ>r(0l4A$JEEv5B!`! P#"hA 8g A/" PvYр;mweather/images/sun_cloud.gif0000644000175000017500000000431210554400302015306 0ustar MatildaMatildaGIF89a22jfR¾.vjR~bj[ʾv2*2*R>Ҷo3:žRBvB* dVIJ&0Ҷbh^βPEƸrf\BΨ̼ֆrݷxn>1ʢ&¶ʼJ޲NyqF֖~z8⎆N Ҿ7עƼ"nnz,ƪX"ۧʴʐ*:.ܷrƶ+ ָ::`zj[ :΄x#9‹"Ύ̜ĺκeS~Ϳ"Ȫ<416<"J® ʾFߤjҲJ۩{qV뛏9֠&Ҫ|pެ< $T>"N>ºV!Created with The GIMP! ,22 HP-@RVÇ#P 9Ɯǁs)T v ?h!Gu6ʛ Ya %NͲ$GY.iN,h&SDePpUjT!Yb@Գd@[ƍ9 ".xn\5UTt$T6mjLVȹ8!LbETmJIZ9rQ+&AK/l(r/zTt@9Z "`%X> !2AP ڶψ2@Q 0h q..83PK p3a!PKڽEZP>_`H=AQɅ09ı P3?0IXt eM4C5@?o43. DS lP' 0'a(3?Š 0O8@PJ0ޤ0@ɸE/6YOLblPOA0@O4:<=b;V`* HӃ D"\@"$4tE!BXRO4]vY1r8FX=L-ٔ%: Ac A9.zQvzH, ^@F?=1~]_6$mGfh:=FT@"'y9d8=rRm\A`х ްo!:('$[ЂUTpH#`)QCyy`:0AjÓP|$6Msb ^)Qy"7MJ&odhfD@\ ]ǹk|k<҈L#$kead"NN,Gp4H- {8 @B>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~!Created with The GIMP,dd H*<> !.D5wo<} 5'IJ,ؐK+I^>y髗ȒfY}^NHT&ʐ͇:K/ӧ"Wr_õ/e ޓȯ~exa|:%^xc더A|xO×OCcWOV]Q}7g3)yV߽G_=s}Zp޿I'׿5 V8}:׎YS3姕ϨL7]= '@>8#O<OUucf;fe'`I6!7oߕD>Z|"8Ol!c!<# ^?8O=HWI?Xri<B 6_\3W>i?8hO<4rُ;)bCL<RF>RXbL锏|J(Cό?=|S>e&huq9Pm !#;fUo}C?(;=:t>9F;}?hZjdOړSzzK| -0<O;bC=]F >:ϮC;6Fqo`f#T6{ksbU˰FNJ ï:i RX.cyGv)Gfrxd1+SsNyb=DC}8ZƐ Vr[=H!$`anm,Iӎ!}#ܲJ=Txj6K6(D3ډu#mgd#z!&$ Ԋz"R \RG (}!{aU3/1|–Fy@^;`JSQNɈ:XWȒWK(lG;qIp(|ʇ85|n tUe;<­",g>C> FZ|=J<֢lK3aS­0Ǐ;Z<0vN~lrfL9Z0 G<󔤂)ٗ((%vp+cю-+lDOv-OT&5hu!f' ,먍; =Ĺx G#8G4đ!l:8_ZSx($lӼZSA*.(J>1!NBfoETYQ?Rca,>A?jfKM'鑑)bFA#;iV%Nbd4٦F4Pzi`[ ҁH)9wheZr棥}BAP%N J/3[8V H3bHgJh4N +bw"!&$hS$@4AuHdxD'MHf˰ #ў܃9_bf 1_R6CE4ƭu<6d\ƸKDڱ4 AU{ՏǬWɇ˴9IlpeaZ>.%)ِIf,P˜~@A>i>f*JrS;HՂ0MxhSu9&Vyx >"OךĦDIVkeDbN M3lMf();䯚s u4GR'!IQm!E0@q2ɠOCtu1"EԶ YVm+ҦHE5h R|k m(A#BA3C ȃ"Y|DyYc@,VKIe32TER`y^B.3/Ւbfռc{=!`[6 hIpSPKJpqJ8TX+xcoߋ֕5߻ƛ] AELY)4y5 qtD{ RDV8vGIbm̻fvRpIm;ed[yIщw?FSCXq.D)'|HxIwp4N"97 chVN*%8tyKB6ufbI$Xc!C6EfOQ6y'h"3qCE*ׄN(%ErR3EGV܂{J<6MxK3&SQZB̤$Y$T~Nڂ!w;2sq4-Qh5MA'8UCQ| vsq2:4T4Tݥ$3!%a$sX]SeqUz PlG+eLb8BVv!GgIVHYJqM"!UCx0׋VUbq4 Ec I$njnPq]h=yE`6 lW>FPo1"v_!B>{!r 0x pqrxW%V$HO'=W>yQI.ʨn$k C3D$yv1$^-izAR$mBr Q-HDJB#7>HW! '!Xw'5(Uo 6T'x#M#E~vcFGyN>wC'8DE<'8q@GG>bqN|DŽ+iQP$URtœ(aӣ@>Bx; W0zH'ih8"31Q;G$u)g0qXyGETGW6ݸyׂH0QȘ;ә\0EMb59kmg$yH8rq0IFR5UyP~5Dme!9=mtX?I{ϸ5 ԄђIÚ9CB\3-Awd8PcIx7e(,7B"bx)J,oHEn-yav~%{s1 BX~c>$%!dS|7ErX^ DoILJ~$cSRcY q,6'D1:"ѵ?Z1~l* P;-Sg7St>4 EWxÖ- >G4-!u;$$қ?FPSs:138թ|"*oN>x*8! NRL#1mi>AvEuca/ϷDN"P- AQp'"KT8 :r?--UEr;JEҰR!i;"9|ς,XYρ (,qNH+l]'UC-osi"q!%Q e~ :MpP{iӇ~X 4,!&C6d#$q;{ S{7Ɖ,cF,!Gq7h y5Pk/ {!Cr9 BG)E` W;xzx C7=|雉 8P5e;-z_i0;mweather/images/rain.gif0000644000175000017500000000362610554400302014253 0ustar MatildaMatildaGIF89a22vƨBZZ>jfjjjƖl~겶|z{&&&bvڮ"6:RRS`N^^􈨤z:66\ln华vqrr>>BVVRƦ]]]ƾ~~~芆ͮYus`bdʱNNN듒pι֙ſFfjbƔwuuӺ芊vFFFխcnqgffɒvzv󆊒~z螪rmnnםʺގrvx¾޲f~z^vvvꤺΞ! ,&' H > \gÇYGR>X3>'ʅUHr`|ШuGZz0,xN6 6z+x05KLpzdiǜEƋ'd5⁥sܔ4c:Xah:蕛pRG&"KDќ@n.]0(iD//$ Ƥv'9x:wGf /@+G4E8] JNxL]֫ZnƄg߾cM\kX%=:@6!E}GaKh,ƒ+8t'U4߀K)@96ԕNDž5q41,VaI)}RhX^yV p"M>'IM_tHcc  |sGU8cyV`P'g|Tn.5iy-W.S A(~"T$R d,1 |챃arI:k T+kTq!>h4`R &a+1H'4Q2@@: LBJ.`Bx4C|-fa$Q4=`p!8LÆ4P E>" B"Z@c;PfCDE?QI` #E#i} C?+P2Cfc*!B2@<(Ԡ ON `<ːQDO,('oxڐ8޴@ ?LC" Q3qCK Q3N(b0S,|@HCd"P6BHC!< ; 9]<8gH q##(H4N2!8R#M,]/2˛&ٽ9~v;m7Ѫ: ,nrN˟ɀS?vꪩ]ɩzfҶָB)՛ʾ>֦#͞,?ɩXRv_$ręvƫB]mѹa.5V'SY֧ ӈ_\n^¾6ŝvʮζ#ԴUSöBX΀N7 29\߮ܲh{Dzں&ް’BΟr k߶Bvַ!]ζ̽+꾾Zȍ0!`{=r.֮&7dȺƻ^ȠTÞBr^֮Q ވz 6&.ڲCvIغ"wVڀŰ\Ң>:޺ZtzB~ߩ !(UE`ʢU̻ݫ3W͒\ڞ(ϟ"<ɠF˱cƫ3՚/%Ʋ ͻηrƧYvz!Created with The GIMP! ,22 H_ *\ȰC=Hq"+V3jǘ 'f/Ɇ|yMA'B"0$2 "a(J=^lϲ8-3vi2ĤUp<$Cv0 >cM-r,xrF#|! % >XS;43 #^rD ݸ@U,b$s|O&J3opN)`@$AAGQ4 ;" #2 G3ß#"8@4<Dq89C 1&2E6S(E"J6g,h ,A84/l .d(hR)SLA )F  A2 p4n0$% 4h`0 SCJp  C+r b( dӌ"K4{ [URcHoHf3HdF6(6CIJL7`A(202MH}`1"ptAE \QCdcA$~C ?ܬ*eohH},3")t.蠐9yb9 I F7HhFtײA |>R[H# ܃:ud&ߤӅXcHn #7lP67f?tG),Aɰ8_4`KNOL)p )Pij\A4N>[8El GH!aȅ0( N0Ѓ0sElGЌ,c#8X:%#@4Pc! Z }4 07ʑ;Ȁf 15iI'4ю)c(H]lW`AN QdAkpTa,A AC>O pB0rA,8L<$5B!ap + ocH8!t\":<2DC(hh`kĢ=(%Y*43 D# &m2Ty9>zH`qOolU fb P>:5@t]X: /p`< (mb3=Ghz- Ѐ " 2 f eb%8(-N bz0v@x=DPpAa!BLКYwdvUc$?ffWϛ%R{S3Vuʙu* q0,a! yBP#Vxs2dO+Ҁ75ԓ8D<(3s$S, "2Vj?H#%7L M00#%8A Ĉ"8>dbJ*dP@{D4D#ISJ<#p5ܰK$6ԓҋ  :0 bxX&R$@I&〢<@Ot1"3A.HRˊ\. 0S>}CB߀Ï3L,O oġ9<5s+7Yz#! N: (Ұ06:lL ԣ:1#"EA Ȣ:ZHH<,cHIBͰr â198RA04"4 X>f,8pG#%< #7ጰ5EjP1"!T\ : \#4? 3 }8C-Kd# pD1T"z8pF }P4)"E@Xޠ6!VH cE2|xhlх,!؆3 9`Ѐ"4@y#%j 5/b0 x:qd D 0@,$ZGNщ Cg8&d. $n"G@:L|A =X , 0=[8cqPtBw8rquCq@d*<Hpĥ m0:73cK4A& l XGGz mf4@8OVe@$ ;mweather/images/cloud_few.gif0000644000175000017500000000043010554400302015257 0ustar MatildaMatildaGIF89a222n~rBNt׌̒rv}NRVcfiyzjnn^caKNS!Created with The GIMP! ,22|'dihlp,tmx 8Xp8 Abh8H$L(備PxL.zm>?xdgtb\^v:<>@ksFHvxNPRl~Y[]0!;mweather/images/logo.gif0000644000175000017500000003625410554400302014265 0ustar MatildaMatildaGIF89arGmyo}ͤߪ &)BNT}ʈ,P\yz{xǨܖ2bn^kqĺIOR\-..~J^ejjk"""rc|>>>jtzTdinHX]߽:HLچy~덺2>rÊ\dgayxQXYcv}j|~~N^dnsv222Ϯ–y666⁎ک眺bbc`ryR^b>GJ˶>NTWv~NNNNkz̧rrrnVVV@^jОuvwiWr{䞞FFFQRR:Zeefg4@Dmno9:;&&&ABBey BJLYZ[0JUhejlW6frˡV^`)**qxۜȎꉯypzxWkr쀞v.[gpIdnp,58ASY]^_o~IJJenr冎󢢢frv!Created with The GIMP,r}H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI霨Nu*?~>j5[zteˠ-ͧMG1uJteO8ӅZ3~9. jwPr+̞ͨ۴e͸tycɞgApP'4q̘h4 2A.wQNH8AyKdnxY)'*; b <脘WYy3B: 0  'J,>̓Q'Ԫ3hΗZ覉G` "Q&KPAsDq- cOR9\[ G4\!*p5iX 1PqG @ kli]GEYIe[E4c$/ f=gcFH! h,/D=|GP90#,J1X%OZQD3etQ Zw<4jPL&E4 b/C(ЅTp4`TˈP :b+)Ȃ BECu14UdG !gq3w,Vp?$4hD 887\%fZ?`@w* .k:\ /j}Aȁ( DG s lOcr8[]{UV껯G!̝2 *t5oxmB"$ 0ְ1@28L`-,QC䱻g<HC8| 6pdL,>J Dh `A Hx00 ԁHU'Fll`8!h4GsNJ8u+Њ<`@3 pn w JL"ƀ2!p aBڡD 00*\ mY@2 X`"h*^-({bkP ءc,BJ_Xc0C2.:b|x*. w-%vQf rMD F! W"pAlz " k氅vVldïR(jf#@.@A 8-jĢ'845 ^q\ :0aA%(PC%JhtZPf3Ԑ Y:ʢ@EGoL,;XTR4@ g$ aWw8c%64TlC X)e\TbF5ԧ ۀ-? k&1l@PVg x Cz Ab!XHS I xn$" ` G,`@Mk ̰i(>A ,L(+z3sg`Npbٱ a k@E/X NE$zPX6oJP9}@ = pO} #\h""|P{j85x~0V(0sFЊf#HLi MHƐvx@a(mȣErW6P <):8`a 0D X D9p#x_ EtP(@0P`a)^Ő0y pq|:Qlo r0z2 0 pj` 77 p0 0 ǐPo90 $ }fp@@ 6 | `O _  ا 0Pp z p j JBu@r `Ok`wd2zf5-5 Vu kp L uZPN tp P `oC}O@@ .0 }p 74. 0?0`PU6~׆o: R gWmhy`d0< z} @7Up>/0\ h؎àp~PoZO WcH  D gu ~@7 ~0 Pa0G<冁 '$@ `FW1p< $T0 GhE;P ۀP PXp ^7Xo~0g Ҁ i 0Cz]+]y`76  hW0U X`u E@ P`8p $P YPbVP[* p; @e0 T Ee y 0bz6e  `ڀp U4#H_w S"X @@UՅ@t`Bi^BpZ @\S@t jJ >xϸ @e  `P0;@00΀wsj` Q 6@ uȜ :s2 }_x mQp( Xtwio W^0 |@P P0 6`~`axH  h _f0`SiWP`0٧gqRvU.6 0ʜ@RLW!?ZDҐ EPew|0P k  a G pS^X` 0 a ` 0HR|w W0 Ş]4ꨜqy v0:0Ȩ zgw@։@ : ku x   S [_0 p 0 p` @S ͒K`Yມ(zH}Rp HҰ 0 g Y`b2}z`Q@hV . ɀ׀ 8 $@)|ސ NpFp  a dz Ð Q k d p  Sg@ /{ tݛ'ߛ h: PjWpaa0~P 9P) @ PӨZ+ `|z^@؎xMIVvEp}6}wM&X=:u%@`נ.$F 05 7Po؀s @X€ h F e @9؎2hN00 Xp Π[BL?|c)`( @ hgz`@7D ߠc>F?#;8@`z7 rP !c F gk|PVW06Ό%P*U$`p( {J$_%-x=?@ ۥp$ p 9 Ɠ @ # ?`nܺB6I0'  0 PרؤQp[+0ryȩoKoY llD, +x 6 P vE Y p ePS]. 0 H LbP a0 0u } p 0N8?KNmѮTEA7]6@P Pȃ<)%Y&0 k f j p z0 'j3Ҁ \?0 H ĢbS_ VPG <  \Oh 08)w 0`SOE0 xGΜUX<*@:#A `ʠmG0. G Pʠw%Uz@<>Zkf six UOMlisd i׹ hc6&=ox5/')?W !Aѳѡ = ]8HC$/Qu=ylR΂3 hwQBN4i1 > N'Cu?e͞EVZm.׌K.KvMQUDІ QLÈQ 8)l8XÈTUS ;Č3s}ƈM޿|b9/du\ppRԨUVm69Cs(މƼGLac΂+V\І6Vk/}p60)2M/"*r_b,&pB1N)l?f&B( Q;/;h P ==ǹ<6&R Hf#Kؖ{qO(K,*˵a.yFv 6|aJd *M_ش&Dy'! &>lSOsȽs7aɥdJ0Ƃ QKQGfMBd$p*C} VUQ9|ҙfiAȃZieFKX6|T&QMDn>ce(JI-I%KS$#WigdKVx]WW{EY:ێ[gkE]L^cWkɱ Uq,V\8;ҽWgfwfܖ]~ޕ|w5w/yUoYZ5 JVWEcaG:s︣ȴyeצYl2&xUng]ޕFVWmUy]uޖ}SU5O5fqˉ3.)'v|/5]іfTlw2(pAIr\@ NЂ4>i)ț AtY lB忴 t8Gܡj=`B5fX .хŁ2V{axE-bpJ(>r" %-Ԉld#G(D! UȆ* j԰ "X$1q`d/>Гpܢĸ8I w8A r5d\ّywC5D ?@4S%",g̑L_&Aw&KP.-Ԓ 9)!7^Hh.9^"B 0%nʳZFL~ !T 1 0Pl h$hB\>R9T 5 `WI:-BzP%c ` " YP$LbG7a 3f>afdCJE< PI5cNQ^f0jc881yfp\e-( ȃ*\Q DB;8!I@=t 5Kl< ȭ"o3])re$5#T0A'zW,`{Gq%@IBaBԩZy((*`+P+XHB:Nw "ܻdsyvH.0،|})pQ\@각IPvWmSP ر8*7ةXJ3!!;ROaF4x? p0JxNsxP# gЁPn}X 9)$(V(l`Wx,0˛HXKsPQGph,N8B,x( 0hIi,pv@O-((49a8M0P3>MPu@M0d^\t^L $Lfdb8W8QȂ=O-BX9(*:PPLF4JsQ`XRhg:@W8y\]iC-?ȁ~HWh:'@C8<<4^n(/V@T8u- @JcTe"$uX6 5NDP(cgpO"(/\^@u)0Jx((/" uXOl NWhQ:@$’#j؃B`3/TaHg2x$*E0/؆)x0i $}Ȅ(WEXvXU&#$ w癐bwMȁxWP,7-iLH,~P[4 /6W3X#@jtXL0{k'pwa5JHT-ؑ<0gH_M,H--hkKh*=}Xsu"(:ЃLPh'tE%&^ha]wN:HUP;94Z2Hy8L8ȁvp@Q+Q(3BlhApl-aT)q jz5XIaDH0|5݂iA⥇k`1TL\oЪW AYcMax|<؆cX&к9"_jVHԯ=kW ww5`E#L"03bwxDP8*Yu [b890Xp03=q}OXn`MAc&XsC0N+_fG? ؄^ ~H]=ȇahv,Wc`؁LIOhFogXqsT|~sSSFaaЯv@i&0nPGb\ e>Xx}P)UU0XȽ|tށ6xh8]apIPAȇ6{0a$x=+h9eel`߱(xZ(d>@Fpu)Gņh$vF4  (00Ȅ)8ShlX}@-o6;q@7p+_Xnu&q(?vx(AX|v@`\"8d ܋b>qЇ\5~ȆjPNA8^ax@PxQ2<'mpl>P\)TNT9g`TQo /H,`JW&qnA,}X*UX*@o,3; ;`?0Uj`uT wЁIri@uk L]e9P<@ oVIxŦ J^mY eYp(8wPHki>wlZP \}(M(T *)dH, 66 ȁ^؁_\pMp/rȆ;M"E(#-0@hXTXedQȁ&/5EBuTug3B,mCvh0(wg$,p GsJMІմ ?00?QP/.o'l JV$ P@t?=AVto cp$-EK֘jx EDT.o3h^(,DgRq.oȁͰm@/8so{䞂J p&߄dpl7)"q|4p>( HdhuxeoS#hETQr_VSuh}YHx??@OM@| 0IXQhg$xl~hH+f_UЂb(6HMHEP9Q`yTw<؈0靾䁢p隀JabIQv" +r%ޱp%N&sQM벽;#6׮QߪaASXIe>T.itH(i H¤Î&Iʐ6䣐O =zQe̚/FѺl2fYɨ<чݕڴf(W$4U ZAA g$Rm ᙰ[?Zą9U9‘_U `C7Vs I$X;"\|[ u0*I$XiA1(|1$9Zt@*$G28?Zr x`B%UL *9HRB2Xbr3}H+t:d\rIXTQ .$CT3]@ ֋ xH1P7^(2삏 ZPlgX+"#X` ciT*z&(]W$i:ޤ +IL*-"&ԑީokܴU{#5!-#G52 =B @d @n8 `4b G* iDB pq(,ģ_эkP;v}>Xp0(_PO`8xIE ]3 Rr wpG! ,SEK(c C換j Cv =(@!uBe$xY ؠ.Pa90d @B<"RD*MbԘ{GϸC3`:$~,-Bp<|@0U%T 5Pb"Jh6*v\pG#Pwn)9MI}pΨ_ T 8)b$%Cv+Y K(" 0;^LhpA]@ fU 3UQ( Ż1C2]p ءS."Ѓ`+ ʕ '°T(&f^LĪ%ixJd@4kՆ:0 d&8h cpZ ̊8*J|GC #UhA &} ! AÀc~8BV! \ o| de! c 4 <Pxtl\%(qބrVa 4l*pljE&&#> -S H6T1 ]V'Tပ SeⲣXVLhxણ}M^p"PĨC2Ǻ5\@t$AHې;2m7^x{<ȐDNч>OpF2Q*VSzS<| X'8dhjHXE7S0xǪJpUĂwS fG5Cڐwkp3=چ;%P=ʞ.%ޠA4l^gO/PN`vB&h f3D!}p;<_ (B2c[+iDAd4<*)L;CpJ$8(}=<C960`8@ `ʁB&a3X!a9*<_4@ ]Qp><0dE=i#0!ެ՚ \N1!A A!]NoE#1%t@ V+$d,ٝEy=%Nyy A&dBC\В b1B8/0C ,dq"8xdɃ ("dHa!fA4 !ͱ%١ @A_4~ #u&[b@C)QC^&d!a1 "pAdtBf4gY]/Ue %}Z(3X!T3Y GHQg^r(A'dD(iFx2d.zҝ} %AP^@meB'fTYf8Ȁ'uc*Bڨ}CB i dkV(&J(d$`p9)9ܥ'deg4#~RqcehaIeh\ gmbV\c({ʨGҨڦ(5p*3t8f%]Bai)I2*ꠟ2*#ꠢBgm_xޡmݣgdpV)~e'j5"&Nr!#^NK&Ħ*nv*JiBzRjfCuz럂e+a*B&Xm&V.$m&FņBbb*v$5¤k0iu ,灪`&v*ɲ)dŊVl~,ka+&$8>f~j:mNkIF+FbuR`RC3CZl:$Zjz-֬]Rgɖ,p]`2iT׊l8Jmc6^*^l#"K"mrAێ+BF'%?8crwn_W,쭭~'憮pF? W:ntھnmNnB&.ƮmZ(,햬%N&oto "oNjj@;mweather/images/cloud.gif0000644000175000017500000000315210554400302014422 0ustar MatildaMatildaGIF89a22rztξ&:2JJVZ_~zv^fNvbjR䒚Ȟںwbr66*ﮮ2Jz^z>Znn^KNS򽾽7:?JZn2n殷^n~lnuBNt*.Ʀxuv~zDbVnBJrn~~fz~QVUju[^`ZjrҞCFM^ca"2VfŠ 2L^~~~""JV6??򦮼mؖfjj6jrْNdp&*.yabm񌊓pr||f^zVb.Ē/2:frz\nvzz~^zZrFJF Jf~"rv}ג~rFbvvnfx)+4:>Co*>NVZr6fjs񆂊yzNRVcfirZrv.дSV]ڈN^=BGjnnffrꅊ"'..&GJOӯ06>FZ¾ƚVVV!Created with The GIMP! ,22 H*\ȰÇ#JHŋ3jȱǏ CI$B"`&MH)E@0QD.!:uf26im*.]BW A%q&EIV:/)b3D"N K Rx1!Whqɢ\1_Tծ[1HH QzPAm)N$`2ڀnE"p Ç 5ad#;T\`ԵN?l ܹs?Ҏ)*`d)B @.=ZCM1s5Yc{؜0=D$A,8)P Lsx@1p `s4\@0ˆs Sx3BD'`R?(C Q*4CI34"7┠U8!Y2@oD:ıF=#%G# B-J=cج04 =yd Ȁ@Pt=p`4CH'ft!J<<bI1Qr  s40NAaE0>X531N' 8P16-(.Wngw;mweather/images/cloud_lots.gif0000644000175000017500000000733510554400302015472 0ustar MatildaMatildaGIF89a22&!xijDC}y{aaZYu10uΐJN^|z72MJmj:8kڻ_^NKUVnoBBݝ96RPzz˯vtG>::}41B>rvvBB[YpnұQO?:dcݧܩ򭮻MJvsifFBsrNJf&hf1/堢\X`_||bYZR<8草QNXW@:TRyɔÑNF)%lj[V,)ydb76wuzNE~JJjTRMJԲrv72okGF\Z>>v~xv6*०RRwr82wRJfb眜ÿNMypp玉񅂵NFfbhflj-*|FEB>JEyXQ_X͗xvik~~<7bbIFHD캺귵A>86@>LJ~rj!Created with The GIMP! ,22 ӧFu+! QoIFgb5i X(=^b#pdQ@z#+=Kj`'$DRˍJҼeѓ+Z ӄUz=kE*#*kd~3B9*̙g{$IS$^Rlsߗgr`˰ R/N<0wKb7hrP^R@tNs*Ǐi˶WtZpp;OG69 G~=Ԗ`"2% yXhO˦mD˒ 4P6d# mlJ^TP.8!`K )LSG0<࠰cX^tS|6lM; H(0N Ѱ":8p2/U )T>y.1G0kD "[6hbG!Æ+x5H Aqa C<@@ӣ0ӌirl6|,ش6-0^ s@:948`C:և6‡))`ĴmX6@+(s-0ȳLbT#F؄ǝpFjH q': &BD5r˯"I1#Nyfq(c$#I'wX÷2= uZ++!@!N>T8D;(.b b7( Lsu @8H$oB6G+~s,` へ0F%[c)r7ļ,A05PB#pM:i"(\$,K G?oH",oس"@@A8 -9m1(p l%` #= Yp2*! aԘ(@)p0) X?@bS87t`4Ġi {lh$P:[bQ@`=4"TpTi(^"Y&#X cXQi4 h m,o3`n*TvbӘʆnpbc ,O!`SbP%a4C&䐏c` u| h-n11B "4r>xB ;H#W9`q3d VȀ:t< k(l 1ēC:RG!{d"pX;5P" `:*QlPV (ڀ\zpNTR/&pd@A,Ja1i&aK0B:q0U"{ .0p< b 07PB @HPccQR\5^` #T"@!ؠ`ư ;ԨE&&avLCŃ Mܣ%)U'`!W(pj?Ѓ3TP $u`Ё) dPS}@U6Ђ (t!06r(B%`G zJtW H0@@8r1x:01X<WCN:E|f_xa^n]4Bx䗀a 'f,0bhPP! zꀞcHKE>@N z]0rc | fЄx{0 0i13cP  (0bG@Ha&pq%+:aFm'*2@(d|a 0F =n DtHxpZPF!8@7ěax[uCPX@?h!~PR)OۗE|H QPr 5] h)`PKAbF$`b HT{ :P@ .pA5Q  )s5Na\2|`@<{0P [0FaB\!TB1jQ*  x /  $`$ @Ұ? f@ OP ` r 0`-P N0հmi G/ K0 78Xh , v ~7@ , ZPP B`BAPEP E@A @/ BP @ p`^vp0` _ $ `Nx$  f``?K p { ` >Ð  _y * 7p_p@ 0amPG 0Tp ðͰ j4K]؎ & 0L@P0 gp B0; 2p*|2 j` @0x ӣɐ_P@fB0A۰Tax3 p 2 0 t@@ q ~ HdAHT aP P @rp`OppG 0L@f@Dp* ;mweather/images/sun_vvlow.gif0000644000175000017500000000523110554400302015356 0ustar MatildaMatildaGIF89a22,6=BҺ >º*FBκ1#^J96=>ƺ*4n;4?72>ʺ.99>@F޺@:-6.Fھ@&vFʺBº:>Fƺ@>>B&Fκj>9/:2B5J/51@6ZF,B־9>*z6?3:>6Fº<6R>%f:.B37(,r=6/FFFҺ.2:6>16FB696+j6B¾:8:>>:E6;>ʾ>ƾ726F?FBξ&nB12#W262vFʾF>6621>FB::6=%b"fBFƾFξ=Fֺ:BB6:B>)>BƺBFBʾBƾ2>FBF¾>*BC96EF*zBʺ?>>>336;:F+v:7::::1:>2B>12::>.6FҾ6622B:C47$t2:6.z2>.2>F@6B::>0:6.6Fֿ2*n>2]! ,22 HAH49ȰÇY Eg JV_hhA 50SVz2F fH b}<7j! mT닉 [QjH408mKA2dH cKKGFx:M:TゑPflSe cUy kAm1.NpK'>0 y EI krOh P* !*iR$|6L[#K8LDC.zQ#` Q,`&ZPG`bL/ B@ Hjŧ>r(0l4A$JEEv5B!`! P#"hA 8g A/" PvYр;mweather/README.txt0000644000175000017500000001670510554401172013074 0ustar MatildaMatildaMatilda's Weather =============== 1. Introduction 2. Features 3. License 4. Installation 5. Configuration 6. Credits 1. Introduction ---------------- Welcome to Matilda's Weather, if your reading this then you have probably just downloaded this file and want to know what to do now, well hopefully this will help. Matilda's Weather is a PHP{3,4} script which can be used to show the weather for almost anywhere in the world by using region codes and/or dropdown menus etc. It has some nifty features, most of which are listed in section 2: Features. This script is totally free, all I ask is that what ever happens to the template files, credit remains to me in one way or another. 2. Features ------------ Here is a short list of the various features which make up Matilda's Weather; * Dynamic template based web page, meaning that the script is *fully* customizable in terms of look and feel. * METAR weather report parsing to retrieve weather details, with image support for different weather conditions. * Drop down menus so different regions of the world can easily be navigated, all of which are fully configurable. * METAR codes for almost every region of the world. 3. License ----------- Matilda's Weather is licensed under the GNU General Public License (GPL), for full terms and conditions of the GPL please read the file "COPYING". 4. Installation ---------------- Installation is very easy for this script, sample templates and images have already been provided meaning that it is actually ready to use in its current state, although I would imagine that you would want to alter the "weather.tmpl" to change the look of the weather report, this file is just html with the following macros in it; Macro Meaning ----- ------- [>AREA_NAME<] Area name in words, ie. "Blackpool airport". [>FDATE<] Date the weather was recorded in the chosen format. [>TIME<] Time which the weather was recorded in the chosen format. [>TEMP_C<] Temperature recorded in degrees celsius. [>TEMP_H<] Temperature recorded in degrees farenheit. [>TEMP_IMG<] Path to the image file associated with the temperature (configurable, NOTE: only the filename, not an tag). [>HUMIDITY<] The (%) humidity. [>WIND_INFO<] ForMatildaed wind information [>CLOUD_INFO<] A list of cloud types and heights. [>CLOUD_IMG<] The filename path to the image for clouds. [>PRECIP_INFO<] Information about precipitation, in the same form as the clouds info. [>PRECIP_IMG<] The filename for the appropriate weather image. [>REGION_DD<] The drop down menu code configured in dropdown.cfg Any occurences in the template file of any of these macros would be replaced with the appropriate data. 5. Configuration ----------------- Configuration is really very simple. There are four files which may need altering, although three of them are simply template files, and two of them may not be needed at all! Lets first of all go through the file `config.php' and configure it for our means. Variable Meaning -------- ------- $imagePath This sets the location of the images for the script, relative to the scripts working directory. $noweather Points to a HTML page which is displayed on the event of METAR data for the requested region not being available. $use_head_and_foot_templates This boolean value tells the script whether or not to display the header and footer sections of the page, this is here so that people who are going to use this script as an SSI don't have unnecessary HTML. $template_header The location of a plain HTML file containing the page header. $template_footer The location of a plain HTML file containing the page footer. $template_main The location of the main template file containing the display MACROs which will be displayed with the weather data. $default_region The default region to display weather for in case no region is passed to the script. $time_offset The time offset from GMT of where you would like the script to run, in other words, each METAR report is recorded with the current GMT time, so this allows you to set the localtime instead. $date_format This string contains information on how to display the date in the main template, information on configuring this is available in the mktime(3) manpage or @ https://www.php3.org/manual/en/function.mktime.php $time_format This string is the forMatildaing options for the time displayed in the template and follows the same rules as $date_format. $use_dropdown_menus A boolean value which determines whether or not to display the dropdown menu chosen by $dropdown_area. $dropdown_area The name of one of the area configured in "dropdown.cfg", see the dropdown.cfg file for information on adding dropdown menus. $temp_vhot } $temp_hot } $temp_med }_ Integers which decide "what is what" for your area, these set the $temp_low } temperatures for hot, cold etc. May be a good idea to look at the $temp_vlow } next bit to understand these more. $temp_vvlow } $sun_vhot } $sun_hot } $sun_med }_ These are paths to images (relative to $imagePath) which denote $sun_low } which images to show dependant on the temperature, for a little $sun_vlow } more help with this one, see "config.php". $sun_vvlow } $cloud_types This array simply determines the names for different reported type of cloud. $cloud_images This array denotes which image should be used for each different cloud type. $precip_types/$precip_images Same as $cloud_types/$cloud_images except for precipitation. $precip_intensities Every now and again precipitation intensity information will appear in the METAR file, this gives a textual version for the varying intensities. There is also a variable in the mweather.php script itself, $mweatherDir is needed to specify the full path to the scripts directory and data files. Credits -------- Matilda's Weather was written by and released under the GPL. mweather/dropdown.cfg0000644000175000017500000000153710554400302013702 0ustar MatildaMatilda-uk EGPD -> Aberdeen EGAA -> Belfast EGFF -> Cardiff EGPN -> Dundee EGPF -> Glasgow EGNM -> Leeds & Bradford EGKK -> London EGCC -> Manchester + -us PARC -> Arctic Village KU31 -> Austin KMDW -> Chicago (Midway Airport) KCOS -> Colorado Springs KGCN -> Grand Canyon (National Park Airport) KDWH -> Houston (Hooks Memorial Airport) KLVS -> Las Vegas (Municipal Airport) KLAX -> Los Angeles (Internations Airport) KMHK -> Manhattan (Municipal Airport) KJFK -> New York (Kennedy International Aiport) KMCO -> Orlando (Internation Airport) KDCA -> Washington DC (Reagan National Airport) + -canada CYUL -> Montreal CYOW -> Ottawa CYQB -> Quebec CYQY -> Sydney CYYZ -> Toronto CYVR -> Vancouver + -australia YPAD -> Adelaide YBBN -> Brisbane YPDN -> Darwin YMML -> Melbourne YSSY -> Sydney + mweather/mweather.php0000644000175000017500000004177610571076501013734 0ustar MatildaMatilda This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ echo ""; $mweatherDir = './'; // the config file require "${mweatherDir}config.php"; if(!isset($region)){ $region = $default_region; // our default region } // just make sure =D $region = strtoupper($region); // just in case we're only running php3, which doesnt have an array shifting function function array_myshift(&$a) { // if the array is 0 elements in size then return false if(!sizeof($a)){ return false; } // trim the first element and store it in $c $c = trim($a[0]); // for each other element (discarding the first) in $a store them in $b for($t=1; $t"; $metar_ = @file($cache_dir."/".$region.".TXT"); } } if(!$metar_) { print "\n"; if(($metar_ = @file("ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/$region.TXT")) == false){ print "\n"; if(($metar_ = @file($cache_dir."/".$region.".TXT")) == false) { print "\n"; // the data was inaccessibly so goto the "no weather" page require "${mweatherDir}$noweather"; exit(); } } else { if($fd = @fopen($cache_dir."/".$region.".TXT", "w")) { for($l=0; $l"; } } } // open the template file if(($tmpl = @file("${mweatherDir}$template_main")) == false){ require "${mweatherDir}$noweather"; exit(); } // this explodes the string passed in $e and strips out all the fully white space elements and returns an array function strip_blank($e) { // explode the array via " " $ar = explode(" ",$e); // construct an array $t_ = array(); // step through the array and put the non-zero elements into the new array $t_ for($t=0; $t 40){ return $sun_vhot; } if($temp > 30){ return $sun_hot; } if($temp > 20){ return $sun_med; } if($temp > 10){ return $sun_low; } if($temp > 0){ return $sun_vlow; } return $sun_vvlow; } // returns the wind direction as a string function return_wind_dir($wind_dir) { if(348 < $wind_dir || $wind_dir <= 11) { return "North"; } if(11 < $wind_dir && $wind_dir <= 33) { return "North North East"; } if(33 < $wind_dir && $wind_dir <= 57) { return "North East"; } if(57 < $wind_dir && $wind_dir <= 78){ return "East North East"; } if(78 < $wind_dir && $wind_dir <= 102){ return "East"; } if(102 < $wind_dir && $wind_dir <= 123){ return "East South East"; } if(123 < $wind_dir && $wind_dir <= 157){ return "South East"; } if(157 < $wind_dir && $wind_dir <= 168){ return "South South East"; } if(168 < $wind_dir && $wind_dir <= 192){ return "South"; } if(192 < $wind_dir && $wind_dir <= 213){ return "South South West"; } if(213 < $wind_dir && $wind_dir <= 237){ return "South West"; } if(237 < $wind_dir && $wind_dir <= 258){ return "West South West"; } if(258 < $wind_dir && $wind_dir <= 282){ return "West"; } if(282 < $wind_dir && $wind_dir <= 303){ return "West North West"; } if(303 < $wind_dir && $wind_dir <= 327){ return "North West"; } if(327 < $wind_dir && $wind_dir <= 348){ return "North North West"; } // this should never happen, but just in case it doesn, return a readable string return "?Unknown?"; } // this formats the wind information for us function format_windinfo($wind_dir, $wind_speed, $wind_units) { global $wind_format; if(!isset($wind_dir) || !isset($wind_speed) || !isset($wind_units)){ return "No wind information"; } $wind_info = str_replace("%S%", $wind_speed, $wind_format); $wind_info = str_replace("%U%", $wind_units, $wind_info); $wind_info = str_replace("%D%", return_wind_dir($wind_dir), $wind_info); return str_replace("%d%", $wind_dir, $wind_info); } // this attempts to retrieve the name of the place which the regioncode relates to function getareaname() { global $region; global $mweatherDir; // attempt to read the CODES file, if it can't be found, return an error if(($codes = @file("${mweatherDir}CODES")) == false){ return "Missing Codes File - ${mweatherDir}CODES"; } // step through each line of the codes file looking for the one we want for($tmp=0; $tmp ",$codes[$tmp]); return trim($t[1]); // return trim(substr($codes[$tmp],$_o+8)); } // if the region code cannot be found return Unknown return "Unknown"; } // this allows the drop down menus function do_drop_down() { global $use_dropdown_menus; global $dropdown_area; $dropdown_area_ = strtolower($dropdown_area); if(!$use_dropdown_menus){ // dont use drop down menus return ""; } if(($codes = @file("dropdown.cfg")) == false){ // cant find the config file, so simply dont use it return ""; } for($tmp=0; $tmp"; } // begin the construction of the form code $formcode = "
\n
"; // return the code for the form drop down menu return $formcode; } // this is for the formatting of the date function updatedt($date, $month, $year, $time, &$ndate, &$ntime) { global $date_format; global $time_format; global $time_offset; $_t = explode(":",$time); // this *might* work for UTC time $_t[0] += $time_offset; // convert the time $ndate = date($date_format,mktime($_t[0], $_t[1], 0, $month, $date, $year)); $ntime = date($time_format,mktime($_t[0], $_t[1], 0, $month, $date, $year)); } // the area name isn't set? well, try and get it from the CODES file if(!isset($area_name) || !strlen($area_name)){ $area_name = getareaname(); } $tmpl = implode("",$tmpl); // strip the EOLs from each line of the METAR file for($t=0; $t\n"; $options = explode(" ",$metar); $____ = explode("/",array_myshift($options)); $year = $____[0]; $month = $____[1]; $date = $____[2]; $time = array_myshift($options); $_ = array_myshift($options); if($_ != $region){ // the region, indicating an error in the data file echo "\n\n"; // require "${mweatherDir}$noweather"; // exit(); } // another indication of an error in the data file $check = array_myshift($options); if($check != $date.str_replace(":","",$time)."Z"){ echo "\n\n"; // require "${mweatherDir}$noweather"; // exit(); } settype($year,"integer"); settype($month,"integer"); settype($date,"integer"); // before we start it, lets create a couple of useful reg exp sections // construct a regular expression to match the start of a string to a precipitation type ;) while(list($key, $var) = each($precip_types)){ $teg[] = $key; } $regu = implode("|", $teg); // and one for clouds while(list($key, $var) = each($cloud_types)){ $ceg[] = $key; } $cloud_reg = implode("|", $ceg); // ok, on with the show! while(($_op = array_myshift($options)) != false){ // just in case a zero-length option got through ;) this should not happen though if(!strlen($_op)){ continue; } // is this likely to be wind? I reckon this can only happen once, so i'm going to make it not be checked more than once =P if($dealt_with_wind == false){ if(ereg("(MPS)$", $_op) || ereg("(KT)$", $_op)){ print "\n"; $dealt_with_wind = true; $wind_dir = substr($_op,0,3)%360; settype($wind_dir,"integer"); $wind_speed = substr($_op,3,2); settype($wind_speed,"integer"); $wind_units = substr($_op,5); if($wind_units == "KT"){ $wind_units = " knots"; } else { /* this means the `G' or gusts is present and it needs to be parsed differently */ $gust_speed = substr($_op, 6, 2); settype($gust_speed, "integer"); $wind_units = substr($_op, 8); if($wind_units == "KT"){ $wind_units = "knots sustained, gusting to ".$gust_speed; } } continue; } } // cloud info? $_ = substr($_op,0,3); if(ereg("^(".$cloud_reg.")", $_)){ print "\n"; $cloud_type[] = $_; // if($_ == "CLR"){ // // if the cloud type is CLR then set the height to 12000 feet // $cloud_height[] = 120; // } else{ $tch = substr($_op,3,3); if(!$tch){ $cloud_height[] = 120; } else { $cloud_height[] = $tch; } // otherwise we want the data settype($cloud_height[sizeof($cloud_height)-1],"integer"); $cloud_height[sizeof($cloud_height)-1] *= 100; // } // convert the cloud height to metar height $cloud_height_metar[] = $cloud_height[sizeof($cloud_height)-1]/3.281027104; continue; } // temperature info? - no point in doing it twice, this one is a bitch mind you... if($dealt_with_temperature == false){ if(ereg("^(M?)([0-9]{2})/(M?)([0-9]{2})$", $_op)){ print "\n"; // AFAIK the M at the beginning refers to (M)inus and hence needs to be there... $_op = str_replace("M", "-", $_op); // calculations and stuff $dealt_with_temperature = true; $tmps = explode("/", $_op); $temp = $tmps[0]; print "\n"; @settype($temp,"integer"); $temp_dewpoint = $tmps[1]; print "\n"; @settype($temp_dewpoint,"integer"); $temp_f = @round(($temp*9/5)+32); $temp_dewpoint_f = ($temp_dewpoint*9/5)+32; // thanks to Rick MacDougall for this ! $Td = 273.15 + $temp_dewpoint; $T = 273.15 + $temp; $e = 6.11 * exp(5417.118093 * (0.003660992 - (1/$Td))); $es = 6.11 * exp(5417.118093 * (0.003660992 - (1/$T))); $humidity = ($e/$es) * 100; @settype($humidity,"integer"); // end humidity calculating code :P continue; } } // check to see whether this is likely to be a precipitation info bit if(ereg("^(\-?)(".$regu.")", $_op) && eregi("^(\-?)([a-z]+)$",$_op)){ print "\n"; // it most likely is! so lets parse as though it is, start by getting rid of that annoying "-" which sometimes appears at the beginning $_op = str_replace("-", "", $_op); // store the precip info at the end of $precip array $precip[] = substr($_op, 0, 2); // if there is some more info on this precipitation then we might as well get it if(strlen($_op) > 2){ $precip_descrip[] = substr($_op, 2); } else { $precip_descrip[] = ""; } continue; } // precip intensity info, should only appear once! if($got_precip_intensity == false){ if(ereg("^([0-9]){4}$",$_op)){ print "\n"; settype($_op, "string"); $precip_intensity[] = substr($_op, 0, 1); $precip_intensity[] = substr($_op, 1, 1); $precip_intensity[] = substr($_op, 2, 1); $precip_intensity[] = substr($_op, 3, 1); $got_precip_intensity = true; continue; } } } // determine which pictures to use $img_temp = temp_image($temp); // the below two pieces of code have both been used to dynamically alter the cloud picture, but to be honest, lets just have the first cloud type as our pictue :P if(!sizeof($cloud_type)){ $cloud_img = $unknowninfo; } else { $cloud_img = $cloud_type[0]; } /* // determine which cloud picture to use, note that the cloud_type array keys are sorted in terms of density of cloud ;) while($key = key($cloud_types)){ print "\n"; if(isset($cloud_types[$key])){ // if(my_inhash($key, $cloud_types)){ $cloud_img = $key; break; } } */ /* for($l=0; $l",$cloud_info,$cloud_types[$cloud_type[$l]],$cloud_height[$l],$cloud_height_metar[$l]); } } else{ $cloud_info = "Unknown"; } if(sizeof($precip)){ for($l=0; $l",$precip_info); $precip_info = sprintf("%s
",$precip_info); } $precip_img = $precip_images[$precip[0]]; } else{ $precip_info = "None"; $precip_img = $cloud_images["CLR"]; } updatedt($date, $month, $year, $time, $ndate, $ntime); // perform all the replacements in the html page $tmpl = str_replace("[>AREA_NAME<]", $area_name, $tmpl); $tmpl = str_replace("[>FDATE<]", $ndate, $tmpl); $tmpl = str_replace("[>TIME<]", $ntime, $tmpl); $tmpl = str_replace("[>TEMP_C<]", $temp, $tmpl); $tmpl = str_replace("[>TEMP_F<]", $temp_f, $tmpl); $tmpl = str_replace("[>HUMIDITY<]", $humidity, $tmpl); $tmpl = str_replace("[>TEMP_IMG<]", $imagePath.$img_temp, $tmpl); $tmpl = str_replace("[>WIND_INFO<]", $wind_info, $tmpl); $tmpl = str_replace("[>CLOUD_INFO<]", $cloud_info, $tmpl); $tmpl = str_replace("[>CLOUD_IMG<]", $imagePath.$cloud_images[$cloud_img], $tmpl); $tmpl = str_replace("[>PRECIP_INFO<]", $precip_info, $tmpl); $tmpl = str_replace("[>PRECIP_IMG<]", $imagePath.$precip_img, $tmpl); $tmpl = str_replace("[>REGION_DD<]", do_drop_down(), $tmpl); // show the template echo $tmpl; if($use_head_and_foot_templates){ require "${mweatherDir}$template_footer"; } ?> mweather/noweather.html0000644000175000017500000000054010554400302014240 0ustar MatildaMatilda

Sorry there has been an error whilst trying to display the current weather for that area, please click here to try again mweather/ChangeLog0000644000175000017500000001152110554401224013135 0ustar mattmatt13/07/2001 Matt Wilson * Fixed a couple of little things :) 09/07/2001 Matt Wilson * Added METAR data caching * 0.6.0 Beta3 (just got the images left to do!) 22/05/2001 Matt Wilson * Fixed a bug regarding drop down menus, a small typo (missed a '=' out), thanks to fullo for this. 27/02/2001 Matt Wilson * Someone (you know who you are!) reported a bug to me regarding the humdity calculations which I thought i'd fixed, but apparently released the wrong file? who knows, its fixed in my version anyway, but this will definately be in 0.6.0. * Same person also re-wrote part of the wind parsing code to implement "gusts" which occur in places. 07/02/2001 Matt Wilson * I wasn't calculating the humidity correctly, but Rick Macdougall mailed me a working equation, thanks Rick! 05/02/2001 Matt Wilson * did some more re-writing of detection code for various things. * fixed a stupid bug when a "M" appeared in front of the temperature information, it never occured that these might of meant Minus =P * made the wind only be recorded once as I reckon that it *is* only recorded once, this just prevents a couple of nasties where a precipitation was recognised when it wasn't really there in incredibly rare cases (antarctica for one on Jan 5th =P) * just noticed that sometimes the wind is recorded with MPS trailing instead of KT, hmm "metres per second" and "knots"? * added the option to format the outputted wind details * I don't think im calculating the humidity correctly... we'll see. 02/02/2001 Matt Wilson * re-wrote the METAR parsing section to use regular expressions a lot to determine different sections of the METAR code, seems to be working pretty damned well at the moment. * hoping to make some proper images - and all of them! also want to re-do the logo. 01/02/2001 Matt Wilson * hefty re-write of the core code, planning to re-write the METAR parsing routines *and* some other bits * planning to implement UTC offset code soon * re-work of the configuration stuff so just about everything goes via the config.php file 22/01/2001 Lic. Rodolfo Gonzalez Gonzalez * added a whole bunch of metar codes, we're looking at around 3000 different METAR codes now, thanks! (not sure, but I think this is every METAR code from around the globe!) 18/10/2000 Darren Brooke * `trim()'med a couple of strings to fix up automatic area name retrieval code 18/10/2000 Matt Wilson * fixed a typo 13/10/2000 Matt Wilson * fixed a `bug' regarding place names 11/10/2000 Matt Wilson * ability to use multiple drop down menus 05/10/2000 Matt Wilson * added some more metar codes and made the dropdown menu stuff go into dropdown.cfg 04/10/2000 Matt Wilson * got my own website - https://www.mattsscripts.co.uk/ - not yet up though * few minor changes 03/10/2000 Matt Wilson * added the ability to format your own date and time * trying to add the option to use date/time alteration for regions local time * changed the template files so that they are fully working (w/all images) as most ppl seem to be using them * fixed a bug regarding wind directions * added drop down menu support for selecting the area * added automatic detection of area name * fixed a few more minor bugs * added a simple logo created using The Gimp * added the ability to customize drop down menus 02/10/2000 Matt Wilson * fixed bug causing wind direction to be reported as North North West * stopped the script trying to parse `AUTO' metar data * fixed a bug regarding data checking * recommend that ppl disable precipitation intensity checking for the time being as its broken * got a full list of all the weather metar codes for UK, USA and Canada - more to come 28/9/2000 Matt Wilson * beginning of a list of codes (UK, US and Canada) * fixed a bug occuring when parsing METAR data with a clear sky * noticed a problem with some METAR files which causes a problem where the data is AUTOmated (not sure about this one - rare) * fixed a problem when displaying height of clouds where too many zeros were displayed before the number 27/9/2000 Matt Wilson - version 0.41 * Celsius to farenheit equation typo fixed * Cloud height now work * Added metar cloud height info * Re-wrote core to parse METAR data more reliably 26/9/2000 Matt Wilson - version 0.4 mweather/COPYING0000644000175000017500000004462310554400302012423 0ustar mattmatt NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it. Linus Torvalds ---------------------------------------- GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.