New York 24/7 Rank
Every station in New York ranked by its 247 score out of 100: how reliably it reports, how accurate its readings are against a reference station, how they pass their checks and how they stand against the forecast, over the last seven days.
A station is ranked once its week holds enough reports to measure: 12, or 3 days for a gauge that reports once a day. Of the 1,128 ranked here, 1,103 have a page of their own; the rest are platforms heard here that have not yet reported enough to be listed.
Every station, ranked
| Rank | Station | Score | Parts | Network | County | Received | Reports | Arrives in | Longest silence |
|---|---|---|---|---|---|---|---|---|---|
| 1,001 | Voorheesville 0.7 ENY-AB-83 | 87.6 | Volunteer | Albany | 66.6% | 2 of 3 | 3.4 h | 37.1 h | |
| 1,002 | Freehold 3.4 ENY-GR-6 | 87.6 | Volunteer | Greene | 66.6% | 2 of 3 | 3.4 h | 3 days | |
| 1,003 | East Rochester 0.1 NNWNY-MR-61 | 87.2 | Volunteer | Monroe | 66.6% | 2 of 3 | 4.4 h | 37.1 h | |
| 1,004 | Spring Valley 1.7 SSWNY-RL-13 | 87.2 | Volunteer | Rockland | 66.6% | 2 of 3 | 4.4 h | 36.1 h | |
| 1,005 | Selden 1.6 ESENY-SF-145 | 87.2 | Volunteer | Suffolk | 66.6% | 2 of 3 | 4.4 h | 37.1 h | |
| 1,005 | Sharon Springs 0.5 SNY-SH-17 | 87.2 | Volunteer | Schoharie | 66.6% | 2 of 3 | 4.4 h | 37.1 h | |
| 1,007 | Delmar 0.8 WSWNY-AB-84 | 87.2 | Volunteer | Albany | 66.6% | 2 of 3 | 4.4 h | 36.1 h | |
| 1,008 | Newark Valley 1 NNWKN6 | 87.1 | Gauge | Tioga | 66.6% | 56 of 84 | 23 min | 5 h | |
| 1,008 | Roscoe 2 SRCON6 | 87.1 | Gauge | Sullivan | 66.6% | 56 of 84 | 23 min | 5 h | |
| 1,010 | Holland Patent 0.6 SSENY-OD-67 | 86.7 | Volunteer | Oneida | 66.6% | 2 of 3 | 5.4 h | 2 days | |
| 1,011 | Staten Island 4.5 SSENY-RC-1 | 86.7 | Volunteer | Richmond | 66.6% | 2 of 3 | 5.4 h | 38.1 h | |
| 1,012 | Saranac Lake/AdironSLK | 86.6 | Airport | Franklin | 67.5% | 227 of 336 | 6 min | 2 h | |
| 1,013 | New York Harbor AT BatteryBATN6 | 86.5 | Gauge | Richmond | 83.5% | 702 of 840 | 15 min | 4.9 h | |
| 1,014 | Island Park - Hog Island ChannelHOGN6 | 86.4 | Gauge | Nassau | 68.7% | 187 of 272 | 21 min | 2 h | |
| 1,015 | Hogansburg 1.5 SWSREN6 | 86.2 | Gauge | Franklin | 92.2% | 155 of 168 | 1.5 h | 4 h | |
| 1,016 | Arnot ForestARNN6 | 86.2 | Gauge | Schuyler | 66.6% | 56 of 84 | 33 min | 5 h | |
| 1,017 | Niskayuna 1.6 ESENY-SC-40 | 86.2 | Volunteer | Schenectady | 66.6% | 2 of 3 | 6.4 h | 36.1 h | |
| 1,018 | Wading River 0.3 NNY-SF-185 | 86.2 | Volunteer | Suffolk | 66.6% | 2 of 3 | 6.4 h | 2 days | |
| 1,019 | Colonie 2.5 NNY-SC-42 | 85.8 | Volunteer | Albany | 66.6% | 2 of 3 | 7.4 h | 2 days | |
| 1,020 | Alden 0.6 WNY-ER-280 | 84.9 | Volunteer | Erie | 66.6% | 2 of 3 | 9.4 h | 36.1 h | |
| 1,021 | WellsvilleWELN6 | 84.8 | Cooperative | Allegany | 57.1% | 4 of 7 | 21 min | 2.6 days | |
| 1,022 | Whiteface BaseWHFN6 | 84.8 | Cooperative | Essex | 57.1% | 4 of 7 | 41 min | 2 days | |
| 1,023 | GenevaGENN6 | 84.8 | Cooperative | Ontario | 57.1% | 4 of 7 | 61 min | 36.1 h | |
| 1,024 | Sacandaga LakeCNKN6 | 84.8 | Cooperative | Saratoga | 57.1% | 4 of 7 | 81 min | 2 days | |
| 1,025 | BrockportBRKN6 | 84.8 | Cooperative | Monroe | 57.1% | 4 of 7 | 1.7 h | 2.5 days | |
| 1,026 | Westhampton BeachFOK | 84.6 | Airport | Suffolk | 62.2% | 209 of 336 | 10 min | 2 h | |
| 1,027 | Massena 4.2 SNY-SL-27 | 84.4 | Volunteer | St. Lawrence | 66.6% | 2 of 3 | 10.4 h | 37.1 h | |
| 1,028 | NewcombNCBN6 | 84.3 | Cooperative | Essex | 57.1% | 4 of 7 | 3.3 h | 36.1 h | |
| 1,029 | KEUKA LAKE OUTLET AT DRESDEN AT Keuka Lake Outlet At DresdenDRDN6 | 84.2 | Gauge | Yates | 83.9% | 141 of 168 | 28 min | 23.3 h | |
| 1,030 | Patterson 1.3 ENY-PT-20 | 83.9 | Volunteer | Putnam | 66.6% | 2 of 3 | 11.4 h | 37.1 h | |
| 1,031 | Shrub OakOAKN6 | 83.8 | Cooperative | Westchester | 57.1% | 4 of 7 | 21 min | 4 days | |
| 1,032 | Ontario 4.2 NWNY-WN-20 | 83.5 | Volunteer | Wayne | 66.6% | 2 of 3 | 12.4 h | 2 days | |
| 1,033 | Elmira / CorningELM | 83.2 | Airport | Chemung | 72.8% | 188 of 258 | 12 min | 6 h | |
| 1,034 | Glenfield 0.9 SSWNY-LW-9 | 83.0 | Volunteer | Lewis | 66.6% | 2 of 3 | 13.4 h | 2 days | |
| 1,035 | Hoffmeister 2.0 ENY-HM-9 | 82.5 | Volunteer | Hamilton | 66.6% | 2 of 3 | 14.4 h | 36.1 h | |
| 1,036 | Poughkeepsie 5.3 SNY-DT-29 | 82.5 | Volunteer | Dutchess | 66.6% | 2 of 3 | 14.4 h | 35.1 h | |
| 1,036 | Avoca 0.5 ENY-ST-1 | 82.5 | Volunteer | Steuben | 66.6% | 2 of 3 | 14.4 h | 35.1 h | |
| 1,038 | Schenevus 5.9 SSWNY-DL-34 | 82.5 | Volunteer | Delaware | 66.6% | 2 of 3 | 14.4 h | 37.1 h | |
| 1,039 | Nelsonville 0.3 SNY-PT-13 | 82.1 | Volunteer | Putnam | 66.6% | 2 of 3 | 15.4 h | 37.1 h | |
| 1,040 | Warwick 3.9 WNY-OR-23 | 82.1 | Volunteer | Orange | 66.6% | 2 of 3 | 15.4 h | 2 days | |
| 1,041 | West Seneca 2.5 ENY-ER-264 | 82.1 | Volunteer | Erie | 66.6% | 2 of 3 | 15.4 h | 35.1 h | |
| 1,042 | East Amherst 1.2 WNWNY-ER-54 | 82.1 | Volunteer | Erie | 66.6% | 2 of 3 | 15.4 h | 36.1 h | |
| 1,042 | Syracuse 4.2 SSWNY-OG-79 | 82.1 | Volunteer | Onondaga | 66.6% | 2 of 3 | 15.4 h | 36.1 h | |
| 1,042 | Amityville 0.6 NNENY-SF-92 | 82.1 | Volunteer | Suffolk | 66.6% | 2 of 3 | 15.4 h | 36.1 h | |
| 1,045 | Islip Terrace 1.1 NNENY-SF-110 | 82.1 | Volunteer | Suffolk | 66.6% | 2 of 3 | 15.4 h | 2 days | |
| 1,046 | FISH CREEK AT TabergTABN6 | 81.9 | Gauge | Oneida | 77.9% | 131 of 168 | 53 min | 5.1 h | |
| 1,047 | CAWASAWACTA CREEK AT Canasawacta Creek UpstreamSPYN6 | 81.9 | Gauge | Chenango | 72.6% | 122 of 168 | 13 min | 34.9 h | |
| 1,048 | West Seneca 1.9 WNY-ER-53 | 81.6 | Volunteer | Erie | 66.6% | 2 of 3 | 16.4 h | 35.1 h | |
| 1,049 | Windsor 8.0 SENY-BM-21 | 81.6 | Volunteer | Broome | 66.6% | 2 of 3 | 16.4 h | 37.1 h | |
| 1,049 | East Aurora 2.7 SSENY-ER-158 | 81.6 | Volunteer | Erie | 66.6% | 2 of 3 | 16.4 h | 37.1 h | |
| 1,049 | Massapequa 1.1 SENY-NS-65 | 81.6 | Volunteer | Nassau | 66.6% | 2 of 3 | 16.4 h | 37.1 h | |
| 1,049 | New Hartford 0.8 SNY-OD-19 | 81.6 | Volunteer | Oneida | 66.6% | 2 of 3 | 16.4 h | 37.1 h | |
| 1,049 | Freeville 1.5 NENY-TM-5 | 81.6 | Volunteer | Tompkins | 66.6% | 2 of 3 | 16.4 h | 37.1 h | |
| 1,054 | Centerport 1.1 SENY-SF-168 | 81.6 | Volunteer | Suffolk | 66.6% | 2 of 3 | 16.4 h | 2 days | |
| 1,054 | Brant Lake 1.7 ENENY-WR-21 | 81.6 | Volunteer | Warren | 66.6% | 2 of 3 | 16.4 h | 2 days | |
| 1,056 | Northport 1.6 NNENY-SF-16 | 81.6 | Volunteer | Suffolk | 66.6% | 2 of 3 | 16.4 h | 3 days | |
| 1,057 | Saratoga Springs 1.5 NNY-SR-72 | 81.6 | Volunteer | Saratoga | 66.6% | 2 of 3 | 16.4 h | 38.1 h | |
| 1,058 | Schenectady AirportSCH | 81.4 | Airport | Schenectady | 54.9% | 50 of 91 | 11 min | 11.2 h | |
| 1,059 | Shakers Crossing - Canaseraga CreekSHKN6 | 81.3 | Gauge | Livingston | 100% | 168 of 168 | 32 min | 67 min | |
| 1,060 | Center Moriches 0.5 NNY-SF-123 | 81.2 | Volunteer | Suffolk | 66.6% | 2 of 3 | 17.4 h | 2 days | |
| 1,061 | AngelicaANGN6 | 79.8 | Cooperative | Allegany | 71.4% | 5 of 7 | 24.4 h | 2 days | |
| 1,062 | South Salem 0.8 NNY-WC-22 | 79.8 | Volunteer | Westchester | 66.6% | 2 of 3 | 20.4 h | 37.1 h | |
| 1,063 | Niagra FallsIAGN6 | 79.8 | Cooperative | Niagara | 57.1% | 4 of 7 | 13 h | 2.5 days | |
| 1,064 | LewistonLENN6 | 79.8 | Cooperative | Niagara | 42.8% | 3 of 7 | 21 min | 25 h | |
| 1,065 | Fort DrumGTBN6 | 79.8 | Cooperative | Jefferson | 42.8% | 3 of 7 | 31 min | 2 days | |
| 1,066 | Newark 1ENEWN6 | 79.8 | Cooperative | Wayne | 42.8% | 3 of 7 | 1.8 h | 2.5 days | |
| 1,067 | IthacaITHN6 | 79.8 | Cooperative | Tompkins | 42.8% | 3 of 7 | 2 h | 2.5 days | |
| 1,068 | Niskayuna 1.2 ESENY-SC-37 | 79.3 | Volunteer | Schenectady | 66.6% | 2 of 3 | 21.4 h | 2.1 days | |
| 1,069 | Hudson River @ Green IslandTRYN6 | 79.3 | Cooperative | Rensselaer | 42.8% | 3 of 7 | 1.8 h | 3.5 days | |
| 1,070 | CanandaiguaBRSN6 | 79.2 | Cooperative | Ontario | 42.8% | 3 of 7 | 3.7 h | 2.5 days | |
| 1,071 | Athens 0.3 WNWNY-GR-15 | 78.8 | Volunteer | Greene | 66.6% | 2 of 3 | 22.4 h | 37.1 h | |
| 1,072 | RosendaleROSN6 | 78.7 | Cooperative | Ulster | 42.8% | 3 of 7 | 4.8 h | 2 days | |
| 1,073 | Seneca Lake AT GenevaGNVN6 | 78.6 | Gauge | Ontario | 51.7% | 87 of 168 | 13 min | 10 h | |
| 1,074 | RHAN6RHAN6 | 78.5 | DCP | - | 42.8% | 3 of 7 | 2.2 h | 4.5 days | |
| 1,075 | Turkey Point - Hudson RiverTKPN6 | 78.3 | Gauge | Ulster | 71.1% | 598 of 840 | 17 min | 31.6 h | |
| 1,076 | Lake View 1.6 NNENY-ER-282 | 76.4 | Volunteer | Erie | 33.3% | 1 of 3 | 26 min | 2.5 days | |
| 1,077 | Bath 1.3 ENY-ST-44 | 76.4 | Volunteer | Steuben | 33.3% | 1 of 3 | 26 min | 2.5 days | |
| 1,078 | Millerton 3.0 NNY-DT-57 | 76.4 | Volunteer | Dutchess | 33.3% | 1 of 3 | 26 min | 2.5 days | |
| 1,079 | Malta 2.6 NNWNY-SR-15 | 76.4 | Volunteer | Saratoga | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,079 | Granville 9.5 SWNY-WS-8 | 76.4 | Volunteer | Washington | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,081 | Lagrangeville 3.1 NENY-DT-12 | 76.4 | Volunteer | Dutchess | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,081 | Elma Center 1.8 SENY-ER-261 | 76.4 | Volunteer | Erie | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,081 | Olmstedville 4.6 NNENY-ES-6 | 76.4 | Volunteer | Essex | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,081 | Rochester 8.2 SSWNY-MR-107 | 76.4 | Volunteer | Monroe | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,081 | Round Lake 0.1 SWNY-SR-75 | 76.4 | Volunteer | Saratoga | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,086 | Cazenovia 2.9 SENY-MD-10 | 76.4 | Volunteer | Madison | 33.3% | 1 of 3 | 86 min | 2.5 days | |
| 1,087 | Honeoye Falls 1.7 NENY-MR-55 | 76.4 | Volunteer | Monroe | 33.3% | 1 of 3 | 2.4 h | 2.5 days | |
| 1,087 | Southold 1.2 NNY-SF-190 | 76.4 | Volunteer | Suffolk | 33.3% | 1 of 3 | 2.4 h | 2.5 days | |
| 1,089 | Latham 1.8 NWNY-AB-77 | 76.4 | Volunteer | Albany | 33.3% | 1 of 3 | 2.4 h | 2 days | |
| 1,090 | Niskayuna 2.0 NNY-SC-16 | 75.9 | Volunteer | Schenectady | 33.3% | 1 of 3 | 3.4 h | 2.5 days | |
| 1,091 | Lansing 6.5 NNWNY-TM-61 | 75.9 | Volunteer | Tompkins | 33.3% | 1 of 3 | 3.4 h | 2.5 days | |
| 1,092 | Bloomingdale 0.2 NWNY-ES-14 | 75.5 | Volunteer | Essex | 33.3% | 1 of 3 | 4.4 h | 2.5 days | |
| 1,093 | Greenville 0.7 ENENY-GR-18 | 75.5 | Volunteer | Greene | 33.3% | 1 of 3 | 4.4 h | 2 days | |
| 1,094 | BataviaGVQ | 75.3 | Airport | Genesee | 58.3% | 98 of 168 | 11 min | 2.9 days | |
| 1,095 | Springville 2.7 NNY-ER-252 | 74.6 | Volunteer | Erie | 33.3% | 1 of 3 | 6.4 h | 3 days | |
| 1,096 | CorningCORN6 | 74.3 | Cooperative | Steuben | 28.5% | 2 of 7 | 1.8 h | 3.5 days | |
| 1,097 | Peekskill 2.8 NNENY-WC-48 | 74.1 | Volunteer | Westchester | 33.3% | 1 of 3 | 7.4 h | 2 days | |
| 1,098 | Painted Post 0.7 SSENY-ST-41 | 74.1 | Volunteer | Steuben | 33.3% | 1 of 3 | 7.4 h | 2.5 days | |
| 1,099 | I-495 EB @ Rte 112NY001 | 73.7 | Road | Suffolk | 61.3% | 309 of 504 | 25 min | 21.2 h | |
| 1,099 | SchodackNY003 | 73.7 | Road | Rensselaer | 61.3% | 309 of 504 | 25 min | 21.2 h | |
| 1,101 | Vernon Center - NYS CanalVERN6 | 73.4 | Gauge | Oneida | 98.8% | 166 of 168 | 28 min | 1.8 h | |
| 1,102 | Cheektowaga 1.9 NNWNY-ER-245 | 73.2 | Volunteer | Erie | 33.3% | 1 of 3 | 9.4 h | 2.5 days | |
| 1,102 | Tully 0.3 NNWNY-OG-87 | 73.2 | Volunteer | Onondaga | 33.3% | 1 of 3 | 9.4 h | 2.5 days | |
| 1,104 | PortlandPTDN6 | 72.7 | Cooperative | Chautauqua | 42.8% | 3 of 7 | 17.3 h | 3.1 days | |
| 1,105 | Schroon Lake 3.5 SWNY-ES-5 | 71.8 | Volunteer | Essex | 33.3% | 1 of 3 | 12.4 h | 3 days | |
| 1,106 | Scotia 6.0 NWNY-SC-41 | 71.3 | Volunteer | Schenectady | 33.3% | 1 of 3 | 13.4 h | 2.5 days | |
| 1,107 | OneontaN66 | 71.2 | Airport | Otsego | 19.6% | 99 of 504 | 11 min | 40 min | |
| 1,108 | Silver Creek 0.7 ENY-CQ-51 | 70.4 | Volunteer | Chautauqua | 33.3% | 1 of 3 | 15.4 h | 2.5 days | |
| 1,108 | Catskill 4.1 NNWNY-GR-19 | 70.4 | Volunteer | Greene | 33.3% | 1 of 3 | 15.4 h | 2.5 days | |
| 1,108 | Wantagh 0.3 ESENY-NS-34 | 70.4 | Volunteer | Nassau | 33.3% | 1 of 3 | 15.4 h | 2.5 days | |
| 1,108 | Mechanicville 2.4 SWNY-SR-65 | 70.4 | Volunteer | Saratoga | 33.3% | 1 of 3 | 15.4 h | 2.5 days | |
| 1,112 | Albany Toll PlazaNY002 | 70.1 | Road | Albany | 51.1% | 258 of 504 | 25 min | 21.2 h | |
| 1,113 | Dansville 1.0 ENENY-LV-5 | 69.9 | Volunteer | Livingston | 33.3% | 1 of 3 | 16.4 h | 2.5 days | |
| 1,114 | Snyder 0.6 SWNY-ER-203 | 69.9 | Volunteer | Erie | 33.3% | 1 of 3 | 16.4 h | 2.5 days | |
| 1,115 | Port Jervis 2.9 ESENY-OR-21 | 69.5 | Volunteer | Orange | 33.3% | 1 of 3 | 17.4 h | 2.6 days | |
| 1,116 | Moravia - NYS CanalMOAN6 | 68.8 | Gauge | Cayuga | 98.2% | 165 of 168 | 28 min | 2 h | |
| 1,117 | Saratoga Springs 4SWSARN6 | 68.7 | Cooperative | Saratoga | 42.8% | 3 of 7 | 24 h | 4.2 days | |
| 1,118 | SCHOHARIE CREEK AT LexingtonLEXN6 | 68.2 | Gauge | Greene | 35.7% | 60 of 168 | 23 min | 24 h | |
| 1,119 | Erie Canal at Lock E29 PalmyraPMAN6 | 67.5 | Gauge | Wayne | 99.4% | 167 of 168 | 13 min | 2 h | |
| 1,120 | Apalachin 2.8 ESENY-TG-8 | 66.7 | Volunteer | Tioga | 33.3% | 1 of 3 | 23.4 h | 2.5 days | |
| 1,121 | Orient 2.7 ENENY-SF-197 | 66.4 | Volunteer | Suffolk | 33.3% | 1 of 3 | 24.4 h | 2.5 days | |
| 1,122 | Edmeston Rain GageEDTN6 | 64.3 | Gauge | Otsego | 31.5% | 53 of 168 | 17 min | 3.5 days | |
| 1,123 | Rushford 3NERUHN6 | 60.3 | Cooperative | Allegany | 16.2% | 12 of 74 | 1.5 h | 22.6 h | |
| 1,124 | Newfane 1WNWFN6 | 59.1 | Cooperative | Niagara | 16.6% | 14 of 84 | 1.5 h | 23 h | |
| 1,125 | Baiting HallowBTGN6 | 51.3 | Cooperative | Suffolk | 8.3% | 14 of 168 | 1.5 h | 23 h | |
| 1,125 | LockportLPTN6 | 51.3 | Cooperative | Niagara | 8.3% | 14 of 168 | 1.5 h | 23 h | |
| 1,125 | Mexico 2SWMXON6 | 51.3 | Cooperative | Oswego | 8.3% | 14 of 168 | 1.5 h | 23 h | |
| 1,128 | Cattaraugus 3WCTGN6 | 51.3 | Gauge | Cattaraugus | 8.3% | 14 of 168 | 1.5 h | 23 h |
How a station is ranked
The 247 Rank answers one question about a weather station: can its readings be relied on? A station has to deliver: its reports arrive when due, soon, without long silences. And its readings have to be right: close to a trusted station nearby, passing their checks, and in step with the weather the forecast and its neighbours confirm.
The 247 score
Storm Station's poller asks every network on its own schedule, around the clock, and keeps the time of every report it hears; the reference comparison and the forecast engine keep the rest. From the last seven days of that record each station is scored out of 100 on six parts, and its 247 score is their weighted mean:
- Reports receivedweight 35The share of its scheduled reports received. A station that sends every 5 minutes is due 2,016 reports in a week; one that reports once a day is due 7. Each report is counted in a slot centred on the station's own report time, so a report a minute early or late is still on time, and the week ends an hour back, so a report still on its way is never counted missed.Full marks: 100% received. No marks: none received.
- Arrivalweight 10The median time its reports took to arrive from the moment a reading was taken to the moment it reached Storm Station.Full marks: within 10 minutes, or a tenth of its schedule for a station that reports less often. No marks: an hour, or its whole schedule.
- Continuityweight 10Its longest silence against its own schedule, so a daily gauge is not marked down for a day between reports.Full marks: a silence of 3 reports or less. No marks: 72 reports, falling evenly on a log scale between.
- Accuracyweight 20How closely its temperature follows its reference station the nearest airport or climate reference station that reported within half an hour, up to 15 miles away, reading by reading. A steady offset is taken out, and where both heights are known only the offset beyond 3 F that the height difference does not explain is counted.Full marks: within 1.5 F, allowing 0.1 F more for each mile to the reference. No marks: 6.5 F beyond that.
- Instrument checksweight 15The share of its readings that pass a check. For an airfield, the check the forecast engine runs the next day: each reading against the stations around it, as weather services check their own. For any other station, a reading 20 F or more from its reference fails, unless the two stand 3,000 ft or more apart.Full marks: none failed. No marks: 5% failed.
- Forecast checkweight 10How closely its temperature matched Storm Station's forecast for the same hours, checked the next day, for every airfield the forecast engine scores. A station whose readings stray far from a forecast its neighbours confirm is one to doubt.Full marks: within 2 F on average. No marks: 8 F.
A part is scored once the week holds 24 readings or comparisons for it. A part that cannot be measured where a station stands counts at the middle of its state's measured stations, so the station is neither lifted nor sunk by it. A part measured nowhere in the state is left out, and the others carry its weight.
From score to rank
Each state's stations are ranked by their score, to the tenth. At an equal score the longer record comes first: a station that sent 2,016 of 2,016 reports has shown more than one that sent 7 of 7. Then the faster arrival, then the shorter silence. Ties on all of them share a rank, as a race is scored: three stations tied for third are all third, and the next is sixth.
A station is ranked once its week holds enough reports to measure: 12, or 3 days for a gauge that reports once a day. The rank is made again every day, so a station that falls silent or starts to read wrong drops, and one that recovers climbs back. Every page shows the same ranking: a station's rank here, in its state's list and on its own page come from one run, and a new run reaches them together. Each station's page shows its score part by part, with the figures behind each.
The same figures as data
/api/ranks for a state and /api/rank for one station, its score in parts; the developer page has every field.