North Dakota 24/7 Rank
Every station in North Dakota 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 295 ranked here, 280 have a page of their own; the rest are platforms heard here that have not yet reported enough to be listed.
Every ranked station, first to last
How they reported this week
The days behind it
every report90 to 99%under 90%
Every station, ranked
| Rank | Station | Score | Parts | Network | County | Received | Reports | Arrives in | Longest silence |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Minot_INTLMOT | 99.2 | Airport | Ward | 99.4% | 167 of 168 | 5 min | 2 h | |
| 2 | Grand_ForksGFK | 99.2 | Airport | Grand Forks | 99.4% | 167 of 168 | 6 min | 2 h | |
| 3 | GarrisonN60 | 99.0 | Airport | McLean | 100% | 168 of 168 | 5 min | 60 min | |
| 4 | Grand Forks Univ (NWS)GRFN8 | 98.8 | Cooperative | Grand Forks | 100% | 28 of 28 | 23 min | 6.4 h | |
| 5 | Site 1-3MI.NPBAN8 | 98.8 | Cooperative | Pembina | 100% | 7 of 7 | 13 min | 24 h | |
| 6 | State HospitalJTWN8 | 98.8 | Cooperative | Stutsman | 100% | 7 of 7 | 13 min | 24 h | |
| 7 | BottineauBOTN8 | 98.8 | Cooperative | Bottineau | 100% | 7 of 7 | 16 min | 24.9 h | |
| 8 | Mc Leod 3 EMCLN8 | 98.8 | Cooperative | Richland | 100% | 7 of 7 | 22 min | 26 h | |
| 9 | LansfordLFDN8 | 98.8 | Cooperative | Bottineau | 100% | 7 of 7 | 23 min | 24 h | |
| 10 | UnderwoodUNDN8 | 98.8 | Cooperative | Mclean | 100% | 7 of 7 | 23 min | 24 h | |
| 11 | KilldeerKLLN8 | 98.8 | Cooperative | Dunn | 100% | 7 of 7 | 23 min | 24.1 h | |
| 12 | CavalierCVLN8 | 98.8 | Cooperative | Pembina | 100% | 7 of 7 | 23 min | 24 h | |
| 13 | Velva 3 NEVLAN8 | 98.8 | Cooperative | Mchenry | 100% | 7 of 7 | 33 min | 24 h | |
| 14 | NapoleonNPLN8 | 98.8 | Cooperative | Logan | 100% | 7 of 7 | 53 min | 25 h | |
| 15 | Bottineau 6.4 ENEND-BT-11 | 98.8 | Volunteer | Bottineau | 100% | 3 of 3 | 26 min | 24 h | |
| 16 | Valley City 3.0 SEND-BR-9 | 98.8 | Volunteer | Barnes | 100% | 3 of 3 | 26 min | 25 h | |
| 17 | Pingree 5.4 NWND-SM-14 | 98.8 | Volunteer | Stutsman | 100% | 3 of 3 | 26 min | 24 h | |
| 18 | Hazen 0.4 SWND-MR-2 | 98.8 | Volunteer | Mercer | 100% | 3 of 3 | 26 min | 25 h | |
| 19 | Beulah 0.4 SND-MR-13 | 98.8 | Volunteer | Mercer | 100% | 3 of 3 | 26 min | 24 h | |
| 20 | Watford City 1.3 NNWND-MK-6 | 98.8 | Volunteer | McKenzie | 100% | 3 of 3 | 85 min | 25 h | |
| 21 | Dickinson 1.3 WNWND-SK-12 | 98.8 | Volunteer | Stark | 100% | 3 of 3 | 86 min | 24 h | |
| 22 | Maxbass 4.9 ENEND-BT-8 | 98.8 | Volunteer | Bottineau | 100% | 3 of 3 | 86 min | 24 h | |
| 22 | West Fargo 2.1 SSWND-CS-79 | 98.8 | Volunteer | Cass | 100% | 3 of 3 | 86 min | 24 h | |
| 22 | Mayville 4.2 SSEND-TR-5 | 98.8 | Volunteer | Traill | 100% | 3 of 3 | 86 min | 24 h | |
| 22 | Minot 1.6 SSWND-WR-20 | 98.8 | Volunteer | Ward | 100% | 3 of 3 | 86 min | 24 h | |
| 26 | Killdeer 0.6 WNWND-DN-2 | 98.8 | Volunteer | Dunn | 100% | 3 of 3 | 86 min | 24 h | |
| 27 | Ellendale 7.3 NWND-DC-13 | 98.8 | Volunteer | Dickey | 100% | 3 of 3 | 86 min | 24 h | |
| 28 | Fargo 3.6 NNEND-CS-45 | 98.7 | Volunteer | Cass | 100% | 3 of 3 | 2.4 h | 24 h | |
| 29 | Beach 0.3 SSEND-GV-1 | 98.7 | Volunteer | Golden Valley | 100% | 3 of 3 | 2.4 h | 24 h | |
| 30 | BOTN8BOTN8 | 98.6 | DCP | - | 100% | 7 of 7 | 2.7 h | 24.9 h | |
| 31 | FargoFAR | 98.6 | Airport | Cass | 97.6% | 164 of 168 | 6 min | 2.6 h | |
| 32 | Juliet1JN | 98.4 | Airport | Ward | 98.8% | 166 of 168 | 14 min | 2 h | |
| 33 | BismarckBIS | 98.3 | Airport | Burleigh | 100% | 168 of 168 | 7 min | 60 min | |
| 34 | Minot 1.5 SSWND-WR-4 | 98.3 | Volunteer | Ward | 100% | 3 of 3 | 3.4 h | 2 days | |
| 35 | Arrowwood 2AWWN8 | 98.3 | Gauge | Stutsman | 99.4% | 167 of 168 | 11 min | 2 h | |
| 36 | Spring Creek AT ZapZAPN8 | 98.3 | Gauge | Mercer | 98.8% | 166 of 168 | 10 min | 2 h | |
| 37 | Grand_Forks_AFBRDR | 98.2 | Airport | Grand Forks | 100% | 168 of 168 | 14 min | 83 min | |
| 38 | JamestownJMS | 98.1 | Airport | Stutsman | 100% | 168 of 168 | 13 min | 68 min | |
| 39 | Belcourt - Turtle Mountain RAWSTMTN8 | 98.0 | Gauge | Rolette | 99.4% | 167 of 168 | 13 min | 2 h | |
| 40 | Spirit Lake Casino On Devils LakeFRTN8 | 97.8 | Gauge | Benson | 100% | 168 of 168 | 14 min | 71 min | |
| 41 | Red River AT PembinaPBNN8 | 97.8 | Gauge | Pembina | 100% | 168 of 168 | 15 min | 60 min | |
| 41 | Starkweather Coulee 4NW AT WebsterWEBN8 | 97.8 | Gauge | Ramsey | 100% | 168 of 168 | 15 min | 60 min | |
| 43 | Medora 7EMRAN8 | 97.8 | Gauge | Billings | 100% | 168 of 168 | 15 min | 70 min | |
| 44 | Sheyenne River AT CooperstownCPRN8 | 97.8 | Gauge | Griggs | 100% | 168 of 168 | 15 min | 62 min | |
| 44 | S Br Park River AT Homme DamHOMN8 | 97.8 | Gauge | Walsh | 100% | 168 of 168 | 15 min | 62 min | |
| 44 | Sheyenne River 3S AT WarwickWRWN8 | 97.8 | Gauge | Eddy | 100% | 168 of 168 | 15 min | 62 min | |
| 47 | Maple River 1 E EnderlinENDN8 | 97.8 | Gauge | Ransom | 100% | 168 of 168 | 15 min | 75 min | |
| 48 | Fargo 6.3 SND-CS-77 | 97.8 | Volunteer | Cass | 100% | 3 of 3 | 4.4 h | 24 h | |
| 48 | Edgeley 5.2 NWND-LM-3 | 97.8 | Volunteer | LaMoure | 100% | 3 of 3 | 4.4 h | 24 h | |
| 48 | Devils Lake 5.6 NWND-RM-8 | 97.8 | Volunteer | Ramsey | 100% | 3 of 3 | 4.4 h | 24 h | |
| 51 | Westhope 0.1 NND-BT-9 | 97.8 | Volunteer | Bottineau | 100% | 3 of 3 | 4.4 h | 24 h | |
| 52 | Sheyenne National GrasslandsSNGN8 | 97.6 | Gauge | Ransom | 100% | 168 of 168 | 16 min | 73 min | |
| 53 | Beaver Creek 1 W LintonBVRN8 | 97.6 | Gauge | Emmons | 99.4% | 167 of 168 | 15 min | 2 h | |
| 54 | RAWS Site-Nr Sand CRKAMDN8 | 97.6 | Gauge | Slope | 99.4% | 167 of 168 | 15 min | 2 h | |
| 54 | Nd Jamestown 38 WSWJTNN8 | 97.6 | Gauge | Kidder | 99.4% | 167 of 168 | 15 min | 2 h | |
| 56 | Montpelier 3.3 ESEND-SM-12 | 97.4 | Volunteer | Stutsman | 100% | 3 of 3 | 5.4 h | 24 h | |
| 57 | Rock Lake near Glenora MBRLGQ3 | 97.4 | Gauge | Towner | 98.8% | 166 of 168 | 15 min | 2 h | |
| 58 | DickinsonDIK | 97.3 | Airport | Stark | 100% | 168 of 168 | 13 min | 66 min | |
| 59 | Lima1LN | 97.3 | Airport | Burke | 98.8% | 166 of 168 | 14 min | 2 h | |
| 60 | Hampden RAWSHMDN8 | 97.2 | Gauge | Ramsey | 99.4% | 167 of 168 | 17 min | 2 h | |
| 61 | Oscar1ON | 97.2 | Airport | Bottineau | 98.8% | 166 of 168 | 14 min | 2 h | |
| 62 | LostwoodLWDN8 | 97.1 | Gauge | Burke | 100% | 168 of 168 | 18 min | 65 min | |
| 63 | Minot_AFBMIB | 97.1 | Airport | Ward | 99.4% | 167 of 168 | 14 min | 2 h | |
| 64 | Devils_LakeDVL | 97.0 | Airport | Ramsey | 100% | 168 of 168 | 12 min | 66 min | |
| 65 | Crosby Automated Weather Station.CSBN8 | 97.0 | Gauge | Divide | 100% | 168 of 168 | 19 min | 66 min | |
| 66 | J. Clark SalyerJCSN8 | 97.0 | Gauge | Mchenry | 100% | 168 of 168 | 19 min | 76 min | |
| 67 | Red River 2 NE DraytonDRTN8 | 96.9 | Gauge | Pembina | 100% | 168 of 168 | 19 min | 77 min | |
| 68 | Des Lacs River AT FoxholmDESN8 | 96.9 | Gauge | Ward | 100% | 168 of 168 | 19 min | 60 min | |
| 68 | Sheyenne River AT HarwoodHWDN8 | 96.9 | Gauge | Cass | 100% | 168 of 168 | 19 min | 60 min | |
| 68 | Souris River 3 AT VerendryeVRNN8 | 96.9 | Gauge | Mchenry | 100% | 168 of 168 | 19 min | 60 min | |
| 71 | James River AT LamoureLAMN8 | 96.9 | Gauge | La Moure | 100% | 168 of 168 | 20 min | 75 min | |
| 72 | Missouri River AT BismarckBIWN8 | 96.9 | Gauge | Burleigh | 100% | 168 of 168 | 20 min | 75 min | |
| 73 | Wahpeton 1.0 SSEND-RC-14 | 96.9 | Volunteer | Richland | 100% | 3 of 3 | 6.4 h | 24 h | |
| 74 | Yellowstone River 2 W CartwrightCTWN8 | 96.8 | Gauge | Mckenzie | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Forest River 3SE AT FordvilleFDVN8 | 96.8 | Gauge | Walsh | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Fort Ransom State Park - Sheyenne RiverFRSN8 | 96.8 | Gauge | Ransom | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Goose River AT HillsboroHGRN8 | 96.8 | Gauge | Traill | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Sheyenne River AT Horace above W.F. DiversionHRCN8 | 96.8 | Gauge | Cass | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Little Coulee AT Little Coulee near LeedsLEDN8 | 96.8 | Gauge | Benson | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Little Pembina River AT Little Pembina RiverLPRN8 | 96.8 | Gauge | Cavalier | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Turtle River 1NW AT ArvillaLTRN8 | 96.8 | Gauge | Grand Forks | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Maple River 3 SW MapletonMPLN8 | 96.8 | Gauge | Cass | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Pipestem Creek 3W AT PingreePGEN8 | 96.8 | Gauge | Stutsman | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Red River 8 E Thompson BridgeTPNN8 | 96.8 | Gauge | Grand Forks | 100% | 168 of 168 | 20 min | 60 min | |
| 74 | Sheyenne River AT West Fargo DiversionWFON8 | 96.8 | Gauge | Cass | 100% | 168 of 168 | 20 min | 60 min | |
| 86 | Bowman Haley DamBWNN8 | 96.8 | Gauge | Bowman | 100% | 168 of 168 | 20 min | 75 min | |
| 87 | Minot Broadway BridgeMION8 | 96.8 | Gauge | Ward | 100% | 168 of 168 | 20 min | 77 min | |
| 87 | Pembina River AT NecheNCEN8 | 96.8 | Gauge | Pembina | 100% | 168 of 168 | 20 min | 77 min | |
| 87 | Sheyenne River AT Valley CityVCRN8 | 96.8 | Gauge | Barnes | 100% | 168 of 168 | 20 min | 77 min | |
| 90 | Dry Lake AT Dry Lake near PennDLCN8 | 96.8 | Gauge | Ramsey | 100% | 168 of 168 | 20 min | 77 min | |
| 91 | Sheyenne River AT Flora above Devils Lake outletFLRN8 | 96.7 | Gauge | Benson | 99.4% | 167 of 168 | 19 min | 2 h | |
| 91 | Heart River 9 SSE JudsonJUDN8 | 96.7 | Gauge | Morton | 99.4% | 167 of 168 | 19 min | 2 h | |
| 91 | Missouri River 13 SE MandanMANN8 | 96.7 | Gauge | Morton | 99.4% | 167 of 168 | 19 min | 2 h | |
| 91 | Minot 4NWMINN8 | 96.7 | Gauge | Ward | 99.4% | 167 of 168 | 19 min | 2 h | |
| 91 | RiverSTNN8 | 96.7 | Gauge | Mercer | 99.4% | 167 of 168 | 19 min | 2 h | |
| 91 | Missouri AT WashburnWSBN8 | 96.7 | Gauge | Oliver | 99.4% | 167 of 168 | 19 min | 2 h | |
| 97 | Big Coulee AT Churchs Ferry Big CouleeCFCN8 | 96.6 | Gauge | Ramsey | 99.4% | 167 of 168 | 20 min | 2 h | |
| 97 | JamestownJMSN8 | 96.6 | Gauge | Stutsman | 99.4% | 167 of 168 | 20 min | 2 h | |
| 97 | James River 8NNW AT KensalKSLN8 | 96.6 | Gauge | Foster | 99.4% | 167 of 168 | 20 min | 2 h | |
| 100 | Fargo 3SFDRN8 | 96.5 | Cooperative | Cass | 100% | 7 of 7 | 7.2 h | 24 h | |
| 101 | Tatanka PrairieTTKN8 | 96.5 | Gauge | Sioux | 98.8% | 166 of 168 | 19 min | 2 h | |
| 102 | Heart River 3W AT MandanMDNN8 | 96.4 | Gauge | Morton | 98.8% | 166 of 168 | 19 min | 2 h | |
| 103 | James River AT Jamestown DamJMDN8 | 96.4 | Gauge | Stutsman | 98.8% | 166 of 168 | 20 min | 2 h | |
| 103 | Cannonball River 16 S RaleighRLHN8 | 96.4 | Gauge | Grant | 98.8% | 166 of 168 | 20 min | 2 h | |
| 103 | Beaver Creek 13 SSW TrottersTRTN8 | 96.4 | Gauge | Golden Valley | 98.8% | 166 of 168 | 20 min | 2 h | |
| 106 | BottineauD09 | 96.2 | Airport | Bottineau | 99.0% | 499 of 504 | 13 min | 80 min | |
| 107 | Williston BasinXWA | 96.2 | Airport | Williams | 98.2% | 165 of 168 | 8 min | 2 h | |
| 108 | Missouri River 1 S PricePRCN8 | 96.2 | Gauge | Oliver | 98.2% | 165 of 168 | 19 min | 2 h | |
| 109 | Cedar Creek 13 N HaynesHCCN8 | 96.2 | Gauge | Adams | 98.2% | 165 of 168 | 20 min | 2 h | |
| 109 | Pipestem Creek AT Pipestem DamJAMN8 | 96.2 | Gauge | Stutsman | 98.2% | 165 of 168 | 20 min | 2 h | |
| 111 | Bone Lake Outlet near Ninette MBBLNQ3 | 96.2 | Gauge | Rolette | 98.2% | 165 of 168 | 20 min | 3 h | |
| 112 | UniversityGRFN8 | 96.2 | Gauge | Grand Forks | 97.6% | 164 of 168 | 19 min | 2 h | |
| 113 | Mauvais Coulee Trib #3 AT Mauvias Coulee Trib #3 near CandoMCTN8 | 95.9 | Gauge | Towner | 100% | 168 of 168 | 24 min | 60 min | |
| 113 | Red River AT WahpetonWHNN8 | 95.9 | Gauge | Richland | 100% | 168 of 168 | 24 min | 60 min | |
| 115 | Heart River 10 S RichardtonRICN8 | 95.9 | Gauge | Stark | 100% | 168 of 168 | 24 min | 62 min | |
| 116 | Sheyenne River AT Below Baldhill DamBHTN8 | 95.9 | Gauge | Barnes | 100% | 168 of 168 | 24 min | 62 min | |
| 117 | Park River AT GraftonGRNN8 | 95.8 | Gauge | Walsh | 100% | 168 of 168 | 25 min | 60 min | |
| 117 | Sheyenne River 5 S Sheyenne R abv Harvey NDHVYN8 | 95.8 | Gauge | Wells | 100% | 168 of 168 | 25 min | 60 min | |
| 119 | Tongue River 1 W AkraAKRN8 | 95.8 | Gauge | Pembina | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Sheyenne River AT Bremen below Devils Lake OutletBRMN8 | 95.8 | Gauge | Eddy | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Red River of the North 3 N EnloENLN8 | 95.8 | Gauge | Richland | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Maple River 1 N Mapleton (North of I-94)MAPN8 | 95.8 | Gauge | Cass | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Knife River AT ManningMNGN8 | 95.8 | Gauge | Dunn | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Kloten - Sheyenne RiverMVCN8 | 95.8 | Gauge | Nelson | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Cedar Creek 19S AT RaleighRLGN8 | 95.8 | Gauge | Grant | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Wild Rice River at Wild RiceSTBN8 | 95.8 | Gauge | Cass | 100% | 168 of 168 | 25 min | 62 min | |
| 119 | Sheyenne River AT West FargoWSFN8 | 95.8 | Gauge | Cass | 100% | 168 of 168 | 25 min | 62 min | |
| 128 | Newborg 5NNENBGN8 | 95.8 | Gauge | Bottineau | 97.0% | 163 of 168 | 19 min | 2 h | |
| 128 | Westhope 6NNEWTHN8 | 95.8 | Gauge | Bottineau | 97.0% | 163 of 168 | 19 min | 2 h | |
| 130 | Sheyenne River 2 SE KindredKNDN8 | 95.6 | Gauge | Cass | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Souris River 8 AT BantryBANN8 | 95.6 | Gauge | Mchenry | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Red River AT HalstadHILN8 | 95.6 | Gauge | Traill | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Green River 8 W New HradecHRAN8 | 95.6 | Gauge | Billings | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Wintering River 5 AT KarlsruheKLSN8 | 95.6 | Gauge | Mchenry | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Long Creek 7 NNW NoonanNOON8 | 95.6 | Gauge | Divide | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Heart River 16 S HebronTCHN8 | 95.6 | Gauge | Grant | 99.4% | 167 of 168 | 25 min | 2 h | |
| 131 | Upham 4NUHMN8 | 95.6 | Gauge | McHenry | 99.4% | 167 of 168 | 25 min | 2 h | |
| 138 | Bantry 7N - Pool 320BNYN8 | 95.4 | Gauge | McHenry | 98.8% | 166 of 168 | 25 min | 2 h | |
| 138 | Heart River AT Dickinson DamDNDN8 | 95.4 | Gauge | Stark | 98.8% | 166 of 168 | 25 min | 2 h | |
| 138 | Foxholm 3EFXHN8 | 95.4 | Gauge | Ward | 98.8% | 166 of 168 | 25 min | 2 h | |
| 138 | Horace - Sheyenne RIverHORN8 | 95.4 | Gauge | Cass | 98.8% | 166 of 168 | 25 min | 2 h | |
| 138 | Kramer 4WSWKAMN8 | 95.4 | Gauge | Bottineau | 98.8% | 166 of 168 | 25 min | 2 h | |
| 138 | Bear Den Creek 6NW AT MandareeMREN8 | 95.4 | Gauge | Mckenzie | 98.8% | 166 of 168 | 25 min | 2 h | |
| 138 | Velva - Bonnes CouleeVELN8 | 95.4 | Gauge | McHenry | 98.8% | 166 of 168 | 25 min | 2 h | |
| 145 | Willow Creek 7 AT Willow CityWLCN8 | 95.2 | Gauge | Mchenry | 98.2% | 165 of 168 | 24 min | 2 h | |
| 145 | Souris River 7 AT WesthopeWSTN8 | 95.2 | Gauge | Bottineau | 98.2% | 165 of 168 | 24 min | 2 h | |
| 147 | Jamestown 0.5 END-SM-22 | 95.0 | Volunteer | Stutsman | 100% | 3 of 3 | 10.4 h | 24 h | |
| 148 | Williston - Missouri River No9WLRN8 | 95.0 | Gauge | Williams | 97.6% | 164 of 168 | 24 min | 2 h | |
| 149 | Souris River 3 AT FoxholmFOXN8 | 95.0 | Gauge | Ward | 97.6% | 164 of 168 | 25 min | 2 h | |
| 150 | Bear Creek 6 NNE OakesBCKN8 | 94.9 | Gauge | Dickey | 100% | 168 of 168 | 29 min | 77 min | |
| 150 | Red River 1 SE HicksonHICN8 | 94.9 | Gauge | Cass | 100% | 168 of 168 | 29 min | 77 min | |
| 152 | Red River AT FargoFGON8 | 94.9 | Gauge | Cass | 100% | 168 of 168 | 29 min | 60 min | |
| 153 | Mauvais Coulee 6SE AT CandoCNDN8 | 94.8 | Gauge | Towner | 100% | 168 of 168 | 30 min | 60 min | |
| 153 | Edmore Coulee AT EdmoreEDEN8 | 94.8 | Gauge | Ramsey | 100% | 168 of 168 | 30 min | 60 min | |
| 155 | BreienBREN8 | 94.8 | Gauge | Sioux | 97.0% | 163 of 168 | 20 min | 4 h | |
| 156 | Apple Creek 6W AT MenokenMENN8 | 94.6 | Gauge | Burleigh | 99.4% | 167 of 168 | 30 min | 2 h | |
| 157 | Sheyenne River AT Sheyenne River at Gol BridgeGOLN8 | 94.5 | Gauge | Richland | 98.8% | 166 of 168 | 29 min | 2 h | |
| 158 | Knife River 9S AT Golden ValleyGDVN8 | 94.5 | Gauge | Mercer | 98.8% | 166 of 168 | 29 min | 2 h | |
| 158 | MintoMTON8 | 94.5 | Gauge | Walsh | 98.8% | 166 of 168 | 29 min | 2 h | |
| 160 | Nd Northgate 5 ESENGTN8 | 94.5 | Gauge | Burke | 93.4% | 171 of 183 | 20 min | 2 h | |
| 161 | Square Butte Creek 6SE AT CenterCETN8 | 94.4 | Gauge | Oliver | 98.8% | 166 of 168 | 30 min | 2 h | |
| 162 | CooperstownCPPN8 | 94.4 | Gauge | Griggs | 98.8% | 166 of 168 | 30 min | 2 h | |
| 163 | Cannonball River AT RegentREGN8 | 94.3 | Gauge | Hettinger | 92.8% | 208 of 224 | 20 min | 1.8 h | |
| 164 | Goose River 5 NW Portland 5 NWPRTN8 | 94.0 | Gauge | Traill | 97.6% | 164 of 168 | 29 min | 2 h | |
| 165 | Eastern Stump Lake AT Stump LakeESLN8 | 94.0 | Gauge | Nelson | 97.6% | 164 of 168 | 29 min | 2 h | |
| 166 | Souris River 15W AT SherwoodSHWN8 | 93.8 | Gauge | Renville | 100% | 168 of 168 | 35 min | 62 min | |
| 167 | LisbonLISN8 | 93.8 | Cooperative | Ransom | 85.7% | 6 of 7 | 43 min | 2 days | |
| 168 | BowmanBOWN8 | 93.8 | Cooperative | Bowman | 85.7% | 6 of 7 | 83 min | 35 h | |
| 169 | HazeltonHZTN8 | 93.8 | Cooperative | Emmons | 85.7% | 6 of 7 | 2.2 h | 36 h | |
| 170 | E. Br. Short Creek 6 AT ColumbusCLBN8 | 93.6 | Gauge | Burke | 99.4% | 167 of 168 | 35 min | 3 h | |
| 171 | Big Muddy CrkALTN8 | 93.6 | Gauge | Morton | 99.4% | 167 of 168 | 35 min | 3 h | |
| 171 | Knife River Near BeulahKRBN8 | 93.6 | Gauge | Mercer | 99.4% | 167 of 168 | 35 min | 3 h | |
| 173 | Knife River 1S AT HazenHZNN8 | 93.5 | Gauge | Mercer | 99.4% | 167 of 168 | 35 min | 3 h | |
| 174 | Mandan - Missouri RiverMMRN8 | 93.5 | Gauge | Morton | 99.4% | 167 of 168 | 35 min | 3 h | |
| 175 | VLAN8VLAN8 | 93.5 | DCP | - | 85.7% | 6 of 7 | 2.9 h | 2 days | |
| 176 | Moffit 3 SE [CCOOP]MFTN8 | 93.3 | Gauge | Burleigh | 91.7% | 925 of 1,008 | 15 min | 50 min | |
| 177 | James River 3 W Grace CityGCEN8 | 93.3 | Gauge | Foster | 89.8% | 151 of 168 | 20 min | 2 h | |
| 178 | HettingerHEI | 93.2 | Airport | Adams | 99.4% | 167 of 168 | 6 min | 2 h | |
| 179 | Walhalla96D | 92.9 | Airport | Pembina | 92.8% | 468 of 504 | 4 min | 4.3 h | |
| 180 | Oslo 2.7 WNWND-WH-2 | 92.7 | Volunteer | Walsh | 100% | 3 of 3 | 15.4 h | 24 h | |
| 181 | Valley City 2.0 NWND-BR-2 | 92.7 | Volunteer | Barnes | 100% | 3 of 3 | 15.4 h | 2 days | |
| 182 | Cooperstown 0.4 WNWND-GG-3 | 92.7 | Volunteer | Griggs | 100% | 3 of 3 | 15.4 h | 25 h | |
| 183 | Antelope Creek 9 NW CarsonCRSN8 | 92.5 | Gauge | Grant | 98.8% | 166 of 168 | 35 min | 4 h | |
| 184 | Cavalier2C8 | 92.5 | Airport | Pembina | 92.4% | 466 of 504 | 4 min | 4.3 h | |
| 185 | Cando - Mauvais CouleeMAVN8 | 92.4 | Gauge | Towner | 98.8% | 166 of 168 | 40 min | 2 h | |
| 186 | CrosbyD50 | 92.2 | Airport | Divide | 92.8% | 468 of 504 | 4 min | 4.3 h | |
| 187 | Mandan #1 ScanMNDN8 | 92.1 | Gauge | Morton | 95.2% | 160 of 168 | - | 5 h | |
| 188 | BowmanBWW | 92.1 | Airport | Bowman | 93.0% | 469 of 504 | 4 min | 4.3 h | |
| 189 | Rolla06D | 92.1 | Airport | Rolette | 93.0% | 469 of 504 | 4 min | 4.3 h | |
| 190 | GraftonGAF | 92.0 | Airport | Walsh | 90.2% | 455 of 504 | 4 min | 4.3 h | |
| 191 | Baldhill Creek AT DazeyDBCN8 | 91.9 | Gauge | Barnes | 88.8% | 199 of 224 | 25 min | 62 min | |
| 192 | Harvey5H4 | 91.8 | Airport | Wells | 93.0% | 469 of 504 | 4 min | 4.3 h | |
| 193 | Sheyenne River AT LisbonLBNN8 | 91.8 | Gauge | Ransom | 91.5% | 205 of 224 | 30 min | 77 min | |
| 194 | Missouri River 5SW AT WillistonWLTN8 | 91.8 | Gauge | Williams | 91.5% | 205 of 224 | 30 min | 2 h | |
| 195 | Oakes2D5 | 91.6 | Airport | Dickey | 93.0% | 469 of 504 | 4 min | 4.3 h | |
| 196 | Jamestown 38 WSW54937 | 91.5 | Reference | Kidder | 100% | 67 of 67 | 1.5 h | 3 h | |
| 196 | Medora 7 E94080 | 91.5 | Reference | Billings | 100% | 67 of 67 | 1.5 h | 3 h | |
| 196 | Northgate 5 ESE94084 | 91.5 | Reference | Burke | 100% | 67 of 67 | 1.5 h | 3 h | |
| 199 | Wild Rice River (ND) 4 NW AbercrombieABRN8 | 91.4 | Gauge | Richland | 98.8% | 166 of 168 | 45 min | 3 h | |
| 199 | Antelope Creek 1NE AT DwightDWGN8 | 91.4 | Gauge | Richland | 98.8% | 166 of 168 | 45 min | 3 h | |
| 201 | TiogaD60 | 91.4 | Airport | Williams | 93.0% | 469 of 504 | 4 min | 4.3 h | |
| 202 | RandsS32 | 91.4 | Airport | Griggs | 92.8% | 468 of 504 | 4 min | 4.7 h | |
| 203 | Carrington46D | 91.4 | Airport | Foster | 92.6% | 467 of 504 | 4 min | 4.3 h | |
| 204 | South Heart 2E - Heart RiverSRHN8 | 91.3 | Gauge | Stark | 97.6% | 164 of 168 | 35 min | 5 h | |
| 205 | MandamY19 | 91.3 | Airport | Morton | 91.2% | 460 of 504 | 4 min | 4.3 h | |
| 206 | GraftonGFBN8 | 91.1 | Gauge | Walsh | 98.2% | 165 of 168 | 45 min | 3 h | |
| 206 | MantadorMDRN8 | 91.1 | Gauge | Richland | 98.2% | 165 of 168 | 45 min | 3 h | |
| 208 | Edmore Coulee Trib AT Edmore Coulee near WebsterECTN8 | 91.1 | Gauge | Ramsey | 95.2% | 160 of 168 | 40 min | 3 h | |
| 209 | WatfordS25 | 91.1 | Airport | Mckenzie | 92.8% | 468 of 504 | 4 min | 4.3 h | |
| 210 | GwinnerGWR | 91.0 | Airport | Sargent | 92.2% | 465 of 504 | 4 min | 4.3 h | |
| 211 | Cando9D7 | 91.0 | Airport | Towner | 92.0% | 464 of 504 | 4 min | 4.3 h | |
| 212 | Tolna Coulee 3 NW Tolna CouleeTOLN8 | 90.9 | Gauge | Nelson | 97.6% | 164 of 168 | 45 min | 3 h | |
| 213 | Amenia 1NAMEN8 | 90.7 | Gauge | Cass | 97.0% | 163 of 168 | 45 min | 3 h | |
| 214 | WahpetonBWP | 90.7 | Airport | Richland | 92.8% | 468 of 504 | 13 min | 4.7 h | |
| 215 | Killdeer9Y1 | 90.7 | Airport | Dunn | 91.8% | 463 of 504 | 4 min | 4.7 h | |
| 216 | Creel Bay AT Devils LakeDCBN8 | 90.6 | Gauge | Ramsey | 98.8% | 166 of 168 | 44 min | 4 h | |
| 217 | RugbyRUG | 90.3 | Airport | Pierce | 90.2% | 455 of 504 | 4 min | 5.3 h | |
| 218 | Wild Rice River (ND) 2 S Rutland near FormanFWRN8 | 90.2 | Gauge | Sargent | 98.2% | 165 of 168 | 45 min | 4 h | |
| 219 | Mandan #1S2020 | 90.2 | Soil | Morton | 93.3% | 127 of 136 | - | 8 h | |
| 220 | LangdonD55 | 90.2 | Airport | Cavalier | 90.6% | 457 of 504 | 13 min | 4.7 h | |
| 221 | Beach Beach20U | 90.1 | Airport | Golden Valley | 93.0% | 469 of 504 | 4 min | 4.3 h | |
| 222 | Valley CityBAC | 90.0 | Airport | Barnes | 90.2% | 455 of 504 | 4 min | 5.7 h | |
| 223 | Sheyenne River AT Baldhill Dam at Lake AshtabulaBLDN8 | 90.0 | Gauge | Barnes | 83.4% | 187 of 224 | 25 min | 62 min | |
| 224 | Heart River AT Heart Butte DamGLUN8 | 89.7 | Gauge | Grant | 99.4% | 167 of 168 | 25 min | 2 h | |
| 225 | HazenHZE | 89.7 | Airport | Mercer | 91.0% | 459 of 504 | 4 min | 4.3 h | |
| 226 | Kenmare 7SE - Des Lacs RiverKMRN8 | 89.7 | Gauge | Ward | 91.0% | 153 of 168 | 35 min | 4 h | |
| 227 | Stanley08D | 89.7 | Airport | Mountrail | 90.2% | 455 of 504 | 4 min | 4.3 h | |
| 228 | Echo (ryder)1EN | 89.7 | Airport | McLean | 88.6% | 149 of 168 | 14 min | 13 h | |
| 229 | Bismarck WFOBRKN8 | 89.6 | Cooperative | Burleigh | 73.9% | 17 of 23 | 13 min | 17 h | |
| 230 | South Branch Of Beaver Creek Near ZeelandZEEN8 | 88.9 | Gauge | Mcintosh | 91.6% | 154 of 168 | 44 min | 3 h | |
| 231 | Watford CityWCYN8 | 88.7 | Gauge | Mckenzie | 100% | 168 of 168 | 16 min | 73 min | |
| 232 | Glen UllinGLUN8 | 88.7 | Cooperative | Grant | 71.4% | 5 of 7 | 14 min | 34.7 h | |
| 233 | Valley CityBLDN8 | 88.7 | Cooperative | Barnes | 71.4% | 5 of 7 | 23 min | 35 h | |
| 233 | La MoureLMRN8 | 88.7 | Cooperative | LaMoure | 71.4% | 5 of 7 | 23 min | 35 h | |
| 235 | Exp StationHETN8 | 88.7 | Cooperative | Adams | 71.4% | 5 of 7 | 25 min | 34 h | |
| 236 | MedoraMDAN8 | 88.7 | Cooperative | Billings | 71.4% | 5 of 7 | 62 min | 3 days | |
| 237 | MaxMAXN8 | 88.7 | Cooperative | Mclean | 71.4% | 5 of 7 | 73 min | 35 h | |
| 238 | Experimental FarmLNGN8 | 88.7 | Cooperative | Cavalier | 71.4% | 5 of 7 | 83 min | 36 h | |
| 239 | Little Missouri AT MarmarthMTHN8 | 88.4 | Gauge | Slope | 94.6% | 159 of 168 | 35 min | 9.3 h | |
| 240 | Morrison Lake AT Morrison Lake near WebsterDLBN8 | 88.1 | Gauge | Ramsey | 98.8% | 166 of 168 | 60 min | 3.3 h | |
| 241 | Beaver Creek Near StrasburgBCSN8 | 88.1 | Gauge | Emmons | 83.9% | 141 of 168 | 35 min | 3 h | |
| 242 | MayvilleMYVN8 | 87.1 | Cooperative | Traill | 71.4% | 5 of 7 | 5.9 h | 2.5 days | |
| 243 | Larimore 0.4 SEND-GF-23 | 87.1 | Volunteer | Grand Forks | 66.6% | 2 of 3 | 26 min | 36 h | |
| 244 | Cathay 6.5 NND-WL-5 | 87.1 | Volunteer | Wells | 66.6% | 2 of 3 | 26 min | 2 days | |
| 245 | Dunn Center 1.8 WND-DN-20 | 87.1 | Volunteer | Dunn | 66.6% | 2 of 3 | 86 min | 2 days | |
| 246 | Grand Forks 3.9 NND-GF-22 | 87.1 | Volunteer | Grand Forks | 66.6% | 2 of 3 | 2.4 h | 35 h | |
| 247 | La Moure 4.6 ESEND-LM-4 | 87.1 | Volunteer | LaMoure | 66.6% | 2 of 3 | 2.4 h | 36 h | |
| 248 | Burnt Creek 7NW AT BismarckBBCN8 | 86.4 | Gauge | Burleigh | 89.8% | 151 of 168 | 49 min | 4 h | |
| 249 | Glen UllinD57 | 85.5 | Airport | Morton | 92.0% | 464 of 504 | 4 min | 4.3 h | |
| 250 | Little Missouri River 14S AT Watford CityWTFN8 | 85.3 | Gauge | Mckenzie | 69.9% | 235 of 336 | 25 min | 60 min |
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.