Slightly changing locations in some files discovered 3/19/2007. Here's what a query of the database produced:
mysql> select * from locations as l1, locations as l2 where l1.name=l2.name and l1.srcid = l2.srcid and l1.locid <> l2.locid; +-------+-------+--------+---------+--------------+---------+--------+-------+-------+--------+---------+--------------+---------+--------+ | srcid | locid | lat | lon | name | method | locgmt | srcid | locid | lat | lon | name | method | locgmt | +-------+-------+--------+---------+--------------+---------+--------+-------+-------+--------+---------+--------------+---------+--------+ | 250 | 13 | 289467 | -953083 | Freeport | virtual | 0 | 250 | 93 | 289467 | -973083 | Freeport | virtual | 0 | | 250 | 16 | 277700 | -975200 | NWSWX1 | virtual | 0 | 250 | 64 | 277500 | -967833 | NWSWX1 | virtual | 0 | | 250 | 26 | 295833 | -948332 | GalvestonBay | virtual | 0 | 250 | 94 | 285833 | -948332 | GalvestonBay | virtual | 0 | | 250 | 38 | 288425 | -942416 | TABSF | virtual | 0 | 250 | 62 | 261833 | -942350 | TABSF | virtual | 0 | | 250 | 42 | 296767 | -949850 | MorgansPoint | virtual | 0 | 250 | 104 | 296767 | -979850 | MorgansPoint | virtual | 0 | | 254 | 57 | 261833 | -942350 | TABSF | virtual | 0 | 254 | 122 | 288425 | -942416 | TABSF | virtual | 0 | | 250 | 62 | 261833 | -942350 | TABSF | virtual | 0 | 250 | 38 | 288425 | -942416 | TABSF | virtual | 0 | | 250 | 64 | 277500 | -967833 | NWSWX1 | virtual | 0 | 250 | 16 | 277700 | -975200 | NWSWX1 | virtual | 0 | | 254 | 67 | 277500 | -967833 | NWSWX1 | virtual | 0 | 254 | 112 | 277700 | -975200 | NWSWX1 | virtual | 0 | | 254 | 80 | 285833 | -948332 | GalvestonBay | virtual | 0 | 254 | 116 | 295833 | -948332 | GalvestonBay | virtual | 0 | | 254 | 92 | 289467 | -973083 | Freeport | virtual | 0 | 254 | 118 | 289467 | -953083 | Freeport | virtual | 0 | | 250 | 93 | 289467 | -973083 | Freeport | virtual | 0 | 250 | 13 | 289467 | -953083 | Freeport | virtual | 0 | | 250 | 94 | 285833 | -948332 | GalvestonBay | virtual | 0 | 250 | 26 | 295833 | -948332 | GalvestonBay | virtual | 0 | | 250 | 104 | 296767 | -979850 | MorgansPoint | virtual | 0 | 250 | 42 | 296767 | -949850 | MorgansPoint | virtual | 0 | | 254 | 108 | 296767 | -979850 | MorgansPoint | virtual | 0 | 254 | 113 | 296767 | -949850 | MorgansPoint | virtual | 0 | | 254 | 112 | 277700 | -975200 | NWSWX1 | virtual | 0 | 254 | 67 | 277500 | -967833 | NWSWX1 | virtual | 0 | | 254 | 113 | 296767 | -949850 | MorgansPoint | virtual | 0 | 254 | 108 | 296767 | -979850 | MorgansPoint | virtual | 0 | | 254 | 116 | 295833 | -948332 | GalvestonBay | virtual | 0 | 254 | 80 | 285833 | -948332 | GalvestonBay | virtual | 0 | | 254 | 118 | 289467 | -953083 | Freeport | virtual | 0 | 254 | 92 | 289467 | -973083 | Freeport | virtual | 0 | | 254 | 122 | 288425 | -942416 | TABSF | virtual | 0 | 254 | 57 | 261833 | -942350 | TABSF | virtual | 0 | +-------+-------+--------+---------+--------------+---------+--------+-------+-------+--------+---------+--------------+---------+--------+ 20 rows in set (0.05 sec)
It looks as if the lat and lon values have changed slightly. How should we handle this?
mysql> select name,lat,lon,l.locid,min(gmt),max(gmt) from locations as l, data as d \ where l.srcid=250 and l.locid=d.locid group by l.locid order by name asc;
+--------------------+--------+----------+-------+------------+------------+ | name | lat | lon | locid | min(gmt) | max(gmt) | +--------------------+--------+----------+-------+------------+------------+ | Amarillo | 351833 | -1018332 | 25 | 1151182800 | 1174672800 | | AransasBay | 280000 | -970167 | 29 | 1151182800 | 1174672800 | | ArroyoColorado | 263152 | -973250 | 39 | 1151182800 | 1174672800 | | ASOSALI | 277411 | -980247 | 34 | 1151182800 | 1174672800 | | ASOSNGP | 276886 | -972197 | 8 | 1151182800 | 1174672800 | | ASOSNQI | 275031 | -978117 | 37 | 1151182800 | 1174672800 | | ASOSPSX | 287333 | -975128 | 43 | 1151182800 | 1174672800 | | ASOSRKP | 280836 | -970464 | 44 | 1151182800 | 1174672800 | | ASOSVCT | 288635 | -969297 | 48 | 1151182800 | 1174672800 | | Austin | 302833 | -977000 | 4 | 1151182800 | 1174672800 | | BaffinBay | 272950 | -974050 | 22 | 1151182800 | 1174672800 | | BayofCampeche | 210000 | -940000 | 10 | 1151182800 | 1174672800 | | Beeville | 284000 | -977333 | 24 | 1151182800 | 1174672800 | | BirdIsland | 274850 | -973182 | 32 | 1151182800 | 1174672800 | | BobHallPier | 275817 | -972167 | 54 | 1151182800 | 1174672800 | | CopanoBay | 281167 | -971000 | 20 | 1151182800 | 1174672800 | | CorpusChristiBay | 277833 | -972950 | 33 | 1151182800 | 1174672800 | | Dallas | 327667 | -967833 | 35 | 1151182800 | 1174672800 | | EastMatagordaBay | 287083 | -958332 | 27 | 1151182800 | 1174672800 | | FlowerGardens | 279000 | -935733 | 19 | 1151182800 | 1174672800 | | Freeport | 289467 | -973083 | 93 | 1151182800 | 1154217600 | | Freeport | 289467 | -953083 | 13 | 1154077200 | 1174672800 | | GalvestonBay | 285833 | -948332 | 94 | 1151182800 | 1154217600 | | GalvestonBay | 295833 | -948332 | 26 | 1154077200 | 1174672800 | | GalvestonOffshore | 291233 | -945083 | 45 | 1151182800 | 1174672800 | | GLSPleasurePier | 292850 | -947883 | 1 | 1151182800 | 1174672800 | | LavacaBay | 286333 | -965832 | 55 | 1151182800 | 1174672800 | | MatagordaBay | 285333 | -963000 | 17 | 1151182800 | 1174672800 | | MesquitePoint | 297667 | -938950 | 47 | 1151182800 | 1174672800 | | MiddleofGulf | 250000 | -910000 | 18 | 1151182800 | 1174672800 | | MorgansPoint | 296767 | -979850 | 104 | 1151182800 | 1154217600 | | MorgansPoint | 296767 | -949850 | 42 | 1154077200 | 1174672800 | | NASCORPUS | 277050 | -972800 | 14 | 1151182800 | 1174672800 | | NDBCStation42001 | 259200 | -896800 | 46 | 1154077200 | 1174672800 | | NDBCStation42002 | 251694 | -944167 | 30 | 1154077200 | 1174672800 | | NDBCStation42007 | 300903 | -887686 | 11 | 1158505200 | 1174672800 | | NDBCStation42019 | 279131 | -953600 | 50 | 1154077200 | 1174672800 | | NDBCStation42020 | 269456 | -966969 | 21 | 1154077200 | 1174672800 | | NDBCStation42035 | 292464 | -944083 | 9 | 1154077200 | 1174672800 | | NDBCStation42038 | 274200 | -925753 | 6 | 1154077200 | 1174672800 | | NDBCStation42040 | 292100 | -882000 | 41 | 1154077200 | 1174672800 | | NDBCStation42041 | 275039 | -904622 | 2 | 1154077200 | 1174672800 | | NWSCorpusChristi | 277731 | -975177 | 49 | 1151182800 | 1174672800 | | NWSWX1 | 277700 | -975200 | 16 | 1154077200 | 1174672800 | | NWSWX1 | 277500 | -967833 | 64 | 1151182800 | 1154217600 | | OffshoreNorthwest | 276667 | -956667 | 5 | 1151182800 | 1174672800 | | OffshoreSoutheast | 265000 | -935000 | 7 | 1151182800 | 1174672800 | | OffshoreSouthwest | 265000 | -955000 | 15 | 1151182800 | 1174672800 | | PortAransas | 278400 | -970733 | 51 | 1151182800 | 1174672800 | | PortIsabelle | 260500 | -972150 | 40 | 1151182800 | 1174672800 | | PortOconnor | 284467 | -963967 | 3 | 1151182800 | 1174672800 | | RincondelSanJose | 268017 | -974700 | 53 | 1151182800 | 1174672800 | | Rockport | 280250 | -974833 | 52 | 1151182800 | 1174672800 | | SabineLake | 299167 | -938167 | 36 | 1151182800 | 1174672800 | | SanAntonioBay | 282833 | -967167 | 23 | 1151182800 | 1174672800 | | ShorelineNorthwest | 285000 | -958332 | 31 | 1151182800 | 1174672800 | | ShorelineSouthwest | 270000 | -970000 | 12 | 1151182800 | 1174672800 | | TABSF | 261833 | -942350 | 62 | 1151182800 | 1158645600 | | TABSF | 288425 | -942416 | 38 | 1158505200 | 1174672800 | | TABSJ | 261883 | -970500 | 28 | 1151182800 | 1174672800 | | WestBay | 292500 | -949667 | 56 | 1151182800 | 1174672800 | +--------------------+--------+----------+-------+------------+------------+ 61 rows in set (6.74 sec)
mysql> select name,lat,lon,l.locid,min(gmt),max(gmt) from locations as l, data as d \ where l.srcid=254 and l.locid=d.locid group by l.locid order by name asc;
+--------------------+--------+----------+-------+------------+------------+ | name | lat | lon | locid | min(gmt) | max(gmt) | +--------------------+--------+----------+-------+------------+------------+ | Amarillo | 351833 | -1018332 | 83 | 1151182800 | 1174672800 | | AransasBay | 280000 | -970167 | 86 | 1151182800 | 1174672800 | | ArroyoColorado | 263152 | -973250 | 65 | 1151182800 | 1174672800 | | ASOSALI | 277411 | -980247 | 85 | 1151182800 | 1174672800 | | ASOSNGP | 276886 | -972197 | 59 | 1151182800 | 1174672800 | | ASOSNQI | 275031 | -978117 | 70 | 1151182800 | 1174672800 | | ASOSPSX | 287333 | -975128 | 74 | 1151182800 | 1174672800 | | ASOSRKP | 280836 | -970464 | 95 | 1151182800 | 1174672800 | | ASOSVCT | 288635 | -969297 | 63 | 1151182800 | 1174672800 | | Austin | 302833 | -977000 | 58 | 1151182800 | 1174672800 | | BaffinBay | 272950 | -974050 | 102 | 1151182800 | 1174672800 | | BayofCampeche | 210000 | -940000 | 78 | 1151182800 | 1174672800 | | Beeville | 284000 | -977333 | 77 | 1151182800 | 1174672800 | | BirdIsland | 274850 | -973182 | 91 | 1151182800 | 1174672800 | | BobHallPier | 275817 | -972167 | 98 | 1151182800 | 1174672800 | | CopanoBay | 281167 | -971000 | 71 | 1151182800 | 1174672800 | | CorpusChristiBay | 277833 | -972950 | 103 | 1151182800 | 1174672800 | | Dallas | 327667 | -967833 | 68 | 1151182800 | 1174672800 | | EastMatagordaBay | 287083 | -958332 | 76 | 1151182800 | 1174672800 | | FlowerGardens | 279000 | -935733 | 88 | 1151182800 | 1174672800 | | Freeport | 289467 | -973083 | 92 | 1151182800 | 1154217600 | | Freeport | 289467 | -953083 | 118 | 1154077200 | 1174672800 | | GalvestonBay | 285833 | -948332 | 80 | 1151182800 | 1154217600 | | GalvestonBay | 295833 | -948332 | 116 | 1154077200 | 1174672800 | | GalvestonOffshore | 291233 | -945083 | 84 | 1151182800 | 1174672800 | | GLSPleasurePier | 292850 | -947883 | 69 | 1151182800 | 1174672800 | | LavacaBay | 286333 | -965832 | 107 | 1151182800 | 1174672800 | | MatagordaBay | 285333 | -963000 | 90 | 1151182800 | 1174672800 | | MesquitePoint | 297667 | -938950 | 81 | 1151182800 | 1174672800 | | MiddleofGulf | 250000 | -910000 | 75 | 1151182800 | 1174672800 | | MorgansPoint | 296767 | -979850 | 108 | 1151182800 | 1154217600 | | MorgansPoint | 296767 | -949850 | 113 | 1154077200 | 1174672800 | | NASCORPUS | 277050 | -972800 | 60 | 1151182800 | 1174672800 | | NDBCStation42001 | 259200 | -896800 | 114 | 1154077200 | 1174672800 | | NDBCStation42002 | 251694 | -944167 | 109 | 1154077200 | 1174672800 | | NDBCStation42007 | 300903 | -887686 | 121 | 1158505200 | 1174672800 | | NDBCStation42019 | 279131 | -953600 | 119 | 1154077200 | 1174672800 | | NDBCStation42020 | 269456 | -966969 | 111 | 1154077200 | 1174672800 | | NDBCStation42035 | 292464 | -944083 | 115 | 1154077200 | 1174672800 | | NDBCStation42038 | 274200 | -925753 | 120 | 1154077200 | 1174672800 | | NDBCStation42040 | 292100 | -882000 | 117 | 1154077200 | 1174672800 | | NDBCStation42041 | 275039 | -904622 | 110 | 1154077200 | 1174672800 | | NWSCorpusChristi | 277731 | -975177 | 87 | 1151182800 | 1174672800 | | NWSWX1 | 277500 | -967833 | 67 | 1151182800 | 1154217600 | | NWSWX1 | 277700 | -975200 | 112 | 1154077200 | 1174672800 | | OffshoreNorthwest | 276667 | -956667 | 97 | 1151182800 | 1174672800 | | OffshoreSoutheast | 265000 | -935000 | 66 | 1151182800 | 1174672800 | | OffshoreSouthwest | 265000 | -955000 | 89 | 1151182800 | 1174672800 | | PortAransas | 278400 | -970733 | 73 | 1151182800 | 1174672800 | | PortIsabelle | 260500 | -972150 | 101 | 1151182800 | 1174672800 | | PortOconnor | 284467 | -963967 | 72 | 1151182800 | 1174672800 | | RincondelSanJose | 268017 | -974700 | 82 | 1151182800 | 1174672800 | | Rockport | 280250 | -974833 | 79 | 1151182800 | 1174672800 | | SabineLake | 299167 | -938167 | 96 | 1151182800 | 1174672800 | | SanAntonioBay | 282833 | -967167 | 61 | 1151182800 | 1174672800 | | ShorelineNorthwest | 285000 | -958332 | 105 | 1151182800 | 1174672800 | | ShorelineSouthwest | 270000 | -970000 | 106 | 1151182800 | 1174672800 | | TABSF | 288425 | -942416 | 122 | 1158505200 | 1174672800 | | TABSF | 261833 | -942350 | 57 | 1151182800 | 1158645600 | | TABSJ | 261883 | -970500 | 99 | 1151182800 | 1174672800 | | WestBay | 292500 | -949667 | 100 | 1151182800 | 1174672800 | +--------------------+--------+----------+-------+------------+------------+ 61 rows in set (5.53 sec)
Error discovered in supplied GFS model data (file:GFS40_01102007_1200_test) GFS (Mapped to AWIPS GRID 212) Output (Interpolated) for 01-10-2007 1200 UTC. Example:
ShorelineNorthwest,28.5000,-95.8333,01-10-2007 1200 UTC,45 Hour,-1.22137234653379,8.99134697677921,1014.23044103931,21.2844814876412 ShorelineNorthwest,28.5000,-95.8333,01-10-2007 1200 UTC,48 Hour,-1.31918233484811,9.9575742343651,1011.97898062438,21.0867058862366 GalvestonOffshore,29.1233,-94.5083,01-10-2007 1200 UTC,3 Hour,-6.17558266928832,2.6892522876825,1026.3237174986,16.620948007861
GalvestonOffshore,29.1233,-94.5083,01-10-2007 1200 UTC,6 Hour,-100361.019755519,-99635.6648777555,-999.99,-100272 GalvestonOffshore,29.1233,-94.5083,01-10-2007 1200 UTC,9 Hour,-100361.019755519,-99635.6648777555,-999.99,-100272
GalvestonOffshore,29.1233,-94.5083,01-10-2007 1200 UTC,12 Hour,-4.26947768618738,7.35800343922839,1021.34021745238,19.1350250095306 GalvestonOffshore,29.1233,-94.5083,01-10-2007 1200 UTC,15 Hour,-5.0583531900525,7.65441831993944,1020.88560977384,19.431993362177 GalvestonOffshore,29.1233,-94.5083,01-10-2007 1200 UTC,18 Hour,-5.05282319228372,7.84940341320264,1019.09836608652,19.8281891357791
Possible parsing error?