Skip to content
NWS / NWPSSite ID: ALZM5active

NWS / NWPS ALZM5

South Fork Zumbro River near Oronoco

South Fork Zumbro River • Olmsted • MN

Latest public reading30.99 ftObserved Sep 3, 2026 at 5:15 AM CDT
TrendFallingNo forecast linked
Data freshnessStaleBeyond three times the publishing interval. Value shown with its age, never hidden.Observation 135 minutes old
Flood contextContext unavailableFetched Timestamp unavailable

Stage and discharge

Observed source readings

Stage and discharge

Daily rollups and linked forecast values

Observed

Stage and discharge chart includes 60 observed points.

Line chart: Observed01002003004005006007002026-06-202026-07-282026-09-02
Data series

Flood-stage context

Source-published thresholds where available

Flood-stage context unavailable

Flood category levels are not published or not linked for this gauge.

Forecast

Linked NWS/NWPS values

Forecast unavailable

Forecasts are not available for this gauge in RiverStat.us launch sources.

Observations

flow

157 cfs

Observed Sep 1, 2026 at 7:00 PM CDT

flow

87.1 cfs

Observed Aug 31, 2026 at 7:00 PM CDT

flow

96 cfs

Observed Aug 30, 2026 at 7:00 PM CDT

flow

91.5 cfs

Observed Aug 28, 2026 at 7:00 PM CDT

flow

88.5 cfs

Observed Aug 27, 2026 at 7:00 PM CDT

flow

96 cfs

Observed Aug 26, 2026 at 7:00 PM CDT

flow

90 cfs

Observed Aug 25, 2026 at 7:00 PM CDT

flow

104 cfs

Observed Aug 23, 2026 at 7:00 PM CDT

flow

91.5 cfs

Observed Aug 22, 2026 at 7:00 PM CDT

flow

97.6 cfs

Observed Aug 21, 2026 at 7:00 PM CDT

flow

102 cfs

Observed Aug 20, 2026 at 7:00 PM CDT

flow

110 cfs

Observed Aug 18, 2026 at 7:00 PM CDT

flow

181 cfs

Observed Aug 17, 2026 at 7:00 PM CDT

flow

110 cfs

Observed Aug 16, 2026 at 7:00 PM CDT

flow

109 cfs

Observed Aug 15, 2026 at 7:00 PM CDT

flow

112 cfs

Observed Aug 13, 2026 at 7:00 PM CDT

flow

124 cfs

Observed Aug 12, 2026 at 7:00 PM CDT

flow

115 cfs

Observed Aug 11, 2026 at 7:00 PM CDT

flow

130 cfs

Observed Aug 10, 2026 at 7:00 PM CDT

flow

128 cfs

Observed Aug 8, 2026 at 7:00 PM CDT

flow

132 cfs

Observed Aug 7, 2026 at 7:00 PM CDT

flow

138 cfs

Observed Aug 6, 2026 at 7:00 PM CDT

flow

149 cfs

Observed Aug 5, 2026 at 7:00 PM CDT

flow

187 cfs

Observed Aug 3, 2026 at 7:00 PM CDT

flow

185 cfs

Observed Aug 2, 2026 at 7:00 PM CDT

flow

233 cfs

Observed Aug 1, 2026 at 7:00 PM CDT

flow

285 cfs

Observed Jul 31, 2026 at 7:00 PM CDT

flow

90 cfs

Observed Jul 29, 2026 at 7:00 PM CDT

flow

123 cfs

Observed Jul 28, 2026 at 7:00 PM CDT

flow

109 cfs

Observed Jul 27, 2026 at 7:00 PM CDT

flow

132 cfs

Observed Jul 26, 2026 at 7:00 PM CDT

flow

138 cfs

Observed Jul 24, 2026 at 7:00 PM CDT

flow

144 cfs

Observed Jul 23, 2026 at 7:00 PM CDT

flow

142 cfs

Observed Jul 22, 2026 at 7:00 PM CDT

flow

181 cfs

Observed Jul 21, 2026 at 7:00 PM CDT

flow

205 cfs

Observed Jul 19, 2026 at 7:00 PM CDT

flow

138 cfs

Observed Jul 18, 2026 at 7:00 PM CDT

flow

166 cfs

Observed Jul 17, 2026 at 7:00 PM CDT

flow

157 cfs

Observed Jul 16, 2026 at 7:00 PM CDT

flow

194 cfs

Observed Jul 14, 2026 at 7:00 PM CDT

flow

203 cfs

Observed Jul 13, 2026 at 7:00 PM CDT

flow

238 cfs

Observed Jul 12, 2026 at 7:00 PM CDT

flow

240 cfs

Observed Jul 11, 2026 at 7:00 PM CDT

flow

290 cfs

Observed Jul 9, 2026 at 7:00 PM CDT

flow

332 cfs

Observed Jul 8, 2026 at 7:00 PM CDT

flow

329 cfs

Observed Jul 7, 2026 at 7:00 PM CDT

flow

324 cfs

Observed Jul 6, 2026 at 7:00 PM CDT

flow

475 cfs

Observed Jul 4, 2026 at 7:00 PM CDT

flow

450 cfs

Observed Jul 3, 2026 at 7:00 PM CDT

flow

550 cfs

Observed Jul 2, 2026 at 7:00 PM CDT

flow

604 cfs

Observed Jul 1, 2026 at 7:00 PM CDT

flow

124 cfs

Observed Jun 29, 2026 at 7:00 PM CDT

flow

166 cfs

Observed Jun 28, 2026 at 7:00 PM CDT

flow

153 cfs

Observed Jun 27, 2026 at 7:00 PM CDT

flow

142 cfs

Observed Jun 26, 2026 at 7:00 PM CDT

flow

173 cfs

Observed Jun 24, 2026 at 7:00 PM CDT

flow

181 cfs

Observed Jun 23, 2026 at 7:00 PM CDT

flow

110 cfs

Observed Jun 22, 2026 at 7:00 PM CDT

flow

112 cfs

Observed Jun 21, 2026 at 7:00 PM CDT

flow

117 cfs

Observed Jun 19, 2026 at 7:00 PM CDT

flow

132 cfs

Observed Jun 18, 2026 at 7:00 PM CDT

flow

128 cfs

Observed Jun 17, 2026 at 7:00 PM CDT

flow

194 cfs

Observed Jun 16, 2026 at 7:00 PM CDT

flow

136 cfs

Observed Jun 14, 2026 at 7:00 PM CDT

flow

119 cfs

Observed Jun 13, 2026 at 7:00 PM CDT

flow

122 cfs

Observed Jun 12, 2026 at 7:00 PM CDT

flow

129 cfs

Observed Jun 11, 2026 at 7:00 PM CDT

flow

361 cfs

Observed Jun 9, 2026 at 7:00 PM CDT

flow

143 cfs

Observed Jun 8, 2026 at 7:00 PM CDT

flow

140 cfs

Observed Jun 7, 2026 at 7:00 PM CDT

flow

125 cfs

Observed Jun 6, 2026 at 7:00 PM CDT

flow

152 cfs

Observed Jun 4, 2026 at 7:00 PM CDT

flow

134 cfs

Observed Jun 3, 2026 at 7:00 PM CDT

flow

131 cfs

Observed Jun 2, 2026 at 7:00 PM CDT

flow

125 cfs

Observed Jun 1, 2026 at 7:00 PM CDT

flow

140 cfs

Observed May 30, 2026 at 7:00 PM CDT

flow

129 cfs

Observed May 29, 2026 at 7:00 PM CDT

flow

148 cfs

Observed May 28, 2026 at 7:00 PM CDT

flow

160 cfs

Observed May 27, 2026 at 7:00 PM CDT

flow

162 cfs

Observed May 25, 2026 at 7:00 PM CDT

flow

164 cfs

Observed May 24, 2026 at 7:00 PM CDT

flow

178 cfs

Observed May 23, 2026 at 7:00 PM CDT

flow

180 cfs

Observed May 22, 2026 at 7:00 PM CDT

flow

191 cfs

Observed May 20, 2026 at 7:00 PM CDT

flow

195 cfs

Observed May 19, 2026 at 7:00 PM CDT

flow

218 cfs

Observed May 18, 2026 at 7:00 PM CDT

flow

229 cfs

Observed May 17, 2026 at 7:00 PM CDT

flow

202 cfs

Observed May 15, 2026 at 7:00 PM CDT

flow

260 cfs

Observed May 14, 2026 at 7:00 PM CDT

flow

185 cfs

Observed May 13, 2026 at 7:00 PM CDT

flow

203 cfs

Observed May 12, 2026 at 7:00 PM CDT

flow

226 cfs

Observed May 10, 2026 at 7:00 PM CDT

flow

221 cfs

Observed May 9, 2026 at 7:00 PM CDT

flow

231 cfs

Observed May 8, 2026 at 7:00 PM CDT

flow

238 cfs

Observed May 7, 2026 at 7:00 PM CDT

flow

246 cfs

Observed May 5, 2026 at 7:00 PM CDT

flow

265 cfs

Observed May 4, 2026 at 7:00 PM CDT

flow

269 cfs

Observed May 3, 2026 at 7:00 PM CDT

flow

275 cfs

Observed May 2, 2026 at 7:00 PM CDT

flow

311 cfs

Observed Apr 30, 2026 at 7:00 PM CDT

flow

322 cfs

Observed Apr 29, 2026 at 7:00 PM CDT

flow

343 cfs

Observed Apr 28, 2026 at 7:00 PM CDT

flow

378 cfs

Observed Apr 27, 2026 at 7:00 PM CDT

flow

352 cfs

Observed Apr 25, 2026 at 7:00 PM CDT

flow

379 cfs

Observed Apr 24, 2026 at 7:00 PM CDT

flow

420 cfs

Observed Apr 23, 2026 at 7:00 PM CDT

flow

445 cfs

Observed Apr 22, 2026 at 7:00 PM CDT

flow

506 cfs

Observed Apr 20, 2026 at 7:00 PM CDT

flow

515 cfs

Observed Apr 19, 2026 at 7:00 PM CDT

flow

551 cfs

Observed Apr 18, 2026 at 7:00 PM CDT

flow

636 cfs

Observed Apr 17, 2026 at 7:00 PM CDT

flow

833 cfs

Observed Apr 15, 2026 at 7:00 PM CDT

flow

978 cfs

Observed Apr 14, 2026 at 7:00 PM CDT

flow

1,260 cfs

Observed Apr 13, 2026 at 7:00 PM CDT

flow

783 cfs

Observed Apr 12, 2026 at 7:00 PM CDT

flow

409 cfs

Observed Apr 10, 2026 at 7:00 PM CDT

flow

445 cfs

Observed Apr 9, 2026 at 7:00 PM CDT

flow

487 cfs

Observed Apr 8, 2026 at 7:00 PM CDT

flow

540 cfs

Observed Apr 7, 2026 at 7:00 PM CDT

flow

695 cfs

Observed Apr 5, 2026 at 7:00 PM CDT

flow

873 cfs

Observed Apr 4, 2026 at 7:00 PM CDT

flow

1,030 cfs

Observed Apr 3, 2026 at 7:00 PM CDT

flow

551 cfs

Observed Apr 2, 2026 at 7:00 PM CDT

flow

240 cfs

Observed Mar 31, 2026 at 7:00 PM CDT

flow

279 cfs

Observed Mar 30, 2026 at 7:00 PM CDT

flow

302 cfs

Observed Mar 29, 2026 at 7:00 PM CDT

flow

293 cfs

Observed Mar 28, 2026 at 7:00 PM CDT

flow

335 cfs

Observed Mar 26, 2026 at 7:00 PM CDT

flow

381 cfs

Observed Mar 25, 2026 at 7:00 PM CDT

flow

405 cfs

Observed Mar 24, 2026 at 7:00 PM CDT

flow

448 cfs

Observed Mar 23, 2026 at 7:00 PM CDT

flow

684 cfs

Observed Mar 21, 2026 at 7:00 PM CDT

flow

644 cfs

Observed Mar 20, 2026 at 7:00 PM CDT

flow

282 cfs

Observed Mar 19, 2026 at 7:00 PM CDT

flow

236 cfs

Observed Mar 18, 2026 at 7:00 PM CDT

flow

199 cfs

Observed Mar 16, 2026 at 7:00 PM CDT

flow

213 cfs

Observed Mar 15, 2026 at 7:00 PM CDT

flow

178 cfs

Observed Mar 14, 2026 at 7:00 PM CDT

flow

207 cfs

Observed Mar 13, 2026 at 7:00 PM CDT

flow

240 cfs

Observed Mar 11, 2026 at 7:00 PM CDT

flow

245 cfs

Observed Mar 10, 2026 at 7:00 PM CDT

flow

271 cfs

Observed Mar 9, 2026 at 7:00 PM CDT

flow

312 cfs

Observed Mar 8, 2026 at 7:00 PM CDT

flow

535 cfs

Observed Mar 6, 2026 at 6:00 PM CST

flow

145 cfs

Observed Mar 5, 2026 at 6:00 PM CST

flow

128 cfs

Observed Mar 4, 2026 at 6:00 PM CST

flow

134 cfs

Observed Mar 3, 2026 at 6:00 PM CST

flow

128 cfs

Observed Mar 1, 2026 at 6:00 PM CST

flow

136 cfs

Observed Feb 28, 2026 at 6:00 PM CST

flow

141 cfs

Observed Feb 27, 2026 at 6:00 PM CST

flow

145 cfs

Observed Feb 26, 2026 at 6:00 PM CST

flow

151 cfs

Observed Feb 24, 2026 at 6:00 PM CST

flow

155 cfs

Observed Feb 23, 2026 at 6:00 PM CST

flow

162 cfs

Observed Feb 22, 2026 at 6:00 PM CST

flow

160 cfs

Observed Feb 21, 2026 at 6:00 PM CST

flow

210 cfs

Observed Feb 19, 2026 at 6:00 PM CST

flow

231 cfs

Observed Feb 18, 2026 at 6:00 PM CST

flow

254 cfs

Observed Feb 17, 2026 at 6:00 PM CST

flow

188 cfs

Observed Feb 16, 2026 at 6:00 PM CST

flow

151 cfs

Observed Feb 14, 2026 at 6:00 PM CST

flow

134 cfs

Observed Feb 13, 2026 at 6:00 PM CST

flow

128 cfs

Observed Feb 12, 2026 at 6:00 PM CST

flow

125 cfs

Observed Feb 11, 2026 at 6:00 PM CST

flow

107 cfs

Observed Feb 9, 2026 at 6:00 PM CST

flow

114 cfs

Observed Feb 8, 2026 at 6:00 PM CST

flow

119 cfs

Observed Feb 7, 2026 at 6:00 PM CST

flow

110 cfs

Observed Feb 6, 2026 at 6:00 PM CST

flow

114 cfs

Observed Feb 4, 2026 at 6:00 PM CST

flow

130 cfs

Observed Feb 3, 2026 at 6:00 PM CST

flow

171 cfs

Observed Feb 2, 2026 at 6:00 PM CST

flow

284 cfs

Observed Feb 1, 2026 at 6:00 PM CST

flow

263 cfs

Observed Jan 30, 2026 at 6:00 PM CST

flow

109 cfs

Observed Jan 29, 2026 at 6:00 PM CST

flow

261 cfs

Observed Jan 28, 2026 at 6:00 PM CST

flow

130 cfs

Observed Jan 27, 2026 at 6:00 PM CST

flow

117 cfs

Observed Jan 23, 2026 at 6:00 PM CST

flow

125 cfs

Observed Jan 22, 2026 at 6:00 PM CST

flow

1,340 cfs

Observed Jan 21, 2026 at 6:00 PM CST

flow

313 cfs

Observed Jan 19, 2026 at 6:00 PM CST

flow

349 cfs

Observed Jan 18, 2026 at 6:00 PM CST

flow

513 cfs

Observed Jan 17, 2026 at 6:00 PM CST

flow

199 cfs

Observed Jan 16, 2026 at 6:00 PM CST

flow

182 cfs

Observed Jan 14, 2026 at 6:00 PM CST

flow

197 cfs

Observed Jan 13, 2026 at 6:00 PM CST

flow

177 cfs

Observed Jan 12, 2026 at 6:00 PM CST

flow

177 cfs

Observed Jan 11, 2026 at 6:00 PM CST

flow

188 cfs

Observed Jan 9, 2026 at 6:00 PM CST

flow

175 cfs

Observed Jan 8, 2026 at 6:00 PM CST

flow

123 cfs

Observed Jan 7, 2026 at 6:00 PM CST

flow

132 cfs

Observed Jan 6, 2026 at 6:00 PM CST

flow

114 cfs

Observed Jan 4, 2026 at 6:00 PM CST

flow

117 cfs

Observed Jan 3, 2026 at 6:00 PM CST

flow

127 cfs

Observed Jan 2, 2026 at 6:00 PM CST

flow

128 cfs

Observed Jan 1, 2026 at 6:00 PM CST

flow

140 cfs

Observed Dec 30, 2025 at 6:00 PM CST

flow

126 cfs

Observed Dec 29, 2025 at 6:00 PM CST

flow

123 cfs

Observed Dec 28, 2025 at 6:00 PM CST

flow

136 cfs

Observed Dec 27, 2025 at 6:00 PM CST

flow

117 cfs

Observed Dec 25, 2025 at 6:00 PM CST

flow

107 cfs

Observed Dec 24, 2025 at 6:00 PM CST

flow

101 cfs

Observed Dec 23, 2025 at 6:00 PM CST

flow

109 cfs

Observed Dec 22, 2025 at 6:00 PM CST

flow

111 cfs

Observed Dec 20, 2025 at 6:00 PM CST

flow

111 cfs

Observed Dec 19, 2025 at 6:00 PM CST

flow

299 cfs

Observed Dec 18, 2025 at 6:00 PM CST

flow

131 cfs

Observed Dec 17, 2025 at 6:00 PM CST

flow

103 cfs

Observed Dec 15, 2025 at 6:00 PM CST

flow

113 cfs

Observed Dec 14, 2025 at 6:00 PM CST

flow

373 cfs

Observed Dec 13, 2025 at 6:00 PM CST

flow

376 cfs

Observed Dec 12, 2025 at 6:00 PM CST

flow

122 cfs

Observed Dec 10, 2025 at 6:00 PM CST

flow

120 cfs

Observed Dec 9, 2025 at 6:00 PM CST

flow

132 cfs

Observed Dec 8, 2025 at 6:00 PM CST

flow

116 cfs

Observed Dec 7, 2025 at 6:00 PM CST

flow

124 cfs

Observed Dec 5, 2025 at 6:00 PM CST

flow

128 cfs

Observed Dec 4, 2025 at 6:00 PM CST

flow

115 cfs

Observed Dec 3, 2025 at 6:00 PM CST

flow

136 cfs

Observed Dec 2, 2025 at 6:00 PM CST

flow

122 cfs

Observed Nov 30, 2025 at 6:00 PM CST

flow

130 cfs

Observed Nov 29, 2025 at 6:00 PM CST

flow

134 cfs

Observed Nov 28, 2025 at 6:00 PM CST

flow

134 cfs

Observed Nov 27, 2025 at 6:00 PM CST

flow

128 cfs

Observed Nov 25, 2025 at 6:00 PM CST

flow

157 cfs

Observed Nov 24, 2025 at 6:00 PM CST

flow

123 cfs

Observed Nov 23, 2025 at 6:00 PM CST

flow

137 cfs

Observed Nov 22, 2025 at 6:00 PM CST

flow

129 cfs

Observed Nov 20, 2025 at 6:00 PM CST

flow

133 cfs

Observed Nov 19, 2025 at 6:00 PM CST

flow

141 cfs

Observed Nov 18, 2025 at 6:00 PM CST

flow

137 cfs

Observed Nov 17, 2025 at 6:00 PM CST

flow

125 cfs

Observed Nov 15, 2025 at 6:00 PM CST

flow

129 cfs

Observed Nov 14, 2025 at 6:00 PM CST

flow

131 cfs

Observed Nov 13, 2025 at 6:00 PM CST

flow

129 cfs

Observed Nov 12, 2025 at 6:00 PM CST

flow

131 cfs

Observed Nov 10, 2025 at 6:00 PM CST

flow

129 cfs

Observed Nov 9, 2025 at 6:00 PM CST

flow

139 cfs

Observed Nov 8, 2025 at 6:00 PM CST

flow

120 cfs

Observed Nov 7, 2025 at 6:00 PM CST

flow

130 cfs

Observed Nov 5, 2025 at 6:00 PM CST

flow

130 cfs

Observed Nov 4, 2025 at 6:00 PM CST

flow

130 cfs

Observed Nov 3, 2025 at 6:00 PM CST

flow

140 cfs

Observed Nov 2, 2025 at 6:00 PM CST

flow

124 cfs

Observed Oct 31, 2025 at 7:00 PM CDT

flow

130 cfs

Observed Oct 30, 2025 at 7:00 PM CDT

flow

143 cfs

Observed Oct 29, 2025 at 7:00 PM CDT

flow

143 cfs

Observed Oct 28, 2025 at 7:00 PM CDT

flow

130 cfs

Observed Oct 27, 2025 at 7:00 PM CDT

flow

148 cfs

Observed Oct 25, 2025 at 7:00 PM CDT

flow

136 cfs

Observed Oct 24, 2025 at 7:00 PM CDT

flow

134 cfs

Observed Oct 23, 2025 at 7:00 PM CDT

flow

146 cfs

Observed Oct 22, 2025 at 7:00 PM CDT

flow

132 cfs

Observed Oct 20, 2025 at 7:00 PM CDT

flow

150 cfs

Observed Oct 19, 2025 at 7:00 PM CDT

flow

140 cfs

Observed Oct 18, 2025 at 7:00 PM CDT

flow

145 cfs

Observed Oct 17, 2025 at 7:00 PM CDT

flow

159 cfs

Observed Oct 15, 2025 at 7:00 PM CDT

flow

166 cfs

Observed Oct 14, 2025 at 7:00 PM CDT

flow

192 cfs

Observed Oct 13, 2025 at 7:00 PM CDT

flow

145 cfs

Observed Oct 12, 2025 at 7:00 PM CDT

flow

145 cfs

Observed Oct 10, 2025 at 7:00 PM CDT

flow

157 cfs

Observed Oct 9, 2025 at 7:00 PM CDT

flow

151 cfs

Observed Oct 8, 2025 at 7:00 PM CDT

flow

156 cfs

Observed Oct 7, 2025 at 7:00 PM CDT

flow

165 cfs

Observed Oct 5, 2025 at 7:00 PM CDT

flow

152 cfs

Observed Oct 4, 2025 at 7:00 PM CDT

flow

151 cfs

Observed Oct 3, 2025 at 7:00 PM CDT

flow

171 cfs

Observed Oct 2, 2025 at 7:00 PM CDT

flow

182 cfs

Observed Sep 30, 2025 at 7:00 PM CDT

flow

179 cfs

Observed Sep 29, 2025 at 7:00 PM CDT

flow

193 cfs

Observed Sep 28, 2025 at 7:00 PM CDT

flow

200 cfs

Observed Sep 27, 2025 at 7:00 PM CDT

flow

252 cfs

Observed Sep 25, 2025 at 7:00 PM CDT

flow

265 cfs

Observed Sep 24, 2025 at 7:00 PM CDT

flow

326 cfs

Observed Sep 23, 2025 at 7:00 PM CDT

flow

470 cfs

Observed Sep 22, 2025 at 7:00 PM CDT

flow

135 cfs

Observed Sep 20, 2025 at 7:00 PM CDT

flow

135 cfs

Observed Sep 19, 2025 at 7:00 PM CDT

flow

156 cfs

Observed Sep 18, 2025 at 7:00 PM CDT

flow

148 cfs

Observed Sep 17, 2025 at 7:00 PM CDT

flow

157 cfs

Observed Sep 15, 2025 at 7:00 PM CDT

flow

167 cfs

Observed Sep 14, 2025 at 7:00 PM CDT

flow

151 cfs

Observed Sep 13, 2025 at 7:00 PM CDT

flow

165 cfs

Observed Sep 12, 2025 at 7:00 PM CDT

flow

162 cfs

Observed Sep 10, 2025 at 7:00 PM CDT

flow

178 cfs

Observed Sep 9, 2025 at 7:00 PM CDT

flow

170 cfs

Observed Sep 8, 2025 at 7:00 PM CDT

flow

181 cfs

Observed Sep 7, 2025 at 7:00 PM CDT

flow

187 cfs

Observed Sep 5, 2025 at 7:00 PM CDT

flow

188 cfs

Observed Sep 4, 2025 at 7:00 PM CDT

flow

199 cfs

Observed Sep 3, 2025 at 7:00 PM CDT

flow

206 cfs

Observed Sep 2, 2025 at 7:00 PM CDT

Alerts

Alerts unavailable

Alerts are shown only when the API returns a source-backed match.

Official public sources

Readings and thresholds stay tied to USGS, NOAA/NWS, or source-backed records.

Source freshness

Observed and fetched timestamps are shown separately when the API returns them.

Transparent methodology

Unavailable forecasts, alerts, and thresholds are shown as unavailable states.