{"id":4270,"date":"2026-06-25T07:00:24","date_gmt":"2026-06-25T15:00:24","guid":{"rendered":"https:\/\/klamathid.org\/home\/?page_id=4270"},"modified":"2026-08-24T13:25:27","modified_gmt":"2026-08-24T21:25:27","slug":"water-dashboard","status":"publish","type":"page","link":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/","title":{"rendered":"Water Dashboard"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- KID Water Dashboard - Water Year 2026 - v2 2026-08-19 -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Zilla+Slab:wght@400;500;600;700&family=Libre+Franklin:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap\" rel=\"stylesheet\">\n\n<div id=\"kwd\">\n\n  <!-- ===== GLANCE BAR ===== -->\n  <div class=\"kwd-glance\">\n    <span class=\"kwd-g-wy\" id=\"g-wy\">Water Year 2026<\/span>\n    <span class=\"kwd-g-date\" id=\"kwd-date\">\u2014<\/span>\n    <span class=\"kwd-g-item\"><span class=\"kwd-g-k\">Upper\u00a0Klamath\u00a0Lake<\/span><b class=\"kwd-g-v\" id=\"kwd-g-ukl\">\u2014<\/b><\/span>\n    <span class=\"kwd-g-item\"><span class=\"kwd-g-k\">Keno\u00a0outflow<\/span><b class=\"kwd-g-v\" id=\"kwd-g-keno\">\u2014<\/b><\/span>\n    <span class=\"kwd-g-item kwd-g-wx\"><span class=\"kwd-g-k\">Klamath\u00a0Falls<\/span><span class=\"kwd-g-wxicon\" id=\"kwd-g-wxicon\"><\/span><b class=\"kwd-g-v\" id=\"kwd-g-temp\">\u2014<\/b><\/span>\n    <span class=\"kwd-g-upd\" id=\"kwd-g-upd\">updating\u2026<\/span>\n  <\/div>\n\n  <!-- ===== SEASON-WRAPPING STATE (auto-shows Oct 1 - early Nov) ===== -->\n  <div class=\"kwd-wrap\" id=\"kwd-wrap\">\n    <span class=\"kwd-wrap-dot\"><\/span>\n    <span class=\"kwd-wrap-txt\"><b>Water Year <span id=\"wrap-wy\">2027<\/span> began October\u00a01.<\/b> The supply and accountability figures below have reset for the new water year. The <span id=\"wrap-season\">2026<\/span> irrigation season is finishing \u2014 final deliveries typically run into mid-to-late October.<\/span>\n  <\/div>\n\n  <!-- ===== HERO: THE WY 2026 STORY ===== -->\n  <section class=\"kwd-hero\">\n    <p class=\"kwd-eyebrow\"><span class=\"kwd-dot\"><\/span>Water\u00a0Year\u00a0<span id=\"hero-wy2\">2026<\/span>, against sixty-five years of record<\/p>\n    <h1 class=\"kwd-h1\">The Project put more water past Keno than nature did in most years.<\/h1>\n    <p class=\"kwd-lede\">Snow and spring runoff fill Upper\u00a0Klamath\u00a0Lake behind the natural reef at Link\u00a0River.<\/p>\n    <p class=\"kwd-lede\">Without the Project, that water spilled over the reef mostly in winter and spring. It then crossed a Lower\u00a0Klamath\u00a0Lake of open water and tule marsh that consumed much of it before it ever reached Keno. The natural river ran hardest in May. By September it had fallen to almost nothing.<\/p>\n    <p class=\"kwd-lede\">The Project stores that water, delivers it to farms above Keno, and pays the rest over Keno\u00a0Dam through the months the natural river was drying up. Across sixty-five years of gaged record the river below Keno carried on average <b>199,944\u00a0AF a year more<\/b> than the natural lakes would have passed \u2014 because the natural system evaporated roughly a quarter of its supply off Lower\u00a0Klamath\u00a0Lake before the water ever got there.<\/p>\n    <p class=\"kwd-lede\">Here is that record \u2014 and how the c\u2019waam and koptu in the lake above, and the salmon in the river below Keno, are faring in it.<\/p>\n\n    <!-- the balance: inflow, then where it went -->\n    <div class=\"kwd-balance\">\n      <div class=\"kwd-bal-in\">\n        <span class=\"kwd-bal-lbl\">Water\u00a0Year\u00a0<span id=\"hero-wy4\">2026<\/span> \u00b7 net inflow to Upper\u00a0Klamath\u00a0Lake<\/span>\n        <span class=\"kwd-bal-big\"><b id=\"s-in\">752,264<\/b> <span class=\"kwd-bal-u\">AF<\/span><\/span>\n        <span class=\"kwd-bal-sub\">this water year to date, from 1\u00a0October \u00b7 about <span id=\"s-in-pct\">63<\/span>% of an average year (~1.2\u00a0MAF long-term average)<\/span>\n      <\/div>\n      <div class=\"kwd-bal-arrow\" aria-hidden=\"true\">\u2192<\/div>\n      <div class=\"kwd-bal-out\">\n        <div class=\"kwd-bal-cell\">\n          <span class=\"kwd-bal-n\" id=\"s-del\">~161,000<\/span><span class=\"kwd-bal-cu\">AF<\/span>\n          <span class=\"kwd-bal-cl\">delivered to Project farms<\/span>\n        <\/div>\n        <div class=\"kwd-bal-cell\">\n          <span class=\"kwd-bal-n\" id=\"s-keno\">542,572<\/span><span class=\"kwd-bal-cu\">AF<\/span>\n          <span class=\"kwd-bal-cl\">passed over Keno so far this water year<\/span>\n        <\/div>\n        <div class=\"kwd-bal-cell\">\n          <span class=\"kwd-bal-n\" id=\"s-dps\">47,430<\/span><span class=\"kwd-bal-cu\">AF<\/span>\n          <span class=\"kwd-bal-cl\">returned to the river to support targeted Keno flows<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n      <div class=\"kwd-tldr\">\n        <span class=\"kwd-tldr-t\">The short version<\/span>\n        <p>Before the Klamath\u00a0Project, the river\u2019s water crossed a wide, shallow lake on its way south, and roughly <b>a fifth of it evaporated<\/b> before it ever reached the town of Keno.<\/p>\n        <p>That lake was drained a century ago, so the water that used to disappear now stays in the river.<\/p>\n        <p>The Project also changed <b>when<\/b> the water arrives: the wild river ran hard in May and nearly dried up by September, while the Project holds water back in spring and lets it out through the summer.<\/p>\n        <p>Across <b>65 years<\/b> of measurements \u2014 a span that takes in the Christmas flood of 1964 and all the years of irrigation from 1889 to today \u2014 the river below Keno carried more water than it would have without the Project in <b>51 of those years<\/b>.<\/p>\n        <p>Since 2001, under a series of federal biological opinions, the river, the lake and the farms have <b>all<\/b> received less than they did before \u2014 the farms most of all.<\/p>\n      <\/div>\n      <div class=\"kwd-orient\">\n        <p class=\"kwd-orient-t\">Where the water goes<\/p>\n        <svg viewBox=\"0 0 960 470\" role=\"img\" aria-label=\"Schematic of the Klamath Reclamation Project, flowing right to left. Snow and spring runoff collect in Upper Klamath Lake, which feeds the A Canal to Project farms and passes over Link River Dam into Lake Ewauna. Below Ewauna the natural river spread south into Lower Klamath Lake and returned to the river through the Klamath Straits above Keno; that same channel now carries the Project's return flows. Lower Klamath Lake was drained in the 1920s by Congressional authorization and lies almost entirely within the Project, which reaches well beyond it. The river runs on 254 miles to the Pacific.\" style=\"width:100%;height:auto;display:block\">\n\n          <text x=\"852\" y=\"22\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#2f8fb0\">snow and spring runoff<\/text>\n          <text x=\"852\" y=\"35\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#2f8fb0\">collect here<\/text>\n          <path d=\"M852 42 L852 62\" stroke=\"#2f8fb0\" stroke-width=\"2.6\" stroke-dasharray=\"4 4\" fill=\"none\" opacity=\"0.8\"\/>\n          <path d=\"M845 58 L852 72 L859 58 Z\" fill=\"#2f8fb0\" opacity=\"0.85\"\/>\n\n          <ellipse cx=\"852\" cy=\"126\" rx=\"72\" ry=\"46\" fill=\"#2f8fb0\" opacity=\"0.30\"\/>\n          <ellipse cx=\"852\" cy=\"126\" rx=\"72\" ry=\"46\" fill=\"none\" stroke=\"#2f8fb0\" stroke-width=\"1.5\"\/>\n          <text x=\"852\" y=\"120\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"13.5\" fill=\"#1b2a4e\">Upper Klamath<\/text>\n          <text x=\"852\" y=\"137\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"13.5\" fill=\"#1b2a4e\">Lake<\/text>\n\n          <path d=\"M780 126 L735 126\" stroke=\"#2f8fb0\" stroke-width=\"7\" fill=\"none\"\/>\n          <rect x=\"726\" y=\"106\" width=\"9\" height=\"40\" fill=\"#b22234\"\/>\n          <text x=\"730\" y=\"96\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"12\" fill=\"#b22234\">Link River Dam<\/text>\n          <text x=\"730\" y=\"166\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">the only control on the lake<\/text>\n\n          <path d=\"M726 126 L688 126\" stroke=\"#2f8fb0\" stroke-width=\"7\" fill=\"none\"\/>\n          <ellipse cx=\"656\" cy=\"126\" rx=\"32\" ry=\"16\" fill=\"#2f8fb0\" opacity=\"0.30\"\/>\n          <ellipse cx=\"656\" cy=\"126\" rx=\"32\" ry=\"16\" fill=\"none\" stroke=\"#2f8fb0\" stroke-width=\"1.3\"\/>\n          <text x=\"656\" y=\"130\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"600\" font-size=\"10.5\" fill=\"#1b2a4e\">Ewauna<\/text>\n\n          <path d=\"M624 126 L446 126\" stroke=\"#2f8fb0\" stroke-width=\"7\" fill=\"none\"\/>\n\n          <path d=\"M816 166 C800 218, 764 258, 700 284\" stroke=\"#c39a3e\" stroke-width=\"5\" fill=\"none\"\/>\n          <text x=\"838\" y=\"232\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" font-weight=\"600\" fill=\"#c39a3e\">\u201cA\u201d Canal<\/text>\n          <text x=\"838\" y=\"245\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#8a8676\">drawn from the lake<\/text>\n\n          <path d=\"M604 142 C604 200, 600 250, 596 292\" stroke=\"#2f8fb0\" stroke-width=\"4\" fill=\"none\" stroke-dasharray=\"7 5\" opacity=\"0.7\"\/>\n          <text x=\"620\" y=\"196\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#2f8fb0\">the natural river spread<\/text>\n          <text x=\"620\" y=\"207\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#2f8fb0\">south from here into<\/text>\n          <text x=\"620\" y=\"218\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#2f8fb0\">Lower Klamath Lake<\/text>\n\n          <path d=\"M486 292 C482 240, 480 180, 480 142\" stroke=\"#4a5165\" stroke-width=\"4\" fill=\"none\" stroke-dasharray=\"7 5\"\/>\n          <path d=\"M473 150 L480 134 L488 149 Z\" fill=\"#4a5165\"\/>\n          <text x=\"466\" y=\"196\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" font-weight=\"600\" fill=\"#4a5165\">the Klamath Straits<\/text>\n          <text x=\"466\" y=\"207\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#4a5165\">the lake\u2019s natural outlet then,<\/text>\n          <text x=\"466\" y=\"218\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#4a5165\">and the Project\u2019s return route now<\/text>\n\n          <rect x=\"437\" y=\"106\" width=\"9\" height=\"40\" fill=\"#b22234\"\/>\n          <text x=\"441\" y=\"96\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"12\" fill=\"#b22234\">Keno Dam<\/text>\n          <text x=\"404\" y=\"160\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">on the old Keno reef \u00b7<\/text>\n          <text x=\"404\" y=\"171\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">everything measured here<\/text>\n\n          <path d=\"M437 126 L96 126\" stroke=\"#2f8fb0\" stroke-width=\"7\" fill=\"none\"\/>\n          <path d=\"M104 116 L80 126 L104 136 Z\" fill=\"#2f8fb0\"\/>\n          <text x=\"250\" y=\"106\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"12.5\" fill=\"#1b2a4e\">Klamath River<\/text>\n          <text x=\"160\" y=\"160\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">to the Pacific \u00b7 254 miles<\/text>\n\n          <ellipse cx=\"416\" cy=\"348\" rx=\"292\" ry=\"70\" fill=\"#c39a3e\" opacity=\"0.24\"\/>\n          <ellipse cx=\"416\" cy=\"348\" rx=\"292\" ry=\"70\" fill=\"none\" stroke=\"#c39a3e\" stroke-width=\"1.7\"\/>\n          <text x=\"228\" y=\"336\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"13\" fill=\"#1b2a4e\">Klamath Reclamation<\/text>\n          <text x=\"228\" y=\"353\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"13\" fill=\"#1b2a4e\">Project<\/text>\n          <text x=\"228\" y=\"372\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#4a5165\">farms and refuges \u00b7 Oregon and California<\/text>\n\n          <ellipse cx=\"530\" cy=\"348\" rx=\"130\" ry=\"48\" fill=\"#8a8676\" opacity=\"0.18\"\/>\n          <ellipse cx=\"530\" cy=\"348\" rx=\"130\" ry=\"48\" fill=\"none\" stroke=\"#4a5165\" stroke-width=\"1.5\" stroke-dasharray=\"5 4\"\/>\n          <text x=\"530\" y=\"342\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"11.5\" fill=\"#4a5165\">Lower Klamath Lake<\/text>\n          <text x=\"530\" y=\"358\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#4a5165\">drained in the 1920s by Congressional<\/text>\n          <text x=\"530\" y=\"369\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#4a5165\">authorization and direction<\/text>\n\n          <text x=\"480\" y=\"446\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">the lake once evaporated about a fifth of the basin\u2019s supply \u00b7 the Project now farms its bed, and reaches well beyond it<\/text>\n        <\/svg>\n        <p class=\"kwd-orient-n\">Simplified after Reclamation drawing 12-209-3 (1949); not to scale, and the canal and drain network is far denser than shown. For the full Project see Reclamation\u2019s <a href=\"https:\/\/www.usbr.gov\/mp\/kbao\/maps.html\" target=\"_blank\" rel=\"noopener\">Klamath\u00a0Basin\u00a0Area\u00a0Office maps<\/a>, which include the Project and irrigation districts, the wider river basin, and the Project area as it stood in 1905.<\/p>\n      <\/div>\n      <div class=\"kwd-units\">\n        <p class=\"kwd-unit\"><b>AF<\/b> \u2014 an acre-foot, enough water to cover an acre a foot deep. About what a Klamath family farm uses over 45 to 60\u00a0days.<\/p>\n        <p class=\"kwd-unit\"><b>cfs<\/b> \u2014 cubic feet per second, a rate of flow rather than a quantity: how fast the river is running past a point.<\/p>\n      <\/div>\n    <p class=\"kwd-hero-loss\">Left to nature, in Water\u00a0Year\u00a0<span id=\"hero-wy5\">2026<\/span> about <b id=\"s-lkl-et\">180,717<\/b>\u00a0AF of that inflow \u2014 <b id=\"s-lkl-pct\">24%<\/b> of the year\u2019s usable supply above Keno \u2014 would never have reached the Klamath\u00a0River. It would have evaporated off Lower\u00a0Klamath\u00a0Lake and been transpired by the 55,842\u00a0acres of tule marsh the Keno and Snowgoose reefs kept flooded. Set against the whole river that is a small figure: at Klamath\u00a0River near Klamath, nine miles above the mouth, the U.S.\u00a0Geological\u00a0Survey measured an average of 14,700\u00a0cfs \u2014 about 10.6\u00a0million\u00a0AF a year, making the lake\u2019s evaporation roughly <b>1.7%<\/b> of what the Klamath carries into the Pacific. <!-- EDIT ME: 14,700 cfs is USGS Water-Supply Paper 1315-B, station 407, average for the 16 years 1910-26. Gage 11530500 has daily record from 1 Oct 1910 to present -- pulling that CSV would give a full-period mean and replace this short-window figure. --><span id=\"s-lrs-clause\"> A further <b id=\"s-lrs\">15,501<\/b>\u00a0AF would have gone out of the basin through the Lost\u00a0River\u00a0Slough.<\/span><\/p>\n\n    <!-- the two claims the year has to answer -->\n    <div class=\"kwd-claims\">\n      <div class=\"kwd-claim kwd-claim-mgmt\">\n        <p class=\"kwd-claim-tag\">The management<\/p>\n        <p class=\"kwd-claim-lead\">The Project re-times the year.<\/p>\n        <p class=\"kwd-claim-body\"><b>The clearest thing in the record is when the water moves, not how much.<\/b> Across 65 reconstructed years the natural river ran hardest in May \u2014 a median of <b>2,349\u00a0cfs<\/b> at Keno \u2014 then fell away to <b>558\u00a0cfs<\/b> by September in a typical water year. That is the <b>median<\/b>; the mean is 618. In the driest tenth of years September ran <b>258\u00a0cfs<\/b>, and in the driest year on record the reconstruction falls to <b>105\u00a0cfs<\/b> \u2014 with a single day at <b>102<\/b>. Anyone modelling from these figures should take the percentile, not the middle. What the Project does is <b>store<\/b> that water. When it is not needed for irrigation it can be released through drought and low-flow periods to hold up flows at Keno where live flow alone would not, and to approach the minimum summer and autumn flows the natural river carried \u2014 though no water right presently authorises releases of stored water for that last purpose.<\/p>\n        <p class=\"kwd-claim-body\">Nature would have run most of this water off in the winter melt, and much of the rest would have evaporated from the natural lakes before reaching Keno. The Project holds it back and pays it out through the dry months. On the annual total for Water\u00a0Year\u00a0<span id=\"hero-wy3\">2026<\/span> it is on course for <b id=\"s-abovenat\">24,401<\/b>\u00a0AF <span id=\"s-abovenat-dir\">more<\/span> over Keno than the natural lakes would have released \u2014 about 3% of the year\u2019s supply, and a projection to 30\u00a0September rather than a measurement.<\/p>\n        <p class=\"kwd-claim-body\">Held behind Link\u00a0River\u00a0Dam. Against what the two natural lakes would have passed over their rock reefs, the river below Keno runs <b>below<\/b> nature through winter and spring while the lake fills, and <b>above<\/b> it from midsummer on, when the natural river would have fallen away to little or nothing. The annual figure is a projection to 30\u00a0September; the seasonal pattern is what the record supports most firmly.<\/p>\n      <\/div>\n      <div class=\"kwd-claim kwd-claim-fish\">\n        <p class=\"kwd-claim-tag\">The fish the law protects<\/p>\n        <p class=\"kwd-claim-lead\">Salmon downriver, and the c\u2019waam & koptu in the lake.<\/p>\n        <p class=\"kwd-claim-body\"><b>Downriver.<\/b> Live temperature and oxygen at Keno show the conditions salmon meet today. What the sixty-five-year record shows is that the natural river was hardest on them in exactly the months that matter most. The median natural year ran <b>1,233\u00a0cfs<\/b> in July, <b>721<\/b> in August and <b>558<\/b> by September. In the driest tenth of years those figures fall to <b>658<\/b>, <b>350<\/b> and <b>258\u00a0cfs<\/b>, and in the driest year on record the reconstruction reaches <b>116\u00a0cfs<\/b>. On <b>169 days of the year<\/b> the natural river\u2019s driest tenth ran under 500\u00a0cfs.<\/p>\n        <p class=\"kwd-claim-body\">Set against that, Reclamation\u2019s 2024 Proposed\u00a0Action holds a floor near <b>650\u00a0cfs<\/b> year-round \u2014 <b>2.5\u00d7<\/b> what the natural river gave in its driest tenth of Septembers, and more than five times its driest year. Across sixty-five years of gaged record the river below Keno carried more than the natural lakes would have in <b>51 of 65 years<\/b>, and in dry years \u2014 below-average through critically dry \u2014 about <b>184,000\u00a0AF a year<\/b> more. The re-timing that stores winter water is the same thing that carries the river through the summer.<\/p>\n        <p class=\"kwd-claim-body\">None of this settles what salmon need. Flow is one variable among temperature, dissolved oxygen, disease and habitat, and the reach below Keno has changed in ways no reconstruction captures. What the record does establish is the baseline: the river the salmon evolved with ran very low, very late, in the years that resemble the ones now in dispute.<\/p>\n        <p class=\"kwd-claim-body\"><b>In the lake.<\/b> Upper\u00a0Klamath\u00a0Lake is the home water of the <b>c\u2019waam<\/b> and <b>koptu<\/b> \u2014 the Lost\u00a0River and shortnose suckers \u2014 sacred to the Klamath\u00a0Tribes and listed as endangered since 1988. They spawn in the springs and tributaries and live their long lives in the lake itself, so their water is the same water the Project stores. The July-to-September minimum elevation, the measure that governs how much lake is left them at the end of summer, averaged <b>4,139.21\u00a0ft<\/b> before 1992 and <b>4,138.33<\/b> from 2001 to 2023. It has risen since: <b>4,139.30<\/b> in 2025.<\/p>\n        <p class=\"kwd-claim-body\">K.I.D.\u2019s investment in efficiency \u2014 SCADA, measurement and control at the headworks and along the canals \u2014 is lowering the District\u2019s draw on the lake, leaving more water in that habitat. That is a contribution, not a solution: the District can change what it takes, but not what arrives. <!-- EDIT ME: c'waam and koptu recovery language and any claim about habitat benefit should be reviewed by counsel before release --><\/p>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n\n\n\n  <div class=\"kwd-act\"><span class=\"kwd-act-k\">Defend the water<\/span><p class=\"kwd-act-t\">What the record shows<\/p><p class=\"kwd-act-s\">K.I.D. represents its patrons where their water rights are decided. That case rests on evidence: sixty-five years of Reclamation\u2019s own measured inflow, the U.S.\u00a0Geological\u00a0Survey\u2019s gage record at Keno, and a reconstruction of what the basin did before the Project existed.<\/p><\/div>\n  <!-- ===== SIXTY-FIVE YEARS: moved up, establishes the record before any single year ===== -->\n  <section class=\"kwd-sec\">\n    <p class=\"kwd-what\">\n      <span class=\"kwd-what-t\">What \u201cnatural\u201d means on this page.<\/span>\n      One reconstruction, used everywhere below. It takes Reclamation\u2019s own <b>measured<\/b> daily net inflow to\n      Upper\u00a0Klamath\u00a0Lake and routes it the way the basin worked before the Project \u2014 over the Link\u00a0River\n      reef, across a Lower\u00a0Klamath\u00a0Lake of open water and tule marsh that evaporated much of it, and over the\n      Keno reef at 4,083.1\u00a0ft. It is not a forecast and not an ideal; it is what the same water would have done\n      without the works. Every \u201cnatural\u201d figure on this page \u2014 this year\u2019s and all 65 \u2014 comes from it.\n    <\/p>\n    <div class=\"kwd-h39\">\n      <h4>Sixty-five years of the natural river at Keno<\/h4>\n      <p class=\"kwd-h39-sub\">The same reconstruction, run on Reclamation\u2019s <b>measured<\/b> daily Upper\u00a0Klamath\u00a0Lake net inflow for every water year from 1961 to 2025. Each bar is one water year; the red line is what the gage actually recorded.<\/p>\n      <ul class=\"kwd-bkey\">\n        <li><i class=\"kwd-sw\" style=\"background:#4a5165\"><\/i>Passed over the Keno reef under natural conditions<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:#2f8fb0;opacity:.30\"><\/i>Consumed by Lower\u00a0Klamath\u00a0Lake before reaching Keno<\/li>\n        <li><i class=\"kwd-sw kwd-sw-ln\" style=\"background:#b22234\"><\/i>Actually carried past the Keno gage<\/li>\n        <li><i class=\"kwd-sw kwd-sw-o\"><\/i>Shutoff years, 2001 and 2021<\/li>\n        <li><i class=\"kwd-sw kwd-sw-grad\"><\/i>Year type on the Klamath\u00a0County drought index \u2014 wet to critically dry<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:transparent\"><\/i>Lost\u00a0River\u00a0Slough losses are inside the pale blue \u2014 too small to draw, in the tooltip<\/li>\n      <\/ul>\n      <div id=\"kwd-h39-chart\"><\/div>\n      <div class=\"kwd-h39-stats\">\n        <div class=\"kwd-h39-stat\"><span>Median natural year<\/span><b>733,840<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">AF over Keno<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Driest year, 2021<\/span><b>308,340<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">AF over Keno<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Jul\u2013Sep median<\/span><b>685 cfs<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">natural summer flow<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Lost River Slough<\/span><b>4,788<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">AF a year out of the basin, 65-yr mean<\/span><\/div>\n      <\/div>\n      <p class=\"kwd-h39-note\">Net inflow is Reclamation\u2019s measured daily record for Upper\u00a0Klamath\u00a0Lake, water years 1961\u20132025, with no gaps; its 65-year mean of 1,052,524\u00a0AF is the basin\u2019s own long-term supply. Each water year opens the natural lake at the stage the previous year ended. Precipitation is credited on the open water and on the wetted share of tule marsh \u2014 the same surface the evapotranspiration is charged against \u2014 distributed across the year on the Tulelake gage record \u2014 79 complete years, 1932 to 2024, averaging 10.62\u00a0inches. Water lost out of the basin through the Lost\u00a0River\u00a0Slough is counted in the pale blue portion but is not drawn separately: it averages 4,788\u00a0AF a year and reaches 46,254\u00a0AF at most, under 2% of even the tallest bar. Hover any year for the split. Year type follows the categories used in K.I.D.\u2019s ESA review \u2014 wet W2\u2013W4, average D1\u2013W1, below average D2, drought D3, critically dry D4 \u2014 assigned to the most severe category reaching a quarter of Klamath\u00a0County on the standardized precipitation index during the water year. Measured flow is the U.S.\u00a0Geological\u00a0Survey daily record for gage\u00a011509500, summed by water year; its monthly means reproduce the figures USGS published in SIR\u00a02006\u20135212 to within 3%.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== ACT 1c: the seasonal proof ===== -->\n  <section class=\"kwd-sec\">\n    <div class=\"kwd-h39\" style=\"border-left-color:var(--steel)\">\n      <h4>What the natural year looked like, day by day vs Reclamation\u2019s 2024 Proposed Action<\/h4>\n      <p class=\"kwd-h39-sub\">The same 65 reconstructed water years, stacked on one calendar and set against what Reclamation\u2019s 2024 Proposed\u00a0Action would deliver at the same gage.<\/p>\n      <ul class=\"kwd-bkey\">\n        <li><i class=\"kwd-sw kwd-sw-ln\" style=\"background:#1b2a4e\"><\/i>The median natural year<\/li>\n        <li><i class=\"kwd-sw kwd-sw-ln\" style=\"background:#b22234\"><\/i>2024 Proposed Action, median month<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:#2f8fb0;opacity:.26\"><\/i>Middle 40% of the natural years<\/li>\n        <li><i class=\"kwd-sw kwd-sw-ln kwd-sw-dot\" style=\"background:#b22234\"><\/i>Its 10th to 90th percentile<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:#2f8fb0;opacity:.13\"><\/i>Middle 80% of the natural years<\/li>\n      <\/ul>\n      <p class=\"kwd-h39-sub\" style=\"font-size:12.5px;color:#8a8676\">The natural river peaked in May and fell away through the summer \u2014 the months the Project now carries.<\/p>\n      <div id=\"kwd-env-chart\"><\/div>\n      <div class=\"kwd-h39-stats\">\n        <div class=\"kwd-h39-stat\"><span>Median peak, early May<\/span><b>2,349 cfs<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">natural flow at Keno<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Median low, late autumn<\/span><b>401 cfs<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">natural flow at Keno<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Driest day on record<\/span><b>102 cfs<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">across all 65 years<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>May against September<\/span><b>4.2\u00d7<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">median seasonal swing<\/span><\/div>\n      <\/div>\n      <p class=\"kwd-h39-note\">Each day is summarised across all 65 reconstructed water years. Proposed Action figures are Table\u00a03-6 of the 2024 Klamath Project Operations Biological Assessment (14\u00a0June\u00a02024), simulated outcomes at the Keno gage with pulse flows on. That table reports <b>exceedance<\/b> percentiles, so its 90% column is a low flow and is plotted against the natural 10th percentile.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== share of the river at the mouth ===== -->\n  <section class=\"kwd-sec\">\n    <div class=\"kwd-h39\" style=\"border-left-color:var(--steel)\">\n      <h4>How much of the Klamath at the Pacific came past Keno<\/h4>\n      <p class=\"kwd-h39-sub\">Above, the median month at both gages in cubic feet per second \u2014 how much came past Keno, how much the lower basin added below it, and what the reconstruction says Keno would have carried with the natural lakes standing. Below, the same comparison expressed as a share of the whole river.<\/p>\n      <ul class=\"kwd-bkey\">\n        <li><i class=\"kwd-sw\" style=\"background:#b22234;opacity:.85\"><\/i>Flow past Keno<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:#2f8fb0;opacity:.30\"><\/i>Joins the river below Keno<\/li>\n        <li><i class=\"kwd-sw kwd-sw-ln kwd-sw-dot\" style=\"background:#1b2a4e\"><\/i>Keno under natural conditions<\/li>\n        <li><i class=\"kwd-sw kwd-sw-ln\" style=\"background:#b22234\"><\/i>Keno\u2019s share, as measured<\/li>\n        <li><i class=\"kwd-sw kwd-sw-ln kwd-sw-dot\" style=\"background:#1b2a4e\"><\/i>Under natural conditions, same years<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:#b22234;opacity:.20\"><\/i>Middle half of the measured years<\/li>\n        <li><i class=\"kwd-sw\" style=\"background:#1b2a4e;opacity:.18\"><\/i>Middle half of the natural years<\/li>\n      <\/ul>\n      <p class=\"kwd-h39-sub\" style=\"font-size:12.5px;color:#8a8676\">Two U.S.\u00a0Geological\u00a0Survey gages: Keno at the foot of the Project, and Klamath\u00a0River near Klamath, nine miles above the mouth. Each line is the median of the individual years, each band the middle half of them.<\/p>\n      <div id=\"kwd-vol-chart\"><\/div>\n      <div id=\"kwd-share-chart\"><\/div>\n      <div class=\"kwd-h39-stats\">\n        <div class=\"kwd-h39-stat\"><span>September, as measured<\/span><b>27.4%<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">of the river at the ocean came past Keno<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>January, as measured<\/span><b>5.8%<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">of the river at the ocean came past Keno<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Across the year<\/span><b>8.5%<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">against 9.8% under natural conditions<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>September, natural<\/span><b>17.6%<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">against 27.4% as measured<\/span><\/div>\n      <\/div>\n      <p class=\"kwd-h39-note\"><b>The upper basin matters least when the river is high and most when it is low.<\/b> In January the Klamath at the ocean runs near 32,000\u00a0cfs and Keno contributes under 6% of it; by September the river has fallen to about 3,200\u00a0cfs and Keno is more than a quarter. Keno\u2019s own flow barely moves across the year \u2014 672 to 2,489\u00a0cfs \u2014 because Upper\u00a0Klamath\u00a0Lake and its springs hold it steady, while the rain-fed Trinity, Salmon and Scott swing more than tenfold. <b>Against natural conditions the late-season share is far higher:<\/b> 27.4% in September where the reconstruction gives 17.6%, and 22.6% in August against 18.5%. From April through July the natural share was the higher of the two \u2014 and in July markedly so, 21.6% against 12.2% \u2014 because the natural river still had its snowmelt in those months while the Project is filling storage. <b>The Project is not the only work on this river.<\/b> Copco\u00a01 from 1918, Copco\u00a02 from 1925, J.C.\u00a0Boyle from 1958 and Iron\u00a0Gate from 1962 all stood between Keno and the ocean until they came out. Removal ran through Water\u00a0Year\u00a02024, when flows in the reach were drawn down and redirected for instream work, so that year reflects construction rather than either a dammed or a free-flowing river. The lower basin also carries its own diversions and storage. Those works do not affect the Keno gage, which sits above them, but they shaped the river the Keno flow is being measured against. The difference between the two lines here should be read as the whole developed system against natural conditions, not as the Klamath\u00a0Project by itself. Both records are daily means; the mouth series reproduces the average the U.S.\u00a0Geological\u00a0Survey published for 1910\u201326 to within 0.1%. <!-- EDIT ME: the hydropower complex was largely run-of-river with limited storage, so its effect on annual volume was small, but monthly re-timing is not quantified here. WY2024 is a construction year -- drawdown and instream work -- and should be excluded from any dammed-versus-free-flowing comparison. WY2025 is the first complete post-removal water year, so n=1; the record cannot yet support a post-removal era figure. --><\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== ACT 1b: the claim, by year type ===== -->\n  <section class=\"kwd-sec\">\n    <div class=\"kwd-h39\" style=\"border-left-color:var(--red)\">\n      <h4>What the Project does, by the kind of year it is<\/h4>\n      <p class=\"kwd-h39-sub\">Every water year from 1961 to 2025, sorted by its type on the Klamath\u00a0County drought index, comparing what the river <b>actually<\/b> carried past the Keno gage against what the reconstruction says the natural lakes would have passed. Positive means the Project put <b>more<\/b> water in the Klamath\u00a0River than nature would have. Each type is split at Water\u00a0Year\u00a02001, when Project operations changed under the biological opinions.<\/p>\n      <div id=\"kwd-dry-chart\"><\/div>\n      <div class=\"kwd-h39-stats\">\n        <div class=\"kwd-h39-stat\"><span>All 65 years<\/span><b>+199,944<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">AF a year over Keno more than natural<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Years above natural<\/span><b>51 of 65<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">on the USGS gage record<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>Before 2001<\/span><b>+288,905<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">AF a year \u2014 36 of 40 years positive<\/span><\/div>\n        <div class=\"kwd-h39-stat\"><span>2001 onward<\/span><b>+57,605<\/b><span style=\"text-transform:none;letter-spacing:0;color:#8a8676\">AF a year \u2014 15 of 25 years positive<\/span><\/div>\n      <\/div>\n      <p class=\"kwd-h39-note\"><b>Every kind of year comes out positive, and every one of them was larger before 2001.<\/b> The Project put more water past Keno than the natural lakes would have in 51 of 65 years; the exceptions are concentrated in the recent drought and in the wettest years, when the natural lakes would have spilled nearly everything. The surplus exists because the natural system lost roughly a quarter of a million acre-feet a year to Lower\u00a0Klamath\u00a0Lake before the water ever reached Keno, in wet years and dry alike \u2014 drain the lake and that water arrives instead. Measured flow is the U.S.\u00a0Geological\u00a0Survey daily record for gage\u00a011509500, 38,781 approved daily means, summed by water year.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== ACT 1c: the regulatory eras ===== -->\n  <section class=\"kwd-sec\">\n    <div class=\"kwd-h39\" style=\"border-left-color:var(--gold)\">\n      <h4>River, lake and farms, through five regulatory eras<\/h4>\n      <p class=\"kwd-h39-sub\">The same three measures under each governing document since the Klamath\u00a0Project operated on contracts alone. <b>The river<\/b> is how much more the Keno gage carried than the natural lakes would have passed. <b>The lake<\/b> is the July\u2013September minimum elevation of Upper\u00a0Klamath\u00a0Lake. <b>The farms<\/b> is the spring and summer draw on that lake by agriculture, measured against what it drew in the twenty-five years its demand was met in full. That benchmark is set <b>separately for each kind of year<\/b>, because a dry year needs more from the lake: 349,456\u00a0AF in critically dry years against 296,842 in wet ones. It is the lake\u2019s <b>share<\/b> of a fully supplied year, not the whole demand \u2014 the rest was offset by Lost\u00a0River water, precipitation on the crop, and return flows. Fall and winter demand is separate again.<\/p>\n      <div id=\"kwd-era-chart\"><\/div>\n      <p class=\"kwd-h39-note\"><b>All three fall together, and that is the point.<\/b> Between the contract era and the 2013\u20132019 opinion the river\u2019s gain over natural dropped 92%, the lake\u2019s summer minimum fell more than a foot, and agriculture\u2019s draw fell from 99% of its need to 89% \u2014 then to 51% under the 2020 opinion. No use gained at another\u2019s expense.<\/p>\n      <p class=\"kwd-h39-note\" style=\"margin-top:12px\"><b>Where the water went.<\/b> Under contracts, more water passed Keno than entered Upper\u00a0Klamath\u00a0Lake \u2014 1,106,824\u00a0AF against 1,062,404 \u2014 and farms took another 314,309 on top of that. The difference came from Lost\u00a0River water imported into the reach, drainage returning through the Klamath\u00a0Straits, and storage drawn down: about <b>359,000\u00a0AF a year<\/b> that the Project put into the river without taking it from the lake. By the 2020 opinion that figure was <b>8,000<\/b>. The water was not reallocated between farms and fish. The Project stopped moving it twice.<\/p>\n      <p class=\"kwd-h39-note\" style=\"margin-top:12px\"><b>Reading the farm strip.<\/b> The benchmark is what agriculture actually drew from the lake in the 25 years it was not curtailed, set separately for each kind of year because a dry year needs about 18% more from the lake than a wet one \u2014 349,456\u00a0AF against 296,842. Each era is measured against the mix of years it contained. These figures are the lake\u2019s share of a fully supplied spring and summer, not total demand; the rest came from Lost\u00a0River water, rain on the crop, and return flows. Fall and winter demand is separate, and refuge deliveries are excluded throughout. Since 2001 the shortfall against the benchmark totals <b>1,567,380\u00a0AF<\/b>, with 537,917\u00a0AF paid to fallow ground.<\/p>\n      <p class=\"kwd-h39-note\" style=\"margin-top:12px\"><b>A caution on the last bar.<\/b> The 2020 opinion\u2019s era runs 2020\u20132024, and <b>Water\u00a0Year\u00a02024 was a construction year<\/b>: the four hydroelectric dams below Keno came out that year, and flows in the reach were drawn down and redirected for instream work. That year is neither a dammed river nor a free-flowing one, and it moves this panel more than any other single year. Excluded, the river\u2019s gain over natural for the era rises from <b>+53,567<\/b> to <b>+102,173\u00a0AF<\/b> \u2014 it nearly doubles. The other two measures move the other way: the lake\u2019s summer minimum falls from 0.74 to 0.63\u00a0ft above 4,138, and agriculture\u2019s draw from 52% to 45% of need. The year is left in because removing it would be choosing which figures to improve. <!-- EDIT ME: consider whether to chart 2020-2023 with WY2024 shown separately as a construction year. --><\/p>\n      <p class=\"kwd-h39-note\" style=\"margin-top:12px\"><b>What is left out.<\/b> The 2024 opinions, covering Water\u00a0Years\u00a02025 through 2029, are not shown: one water year has closed under them, and Reclamation\u2019s delivery model does not extend past 2024, so two of these three measures would be empty. Single-year opinions are omitted too \u2014 in <b>2001<\/b> agriculture received 78,281\u00a0AF, 22% of what a critically dry year needs from the lake, while the river\u2019s gain over natural was +357,768\u00a0AF, indistinguishable from the contract era.<\/p>\n      <p class=\"kwd-h39-note\" style=\"margin-top:12px\"><b>What happened in the one year that has closed.<\/b> In <b>Water\u00a0Year\u00a02025<\/b> the river below Keno ran <b>205,338\u00a0AF under<\/b> what the reconstruction says the natural lakes would have passed \u2014 1,032,944 measured against 1,238,282. That reads like a bad year for the river. It was the opposite. After six years in which there was never enough to go round, the basin used its first full supply to put water back: <b>50,315\u00a0AF<\/b> down the Ady\u00a0Canal to the refuges, <b>27,811\u00a0AF<\/b> over Anderson-Rose\u00a0Dam into Sump\u00a01A, and <b>37,585\u00a0AF<\/b> added to storage in Upper\u00a0Klamath\u00a0Lake, which finished the year 0.15\u00a0ft higher than it began. That is <b>115,711\u00a0AF<\/b>, more than half the shortfall, and it does not count Tule\u00a0Lake deliveries or the ground flooded that had not seen water since 2019. The river carried less because the basin chose to refill what six dry years had drained. <!-- EDIT ME: 115,711 AF is 56% of the gap. Tule Lake deliveries and on-farm recharge are not in either tracker and would raise it; the remaining 89,627 AF is unaccounted. Sources: BOR Daily and TID Daily WY2024-2025. D Plant is excluded as it appears on both sheets for the same pumping. --><\/p>\n      <p class=\"kwd-h39-note\" style=\"margin-top:12px\">And the water moved both ways that year. Against the 115,711\u00a0AF put back, the Project returned <b>191,634\u00a0AF<\/b> to the Klamath \u2014 88,295 from the Lost\u00a0River, 70,396 through Station\u00a048, and 32,943 through the F and FF pumps. A single net figure hides that; the year was not a withdrawal but a large gross movement in both directions.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== CURRENT UPDATE LINK ===== -->\n  <a class=\"kwd-update\" href=\"https:\/\/klamathid.org\/home\/2026\/08\/19\/current-water-year\/\" id=\"kwd-update\">\n    <span class=\"kwd-update-l\">\n      <span class=\"kwd-update-eye\">Current Water Year Update<\/span>\n      <span class=\"kwd-update-txt\">The District\u2019s read on this season \u2014 supply, the wait list, and what\u2019s being done about it<\/span>\n    <\/span>\n    <span class=\"kwd-update-cta\">Read the update \u2192<\/span>\n  <\/a>\n\n  <div class=\"kwd-act\"><span class=\"kwd-act-k\">Move the water<\/span><p class=\"kwd-act-t\">Water Year\u00a02026, as it is running<\/p><p class=\"kwd-act-s\">K.I.D. exists to acquire, maintain, assure and deliver an adequate water supply. This is the season as it stands \u2014 what the basin has produced, where it has gone, and the conditions the Project is operating in today.<\/p><\/div>\n  <!-- ===== THREE CALENDARS ===== -->\n  <section class=\"kwd-cal\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">Read the year right<\/span><h2>Three calendars, one basin<\/h2><\/div>\n    <p class=\"kwd-cal-intro\">The Klamath year runs on three different clocks, and they are easy to mix up \u2014 a lake level in October and a delivery figure in July belong to different periods. Here is what each one is, and where its dates come from.<\/p>\n    <div class=\"kwd-cal-cards\">\n      <div class=\"kwd-cal-card c-wy\">\n        <span class=\"kwd-cal-eye\">Hydrologic clock<\/span>\n        <div class=\"kwd-cal-name\">Water Year<\/div>\n        <div class=\"kwd-cal-dates\">Oct 1 \u2013 Sep 30<\/div>\n        <p class=\"kwd-cal-def\">The accounting year, named for the year it ends \u2014 WY\u00a0<span id=\"cal-wy\">2026<\/span> runs Oct\u00a01\u00a0<span id=\"cal-wyp\">2025<\/span> to Sep\u00a030\u00a0<span id=\"cal-wy2\">2026<\/span>. Every supply and accountability number on this page runs on this clock.<\/p>\n        <div class=\"kwd-cal-auth\">USGS \/ Reclamation convention<\/div>\n      <\/div>\n      <div class=\"kwd-cal-card c-wr\">\n        <span class=\"kwd-cal-eye\">Legal season<\/span>\n        <div class=\"kwd-cal-name\">K.I.D. water right<\/div>\n        <div class=\"kwd-cal-dates\">Mar 1 \u2013 Oct 31<\/div>\n        <p class=\"kwd-cal-def\">The season of the District\u2019s right to divert and use water. A fixed legal period \u2014 it does not flex with the weather.<\/p>\n        <div class=\"kwd-cal-auth\">K.I.D. adjudicated right<\/div>\n      <\/div>\n      <div class=\"kwd-cal-card c-ir\">\n        <span class=\"kwd-cal-eye\">Operational period<\/span>\n        <div class=\"kwd-cal-name\">Irrigation season<\/div>\n        <div class=\"kwd-cal-dates\">\u2248\u00a0late Apr \u2013 mid Oct<\/div>\n        <p class=\"kwd-cal-def\">When water is actually delivered to fields \u2014 starting when conditions require it after Mar\u00a01 (about the third week of April in an average year) and running to early October (usually about the 15th). Its edges move year to year, and it sits inside the water right.<\/p>\n        <div class=\"kwd-cal-auth\">District operations \u00b7 conditions-driven<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"kwd-cal-tl\">\n      <svg viewBox=\"0 0 1024 162\" preserveAspectRatio=\"xMidYMid meet\" role=\"img\" aria-label=\"Timeline comparing the water year, the K.I.D. water right, and the irrigation season\">\n        <rect x=\"898\" y=\"26\" width=\"70\" height=\"116\" fill=\"#1b2a4e\" opacity=\"0.05\"\/>\n        <g stroke=\"#e2dccd\" stroke-width=\"1\">\n          <line x1=\"56\" y1=\"26\" x2=\"56\" y2=\"140\"\/><line x1=\"126\" y1=\"26\" x2=\"126\" y2=\"140\"\/><line x1=\"196\" y1=\"26\" x2=\"196\" y2=\"140\"\/><line x1=\"267\" y1=\"26\" x2=\"267\" y2=\"140\"\/><line x1=\"337\" y1=\"26\" x2=\"337\" y2=\"140\"\/><line x1=\"407\" y1=\"26\" x2=\"407\" y2=\"140\"\/><line x1=\"477\" y1=\"26\" x2=\"477\" y2=\"140\"\/><line x1=\"547\" y1=\"26\" x2=\"547\" y2=\"140\"\/><line x1=\"617\" y1=\"26\" x2=\"617\" y2=\"140\"\/><line x1=\"687\" y1=\"26\" x2=\"687\" y2=\"140\"\/><line x1=\"758\" y1=\"26\" x2=\"758\" y2=\"140\"\/><line x1=\"828\" y1=\"26\" x2=\"828\" y2=\"140\"\/><line x1=\"968\" y1=\"26\" x2=\"968\" y2=\"140\"\/>\n        <\/g>\n        <line x1=\"898\" y1=\"20\" x2=\"898\" y2=\"144\" stroke=\"#b22234\" stroke-width=\"1.5\" stroke-dasharray=\"4 3\"\/>\n        <text x=\"894\" y=\"18\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"10\" font-weight=\"600\" fill=\"#b22234\">Oct 1 \u00b7 water year rolls over<\/text>\n        <rect x=\"56\" y=\"32\" width=\"842\" height=\"24\" rx=\"4\" fill=\"#1b2a4e\"\/>\n        <text x=\"67\" y=\"48\" font-family=\"IBM Plex Mono\" font-size=\"11\" font-weight=\"600\" id=\"tl-wy\" fill=\"#ffffff\">WATER YEAR 2026 \u00b7 OCT 1 \u2013 SEP 30<\/text>\n        <rect x=\"407\" y=\"68\" width=\"561\" height=\"24\" rx=\"4\" fill=\"#c39a3e\"\/>\n        <text x=\"418\" y=\"84\" font-family=\"IBM Plex Mono\" font-size=\"11\" font-weight=\"600\" fill=\"#1b2a4e\">WATER RIGHT \u00b7 MAR 1 \u2013 OCT 31<\/text>\n        <rect x=\"522\" y=\"104\" width=\"411\" height=\"24\" rx=\"4\" fill=\"#1f6f8b\"\/>\n        <text x=\"533\" y=\"120\" font-family=\"IBM Plex Mono\" font-size=\"11\" font-weight=\"600\" fill=\"#ffffff\">IRRIGATION \u00b7 \u2248 LATE APR \u2013 MID OCT<\/text>\n        <g font-family=\"IBM Plex Mono\" font-size=\"11\" fill=\"#8a8270\" text-anchor=\"middle\">\n          <text x=\"91\" y=\"156\">O<\/text><text x=\"161\" y=\"156\">N<\/text><text x=\"231\" y=\"156\">D<\/text><text x=\"302\" y=\"156\">J<\/text><text x=\"372\" y=\"156\">F<\/text><text x=\"442\" y=\"156\">M<\/text><text x=\"512\" y=\"156\">A<\/text><text x=\"582\" y=\"156\">M<\/text><text x=\"652\" y=\"156\">J<\/text><text x=\"723\" y=\"156\">J<\/text><text x=\"793\" y=\"156\">A<\/text><text x=\"863\" y=\"156\">S<\/text><text x=\"934\" y=\"156\">O<\/text>\n        <\/g>\n      <\/svg>\n      <p class=\"kwd-cal-cap\">The irrigation season nests inside the water right; the water year is the separate accounting clock. Because it rolls over on October\u00a01, the water right\u2019s season ends in a <em>different<\/em> water year than it began \u2014 which is why an October lake level and a July delivery are counted in different years.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- ===== JUMP NAV ===== -->\n  <nav class=\"kwd-jump\" aria-label=\"Jump to section\">\n    <span class=\"kwd-jump-lbl\">The details<\/span>\n    <a href=\"#kwd-now\">Live now<\/a>\n    <a href=\"#kwd-supply\">The supply & the lake<\/a>\n    <a href=\"#kwd-fish\">The fish<\/a>\n    <a href=\"#kwd-mgmt\">The management<\/a>\n    <a href=\"#kwd-context\">Drought & fire<\/a>\n    <a href=\"#kwd-sources\">Sources<\/a>\n  <\/nav>\n\n  <!-- ===== SECTION: LIVE NOW ===== -->\n  <section class=\"kwd-sec\" id=\"kwd-now\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">01 \u00b7 Right now<\/span><h2>Live conditions across the Project<\/h2><\/div>\n    <p class=\"kwd-sec-intro\">Read straight from the federal monitors, refreshed each time this page loads. Every tile opens its official source.<\/p>\n    <div class=\"kwd-tiles\">\n      <a class=\"kwd-tile t-ukl\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11507000\/\" target=\"_blank\" rel=\"noopener\" data-t=\"ukl\"><span class=\"kwd-tile-l\">Upper Klamath Lake<\/span><span class=\"kwd-tile-v\"><b class=\"kwd-num\">\u2014<\/b><span class=\"kwd-unit\">ft<\/span><\/span><span class=\"kwd-tile-c\">Reclamation datum \u00b7 USGS 11507000<\/span><\/a>\n      <a class=\"kwd-tile t-link\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11507500\/\" target=\"_blank\" rel=\"noopener\" data-t=\"link\"><span class=\"kwd-tile-l\">Link River flow<\/span><span class=\"kwd-tile-v\"><b class=\"kwd-num\">\u2014<\/b><span class=\"kwd-unit\">cfs<\/span><\/span><span class=\"kwd-tile-c\">leaving the lake \u00b7 USGS 11507500<\/span><\/a>\n      <a class=\"kwd-tile t-keno\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11509500\/\" target=\"_blank\" rel=\"noopener\" data-t=\"keno\"><span class=\"kwd-tile-l\">Keno outflow<\/span><span class=\"kwd-tile-v\"><b class=\"kwd-num\">\u2014<\/b><span class=\"kwd-unit\">cfs<\/span><\/span><span class=\"kwd-tile-c\">over Keno \u00b7 USGS 11509500<\/span><\/a>\n      <a class=\"kwd-tile t-temp\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11509500\/\" target=\"_blank\" rel=\"noopener\" data-t=\"temp\"><span class=\"kwd-tile-l\">Keno water temp<\/span><span class=\"kwd-tile-v\"><b class=\"kwd-num\">\u2014<\/b><span class=\"kwd-unit\">\u00b0F<\/span><\/span><span class=\"kwd-tile-c\">bottom of Project \u00b7 USGS 11509500<\/span><\/a>\n      <a class=\"kwd-tile t-do\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11509500\/\" target=\"_blank\" rel=\"noopener\" data-t=\"do\"><span class=\"kwd-tile-l\">Keno dissolved O\u2082<\/span><span class=\"kwd-tile-v\"><b class=\"kwd-num\">\u2014<\/b><span class=\"kwd-unit\">mg\/L<\/span><\/span><span class=\"kwd-tile-c\">bottom of Project \u00b7 USGS 11509500<\/span><\/a>\n    <\/div>\n  <\/section>\n\n  <!-- ===== SECTION: THE SUPPLY & THE LAKE ===== -->\n  <section class=\"kwd-sec\" id=\"kwd-supply\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">02 \u00b7 Where it comes from<\/span><h2>The supply, and the lake it sits in<\/h2><\/div>\n    <p class=\"kwd-sec-intro\">The year\u2019s water arrives as mountain snow, melts into Upper\u00a0Klamath\u00a0Lake, and is drawn down through the season. The lake is also the home water of the c\u2019waam and koptu \u2014 so how full it runs is both a supply question and a habitat one.<\/p>\n    <div class=\"kwd-card\">\n      <div class=\"kwd-card-head\"><div><div class=\"kwd-card-t\">Upper Klamath Lake elevation<\/div><div class=\"kwd-card-s\">Daily lake level \u00b7 Reclamation datum \u00b7 past 12 months \u00b7 USGS 11507000<\/div><\/div><a class=\"kwd-card-src\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11507000\/\" target=\"_blank\" rel=\"noopener\">Full chart \u2197<\/a><\/div>\n      <div class=\"kwd-plot\" id=\"kwd-elev\"><div class=\"kwd-plot-load\">Loading live data from USGS\u2026<\/div><\/div>\n    <\/div>\n    <div class=\"kwd-lakestats\">\n      <div class=\"kwd-evap kwd-store\">\n        <div><div class=\"kwd-evap-l\">Peak water stored in Upper Klamath Lake<\/div><div class=\"kwd-evap-s\">measured to 4,136.0\u00a0ft, incl. 2025 carryover \u00b7 peaked <span id=\"store-date\">Apr\u00a05,\u00a02026<\/span><\/div><\/div>\n        <div class=\"kwd-evap-v\"><b id=\"store-af\">573,848<\/b><span>AF<\/span><\/div>\n      <\/div>\n      <div class=\"kwd-evap\">\n        <div><div class=\"kwd-evap-l\">Open-water evaporation off the lake<\/div><div class=\"kwd-evap-s\">AgriMet Agency Lake (AGKO) \u00b7 as of <span id=\"evap-asof\">Aug\u00a018,\u00a02026<\/span><\/div><\/div>\n        <div class=\"kwd-evap-v\"><b id=\"evap-rate\">0.25<\/b><span>in\/day<\/span><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"kwd-note kwd-scada\">\n      <p class=\"kwd-note-t\">K.I.D. is lowering its draw on the lake<\/p>\n      <p>The District is investing in water-management efficiency \u2014 SCADA and related monitoring and control tools \u2014 that sharpen how K.I.D. moves and measures water. Delivering the same supply with less loss reduces the District\u2019s demand on Upper\u00a0Klamath\u00a0Lake, and water not drawn is water left in the lake \u2014 the habitat the c\u2019waam and koptu depend on.<\/p>\n    <\/div>\n    <div class=\"kwd-embeds\">\n      <div class=\"kwd-card kwd-embed-card kwd-nrcs\">\n        <div class=\"kwd-card-t\">Basin snowpack \u00b7 water-year to date<\/div>\n        <iframe title=\"Klamath Basin snow water equivalent, USDA NRCS\" src=\"https:\/\/nwcc-apps.sc.egov.usda.gov\/awdb\/basin-plots\/POR\/WTEQ\/assocHUCor_8\/klamath.html?showTitle=true\" loading=\"lazy\"><\/iframe>\n        <a class=\"kwd-card-src\" href=\"https:\/\/nwcc-apps.sc.egov.usda.gov\/awdb\/basin-plots\/POR\/WTEQ\/assocHUCor_8\/klamath.html\" target=\"_blank\" rel=\"noopener\">Open full snow plot at NRCS \u2197<\/a>\n      <\/div>\n      <div class=\"kwd-card kwd-embed-card kwd-nrcs\">\n        <div class=\"kwd-card-t\">Basin precipitation \u00b7 water-year to date<\/div>\n        <iframe title=\"Klamath Basin precipitation, USDA NRCS\" src=\"https:\/\/nwcc-apps.sc.egov.usda.gov\/awdb\/basin-plots\/POR\/PREC\/assocHUCor_8\/klamath.html?showTitle=true\" loading=\"lazy\"><\/iframe>\n        <a class=\"kwd-card-src\" href=\"https:\/\/nwcc-apps.sc.egov.usda.gov\/awdb\/basin-plots\/POR\/PREC\/assocHUCor_8\/klamath.html\" target=\"_blank\" rel=\"noopener\">Open full precipitation plot at NRCS \u2197<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== SECTION: THE MANAGEMENT ===== -->\n  <section class=\"kwd-sec\" id=\"kwd-mgmt\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">04 \u00b7 How it\u2019s managed<\/span><h2>The management, in full<\/h2><\/div>\n    <p class=\"kwd-sec-intro\">The accounting behind the story: cumulative inflow to the lake, actual outflow over Keno, and the same reconstructed natural flow charted day by day further down \u2014 routed through the natural Upper and Lower\u00a0Klamath\u00a0Lakes on Reclamation\u2019s own parameters. Drawn from K.I.D.\u2019s daily tracking file.<\/p>\n    <div class=\"kwd-acct-tiles\">\n      <div class=\"kwd-at t-in\"><div class=\"kwd-at-l\">Net inflow to UKL \u2014 projected<\/div><div class=\"kwd-at-v\" id=\"a-in\">\u2014<\/div><\/div>\n      <div class=\"kwd-at t-act\"><div class=\"kwd-at-l\">Outflow over Keno \u2014 projected<\/div><div class=\"kwd-at-v\" id=\"a-act\">\u2014<\/div><\/div>\n      <div class=\"kwd-at t-nat\"><div class=\"kwd-at-l\">Natural at Keno \u2014 reconstructed<\/div><div class=\"kwd-at-v\" id=\"a-nat\">\u2014<\/div><\/div>\n      <div class=\"kwd-at t-gap\"><div class=\"kwd-at-l\">Actual against natural<\/div><div class=\"kwd-at-v\" id=\"a-gap\">\u2014<\/div><\/div>\n    <\/div>\n    <div class=\"kwd-dps\">\n      <div class=\"kwd-dps-head\">Deferred Project Supply \u00b7 WY\u00a0<span id=\"dps-wy\">2026<\/span><span class=\"kwd-dps-src\">Reclamation \u00b7 as of <span id=\"a-dps-asof\">Aug\u00a013,\u00a02026<\/span><\/span><\/div>\n      <div class=\"kwd-dps-row\"><span class=\"kwd-dps-total\"><b id=\"a-dps-total\">47,430<\/b>\u00a0AF<\/span><span class=\"kwd-dps-desc\">Project return flows sent downriver to support targeted Keno flows<\/span><\/div>\n      <div class=\"kwd-dps-bd\">Lost\u00a0River\u00a0Diversion\u00a0Channel <b id=\"a-dps-lrdc\">31,440<\/b>\u00a0AF \u00b7 F\/FF pumping <b id=\"a-dps-ff\">15,990<\/b>\u00a0AF<\/div>\n    <\/div>\n    <div class=\"kwd-card\"><div class=\"kwd-plot kwd-plot-acct\" id=\"kwd-acct\"><div class=\"kwd-plot-load\">Building the accountability chart\u2026<\/div><\/div><\/div>\n    <p class=\"kwd-note\"><span class=\"kwd-note-t\">Reading the dashed line.<\/span> The dashed line is the <b>reconstructed natural flow<\/b> at Keno, accumulated day by day \u2014 the same reconstruction charted as daily flow further down. It crosses the actual line in late winter and stays above it: nature would have delivered most of the year\u2019s water in the winter and spring melt, then run dry. The Project holds that water back, which is why the red line trails through spring, and releases it through the irrigation season, which is why the gap closes again by late summer.<\/p>\n    <div class=\"kwd-card\">\n      <div class=\"kwd-card-head\"><div><div class=\"kwd-card-t\">How the Project changes the Klamath\u00a0River<\/div><div class=\"kwd-card-s\">daily cfs \u00b7 net inflow to Upper\u00a0Klamath\u00a0Lake, shown as a 10-day mean because it reaches Keno only after two natural lakes have damped it, with actual flow at Keno against reconstructed natural flow \u00b7 two-lake routing on Reclamation\u2019s own natural outflow rating and Natural\u00a0Flow\u00a0Study Part\u00a02 lake parameters<\/div><\/div><\/div>\n      <div class=\"kwd-plot kwd-plot-route\" id=\"kwd-route\"><div class=\"kwd-plot-load\">Building the routing\u2026<\/div><\/div>\n      <div class=\"kwd-legend\"><span class=\"kwd-legend-lead\">cfs<\/span><span class=\"kwd-key\"><span class=\"kwd-swl kwd-swl-dot\" style=\"background:#b8b3a2\"><\/span>net inflow to U.K.L., 10-day mean<\/span><span class=\"kwd-key\"><span class=\"kwd-swl\" style=\"background:#b22234\"><\/span>actual at Keno<\/span><span class=\"kwd-key\"><span class=\"kwd-swl kwd-swl-dot\" style=\"background:#1b2a4e\"><\/span>natural (reconstructed)<\/span><span class=\"kwd-key\"><span class=\"kwd-swl\" style=\"background:#2f8fb0\"><\/span>held in storage<\/span><span class=\"kwd-key\"><span class=\"kwd-swl\" style=\"background:#c39a3e\"><\/span>added to the river<\/span><\/div>\n    <\/div>\n\n\n\n\n  <\/section>\n\n  <div class=\"kwd-act\"><span class=\"kwd-act-k\">Conserve the water<\/span><p class=\"kwd-act-t\">The basin the water runs through<\/p><p class=\"kwd-act-s\">K.I.D. promotes the conservation of water, soil and other natural resources. These are the conditions the species the law protects are meeting, the District\u2019s own investment in efficiency, and the drought and fire picture the whole basin is living in.<\/p><\/div>\n  <!-- ===== SECTION: THE FISH ===== -->\n  <section class=\"kwd-sec\" id=\"kwd-fish\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">03 \u00b7 The listed species<\/span><h2>The fish, in the water they live in<\/h2><\/div>\n    <p class=\"kwd-sec-intro\">Two protected species, two different waters. Salmon are an introduced presence downriver, meeting the conditions the Project passes at Keno; the c\u2019waam and koptu live in the lake above, adapted to summers that would harm salmon. The colour flags rate each live reading against standard salmon thresholds \u2014 they apply to <b>salmon only<\/b>.<\/p>\n\n    <div class=\"kwd-card\">\n      <div class=\"kwd-card-head\"><div><div class=\"kwd-card-t\">Upper Klamath Lake vs Keno \u00b7 live water quality<\/div><div class=\"kwd-card-s\">the water entering the Project vs leaving it<\/div><\/div><\/div>\n      <div class=\"kwd-uw\">\n        <div class=\"kwd-uw-card\"><div class=\"kwd-uw-p\">Water temperature<\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">Upper\u00a0Klamath\u00a0Lake<\/span><span><b class=\"kwd-uw-v\" id=\"uw-ukl-temp\">\u2014<\/b>\u00a0\u00b0F<span class=\"kwd-uw-cond\" id=\"uw-ukl-temp-c\"><\/span><\/span><\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">At Keno<\/span><span><b class=\"kwd-uw-v\" id=\"uw-keno-temp\">\u2014<\/b>\u00a0\u00b0F<span class=\"kwd-uw-cond\" id=\"uw-keno-temp-c\"><\/span><\/span><\/div><\/div>\n        <div class=\"kwd-uw-card\"><div class=\"kwd-uw-p\">Dissolved oxygen<\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">Upper\u00a0Klamath\u00a0Lake<\/span><span><b class=\"kwd-uw-v\" id=\"uw-ukl-do\">\u2014<\/b>\u00a0mg\/L<span class=\"kwd-uw-cond\" id=\"uw-ukl-do-c\"><\/span><\/span><\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">At Keno<\/span><span><b class=\"kwd-uw-v\" id=\"uw-keno-do\">\u2014<\/b>\u00a0mg\/L<span class=\"kwd-uw-cond\" id=\"uw-keno-do-c\"><\/span><\/span><\/div><\/div>\n        <div class=\"kwd-uw-card\"><div class=\"kwd-uw-p\">pH<\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">Upper\u00a0Klamath\u00a0Lake<\/span><span><b class=\"kwd-uw-v\" id=\"uw-ukl-ph\">\u2014<\/b><span class=\"kwd-uw-cond\" id=\"uw-ukl-ph-c\"><\/span><\/span><\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">At Keno<\/span><span><b class=\"kwd-uw-v\" id=\"uw-keno-ph\">\u2014<\/b><span class=\"kwd-uw-cond\" id=\"uw-keno-ph-c\"><\/span><\/span><\/div><\/div>\n        <div class=\"kwd-uw-card\"><div class=\"kwd-uw-p\">Un-ionized ammonia<span class=\"kwd-uw-tag\">c\u2019waam & koptu \u00b7 not live<\/span><\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">UKL documented peak<\/span><span><b class=\"kwd-uw-v\">~300<\/b>\u00a0\u00b5g\/L<\/span><\/div>\n          <div class=\"kwd-uw-r\"><span class=\"kwd-uw-l\">Suckers\u2019 lethal<\/span><span><b class=\"kwd-uw-v\">530\u2013780<\/b>\u00a0\u00b5g\/L<\/span><\/div><\/div>\n      <\/div>\n      <div class=\"kwd-legend\"><span class=\"kwd-legend-lead\">Salmon suitability<\/span><span class=\"kwd-key\"><span class=\"kwd-sw g\"><\/span>suitable<\/span><span class=\"kwd-key\"><span class=\"kwd-sw a\"><\/span>marginal<\/span><span class=\"kwd-key\"><span class=\"kwd-sw r\"><\/span>harmful<\/span><span class=\"kwd-legend-note\">the ammonia row is a separate sucker measure<\/span><\/div>\n    <\/div>\n\n    <div class=\"kwd-card\">\n      <div class=\"kwd-card-head\"><div><div class=\"kwd-card-t\">Keno conditions over the year, for salmon<\/div><div class=\"kwd-card-s\">daily max temperature & daily min oxygen \u00b7 past 12 months \u00b7 USGS 11509500<\/div><\/div><\/div>\n      <div class=\"kwd-plot kwd-plot-wq\" id=\"kwd-wq-temp\"><div class=\"kwd-plot-load\">Loading live data from USGS\u2026<\/div><\/div>\n      <div class=\"kwd-plot kwd-plot-wq\" id=\"kwd-wq-do\"><div class=\"kwd-plot-load\">Loading live data from USGS\u2026<\/div><\/div>\n      <div class=\"kwd-legend\"><span class=\"kwd-legend-lead\">Salmon condition<\/span><span class=\"kwd-key\"><span class=\"kwd-sw g\"><\/span>suitable<\/span><span class=\"kwd-key\"><span class=\"kwd-sw a\"><\/span>marginal<\/span><span class=\"kwd-key\"><span class=\"kwd-sw r\"><\/span>harmful<\/span><span class=\"kwd-legend-note\">bars show the condition of the water, not the presence of fish<\/span><\/div>\n    <\/div>\n\n    <div class=\"kwd-card\">\n      <div class=\"kwd-card-head\"><div><div class=\"kwd-card-t\">Days Keno crossed each salmon threshold<\/div><div class=\"kwd-card-s\">water year <span id=\"days-wy\">2026<\/span> to date \u00b7 live from USGS 11509500<\/div><\/div><\/div>\n      <div class=\"kwd-thr\">\n        <div class=\"kwd-thr-col\"><div class=\"kwd-thr-h\">Water temperature<\/div>\n          <div class=\"kwd-thr-row\"><span class=\"kwd-band a\"><\/span><span class=\"kwd-thr-lvl\">Rearing & growth stress<span class=\"kwd-thr-sub\">daily max above ~64\u00b0F<\/span><\/span><span class=\"kwd-thr-d\"><b id=\"d-t-stress\">\u2014<\/b> days<\/span><\/div>\n          <div class=\"kwd-thr-row\"><span class=\"kwd-band o\"><\/span><span class=\"kwd-thr-lvl\">Adult migration impaired<span class=\"kwd-thr-sub\">above ~70\u00b0F \u00b7 migration season<\/span><\/span><span class=\"kwd-thr-d\"><b id=\"d-t-mig\">\u2014<\/b> days<\/span><\/div>\n          <div class=\"kwd-thr-row\"><span class=\"kwd-band r\"><\/span><span class=\"kwd-thr-lvl\">Lethal<span class=\"kwd-thr-sub\">daily max near 77\u00b0F<\/span><\/span><span class=\"kwd-thr-d\"><b id=\"d-t-lethal\">\u2014<\/b> days<\/span><\/div><\/div>\n        <div class=\"kwd-thr-col\"><div class=\"kwd-thr-h\">Dissolved oxygen<\/div>\n          <div class=\"kwd-thr-row\"><span class=\"kwd-band a\"><\/span><span class=\"kwd-thr-lvl\">Stress & avoidance<span class=\"kwd-thr-sub\">daily min below ~6 mg\/L<\/span><\/span><span class=\"kwd-thr-d\"><b id=\"d-do-stress\">\u2014<\/b> days<\/span><\/div>\n          <div class=\"kwd-thr-row\"><span class=\"kwd-band o\"><\/span><span class=\"kwd-thr-lvl\">Serious harm<span class=\"kwd-thr-sub\">daily min below ~5 mg\/L<\/span><\/span><span class=\"kwd-thr-d\"><b id=\"d-do-harm\">\u2014<\/b> days<\/span><\/div>\n          <div class=\"kwd-thr-row\"><span class=\"kwd-band r\"><\/span><span class=\"kwd-thr-lvl\">Lethal<span class=\"kwd-thr-sub\">daily min near 3.3 mg\/L<\/span><\/span><span class=\"kwd-thr-d\"><b id=\"d-do-lethal\">\u2014<\/b> days<\/span><\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== SECTION: DROUGHT & FIRE ===== -->\n  <section class=\"kwd-sec\" id=\"kwd-context\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">05 \u00b7 The backdrop<\/span><h2>The year\u2019s drought & wildfire<\/h2><\/div>\n    <p class=\"kwd-sec-intro\">The conditions the whole basin is managing against. The Drought Monitor updates each Thursday; the Windy map is live.<\/p>\n    <div class=\"kwd-embeds\">\n      <div class=\"kwd-card kwd-embed-card\">\n        <div class=\"kwd-card-t\">U.S. Drought Monitor \u2014 Oregon<\/div>\n        <a class=\"kwd-usdm\" href=\"https:\/\/www.drought.gov\/states\/oregon\/county\/klamath\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/droughtmonitor.unl.edu\/data\/png\/current\/current_oregon_text.png\" alt=\"Current U.S. Drought Monitor map for Oregon\" loading=\"lazy\" onerror=\"this.parentNode.classList.add('kwd-imgfail')\"><span class=\"kwd-imgfail-msg\">Open the current Drought Monitor at Drought.gov \u2197<\/span><\/a>\n        <a class=\"kwd-card-src\" href=\"https:\/\/www.drought.gov\/states\/oregon\/county\/klamath\" target=\"_blank\" rel=\"noopener\">Klamath County conditions \u2197<\/a>\n      <\/div>\n      <div class=\"kwd-card kwd-embed-card\">\n        <div class=\"kwd-card-t\">Live drought & active wildfire<\/div>\n        <iframe title=\"Windy live drought map for Klamath\" src=\"https:\/\/embed.windy.com\/embed2.html?lat=42.846&lon=-120.526&zoom=7&level=surface&overlay=drought40&menu=&message=&marker=true&calendar=now&type=map&location=coordinates&metricWind=default&metricTemp=default&radarRange=-1\" loading=\"lazy\"><\/iframe>\n        <a class=\"kwd-card-src kwd-fire\" href=\"https:\/\/www.windy.com\/-Menu\/menu?drought40,42.846,-120.526,7,i:pressure,p:firespots\" target=\"_blank\" rel=\"noopener\">Open live wildfire + drought on Windy \u2197<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n  <section class=\"kwd-sec\">\n    <div class=\"kwd-act\"><span class=\"kwd-act-k\">Method and sources<\/span><p class=\"kwd-act-t\">How these numbers were made<\/p><p class=\"kwd-act-s\">Every figure above comes from a published record or a stated calculation. What follows is where each came from, what the reconstruction assumes, and what it does not settle.<\/p><\/div>\n    <div class=\"kwd-note\"><span class=\"kwd-note-t\">How the reconstruction works<\/span>\n      <p>The dashed line is the Klamath\u00a0River at Keno as it would run with no Project \u2014 daily inflow routed through the two natural lakes and over their rock reefs.<\/p>\n      <div class=\"kwd-note-grid\">\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">1 \u00b7 Upper Klamath Lake<\/span>\n        <p>Inflow is routed on Reclamation\u2019s own rating of outflow \u201cin a state of nature\u201d over the Link\u00a0River reef.<\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">2 \u00b7 Lower Klamath Lake<\/span>\n        <p>Parameters from Reclamation\u2019s Natural\u00a0Flow\u00a0Study, Part\u00a02: <b>34,994\u00a0acres<\/b> of open water and <b>55,842\u00a0acres<\/b> of marsh, the Keno reef at <b>4,083.1\u00a0ft<\/b>, and overflow to the Lost\u00a0River\u00a0Slough above 4,085\u00a0ft, rated to reach 1,200\u00a0cfs at the natural high-water stage of 4,087.8\u00a0ft. The lake can recede to the reef crest, where outflow falls to nothing.<\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">3 \u00b7 Starting condition<\/span>\n        <p>Not assumed: the same model was run through <b>WY2025<\/b> on Reclamation\u2019s daily record, and every trial opening from 4,083.1 to 4,085.0\u00a0ft converges to <b>4,084.01\u00a0ft<\/b> by 30\u00a0September\u00a02025 \u2014 a wet year fills the lake to the reef-controlled level and erases what came before. Jacobs\u00a0(1906) and Voorhees\u00a0(1913) both record the reef holding near 4,084\u00a0ft even at low water.<\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">4 \u00b7 Evaporation and marsh transpiration<\/span>\n        <p>Applied to the <b>wetted area<\/b> \u2014 open water plus however much of the marsh the lake stage has flooded. Depths are <b>measured<\/b>: 3.69\u00a0ft a year off open water and 3.08\u00a0ft off marsh, by eddy covariance and Bowen-ratio energy balance at Upper\u00a0Klamath\u00a0Lake (USGS SIR\u00a02013\u20135014, with Reclamation). Those depths are then scaled by <b>this year\u2019s<\/b> reference ET at Reclamation\u2019s AgriMet station at <b>Worden<\/b>, measured against Worden\u2019s own long-term normal: <b id=\"s-et-src\">stored factor<\/b>. Day-to-day distribution: <b id=\"s-et-shape\">stored daily profile<\/b>. <!-- EDIT ME: two independent ET sources -- magnitude from WRDO, shape from reanalysis --><\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">5 \u00b7 Rain on the lake, credited back<\/span>\n          <p>Evaporation is only half the exchange. Rain falling on the same wetted surface is added to the balance: <b>0.885\u00a0ft a year<\/b>, the mean of 79 complete years at the Tulelake gage, the nearest station on the basin floor. Across a typical year that is about <b>75,000\u00a0AF<\/b> credited against roughly <b>284,000\u00a0AF<\/b> of gross evapotranspiration \u2014 an offset of just over a quarter \u2014 leaving a net loss near <b>208,000\u00a0AF<\/b>, or 2.4\u00a0ft off the lake. Precipitation is credited on exactly the surface the evaporation is charged against, so the two terms rise and fall together as the marsh floods and drains.<\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">6 \u00b7 Why the rain does not save the summer<\/span>\n          <p>The offset is real but arrives at the wrong time. <b>63%<\/b> of the year\u2019s rain falls between October and March and only <b>10%<\/b> from July to September, while evaporation runs the other way. The credit lands when the lake is already full and spilling over the reef, and is nearly absent through the drawdown that set the natural river\u2019s summer low. Adding it raises the annual total more than it lifts the September flow.<\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">7 \u00b7 Where wind sits in this<\/span>\n          <p>Wind is not modelled separately because it is already inside the depths. Both figures come from <b>eddy covariance<\/b> and <b>Bowen-ratio energy balance<\/b> \u2014 instruments that measure the actual turbulent transport of water vapour off the surface, so the wind of the measurement years is carried in the flux itself, not estimated from it. Year-to-year variation enters through one term: this year\u2019s reference evapotranspiration at Reclamation\u2019s Worden\u00a0station against Worden\u2019s own long-term normal, which moves with wind, temperature, humidity and radiation together. <b>The limit is that this is a single annual factor.<\/b> A windy summer and a calm one get the same daily distribution, and a 10% swing in evaporative demand would move the lake\u2019s net loss by roughly <b>28,000\u00a0AF<\/b> \u2014 about 14% of that term. Resolving wind daily would need a Worden record reaching back to 1961, which does not exist.<\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">8 \u00b7 Why the marsh draws all season<\/span>\n        <p>The reef holds the water table at the root zone \u2014 USGS SIR\u00a02013\u20135014 found the bulrush root zone saturated year-round with the water surface more than a foot below ground. The model treats the marsh as <b>75% wetted<\/b> at the reef stage, which reproduces Part\u00a02\u2019s stated 188,000\u00a0AF annual loss. <!-- EDIT ME: modelling assumption, not a measurement --><\/p><\/div>\n\n        <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">9 \u00b7 The loss is not an assumption<\/span>\n        <p>Paired USGS gage records on the Link\u00a0River and at Keno, 1908\u20131913, with Lost\u00a0River imports removed, show the natural lake consuming roughly <b>200,000\u2013300,000\u00a0AF a year<\/b> before the water reached Keno \u2014 and that is already with the Slough diked shut and the railroad dike across the lake, so it understates the wholly natural condition.<\/p><\/div>\n\n      <\/div>\n      <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">Reading the shading<\/span>\n        <div class=\"kwd-note-key\">\n          <span><i class=\"kwd-note-sw\" style=\"background:#2f8fb0;opacity:.32\"><\/i> <b>Winter and spring<\/b> \u2014 the Project holds back water the natural river would have carried away in a pulse.<\/span>\n        <\/div>\n        <div class=\"kwd-note-key\">\n          <span><i class=\"kwd-note-sw\" style=\"background:#c39a3e;opacity:.42\"><\/i> <b>Late season<\/b> \u2014 the Project puts water into the river the natural lakes would have evaporated. Part\u00a02 puts that mid-summer loss above <b>700\u00a0cfs<\/b>.<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"kwd-note-item\"><span class=\"kwd-note-lab\">The projected band<\/span>\n        <p>Right of the divider, <b>projected<\/b> to 30\u00a0September: net inflow held at its recent average, evaporation tapering into autumn, and Keno held at the 750\u00a0cfs and 790\u00a0cfs figures used in this year\u2019s operating projection, with a 7,000\u00a0acre-foot ceremonial release.<\/p><\/div>\n      <\/div>\n\n    <p class=\"kwd-note\"><span class=\"kwd-note-t\">What this model assumes.<\/span> The reconstruction has to start the two natural lakes somewhere on 1\u00a0October. Reclamation\u2019s own gage sheets settle the upper lake: it stood at 4,140.30\u00a0ft entering the wet year of 1916\u201317 and 4,140.25\u00a0ft entering the dry year of 1917\u201318 \u2014 the reef holds the autumn level near 4,140.25 whatever the preceding year was like. The lower lake is less well constrained. Starting levels set how much carried-over storage is available to release, and the annual totals are sensitive to them, so the cumulative comparison of actual against natural is not published here.<\/p>\n  <\/section>\n\n\n  <!-- ===== SECTION: SOURCES ===== -->\n  <section class=\"kwd-sec\" id=\"kwd-sources\">\n    <div class=\"kwd-sechead\"><span class=\"kwd-sec-ey\">06 \u00b7 Go to the source<\/span><h2>Every reading, at its official monitor<\/h2><\/div>\n    <div class=\"kwd-srcgrid\">\n      <a class=\"kwd-src\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/11507001\/#dataTypeId=continuous-72275-0&period=P365D&showMedian=true&compare=true\" target=\"_blank\" rel=\"noopener\"><b>USGS \u00b7 Upper Klamath Lake elevation<\/b>Daily lake level against the median. \u2197<\/a>\n      <a class=\"kwd-src\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11507500\/#dataTypeId=continuous-00060-0&period=P1Y&showMedian=true&compare=true\" target=\"_blank\" rel=\"noopener\"><b>USGS \u00b7 Link River flow<\/b>Flow leaving the lake, against the median. \u2197<\/a>\n      <a class=\"kwd-src\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11509500\/#dataTypeId=continuous-00010-0&period=P1Y&showMedian=true&compare=true\" target=\"_blank\" rel=\"noopener\"><b>USGS \u00b7 Keno river temperature<\/b>Live water temp against the long-term median. \u2197<\/a>\n      <a class=\"kwd-src\" href=\"https:\/\/waterdata.usgs.gov\/monitoring-location\/USGS-11509500\/#dataTypeId=continuous-00300-0&period=P1Y&showMedian=true&compare=true\" target=\"_blank\" rel=\"noopener\"><b>USGS \u00b7 Keno dissolved oxygen<\/b>Live DO against the median. \u2197<\/a>\n      <a class=\"kwd-src\" href=\"https:\/\/www.usbr.gov\/pn\/hydromet\/klamath\/teacup.html\" target=\"_blank\" rel=\"noopener\"><b>Reclamation \u00b7 Klamath teacup<\/b>Current flow and storage across the Project. \u2197<\/a>\n      <a class=\"kwd-src\" href=\"https:\/\/apps.wrd.state.or.us\/apps\/wr\/klamath_sif_dashboard\/Charts.aspx\" target=\"_blank\" rel=\"noopener\"><b>OWRD \u00b7 Tribes\u2019 instream claim (KA-622)<\/b>Adjudicated UKL elevation claim vs actual level. \u2197<\/a>\n    <\/div>\n    <p class=\"kwd-foot\">Live conditions read from USGS and Open-Meteo. Supply, accountability, and natural-flow figures from K.I.D.\u2019s daily tracking file. Draft \u2014 under District and legal review.<\/p>\n  <\/section>\n\n<\/div>\n\n<style>\n  #kwd{ --navy:#1b2a4e; --navy-2:#22345e; --red:#b22234; --red-2:#8e1a29; --gold:#c39a3e; --gold-2:#e3b53d; --steel:#1f6f8b; --teal:#2f8fb0; --slate:#4a5165; --paper:#f6f2e9; --paper-2:#fffdf8; --line:#e2dccd; --ink:#16181d;\n    --g:#2e7d4f; --a:#c0882e; --o:#cf6f2c; --r:#b22234;\n    font-family:'Libre Franklin',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--ink); background:var(--paper); max-width:1120px; margin:0 auto; padding:6px; box-sizing:border-box; -webkit-font-smoothing:antialiased; }\n  #kwd *{ box-sizing:border-box; }\n  #kwd a{ color:inherit; }\n  #kwd b{ font-weight:700; }\n\n  \/* glance bar *\/\n  #kwd .kwd-glance{ display:flex; flex-wrap:wrap; align-items:center; gap:9px 20px; background:linear-gradient(180deg,var(--navy),var(--navy-2)); border-radius:12px; padding:12px 18px; margin:0 0 20px; }\n  #kwd .kwd-g-wy{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--gold); }\n  #kwd .kwd-g-date{ font-size:13px; font-weight:500; color:#e9e4d6; }\n  #kwd .kwd-g-item{ display:inline-flex; align-items:baseline; gap:7px; }\n  #kwd .kwd-g-k{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; letter-spacing:.03em; text-transform:uppercase; color:#9fb0cf; }\n  #kwd .kwd-g-v{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:17px; color:#fff; }\n  #kwd .kwd-g-wx{ align-items:center; gap:6px; }\n  #kwd .kwd-g-wxicon{ width:18px; height:18px; display:inline-flex; color:var(--gold-2); }\n  #kwd .kwd-g-wxicon svg{ width:18px; height:18px; }\n  #kwd .kwd-g-upd{ margin-left:auto; font-family:'IBM Plex Mono',monospace !important; font-size:9.5px; letter-spacing:.02em; color:#8496b6; }\n\n  \/* hero *\/\n  #kwd .kwd-wrap{ display:none; align-items:flex-start; gap:11px; margin:14px 6px 0; padding:14px 20px; background:#fbf3e0; border:1px solid #e6d3a6; border-left:5px solid var(--gold); border-radius:10px; }\n  #kwd .kwd-wrap.show{ display:flex; }\n  #kwd .kwd-wrap-dot{ width:9px; height:9px; border-radius:50%; background:var(--gold); margin-top:5px; flex:none; }\n  #kwd .kwd-wrap-txt{ font-size:13.5px; line-height:1.55; color:#5a4a28; }\n  #kwd .kwd-wrap-txt b{ color:var(--navy); }\n  #kwd .kwd-hero{ padding:14px 6px 6px; }\n  #kwd .kwd-eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); margin:0 0 14px; }\n  #kwd .kwd-dot{ width:9px; height:9px; border-radius:50%; background:var(--gold); }\n  #kwd .kwd-h1{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:clamp(30px,5.2vw,52px); line-height:1.03; letter-spacing:-.015em; color:var(--navy); margin:0 0 16px; max-width:16ch; }\n  #kwd .kwd-lede{ font-size:clamp(15px,1.6vw,18px); line-height:1.68; color:var(--slate); max-width:62ch; margin:0 0 15px; }\n  #kwd .kwd-lede:last-of-type{ margin-bottom:28px; }\n\n  \/* balance *\/\n  #kwd .kwd-balance{ display:grid; grid-template-columns:minmax(220px,1fr) auto minmax(300px,1.6fr); align-items:center; gap:18px; background:var(--paper-2); border:1px solid var(--line); border-radius:14px; padding:22px 24px; box-shadow:0 2px 14px rgba(27,42,78,.06); }\n  #kwd .kwd-bal-lbl{ display:block; font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; font-weight:600 !important; letter-spacing:.06em; text-transform:uppercase; color:var(--steel); margin-bottom:6px; }\n  #kwd .kwd-bal-big{ display:block; font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:clamp(34px,5vw,52px); line-height:.95; color:var(--navy); letter-spacing:-.02em; }\n  #kwd .kwd-bal-u{ font-size:.42em; color:var(--slate); font-weight:600; }\n  #kwd .kwd-bal-sub{ display:block; font-size:12.5px; color:var(--slate); margin-top:8px; }\n  #kwd .kwd-hero-loss{ font-size:13.5px; color:var(--slate); line-height:1.55; margin:16px 0 0; max-width:70ch; }\n  #kwd .kwd-hero-loss b{ color:var(--navy); font-family:\"Zilla Slab\",serif; }\n  #kwd .kwd-bal-arrow{ font-size:34px; color:var(--gold); line-height:1; }\n  #kwd .kwd-bal-out{ display:grid; gap:0; }\n  #kwd .kwd-bal-cell{ display:grid; grid-template-columns:auto auto 1fr; align-items:baseline; column-gap:7px; padding:9px 0; border-top:1px solid var(--line); }\n  #kwd .kwd-bal-cell:first-child{ border-top:none; }\n  #kwd .kwd-bal-n{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:23px; color:var(--red); }\n  #kwd .kwd-bal-cu{ font-family:'IBM Plex Mono',monospace !important; font-size:11px; color:var(--slate); }\n  #kwd .kwd-bal-cl{ font-size:12.5px; color:var(--slate); line-height:1.3; }\n\n  \/* claims *\/\n  #kwd .kwd-claims{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }\n  #kwd .kwd-claim{ border:1px solid var(--line); border-radius:14px; padding:20px 22px; background:var(--paper-2); }\n  #kwd .kwd-claim-mgmt{ border-top:4px solid var(--red); }\n  #kwd .kwd-claim-fish{ border-top:4px solid var(--steel); }\n  #kwd .kwd-claim-tag{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; font-weight:600 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--slate); margin:0 0 8px; }\n  #kwd .kwd-claim-lead{ font-family:'Zilla Slab',serif !important; font-weight:600 !important; font-size:20px; line-height:1.2; color:var(--navy); margin:0 0 8px; }\n  #kwd .kwd-claim-body{ font-size:13.5px; line-height:1.55; color:var(--slate); margin:0 0 9px; }\n  #kwd .kwd-claim-body:last-child{ margin-bottom:0; }\n\n  \/* three calendars *\/\n  #kwd .kwd-update{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin:26px 6px 0; padding:16px 22px; background:linear-gradient(180deg,var(--navy),var(--navy-2)); border-radius:12px; border-left:5px solid var(--gold); text-decoration:none; transition:transform .15s,box-shadow .15s; }\n  #kwd .kwd-update:hover{ transform:translateY(-1px); box-shadow:0 6px 20px rgba(20,33,61,.18); }\n  #kwd .kwd-update-eye{ display:block; font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }\n  #kwd .kwd-update-txt{ display:block; font-family:'Zilla Slab',serif !important; font-weight:600 !important; font-size:16px; color:#fff; line-height:1.25; }\n  #kwd .kwd-update-cta{ flex-shrink:0; font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:10px 16px; border-radius:6px; white-space:nowrap; }\n  @media (max-width:640px){ #kwd .kwd-update{ flex-direction:column; align-items:flex-start; } }\n  #kwd .kwd-cal{ padding:42px 6px 6px; }\n  #kwd .kwd-cal-intro{ font-size:14.5px; line-height:1.6; color:var(--slate); max-width:74ch; margin:12px 0 20px; }\n  #kwd .kwd-cal-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:16px; }\n  #kwd .kwd-cal-card{ background:var(--paper-2); border:1px solid var(--line); border-top:4px solid var(--navy); border-radius:12px; padding:16px 18px; display:flex; flex-direction:column; }\n  #kwd .kwd-cal-card.c-wr{ border-top-color:var(--gold); }\n  #kwd .kwd-cal-card.c-ir{ border-top-color:var(--steel); }\n  #kwd .kwd-cal-eye{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; font-weight:600 !important; letter-spacing:.07em; text-transform:uppercase; color:var(--slate); }\n  #kwd .kwd-cal-name{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:19px; color:var(--navy); margin:6px 0 2px; }\n  #kwd .kwd-cal-dates{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:13px; color:var(--red); margin-bottom:9px; }\n  #kwd .kwd-cal-def{ font-size:12.5px; line-height:1.5; color:var(--slate); margin:0 0 12px; flex:1; }\n  #kwd .kwd-cal-auth{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; color:var(--slate); border-top:1px solid var(--line); padding-top:8px; }\n  #kwd .kwd-cal-tl{ background:var(--paper-2); border:1px solid var(--line); border-radius:12px; padding:16px 18px 12px; }\n  #kwd .kwd-cal-tl svg{ width:100%; height:auto; display:block; }\n  #kwd .kwd-cal-cap{ font-size:12px; line-height:1.55; color:var(--slate); margin:10px 2px 0; max-width:92ch; }\n  #kwd .kwd-cal-cap em{ font-style:italic; color:var(--navy); }\n  @media (max-width:900px){ #kwd .kwd-cal-cards{ grid-template-columns:1fr; } }\n\n  \/* jump nav *\/\n  #kwd .kwd-jump{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin:30px 6px 6px; padding:12px 14px; background:var(--navy); border-radius:12px; }\n  #kwd .kwd-jump-lbl{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; font-weight:600 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-right:6px; }\n  #kwd .kwd-jump a{ font-weight:600; font-size:12.5px; color:#e9e4d6; text-decoration:none; padding:5px 12px; border-radius:999px; transition:background .15s,color .15s; }\n  #kwd .kwd-jump a:hover{ background:var(--gold); color:var(--navy); }\n\n  \/* sections *\/\n  #kwd .kwd-sec{ padding:44px 6px 6px; scroll-margin-top:14px; }\n  #kwd .kwd-sechead{ margin-bottom:6px; }\n  #kwd .kwd-sec-ey{ display:block; font-family:'IBM Plex Mono',monospace !important; font-size:11px; font-weight:600 !important; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:5px; }\n  #kwd .kwd-sec h2{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:clamp(22px,3vw,30px); line-height:1.1; letter-spacing:-.01em; color:var(--navy); margin:0; }\n  #kwd .kwd-sec-intro{ font-size:14.5px; line-height:1.6; color:var(--slate); max-width:70ch; margin:12px 0 20px; }\n  #kwd .kwd-sec-intro b{ color:var(--navy); }\n\n  \/* tiles *\/\n  #kwd .kwd-tiles{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }\n  #kwd .kwd-tile{ display:flex; flex-direction:column; gap:5px; background:var(--paper-2); border:1px solid var(--line); border-top:4px solid var(--navy); border-radius:10px; padding:15px 16px; text-decoration:none; transition:transform .16s,box-shadow .16s,border-color .16s; }\n  #kwd .kwd-tile:hover{ transform:translateY(-2px); border-top-color:var(--red); box-shadow:0 6px 18px rgba(20,33,61,.1); }\n  #kwd .kwd-tile-l{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; font-weight:600 !important; letter-spacing:.05em; text-transform:uppercase; color:var(--steel); }\n  #kwd .kwd-tile-v{ display:flex; align-items:baseline; gap:5px; }\n  #kwd .kwd-num{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:26px; line-height:1; color:var(--navy); }\n  #kwd .kwd-unit{ font-family:'IBM Plex Mono',monospace !important; font-size:12px; font-weight:600 !important; color:var(--slate); }\n  #kwd .kwd-tile-c{ font-size:11.5px; color:var(--slate); line-height:1.35; }\n\n  \/* generic card *\/\n  #kwd .kwd-card{ background:var(--paper-2); border:1px solid var(--line); border-radius:12px; padding:16px 18px 14px; margin:0 0 16px; }\n  #kwd .kwd-card-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }\n  #kwd .kwd-card-t{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:17px; color:var(--navy); }\n  #kwd .kwd-card-s{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; color:var(--slate); margin-top:3px; }\n  #kwd .kwd-card-src{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:11px; color:var(--steel); text-decoration:none; white-space:nowrap; flex-shrink:0; }\n  #kwd .kwd-card-src:hover{ color:var(--red); }\n  #kwd .kwd-plot{ position:relative; width:100%; height:230px; }\n  #kwd .kwd-plot-wq{ height:210px; }\n  #kwd .kwd-plot-acct{ height:300px; }\n  #kwd .kwd-plot-route{ height:300px; }\n  #kwd .kwd-swl{ width:14px; height:3px; border-radius:2px; display:inline-block; }\n  #kwd .kwd-swl-dot{ background-image:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px) !important; }\n  #kwd .kwd-plot svg{ width:100%; height:100%; display:block; overflow:visible; }\n  #kwd .kwd-plot-load{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace !important; font-size:12px; color:var(--slate); }\n\n  \/* scada note *\/\n  #kwd .kwd-note{ font-size:13.5px; line-height:1.6; color:var(--slate); background:var(--paper-2); border:1px solid var(--line); border-left:5px solid var(--steel); border-radius:10px; padding:15px 18px; margin:0 0 16px; }\n  #kwd .kwd-note-t{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:15px; color:var(--navy); display:block; margin-bottom:5px; }\n  #kwd .kwd-note b{ color:var(--navy); }\n  #kwd .kwd-note-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 26px; margin-top:12px; }\n  #kwd .kwd-note-item{ padding:10px 0 9px; border-top:1px solid var(--line); }\n  #kwd .kwd-note-lab{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--steel); display:block; margin-bottom:4px; }\n  #kwd .kwd-note-item p{ margin:0; font-size:13px; line-height:1.58; color:var(--slate); }\n  #kwd .kwd-bkey{ list-style:none; margin:0 0 14px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 22px; }\n  #kwd .kwd-bkey li{ display:flex; align-items:center; gap:9px; font-size:12.5px; line-height:1.45; color:var(--slate); }\n  #kwd .kwd-sw{ flex:0 0 auto; width:20px; height:11px; border-radius:2px; display:inline-block; }\n  #kwd .kwd-sw-ln{ height:3px; border-radius:2px; }\n  #kwd .kwd-sw-o{ background:transparent; border:1.5px solid #b22234; }\n  #kwd .kwd-sw-grad{ background:linear-gradient(90deg,#2f8fb0 0 20%,#cfc9b4 20% 45%,#e0b877 45% 65%,#c98a3c 65% 84%,#b22234 84% 100%); }\n  @media(max-width:720px){ #kwd .kwd-bkey{ grid-template-columns:1fr; } }\n  #kwd .kwd-act{ margin:34px 0 20px; padding:0 0 10px; border-bottom:2px solid var(--line); }\n  #kwd .kwd-act-k{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-2,#c39a3e); display:block; margin-bottom:5px; }\n  #kwd .kwd-act-t{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:clamp(19px,2.3vw,26px); color:var(--navy); margin:0 0 4px; line-height:1.15; }\n  #kwd .kwd-act-s{ font-size:13.5px; color:var(--slate); margin:0; max-width:74ch; line-height:1.55; }\n  #kwd .kwd-tldr{ background:var(--navy); color:#f0ece0; border-radius:12px; padding:22px 26px; margin:0 0 24px; }\n  #kwd .kwd-tldr-t{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:10px; }\n  #kwd .kwd-tldr p{ font-family:'Zilla Slab',serif !important; font-size:clamp(15px,1.55vw,18px); line-height:1.62; margin:0 0 11px; color:#f0ece0; }\n  #kwd .kwd-tldr p:last-child{ margin-bottom:0; }\n  #kwd .kwd-tldr b{ color:#fff; font-weight:700 !important; }\n  #kwd .kwd-orient{ background:var(--paper-2); border:1px solid var(--line); border-radius:10px; padding:16px 18px 12px; margin:0 0 22px; }\n  #kwd .kwd-orient-t{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:16px; color:var(--navy); margin:0 0 10px; }\n  #kwd .kwd-orient-n{ font-size:12px; color:#8a8676; margin:8px 0 0; line-height:1.5; }\n  #kwd .kwd-orient-n a{ color:var(--steel); }\n  #kwd .kwd-units{ display:flex; flex-wrap:wrap; gap:10px 26px; background:var(--paper-2); border:1px solid var(--line); border-left:5px solid var(--steel); border-radius:10px; padding:12px 18px; margin:0 0 22px; }\n  #kwd .kwd-unit{ font-size:13px; line-height:1.5; color:var(--slate); flex:1 1 300px; }\n  #kwd .kwd-unit b{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; color:var(--navy); font-size:13px; letter-spacing:.02em; }\n  #kwd .kwd-what{ background:var(--paper-2); border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:10px; padding:14px 18px; margin:0 0 16px; font-size:14px; line-height:1.65; color:var(--slate); }\n  #kwd .kwd-what-t{ display:block; font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:15px; color:var(--navy); margin-bottom:3px; }\n  #kwd .kwd-h39{ background:var(--paper-2); border:1px solid var(--line); border-left:5px solid var(--slate); border-radius:10px; padding:16px 18px; margin:0 0 16px; }\n  #kwd .kwd-h39 h4{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:17px; color:var(--navy); margin:0 0 4px; }\n  #kwd .kwd-h39 .kwd-h39-sub{ font-size:13px; color:var(--slate); margin:0 0 12px; line-height:1.55; }\n  #kwd .kwd-h39-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:0 18px; margin:12px 0 4px; }\n  #kwd .kwd-h39-stat{ border-top:1px solid var(--line); padding-top:8px; }\n  #kwd .kwd-h39-stat b{ display:block; font-family:'Zilla Slab',serif !important; font-size:21px; color:var(--navy); line-height:1.15; }\n  #kwd .kwd-h39-stat span{ font-family:'IBM Plex Mono',monospace !important; font-size:9.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--steel); }\n  #kwd .kwd-h39-note{ font-size:12px; color:#7d8390; margin:10px 0 0; line-height:1.5; }\n  @media(max-width:720px){ #kwd .kwd-h39-stats{ grid-template-columns:repeat(2,1fr); gap:0 14px; } }\n  #kwd .kwd-note-key{ margin-top:5px; }\n  #kwd .kwd-note-key span{ display:block; font-size:12.5px; line-height:1.58; }\n  #kwd .kwd-note-sw{ display:inline-block; width:15px; height:9px; border-radius:2px; margin-right:7px; vertical-align:baseline; }\n  @media(max-width:720px){ #kwd .kwd-note-grid{ grid-template-columns:1fr; } }\n  #kwd .kwd-scada{ border-left-color:var(--gold); }\n  #kwd .kwd-evap{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--paper-2); border:1px solid var(--line); border-left:5px solid var(--teal); border-radius:10px; padding:14px 18px; margin:0 0 16px; }\n  #kwd .kwd-evap-l{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:15px; color:var(--navy); }\n  #kwd .kwd-evap-s{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; color:var(--slate); margin-top:3px; }\n  #kwd .kwd-evap-v{ display:flex; align-items:baseline; gap:5px; white-space:nowrap; }\n  #kwd .kwd-evap-v b{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:30px; color:var(--teal); line-height:1; }\n  #kwd .kwd-evap-v span{ font-family:'IBM Plex Mono',monospace !important; font-size:12px; color:var(--slate); }\n  #kwd .kwd-lakestats{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 0 16px; }\n  #kwd .kwd-lakestats .kwd-evap{ margin:0; }\n  #kwd .kwd-store{ border-left-color:var(--navy); }\n  #kwd .kwd-store .kwd-evap-v b{ color:var(--navy); }\n  @media (max-width:760px){ #kwd .kwd-lakestats{ grid-template-columns:1fr; } }\n\n  \/* embeds *\/\n  #kwd .kwd-embeds{ display:grid; grid-template-columns:1fr; gap:22px; }\n  #kwd .kwd-embed-card{ display:flex; flex-direction:column; }\n  #kwd .kwd-embed-card iframe{ width:100%; aspect-ratio:16\/10; min-height:300px; border:1px solid var(--line); border-radius:8px; margin:10px 0; background:#dfe6ea; }\n  #kwd .kwd-nrcs iframe{ aspect-ratio:16\/9; min-height:900px; }\n  #kwd .kwd-usdm{ display:block; text-align:center; text-decoration:none; margin:10px 0; }\n  #kwd .kwd-usdm img{ max-width:100%; height:auto; border:1px solid var(--line); border-radius:8px; }\n  #kwd .kwd-imgfail-msg{ display:none; font-family:'IBM Plex Mono',monospace !important; font-size:12px; color:var(--steel); padding:30px 12px; }\n  #kwd .kwd-usdm.kwd-imgfail img{ display:none; }\n  #kwd .kwd-usdm.kwd-imgfail .kwd-imgfail-msg{ display:inline-block; }\n  #kwd .kwd-fire{ background:var(--red); color:#fff !important; padding:9px 14px; border-radius:6px; text-align:center; margin-top:2px; }\n  #kwd .kwd-fire:hover{ background:var(--red-2); color:#fff !important; }\n\n  \/* water quality panel *\/\n  #kwd .kwd-uw{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }\n  #kwd .kwd-uw-card{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:9px; padding:11px 15px 9px; }\n  #kwd .kwd-uw-p{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; font-weight:600 !important; letter-spacing:.05em; text-transform:uppercase; color:var(--navy); margin-bottom:4px; display:flex; align-items:center; }\n  #kwd .kwd-uw-r{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:5px 0; }\n  #kwd .kwd-uw-r + .kwd-uw-r{ border-top:1px solid var(--line); }\n  #kwd .kwd-uw-l{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; color:var(--slate); }\n  #kwd .kwd-uw-r span:last-child{ font-size:11px; color:var(--slate); white-space:nowrap; }\n  #kwd .kwd-uw-v{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:17px; color:var(--navy); }\n  #kwd .kwd-uw-tag{ font-family:'IBM Plex Mono',monospace !important; font-size:8px; font-weight:600 !important; letter-spacing:.02em; text-transform:uppercase; color:#7a5230; background:#f3e7d3; border:1px solid #e2cfa8; padding:1px 5px; border-radius:3px; margin-left:auto; }\n  #kwd .kwd-uw-cond{ display:inline-block; margin-left:8px; font-family:'IBM Plex Mono',monospace !important; font-size:8px !important; font-weight:600 !important; letter-spacing:.04em; text-transform:uppercase; padding:2px 6px; border-radius:4px; color:#fff !important; vertical-align:middle; }\n  #kwd .kwd-uw-cond:empty{ display:none; }\n  #kwd .kwd-uw-cond.g{ background:var(--g); } #kwd .kwd-uw-cond.a{ background:var(--a); } #kwd .kwd-uw-cond.r{ background:var(--r); }\n  #kwd .kwd-legend{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-family:'IBM Plex Mono',monospace !important; font-size:10px; color:var(--slate); margin-top:8px; }\n  #kwd .kwd-legend-lead{ font-weight:600 !important; color:var(--navy); letter-spacing:.05em; text-transform:uppercase; }\n  #kwd .kwd-key{ display:inline-flex; align-items:center; gap:5px; }\n  #kwd .kwd-sw{ width:10px; height:10px; border-radius:2px; }\n  #kwd .kwd-sw.g{ background:var(--g); } #kwd .kwd-sw.a{ background:var(--a); } #kwd .kwd-sw.r{ background:var(--r); }\n  #kwd .kwd-legend-note{ margin-left:auto; font-style:italic; }\n\n  \/* thresholds \/ days *\/\n  #kwd .kwd-thr{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }\n  #kwd .kwd-thr-col{ background:var(--paper); border:1px solid var(--line); border-radius:9px; padding:12px 15px; }\n  #kwd .kwd-thr-h{ font-family:'IBM Plex Mono',monospace !important; font-size:10.5px; font-weight:600 !important; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); margin-bottom:8px; }\n  #kwd .kwd-thr-row{ display:flex; align-items:center; gap:10px; padding:7px 0; }\n  #kwd .kwd-band{ width:10px; height:10px; border-radius:2px; flex-shrink:0; }\n  #kwd .kwd-band.a{ background:var(--gold); } #kwd .kwd-band.o{ background:var(--o); } #kwd .kwd-band.r{ background:var(--red); }\n  #kwd .kwd-thr-lvl{ font-size:12.5px; color:var(--ink); font-weight:600; flex:1; line-height:1.25; }\n  #kwd .kwd-thr-sub{ display:block; font-family:'IBM Plex Mono',monospace !important; font-size:9.5px; font-weight:500 !important; color:var(--slate); text-transform:none; margin-top:3px; }\n  #kwd .kwd-thr-d{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; color:var(--navy); font-size:11px; white-space:nowrap; text-align:right; }\n  #kwd .kwd-thr-d b{ font-size:19px; }\n\n  \/* accountability tiles + dps *\/\n  #kwd .kwd-acct-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:12px; }\n  #kwd .kwd-at{ background:var(--paper-2); border:1px solid var(--line); border-top:3px solid var(--navy); border-radius:8px; padding:12px 14px; }\n  #kwd .kwd-at.t-in{ border-top-color:var(--teal); } #kwd .kwd-at.t-act{ border-top-color:var(--red); } #kwd .kwd-at.t-nat{ border-top-color:var(--slate); } #kwd .kwd-at.t-gap{ border-top-color:var(--gold); }\n  #kwd .kwd-at-l{ font-family:'IBM Plex Mono',monospace !important; font-size:10px; font-weight:600 !important; letter-spacing:.04em; text-transform:uppercase; color:var(--slate); min-height:2.4em; }\n  #kwd .kwd-at-v{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:22px; color:var(--navy); margin-top:5px; }\n  #kwd .kwd-dps{ background:var(--paper-2); border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:8px; padding:13px 16px; margin:0 0 16px; }\n  #kwd .kwd-dps-head{ font-family:'IBM Plex Mono',monospace !important; font-weight:600 !important; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); display:flex; flex-wrap:wrap; gap:4px 12px; margin-bottom:7px; }\n  #kwd .kwd-dps-src{ margin-left:auto; font-weight:500 !important; text-transform:none; color:#a8a48c; }\n  #kwd .kwd-dps-row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 13px; }\n  #kwd .kwd-dps-total{ font-family:'Zilla Slab',serif !important; font-weight:700 !important; font-size:clamp(23px,3vw,28px); color:var(--navy); }\n  #kwd .kwd-dps-desc{ font-size:13.5px; color:var(--slate); }\n  #kwd .kwd-dps-bd{ font-family:'IBM Plex Mono',monospace !important; font-size:11px; color:var(--slate); margin-top:8px; }\n  #kwd .kwd-dps-bd b{ color:var(--navy); }\n\n  \/* sources grid *\/\n  #kwd .kwd-srcgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:6px; }\n  #kwd .kwd-src{ display:block; background:var(--paper-2); border:1px solid var(--line); border-radius:9px; padding:14px 16px; text-decoration:none; font-size:12.5px; color:var(--slate); line-height:1.4; transition:border-color .15s,box-shadow .15s; }\n  #kwd .kwd-src:hover{ border-color:var(--steel); box-shadow:0 4px 14px rgba(20,33,61,.08); }\n  #kwd .kwd-src b{ display:block; font-family:'Zilla Slab',serif !important; font-size:13.5px; color:var(--navy); margin-bottom:4px; }\n  #kwd .kwd-foot{ font-size:11.5px; color:var(--slate); line-height:1.55; margin:22px 4px 8px; }\n\n  @media (max-width:900px){\n    #kwd .kwd-balance{ grid-template-columns:1fr; }\n    #kwd .kwd-bal-arrow{ transform:rotate(90deg); justify-self:center; }\n    #kwd .kwd-tiles{ grid-template-columns:repeat(2,1fr); }\n    #kwd .kwd-claims,#kwd .kwd-uw,#kwd .kwd-thr,#kwd .kwd-embeds{ grid-template-columns:1fr; }\n    #kwd .kwd-nrcs iframe{ min-height:620px; aspect-ratio:auto; }\n    #kwd .kwd-acct-tiles{ grid-template-columns:1fr 1fr; }\n    #kwd .kwd-srcgrid{ grid-template-columns:1fr; }\n  }\n  @media (max-width:560px){ #kwd .kwd-g-upd{ margin-left:0; width:100%; } #kwd .kwd-acct-tiles{ grid-template-columns:1fr; } }\n  @media (prefers-reduced-motion:reduce){ #kwd .kwd-tile{ transition:none; } }\n<\/style>\n\n<script>\n(function(){\n  var root=document.getElementById(\"kwd\"); if(!root) return;\n\n  \/* ---------- K.I.D. FEED (embedded fallback; set to go live) ---------- *\/\n  \/\/ To go live: set KID_FEED_URL to the address the site uses to reach the flow\n  \/\/ (a klamathid.org relay, or the Power Automate URL). Leave \"\" to use saved numbers.\n  var KID_FEED_URL = \"https:\/\/default3f4f184127cf413081605c0d2177af.07.environment.api.powerplatform.com:443\/powerautomate\/automations\/direct\/cu\/26\/workflows\/6c4a73597d494e7b942d9937998d81b3\/triggers\/manual\/paths\/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=TZzapLMbDalpWh-Xs3zXCqiEwas5t4wGYUkTfy0-fjw\";\n  var KID = {\"asOf\":\"2026-08-18\",\"in\":[-28,3898,8023,8955,10763,12502,14143,14763,16141,18358,23165,24590,28565,35144,34621,35661,37564,40333,42255,44166,46075,48845,50757,52654,56234,58936,62507,65220,67936,70660,73325,75085,78606,80377,81253,84706,90797,95239,98995,101965,104057,106988,108951,107324,112787,116515,118481,120443,124183,126174,129972,133051,134554,136037,138427,141684,143855,145706,148449,151198,154840,156704,159462,161325,163181,165887,168510,170212,173647,175216,179407,181801,185091,187485,189877,192216,196261,205726,209726,216409,223994,236212,244657,250182,258431,265759,276029,283442,288922,293586,296501,299372,305283,307179,309963,316591,322190,327790,332425,340072,342719,346370,349916,352859,356435,358749,361793,364736,367681,370710,373909,376097,379296,382494,386712,389751,389740,391911,393997,397097,400257,402278,405246,408273,410377,413442,416437,418430,421396,423247,426120,432052,436125,438233,440342,443486,445575,448668,451909,455149,458292,461262,466298,463209,459357,469124,481166,488333,493524,498173,503725,510034,516203,521227,526153,533066,536891,539686,543511,548369,551282,552343,555472,558591,562829,564983,567135,570303,573471,575809,579270,582739,585171,585531,586920,591786,593800,594780,596794,597773,599584,603147,605781,610525,613477,615631,618860,621124,623782,625706,627614,630569,630417,635461,639527,641495,643457,647397,648262,649805,650382,651530,656967,661415,662858,666539,669232,669806,671329,672942,674831,676861,677912,678963,682041,684901,685945,686382,687192,688968,690620,691205,692829,691498,692693,693963,694045,696184,696274,695135,694839,695501,698267,697952,698636,699301,698719,701114,705507,709499,721749,725518,727231,728355,729812,730367,731958,732537,734079,732490,731843,733307,735115,736270,738579,740089,740711,739942,740001,741020,742112,741520,742056,743429,743536,743576,743727,743921,742014,743116,743043,741887,742616,743224,743590,744008,745521,745083,748658,749243,749991,749563,748092,747752,747454,748256,748158,749037,748885,748825,749927,749948,749658,750296,750080,751023,750202,749255,750138,750041,749960,749855,749756,749667,749574,750499,750438,748483,748430,749400,749464,750460,750528,749692,749919,750179,750478,749854,750328,750964,751587,752264],\"out\":[1521,3011,4495,5992,7501,9015,10538,12052,13561,15072,16588,18103,19619,21112,22631,24151,25670,27191,28711,30230,31753,33277,34798,36315,37827,39342,40857,42375,43884,45376,46865,48353,49835,51348,52891,54428,55964,57493,59022,60555,62095,63638,65179,66714,68249,69786,71326,72865,74406,75949,77484,79015,80547,82080,83583,85029,86450,87870,89290,90712,92132,93554,94980,96405,97801,99177,100550,101923,103265,104590,105911,107226,108549,109874,111199,112528,113859,115192,116523,117858,119189,120528,121856,123227,124621,126010,127400,128801,130201,131633,133111,134590,136074,137556,138948,140295,141701,143209,144740,146265,147780,149288,150793,152317,153854,155351,156819,158281,159739,161193,162645,164098,165530,166941,168353,169763,171169,172576,173974,175363,176731,178088,179441,180791,182144,183495,184832,186155,187480,188805,190128,191447,192764,194079,195392,196705,198020,199333,200648,201971,203304,204637,211519,219473,225404,230501,235023,238951,242303,245020,247420,249562,251435,253023,254495,255963,257456,258970,260479,261981,263478,264976,266477,267979,269478,270978,272477,273973,275462,276952,278487,280056,281631,283208,284783,286433,288133,289842,291602,293383,295192,297044,298962,300904,302908,304931,306974,309037,311159,313321,315483,317645,319787,321949,324111,326273,328435,330577,332699,334822,336944,339066,341189,343311,345433,347556,349658,351760,353823,355866,357909,359952,361995,364038,366081,368104,370088,372063,374041,375996,377946,379896,382078,384418,386759,389099,391460,393820,396180,398481,400762,403003,405205,407407,409608,411810,414012,416114,418177,420240,422243,424179,426107,428027,429943,431799,433598,435401,437206,439007,440767,442490,444202,445916,447635,449359,451095,452830,454554,456270,457971,459671,461379,463091,464800,466504,468202,469896,471568,473212,474859,476445,478002,479442,480827,482207,483586,484964,486293,487598,488904,490213,491518,492821,494124,495425,496728,498031,499339,500644,501947,503254,504581,505898,507211,508546,509889,511196,512501,513806,515111,516414,517717,519021,520308,521585,522872,524152,525463,526778,528109,529444,530745,532048,533363,534688,535959,537219,538538,539875,541239,542572],\"nat\":[-803,830,2809,4990,7206,9277,10995,12472,13867,15256,17009,18702,20336,21999,23305,24466,25884,27322,28690,30066,31318,31107,31700,32806,34018,35137,36553,38083,39707,41471,43080,44131,45380,46668,48088,49409,50591,51842,53544,55334,57237,59121,60865,62430,63847,65346,67119,68808,70249,72036,74012,76174,78545,80711,83044,85384,87537,89183,90981,92813,94662,96488,98327,100164,102001,103807,105338,106983,108613,110163,111457,112896,114362,115839,117128,118513,119814,121074,122278,123413,124452,125391,126240,126803,127348,127907,128485,128883,129429,130143,131076,131780,132715,133594,134384,135045,135646,136247,136862,137488,137922,138504,140011,141932,143288,144539,145538,146447,147173,148128,149276,150435,151576,152722,153881,154875,155863,156817,157834,158877,159992,160795,161679,162644,163714,164543,165450,166398,167312,168107,168912,169728,170722,171796,172680,173726,174765,175797,176791,177928,178995,179900,185755,192829,198125,202777,206617,208638,209711,211268,212707,213685,214661,215546,216338,216873,217550,218254,218969,219499,220291,221322,222368,223386,224495,225590,226689,227778,228675,229923,231287,232667,233860,235198,236557,238301,240110,242067,244051,246046,247819,249282,250856,252476,254380,256498,258657,260889,263515,266446,269361,272289,275217,278168,281178,284160,287138,290026,292946,296026,299177,302384,305742,309146,312653,316328,320053,323725,327315,330500,334310,337912,341218,344307,346616,348754,349611,351318,354088,357147,360062,362665,365314,367985,370951,374414,377796,381267,384683,387399,388849,390116,392373,394606,396738,398688,400263,402186,404557,406503,407339,407697,407640,407839,408930,410147,409949,410382,410705,411544,412322,412976,414832,417079,419257,421542,423573,425118,426744,427979,429176,430678,432501,434149,435508,436683,438120,439043,440387,441089,441471,441900,442116,442631,443527,444498,445461,446609,447616,448775,449883,451340,451860,452267,452353,453077,453609,454852,455374,455423,457176,458398,459123,459646,460103,461030,462083,464216,465481,466429,467182,468165,469344,470704,472180,473162,473881,474845,475654,476860,478845,480640,481305,482492,484130,486068,487738,489459,490083,490626,492326,495195],\"dps_total_af\":47430,\"dps_lrdc_af\":31440,\"dps_ff_af\":15990,\"dps_as_of\":\"Aug 13, 2026\",\"evap_in_day\":0.25,\"evap_asof\":\"Aug 18, 2026\",\"max_storage_af\":573848,\"max_storage_date\":\"Apr 5, 2026\"};\n  KID.evapLKL=[775,1366,1795,2264,2706,3225,3998,4842,5676,6504,7007,7588,8230,8866,9614,10344,10829,11310,11864,12399,13056,15178,16497,17288,17938,18662,19098,19424,19655,19756,19954,20663,21199,21682,22006,22402,22972,23550,23849,24151,24341,24510,24729,25047,25583,26058,26251,26524,27068,27272,27329,27359,27378,27582,27639,27669,27688,27893,27950,27980,27998,28036,28068,28093,28113,28126,28330,28387,28417,28436,28641,28698,28727,28746,28951,29008,29038,29057,29094,29126,29151,29171,29184,29389,29445,29475,29494,29699,29756,29786,29805,30009,30066,30096,30115,30152,30184,30210,30229,30242,30447,30504,30534,30552,30757,30814,30844,30863,31067,31124,31154,31173,31211,31242,31268,31287,31300,31505,31562,31592,31611,31815,31872,31902,31921,32125,32182,32212,32231,32269,32300,32326,32345,32359,32563,32620,32650,32669,32873,32930,32960,32979,33183,33240,33270,33289,33327,33359,33384,33403,33417,33621,33678,33708,33727,33931,33988,34018,34037,34242,34298,34328,34347,34385,34417,34442,34462,34475,34679,34736,34766,34785,34989,35046,35076,35095,35300,35357,35387,35405,35443,35475,35500,35520,35533,35568,35602,35635,35666,35695,35723,35750,35774,35798,35820,35840,35859,35876,35891,35906,35918,35929,35939,35947,35953,35958,35962,35964,35964,36458,36603,37097,37938,38995,40797,42550,44799,46620,47751,48529,49326,50394,51427,52567,53878,54767,55572,56291,57065,58330,60676,63139,64672,66206,67820,69597,71513,73002,74006,75034,76249,77619,79390,81334,82722,84101,86911,89098,91338,92984,94613,96441,97411,98356,99502,100758,102397,104144,105616,107426,109347,111302,113045,114791,116570,118459,120196,122488,124264,126671,129229,131653,134166,136259,137730,139176,140720,142113,143688,145100,146728,147821,149780,151996,154573,156615,158928,160528,162799,165616,166916,168641,170546,172599,174834,176789,178779,179549,181093,182930,184964,186744,188334,189731,191008,192848,194906,196691,198651,200288,201161,202224,204421,206088,207435,208516,209881,211169,213744,216540,218156,218657];\n\n  KID.evap_in_day=(KID.evap_in_day!=null?KID.evap_in_day:0.25);\n  KID.evap_asof=(KID.evap_asof||\"Aug 18, 2026\");\n  KID.max_storage_af=(KID.max_storage_af!=null?KID.max_storage_af:573848);\n  KID.max_storage_date=(KID.max_storage_date||\"Apr 5, 2026\");\n\n  \/* ---------- helpers ---------- *\/\n  var IV=\"https:\/\/waterservices.usgs.gov\/nwis\/iv\/?format=json&siteStatus=all&period=P3D&sites=\";\n  var DV=\"https:\/\/waterservices.usgs.gov\/nwis\/dv\/?format=json&siteStatus=all&sites=\";\n  var NODATA=[\"-999999\",\"-999999.0\",\"\"];\n  function isNum(v){ return v!==undefined&&v!==null&&NODATA.indexOf(String(v))<0&&!isNaN(parseFloat(v)); }\n  function getJSON(u,opt){ return fetch(u,opt||{mode:\"cors\"}).then(function(r){ if(!r.ok) throw 0; return r.json(); }); }\n  function seriesOf(j){ return (j&&j.value&&j.value.timeSeries)||[]; }\n  function pickElev(s){ if(!s||!s.length) return null; for(var i=0;i<s.length;i++){ var n=(s[i].variable&&s[i].variable.variableName||\"\").toLowerCase(); if(n.indexOf(\"elevation\")>-1||n.indexOf(\"water surface\")>-1) return s[i]; } return s[0]; }\n  function pickRecl(s){ if(!s||!s.length) return null; for(var i=0;i<s.length;i++){ var v=s[i].variable||{}; var n=((v.variableName||\"\")+\" \"+(v.variableDescription||\"\")).toLowerCase(); if(n.indexOf(\"reclamation\")>-1||n.indexOf(\"usbrkb\")>-1||n.indexOf(\"usbr\")>-1) return s[i]; } return pickElev(s); }\n  function pickCode(s,c){ if(!s) return null; for(var i=0;i<s.length;i++){ var x=s[i].variable&&s[i].variable.variableCode&&s[i].variable.variableCode[0]&&s[i].variable.variableCode[0].value; if(String(x)===c) return s[i]; } return s[0]||null; }\n  function latest(ts){ if(!ts||!ts.values||!ts.values[0]) return null; var a=ts.values[0].value||[]; for(var i=a.length-1;i>=0;i--){ if(isNum(a[i].value)) return {v:parseFloat(a[i].value)}; } return null; }\n  function fmt(n,d){ return n.toLocaleString(undefined,{minimumFractionDigits:d,maximumFractionDigits:d}); }\n  function commas(n){ return Math.round(n).toLocaleString(); }\n  function daysAgo(n){ return new Date(Date.now()-n*864e5).toISOString().slice(0,10); }\n  function setTxt(id,t){ var e=document.getElementById(id); if(e) e.textContent=t; }\n  function setTile(k,t){ var el=root.querySelector('[data-t=\"'+k+'\"] .kwd-num'); if(el) el.textContent=t; }\n\n  \/* ---------- date \/ weather ---------- *\/\n  var now=new Date();\n  setTxt(\"kwd-date\", now.toLocaleDateString(undefined,{weekday:\"long\",month:\"long\",day:\"numeric\",year:\"numeric\"}));\n  setTxt(\"kwd-g-upd\",\"live, updated \"+now.toLocaleTimeString(undefined,{hour:\"numeric\",minute:\"2-digit\"}));\n\n  \/* ---------- self-updating water-year label + season-wrapping state ---------- *\/\n  function waterYear(d){ var m=d.getMonth()+1, y=d.getFullYear(); return (m>=10)?y+1:y; }\n  var WY=waterYear(now);\n  setTxt(\"g-wy\",\"Water Year \"+WY);\n  setTxt(\"hero-wy2\",WY); setTxt(\"hero-wy3\",WY); setTxt(\"hero-wy4\",WY); setTxt(\"hero-wy5\",WY);\n  setTxt(\"cal-wy\",WY); setTxt(\"cal-wyp\",WY-1); setTxt(\"cal-wy2\",WY);\n  setTxt(\"dps-wy\",WY); setTxt(\"days-wy\",WY);\n  var _tl=document.getElementById(\"tl-wy\"); if(_tl) _tl.textContent=\"WATER YEAR \"+WY+\" \\u00b7 OCT 1 \\u2013 SEP 30\";\n  (function(){ var mo=now.getMonth()+1, dy=now.getDate(); if(mo===10||(mo===11&&dy<=7)){ setTxt(\"wrap-wy\",WY); setTxt(\"wrap-season\",WY-1); var w=document.getElementById(\"kwd-wrap\"); if(w) w.classList.add(\"show\"); } })();\n  var WX={sun:'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\/><\/svg>',\n    cloud:'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\"\/><\/svg>',\n    rain:'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 14.9A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.24\"\/><path d=\"M16 14v6M8 14v6M12 16v6\"\/><\/svg>',\n    snow:'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 14.9A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.24\"\/><path d=\"M8 15h.01M8 19h.01M12 17h.01M12 21h.01M16 15h.01M16 19h.01\"\/><\/svg>',\n    storm:'<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 16.3A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.97\"\/><path d=\"m13 12-3 5h4l-3 5\"\/><\/svg>'};\n  function wxName(c){ if(c==null) return \"cloud\"; if(c===0||c===1) return \"sun\"; if(c===2||c===3) return \"cloud\"; if(c>=45&&c<=67) return \"rain\"; if(c>=71&&c<=86) return \"snow\"; if(c>=95) return \"storm\"; if(c>=80&&c<=82) return \"rain\"; return \"cloud\"; }\n  fetch(\"https:\/\/api.open-meteo.com\/v1\/forecast?latitude=42.2249&longitude=-121.7817&current=temperature_2m,weather_code&temperature_unit=fahrenheit\").then(function(r){return r.json();}).then(function(j){\n    var c=j&&j.current; if(!c) return;\n    if(c.temperature_2m!=null) setTxt(\"kwd-g-temp\", Math.round(c.temperature_2m)+\"\\u00b0F\");\n    var ie=document.getElementById(\"kwd-g-wxicon\"); if(ie){ var nm=wxName(c.weather_code); ie.innerHTML=WX[nm]||WX.cloud; ie.style.color=(nm===\"sun\")?\"#e3b53d\":\"#e9e4d6\"; }\n  }).catch(function(){});\n\n  \/* ---------- live tiles + glance + water quality ---------- *\/\n  function condTC(c){ return c<=18?[\"g\",\"suitable\"]:c<=21?[\"a\",\"marginal\"]:[\"r\",\"harmful\"]; }\n  function condDO(v){ return v>=6?[\"g\",\"suitable\"]:v>=5?[\"a\",\"marginal\"]:[\"r\",\"harmful\"]; }\n  function condPH(v){ return (v>9||v<6)?[\"r\",\"harmful\"]:(v>8.5||v<6.5)?[\"a\",\"marginal\"]:[\"g\",\"suitable\"]; }\n  function cond(id,arr){ var e=document.getElementById(id); if(!e) return; e.className=\"kwd-uw-cond \"+arr[0]; e.textContent=arr[1]; }\n\n  getJSON(IV+\"11507000\").then(function(j){ var L=latest(pickRecl(seriesOf(j))); if(L){ setTile(\"ukl\",fmt(L.v,2)); setTxt(\"kwd-g-ukl\",fmt(L.v,2)+\" ft\"); } });\n  getJSON(IV+\"11507500&parameterCd=00060\").then(function(j){ var L=latest(pickCode(seriesOf(j),\"00060\")); if(L) setTile(\"link\",commas(L.v)); });\n  getJSON(IV+\"11509500&parameterCd=00060,00010,00300,00400\").then(function(j){\n    var s=seriesOf(j), L;\n    L=latest(pickCode(s,\"00060\")); if(L){ setTile(\"keno\",commas(L.v)); setTxt(\"kwd-g-keno\",commas(L.v)+\" cfs\"); }\n    L=latest(pickCode(s,\"00010\")); if(L){ var f=fmt(L.v*9\/5+32,1); setTile(\"temp\",f); setTxt(\"uw-keno-temp\",f); cond(\"uw-keno-temp-c\",condTC(L.v)); }\n    L=latest(pickCode(s,\"00300\")); if(L){ var d=fmt(L.v,1); setTile(\"do\",d); setTxt(\"uw-keno-do\",d); cond(\"uw-keno-do-c\",condDO(L.v)); }\n    L=latest(pickCode(s,\"00400\")); if(L){ setTxt(\"uw-keno-ph\",fmt(L.v,1)); cond(\"uw-keno-ph-c\",condPH(L.v)); }\n  });\n  getJSON(\"https:\/\/waterservices.usgs.gov\/nwis\/iv\/?format=json&siteStatus=all&period=P30D&sites=421935121551200&parameterCd=00010,00300,00400\").then(function(j){\n    var s=seriesOf(j), L;\n    L=latest(pickCode(s,\"00010\")); if(L){ setTxt(\"uw-ukl-temp\",fmt(L.v*9\/5+32,1)); cond(\"uw-ukl-temp-c\",condTC(L.v)); }\n    L=latest(pickCode(s,\"00300\")); if(L){ setTxt(\"uw-ukl-do\",fmt(L.v,1)); cond(\"uw-ukl-do-c\",condDO(L.v)); }\n    L=latest(pickCode(s,\"00400\")); if(L){ setTxt(\"uw-ukl-ph\",fmt(L.v,1)); cond(\"uw-ukl-ph-c\",condPH(L.v)); }\n  }).catch(function(){});\n\n  \/* ---------- elevation line chart ---------- *\/\n  function pointsFrom(ts){ if(!ts||!ts.values||!ts.values[0]) return []; return (ts.values[0].value||[]).filter(function(p){return isNum(p.value);}).map(function(p){ return {t:new Date(p.dateTime).getTime(), v:parseFloat(p.value)}; }); }\n  function drawLine(id,pts,unit,dec,color,refs){\n    var box=document.getElementById(id); if(!box) return;\n    if(!pts.length){ box.innerHTML='<div class=\"kwd-plot-load\">Live chart unavailable right now<\/div>'; return; }\n    var W=1000,H=240,pl=8,pr=8,pt=14,pb=24;\n    var xs=pts.map(function(p){return p.t;}), ys=pts.map(function(p){return p.v;});\n    var x0=Math.min.apply(null,xs),x1=Math.max.apply(null,xs),y0=Math.min.apply(null,ys),y1=Math.max.apply(null,ys);\n    refs=refs||[]; refs.forEach(function(r){ if(r.v<y0)y0=r.v; if(r.v>y1)y1=r.v; });\n    if(y0===y1){y0-=1;y1+=1;} var pad=(y1-y0)*(refs.length?0.05:0.08); y0-=pad; y1+=pad;\n    function X(t){return pl+(W-pl-pr)*((t-x0)\/((x1-x0)||1));} function Y(v){return pt+(H-pt-pb)*(1-(v-y0)\/((y1-y0)||1));}\n    var d=\"\",i; for(i=0;i<pts.length;i++){ d+=(i?\"L\":\"M\")+X(pts[i].t).toFixed(1)+\" \"+Y(pts[i].v).toFixed(1); }\n    var area=d+\"L\"+X(x1).toFixed(1)+\" \"+(H-pb)+\" L\"+X(x0).toFixed(1)+\" \"+(H-pb)+\" Z\", last=pts[pts.length-1];\n    function ds(t){ return new Date(t).toLocaleDateString(undefined,{month:\"short\",year:\"2-digit\"}); }\n    var refSvg=\"\"; refs.forEach(function(r){ var yv=Y(r.v); if(yv<pt+1||yv>H-pb-1) return; refSvg+='<line x1=\"'+pl+'\" y1=\"'+yv.toFixed(1)+'\" x2=\"'+(W-pr)+'\" y2=\"'+yv.toFixed(1)+'\" stroke=\"'+r.color+'\" stroke-width=\"1.2\" stroke-dasharray=\"6 4\" opacity=\"0.9\"\/><text x=\"'+(pl+5)+'\" y=\"'+(yv-4).toFixed(1)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" font-weight=\"600\" fill=\"'+r.color+'\">'+r.label+'<\/text>'; });\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\"><defs><linearGradient id=\"lg\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"'+color+'\" stop-opacity=\"0.2\"\/><stop offset=\"1\" stop-color=\"'+color+'\" stop-opacity=\"0\"\/><\/linearGradient><\/defs>'\n      +'<path d=\"'+area+'\" fill=\"url(#lg)\"\/>'+refSvg+'<path d=\"'+d+'\" fill=\"none\" stroke=\"'+color+'\" stroke-width=\"2\" stroke-linejoin=\"round\"\/>'\n      +'<circle cx=\"'+X(last.t).toFixed(1)+'\" cy=\"'+Y(last.v).toFixed(1)+'\" r=\"3.2\" fill=\"'+color+'\"\/>'\n      +(refs.length?'':('<text x=\"8\" y=\"17\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#4a5165\">'+fmt(y1,dec)+' '+unit+'<\/text>'))\n      +(refs.length?'':('<text x=\"8\" y=\"'+(H-pb+13)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#4a5165\">'+fmt(y0,dec)+' '+unit+'<\/text>'))\n      +'<text x=\"8\" y=\"'+(H-3)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8574\">'+ds(pts[0].t)+'<\/text>'\n      +'<text x=\"'+(W-pr)+'\" y=\"'+(H-3)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8574\">'+ds(last.t)+'<\/text>'\n      +'<text x=\"'+(W-pr)+'\" y=\"17\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"11\" font-weight=\"600\" fill=\"'+color+'\">'+fmt(last.v,dec)+' '+unit+'<\/text><\/svg>';\n  }\n  var UKL_REFS=[{v:4143.3,label:\"Flood-control max 4,143.3 ft\",color:\"#4a5165\"},{v:4137.2,label:\"2024 BiOp minimum modeled 4,137.2 ft\",color:\"#c39a3e\"},{v:4136.0,label:\"Water-right sill 4,136.0 ft\",color:\"#b22234\"}];\n  getJSON(DV+\"11507000&statCd=00003&startDT=\"+daysAgo(365)+\"&endDT=\"+daysAgo(0)).then(function(j){ drawLine(\"kwd-elev\", pointsFrom(pickRecl(seriesOf(j))), \"ft\", 2, \"#1f6f8b\", UKL_REFS); }).catch(function(){ drawLine(\"kwd-elev\",[],\"ft\",2,\"#1f6f8b\", UKL_REFS); });\n\n  \/* ---------- Keno conditions charts + days counter (one DV pull per param) ---------- *\/\n  var COL={g:\"#2e7d4f\",a:\"#c0882e\",r:\"#b22234\"}, MO=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];\n  var T_STRESS=18,T_MIG=21,T_LETHAL=25,DO_STRESS=6,DO_HARM=5,DO_LETHAL=3.3,MIG=[5,6,7,9,10,11,12];\n  var wyStartY=(now.getMonth()>=9)?now.getFullYear():now.getFullYear()-1, wyStart=wyStartY+\"-10-01\";\n  var t0=Date.now()-365*864e5, t1=Date.now();\n  function dvRows(param,stats,cb){\n    (function tryStat(i){\n      if(i>=stats.length){ cb([]); return; }\n      getJSON(DV+\"11509500&parameterCd=\"+param+\"&statCd=\"+stats[i]+\"&startDT=\"+daysAgo(365)+\"&endDT=\"+daysAgo(0)).then(function(j){\n        var ser=seriesOf(j), ts=ser&&ser[0]; if(!ts||!ts.values||!ts.values[0]){ tryStat(i+1); return; }\n        var a=ts.values[0].value||[], rows=[]; for(var k=0;k<a.length;k++){ if(isNum(a[k].value)) rows.push({d:a[k].dateTime.slice(0,10), v:parseFloat(a[k].value)}); }\n        if(rows.length) cb(rows); else tryStat(i+1);\n      }).catch(function(){ tryStat(i+1); });\n    })(0);\n  }\n  function drawWQ(id,pts,cfg){\n    var box=document.getElementById(id); if(!box) return;\n    if(!pts.length){ box.innerHTML='<div class=\"kwd-plot-load\">Live daily data unavailable<\/div>'; return; }\n    var W=720,H=200,L=44,R=14,T=14,plotB=150,stripY=159,stripH=12,xlab=192;\n    function X(t){return L+(t-t0)\/(t1-t0)*(W-L-R);}\n    var vals=pts.map(function(p){return p.v;}),vmin=Math.min.apply(null,vals),vmax=Math.max.apply(null,vals);\n    cfg.lines.forEach(function(l){ vmin=Math.min(vmin,l.v); vmax=Math.max(vmax,l.v); });\n    var pv=(vmax-vmin)*0.08+0.5; vmin-=pv; vmax+=pv; function Y(v){return T+(vmax-v)\/(vmax-vmin)*(plotB-T);}\n    var s=\"\",runs=[],cur=null,i;\n    for(i=0;i<pts.length;i++){ var c=cfg.cond(pts[i].v); if(!cur||cur.c!==c){ if(cur) runs.push(cur); cur={c:c,t:pts[i].t}; } }\n    if(cur) runs.push(cur);\n    for(i=0;i<runs.length;i++){ var x0=X(runs[i].t),x1=(i<runs.length-1?X(runs[i+1].t):X(t1)); if(x1-x0<0.6)x1=x0+0.9; s+='<rect x=\"'+x0.toFixed(1)+'\" y=\"'+stripY+'\" width=\"'+(x1-x0).toFixed(1)+'\" height=\"'+stripH+'\" fill=\"'+COL[runs[i].c]+'\"\/>'; }\n    s+='<rect x=\"'+L+'\" y=\"'+stripY+'\" width=\"'+(W-L-R)+'\" height=\"'+stripH+'\" fill=\"none\" stroke=\"#d9d2c2\" stroke-width=\"0.7\"\/>';\n    cfg.lines.forEach(function(l){ var y=Y(l.v); s+='<line x1=\"'+L+'\" y1=\"'+y.toFixed(1)+'\" x2=\"'+(W-R)+'\" y2=\"'+y.toFixed(1)+'\" stroke=\"#b7ad97\" stroke-width=\"0.8\" stroke-dasharray=\"3 3\"\/><text x=\"'+(W-R-2)+'\" y=\"'+(y-2.5).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#6b6350\">'+l.label+'<\/text>'; });\n    var d=\"\"; for(i=0;i<pts.length;i++){ d+=(i?\"L\":\"M\")+X(pts[i].t).toFixed(1)+\" \"+Y(pts[i].v).toFixed(1); }\n    s+='<path d=\"'+d+'\" fill=\"none\" stroke=\"'+cfg.color+'\" stroke-width=\"1.6\" stroke-linejoin=\"round\"\/>';\n    [vmax,(vmin+vmax)\/2,vmin].forEach(function(yv){ var y=Y(yv); s+='<text x=\"'+(L-6)+'\" y=\"'+(y+3).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8270\">'+yv.toFixed(cfg.dec)+'<\/text>'; });\n    var m=new Date(new Date(t0).getFullYear(),new Date(t0).getMonth(),1);\n    while(m.getTime()<=t1){ if(m.getTime()>=t0){ var mx=X(m.getTime()); s+='<text x=\"'+mx.toFixed(1)+'\" y=\"'+xlab+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#8a8270\">'+MO[m.getMonth()]+'<\/text>'; } m=new Date(m.getFullYear(),m.getMonth()+1,1); }\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"xMidYMid meet\">'+s+'<\/svg>';\n  }\n  dvRows(\"00010\",[\"00001\",\"00003\"],function(rows){\n    if(!rows.length) return;\n    var st=0,mg=0,le=0; rows.forEach(function(rw){ var c=rw.v, mo=parseInt(rw.d.slice(5,7),10); if(rw.d>=wyStart){ if(c>T_STRESS)st++; if(c>=T_LETHAL)le++; if(c>T_MIG&&MIG.indexOf(mo)>=0)mg++; } });\n    setTxt(\"d-t-stress\",st); setTxt(\"d-t-mig\",mg); setTxt(\"d-t-lethal\",le);\n    var pts=rows.map(function(rw){ return {t:new Date(rw.d).getTime(), v:rw.v*9\/5+32}; });\n    drawWQ(\"kwd-wq-temp\", pts, { cond:function(v){return v<=64?\"g\":v<=70?\"a\":\"r\";}, lines:[{v:70,label:\"70\\u00b0F harmful\"},{v:64,label:\"64\\u00b0F stress\"}], dec:0, color:\"#c85a3a\" });\n  });\n  dvRows(\"00300\",[\"00002\",\"00003\"],function(rows){\n    if(!rows.length) return;\n    var st=0,hm=0,le=0; rows.forEach(function(rw){ if(rw.d>=wyStart){ var v=rw.v; if(v<DO_STRESS)st++; if(v<DO_HARM)hm++; if(v<=DO_LETHAL)le++; } });\n    setTxt(\"d-do-stress\",st); setTxt(\"d-do-harm\",hm); setTxt(\"d-do-lethal\",le);\n    var pts=rows.map(function(rw){ return {t:new Date(rw.d).getTime(), v:rw.v}; });\n    drawWQ(\"kwd-wq-do\", pts, { cond:function(v){return v>=6?\"g\":v>=5?\"a\":\"r\";}, lines:[{v:6,label:\"6 mg\/L stress\"},{v:5,label:\"5 mg\/L harmful\"}], dec:1, color:\"#1f6f8b\" });\n  });\n\n  \/* ---------- accountability (from KID feed) ---------- *\/\n  var natCum=null, projSet=null;   \/\/ cumulative reconstructed natural, and the projected extension\n  function drawAcct(K){\n    var IN=K[\"in\"],OUT=K.out,NAT=(natCum&&natCum.length===K.out.length)?natCum:K.nat, nH=IN.length;\n    if(projSet&&projSet.nHist===IN.length){ IN=projSet[\"in\"]; OUT=projSet.out; NAT=projSet.nat; }\n    var n=IN.length-1;\n    var h=nH-1;   \/\/ hero strip states the measured year to date; only the claim card projects\n    setTxt(\"s-in\",commas(IN[h])); setTxt(\"s-in-pct\",Math.round(IN[h]\/1200000*100)); setTxt(\"s-keno\",commas(OUT[h]));\n    var gap=OUT[n]-NAT[n]; setTxt(\"s-abovenat\",commas(Math.abs(gap))); setTxt(\"s-abovenat-dir\",gap>=0?\"more\":\"less\");\n    setTxt(\"a-in\",commas(IN[n])+\" AF\"); setTxt(\"a-act\",commas(OUT[n])+\" AF\"); setTxt(\"a-nat\",commas(NAT[n])+\" AF\"); var gp=OUT[n]-NAT[n]; setTxt(\"a-gap\",(gp>=0?\"+\":\"-\")+commas(Math.abs(gp))+\" AF\");\n    if(K.dps_total_af!=null) setTxt(\"a-dps-total\",commas(K.dps_total_af)), setTxt(\"s-dps\",commas(K.dps_total_af));\n    if(K.dps_lrdc_af!=null) setTxt(\"a-dps-lrdc\",commas(K.dps_lrdc_af));\n    if(K.dps_ff_af!=null) setTxt(\"a-dps-ff\",commas(K.dps_ff_af));\n    if(K.dps_as_of) setTxt(\"a-dps-asof\",K.dps_as_of);\n    var box=document.getElementById(\"kwd-acct\"); if(!box) return;\n    var W=900,H=400,ML=58,MR=96,MT=16,MB=32,PW=W-ML-MR,PH=H-MT-MB,YMAX=800000,DAYS=365;\n    function X(i){return ML+(i\/DAYS)*PW;} function Y(v){return MT+PH-(v\/YMAX)*PH;}\n    function path(a){var d=\"\",i;for(i=0;i<a.length;i++){d+=(i?\"L\":\"M\")+X(i).toFixed(1)+\" \"+Y(a[i]).toFixed(1);}return d;}\n    var s=\"\",g;\n    for(g=0;g<=800000;g+=200000){ var y=Y(g); s+='<line x1=\"'+ML+'\" y1=\"'+y+'\" x2=\"'+(ML+PW)+'\" y2=\"'+y+'\" stroke=\"#e8e2d4\"\/><text x=\"'+(ML-8)+'\" y=\"'+(y+4)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"11\" fill=\"#8a8676\">'+(g\/1000)+'k<\/text>'; }\n    var MON=[[\"Oct\",0],[\"Dec\",61],[\"Feb\",123],[\"Apr\",182],[\"Jun\",243],[\"Aug\",304],[\"Sep\",335]];\n    MON.forEach(function(m){ var x=X(m[1]); s+='<text x=\"'+x+'\" y=\"'+(MT+PH+18)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"11\" fill=\"#8a8676\">'+m[0]+'<\/text>'; });\n    if(projSet&&n>=nH){ var xdv=X(nH-1);\n      s+='<rect x=\"'+xdv.toFixed(1)+'\" y=\"'+MT+'\" width=\"'+(ML+PW-xdv).toFixed(1)+'\" height=\"'+PH+'\" fill=\"#1b2a4e\" opacity=\"0.04\"\/>';\n      s+='<line x1=\"'+xdv.toFixed(1)+'\" y1=\"'+MT+'\" x2=\"'+xdv.toFixed(1)+'\" y2=\"'+(MT+PH)+'\" stroke=\"#8a8676\" stroke-width=\"1\" stroke-dasharray=\"3 3\"\/>';\n      s+='<text x=\"'+(xdv+5).toFixed(1)+'\" y=\"'+(MT+12)+'\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">projected<\/text>'; }\n    var fill=\"M\"+X(0).toFixed(1)+\" \"+Y(IN[0]).toFixed(1),i;\n    for(i=1;i<IN.length;i++){ fill+=\"L\"+X(i).toFixed(1)+\" \"+Y(IN[i]).toFixed(1); }\n    for(i=OUT.length-1;i>=0;i--){ fill+=\"L\"+X(i).toFixed(1)+\" \"+Y(OUT[i]).toFixed(1); }\n    fill+=\"Z\"; s+='<path d=\"'+fill+'\" fill=\"#efe6d2\" opacity=\"0.6\"\/>';\n    s+='<path d=\"'+path(NAT)+'\" fill=\"none\" stroke=\"#4a5165\" stroke-width=\"2.2\" stroke-dasharray=\"7 5\"\/>';\n    s+='<path d=\"'+path(IN)+'\" fill=\"none\" stroke=\"#2f8fb0\" stroke-width=\"2.4\"\/>';\n    s+='<path d=\"'+path(OUT)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"2.4\"\/>';\n    s+='<text x=\"'+(X(n)+6)+'\" y=\"'+(Y(IN[n])+4)+'\" font-family=\"IBM Plex Mono\" font-size=\"11\" font-weight=\"600\" fill=\"#2f8fb0\">'+commas(IN[n])+'<\/text>';\n    s+='<text x=\"'+(X(n)+6)+'\" y=\"'+(Y(OUT[n])+4)+'\" font-family=\"IBM Plex Mono\" font-size=\"11\" font-weight=\"600\" fill=\"#b22234\">'+commas(OUT[n])+'<\/text>';\n    var ynat=Y(NAT[n]), yout=Y(OUT[n]); if(Math.abs(ynat-yout)<15) ynat=yout-(yout>ynat?15:-15);\n    s+='<text x=\"'+(X(n)+6)+'\" y=\"'+(ynat-4).toFixed(1)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#4a5165\">nat '+commas(NAT[n])+'<\/text>';\n    s+='<text x=\"'+ML+'\" y=\"'+(MT-4)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#a8a48c\">AF cumulative<\/text>';\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\">'+s+'<\/svg>';\n  }\n\n  \/\/ ---- 39-year natural reconstruction panel ----------------------------------\n  (function(){\n    var H39=[[1961,854867,604279,566,241,1,96],[1962,1073984,805899,825,345,1,1113],[1963,1130383,872049,869,438,1,1998],[1964,977985,748715,685,433,1,615],[1965,1499977,1181566,1243,432,1,10425],[1966,773988,599903,477,346,1,24],[1967,1058384,787285,785,303,1,1143],[1968,734389,542232,430,312,1,6],[1969,1367979,1045581,1126,303,1,6018],[1970,1181982,931122,950,532,1,2428],[1971,1583976,1264246,1360,523,1,13441],[1972,2184447,1795625,2125,713,1,43341],[1973,833988,683656,534,392,1,107],[1974,1487977,1156332,1268,359,1,9939],[1975,1295980,1038151,1043,573,1,4690],[1976,950386,733840,665,477,1,403],[1977,494393,347163,181,107,1,0],[1978,986385,694104,706,140,1,601],[1979,773988,568574,485,353,1,20],[1980,1094383,817506,821,305,1,1434],[1981,713989,527916,416,297,1,2],[1982,1691974,1318304,1489,309,1,17821],[1983,1775973,1454508,1554,704,1,22048],[1984,1631975,1339885,1377,706,1,15180],[1985,977985,774442,695,523,1,580],[1986,1301980,1010440,1059,416,1,4875],[1987,749989,569038,462,336,1,8],[1988,698389,488472,391,269,1,1],[1989,1343980,1021117,1094,286,1,5554],[1990,653990,494230,349,243,1,0],[1991,626391,420683,319,215,1,0],[1992,582231,384165,266,176,1,0],[1993,1367979,1029666,1122,208,1,6493],[1994,597591,451443,291,196,1,0],[1995,1229982,913044,986,217,1,3156],[1996,1415979,1123394,1160,518,1,7548],[1997,1733974,1404972,1509,621,1,19317],[1998,1571976,1282383,1342,685,1,12530],[1999,1703974,1387782,1479,658,1,18249],[2000,1070384,857505,791,578,1,1210],[2001,545992,393591,233,148,1,0],[2002,770388,522653,471,165,1,19],[2003,953986,699039,677,291,1,417],[2004,854387,631714,570,362,1,110],[2005,821988,599430,531,325,1,71],[2006,1607976,1258346,1374,363,1,14134],[2007,737989,577045,434,310,1,8],[2008,893986,645107,607,269,1,188],[2009,734389,529904,444,320,1,5],[2010,698389,486306,400,258,1,1],[2011,1295980,979931,1063,279,1,4362],[2012,953986,736992,675,478,1,397],[2013,734389,533162,439,316,1,5],[2014,701989,491368,396,263,1,2],[2015,818988,580125,522,245,1,67],[2016,1013985,755149,738,320,1,790],[2017,1343980,1045986,1118,426,1,5495],[2018,737989,562627,449,323,1,5],[2019,1253981,949060,1008,303,1,3879],[2020,653990,490259,339,237,1,0],[2021,478073,308340,161,91,1,0],[2022,614391,387638,308,112,1,0],[2023,977985,703152,701,209,1,570],[2024,854387,635281,552,371,1,133],[2025,1579976,1238282,1360,375,1,13386]];\n    var box=document.getElementById(\"kwd-h39-chart\"); if(!box) return;\n    var W=920,H=272,ML=54,MR=14,MT=12,MB=56,PW=W-ML-MR,PH=H-MT-MB;\n    var mx=0,i; for(i=0;i<H39.length;i++) if(H39[i][1]>mx) mx=H39[i][1];\n    mx=Math.ceil(mx\/250000)*250000;\n    function Y(v){ return MT+PH-(v\/mx)*PH; }\n    var bw=PW\/H39.length, s=\"\";\n    for(var g=0; g<=mx; g+=500000){\n      var y=Y(g);\n      s+='<line x1=\"'+ML+'\" y1=\"'+y.toFixed(1)+'\" x2=\"'+(ML+PW)+'\" y2=\"'+y.toFixed(1)+'\" stroke=\"#e8e2d4\"\/>';\n      s+='<text x=\"'+(ML-7)+'\" y=\"'+(y+4).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+(g\/1000)+'k<\/text>';\n    }\n    for(i=0;i<H39.length;i++){\n      var x=ML+i*bw+1, w=Math.max(1,bw-2);\n      var inf=H39[i][1], nat=H39[i][2];\n      var shut=(H39[i][0]===2001||H39[i][0]===2021);\n      var mm=(H39[i][5]===1);\n      if(shut){\n        s+='<rect x=\"'+(x-0.6).toFixed(1)+'\" y=\"'+Y(inf).toFixed(1)+'\" width=\"'+(w+1.2).toFixed(1)+'\" height=\"'+(Y(0)-Y(inf)).toFixed(1)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"1.6\"\/>';\n      }\n      s+='<rect x=\"'+x.toFixed(1)+'\" y=\"'+Y(inf).toFixed(1)+'\" width=\"'+w.toFixed(1)+'\" height=\"'+(Y(0)-Y(inf)).toFixed(1)+'\" fill=\"#2f8fb0\" opacity=\"0.30\"\/>';\n      s+='<rect x=\"'+x.toFixed(1)+'\" y=\"'+Y(nat).toFixed(1)+'\" width=\"'+w.toFixed(1)+'\" height=\"'+(Y(0)-Y(nat)).toFixed(1)+'\" fill=\"#4a5165\" opacity=\"'+(mm?0.9:0.88)+'\"><title>WY'+H39[i][0]+'\\n  net inflow      '+commas(inf)+' AF\\n  natural Keno    '+commas(nat)+' AF\\n  lake consumed   '+commas(inf-nat-H39[i][6])+' AF\\n  Lost River Slough '+commas(H39[i][6])+' AF\\n  Jul-Sep median  '+commas(H39[i][3])+' cfs<\/title><\/rect>';\n      if(shut){\n        s+='<text x=\"'+(x+w\/2).toFixed(1)+'\" y=\"'+(MT+PH+15)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9\" font-weight=\"600\" fill=\"#b22234\">'+H39[i][0]+'<\/text>';\n        s+='<text x=\"'+(x+w\/2).toFixed(1)+'\" y=\"'+(MT+PH+25)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"8\" fill=\"#b22234\">shutoff<\/text>';\n      }\n      var near=(Math.abs(H39[i][0]-2001)<=1||Math.abs(H39[i][0]-2021)<=1);\n      if(!near&&H39[i][0]%10===0){\n        s+='<text x=\"'+(x+w\/2).toFixed(1)+'\" y=\"'+(MT+PH+15)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#8a8676\">'+H39[i][0]+'<\/text>';\n      }\n    }\n    \/\/ ---- year-type strip, Klamath County SPI (Edit 15 categories) ------------\n    var YT={\"1961\":\"AVG\",\"1962\":\"AVG\",\"1963\":\"AVG\",\"1964\":\"AVG\",\"1965\":\"D4\",\"1966\":\"D3\",\"1967\":\"D3\",\"1968\":\"D2\",\"1969\":\"WET\",\"1970\":\"WET\",\"1971\":\"WET\",\"1972\":\"AVG\",\"1973\":\"D2\",\"1974\":\"WET\",\"1975\":\"D3\",\"1976\":\"D2\",\"1977\":\"D4\",\"1978\":\"WET\",\"1979\":\"AVG\",\"1980\":\"AVG\",\"1981\":\"AVG\",\"1982\":\"WET\",\"1983\":\"WET\",\"1984\":\"WET\",\"1985\":\"D3\",\"1986\":\"WET\",\"1987\":\"D2\",\"1988\":\"D2\",\"1989\":\"D3\",\"1990\":\"AVG\",\"1991\":\"D4\",\"1992\":\"D4\",\"1993\":\"WET\",\"1994\":\"D4\",\"1995\":\"D2\",\"1996\":\"WET\",\"1997\":\"WET\",\"1998\":\"WET\",\"1999\":\"WET\",\"2000\":\"D3\",\"2001\":\"D4\",\"2002\":\"D2\",\"2003\":\"D4\",\"2004\":\"AVG\",\"2005\":\"D2\",\"2006\":\"WET\",\"2007\":\"AVG\",\"2008\":\"AVG\",\"2009\":\"D3\",\"2010\":\"D2\",\"2011\":\"WET\",\"2012\":\"D3\",\"2013\":\"AVG\",\"2014\":\"D3\",\"2015\":\"WET\",\"2016\":\"AVG\",\"2017\":\"WET\",\"2018\":\"D2\",\"2019\":\"D2\",\"2020\":\"D2\",\"2021\":\"D4\",\"2022\":\"D3\",\"2023\":\"D2\",\"2024\":\"AVG\",\"2025\":\"AVG\"};\n    var COL={WET:\"#2f8fb0\",AVG:\"#cfc9b4\",D2:\"#e0b877\",D3:\"#c98a3c\",D4:\"#b22234\"};\n    var sy=MT+PH+22, sh=7;\n    for(i=0;i<H39.length;i++){\n      var k=YT[H39[i][0]]; if(!k) continue;\n      var xx=ML+i*bw;\n      s+='<rect x=\"'+xx.toFixed(1)+'\" y=\"'+sy+'\" width=\"'+Math.max(1,bw-0.4).toFixed(1)+'\" height=\"'+sh+'\" fill=\"'+COL[k]+'\" opacity=\"0.85\"><title>WY'+H39[i][0]+' '+k+'<\/title><\/rect>';\n    }\n    s+='<text x=\"'+(ML-7)+'\" y=\"'+(sy+sh-0.5)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#8a8676\">year type<\/text>';\n    \/\/ measured water-year totals at Keno, USGS gage 11509500 daily record\n    var KACT=[[1961,855060],[1962,915512],[1963,1264807],[1964,965563],[1965,1997092],[1966,1031531],[1967,1178681],[1968,774283],[1969,1098565],[1970,1316992],[1971,1726583],[1972,1776308],[1973,994607],[1974,1640000],[1975,1433184],[1976,1142723],[1977,679642],[1978,1282454],[1979,777562],[1980,913896],[1981,622548],[1982,1656717],[1983,1938237],[1984,2058820],[1985,1418742],[1986,1504765],[1987,885217],[1988,688010],[1989,1128600],[1990,692392],[1991,440943],[1992,246900],[1993,1053496],[1994,435445],[1995,838833],[1996,1531983],[1997,1468172],[1998,1760982],[1999,1745406],[2000,1146182],[2001,708509],[2002,670042],[2003,656640],[2004,625192],[2005,595041],[2006,1674273],[2007,770425],[2008,789286],[2009,648583],[2010,620183],[2011,1017875],[2012,788538],[2013,531592],[2014,522533],[2015,504466],[2016,691475],[2017,1165090],[2018,640028],[2019,735397],[2020,620060],[2021,512777],[2022,537467],[2023,627778],[2024,494422],[2025,1032944]];\n    function xOf(w){ for(var j=0;j<H39.length;j++) if(H39[j][0]===w) return ML+j*bw; return null; }\n    var lp='';\n    KACT.forEach(function(p){ var x=xOf(p[0]); if(x===null) return; lp+=(lp?'L':'M')+(x+bw\/2).toFixed(1)+' '+Y(p[1]).toFixed(1); });\n    s+='<path d=\"'+lp+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"2\"\/>';\n    KACT.forEach(function(p){ var x=xOf(p[0]); if(x===null) return;\n      s+='<circle cx=\"'+(x+bw\/2).toFixed(1)+'\" cy=\"'+Y(p[1]).toFixed(1)+'\" r=\"1.8\" fill=\"#b22234\"><title>WY'+p[0]+'  measured at Keno '+commas(p[1])+' AF<\/title><\/circle>'; });\n    s+='<text x=\"'+ML+'\" y=\"'+(MT-1)+'\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#a8a48c\">AF per water year<\/text>';\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\" style=\"width:100%;height:auto;display:block\">'+s+'<\/svg>';\n  })();\n\n\n  \/\/ ---- day-of-year natural flow envelope --------------------------------------\n  (function(){\n    var EN=[[0,135,277,383,558,606,783,1043,1496],[1,138,280,384,556,602,775,1026,1461],[2,138,278,380,547,590,759,1001,1415],[3,139,277,377,540,582,746,980,1375],[4,140,276,374,534,573,733,959,1336],[5,141,276,372,527,565,721,941,1300],[6,142,274,369,521,557,709,922,1265],[7,141,271,364,511,546,693,900,1226],[8,140,267,358,501,535,678,877,1188],[9,139,264,353,492,525,663,856,1153],[10,138,261,348,484,516,650,837,1119],[11,139,260,347,479,510,643,824,1093],[12,139,259,346,473,504,635,811,1066],[13,140,257,345,467,498,627,798,1040],[14,140,255,344,462,492,620,786,1015],[15,139,253,342,455,486,613,773,990],[16,139,250,340,449,480,606,762,966],[17,140,250,341,446,477,600,754,947],[18,142,251,342,443,474,594,747,929],[19,142,252,342,439,471,590,740,910],[20,143,253,345,436,468,586,733,893],[21,143,253,346,431,464,579,722,875],[22,136,242,334,412,445,552,693,836],[23,132,237,329,402,436,536,678,810],[24,132,238,329,402,432,527,670,793],[25,133,240,330,405,429,520,664,779],[26,133,240,330,401,427,512,658,765],[27,134,242,333,401,427,507,656,755],[28,137,245,337,402,428,504,657,758],[29,139,250,341,406,431,502,660,765],[30,143,256,347,411,435,501,664,775],[31,146,261,352,411,438,500,668,784],[32,146,262,353,406,437,494,665,787],[33,148,264,357,406,437,495,666,793],[34,149,267,358,406,439,492,667,800],[35,152,271,362,411,442,491,671,810],[36,154,275,364,416,444,493,669,818],[37,156,277,364,414,444,494,663,824],[38,157,279,365,413,445,495,657,830],[39,160,283,371,413,449,495,655,841],[40,163,288,376,418,452,500,653,852],[41,166,293,383,427,457,509,653,865],[42,170,299,389,433,462,519,655,878],[43,173,304,394,434,467,528,657,890],[44,176,308,395,435,470,531,658,901],[45,178,310,394,439,472,530,656,908],[46,180,312,393,445,474,532,657,917],[47,183,317,394,452,479,533,662,930],[48,186,321,397,453,483,538,666,942],[49,188,323,401,454,485,544,669,950],[50,191,326,408,459,490,554,676,963],[51,196,331,413,465,497,563,685,979],[52,201,336,419,473,504,571,694,995],[53,206,341,425,480,511,579,704,1012],[54,209,344,432,487,516,586,712,1025],[55,214,349,441,493,523,594,721,1040],[56,219,354,447,496,530,602,732,1056],[57,224,358,451,500,537,611,742,1072],[58,227,362,454,501,542,617,750,1084],[59,232,366,458,506,548,625,760,1099],[60,237,371,464,518,555,634,771,1114],[61,241,375,471,523,563,644,781,1129],[62,247,379,477,532,570,652,792,1144],[63,252,383,483,540,577,657,803,1160],[64,257,389,486,549,585,662,814,1175],[65,262,396,489,558,592,666,825,1191],[66,267,401,492,567,599,674,837,1207],[67,271,404,493,569,605,679,846,1219],[68,276,409,495,572,611,684,858,1234],[69,281,414,498,581,619,689,870,1250],[70,286,419,500,588,626,695,882,1265],[71,289,422,502,589,631,698,890,1276],[72,294,426,507,592,637,706,901,1290],[73,299,431,512,599,644,715,913,1304],[74,304,436,515,607,651,725,924,1318],[75,307,439,519,613,656,732,933,1329],[76,312,443,524,620,662,741,944,1342],[77,317,447,530,628,669,750,955,1355],[78,322,451,535,635,675,760,966,1369],[79,327,454,540,643,682,771,977,1382],[80,331,457,544,650,688,777,987,1395],[81,336,460,547,658,695,783,998,1408],[82,341,463,551,665,701,789,1009,1421],[83,346,466,555,673,708,795,1020,1435],[84,349,468,556,677,711,799,1027,1444],[85,353,470,560,684,717,804,1037,1456],[86,358,473,565,691,723,810,1048,1468],[87,362,478,572,698,729,817,1058,1481],[88,365,481,577,703,733,823,1065,1489],[89,369,485,582,709,738,832,1075,1501],[90,373,490,586,713,744,841,1085,1513],[91,376,495,591,715,750,850,1095,1524],[92,377,498,593,714,753,856,1102,1531],[93,379,501,596,715,758,863,1111,1541],[94,382,505,599,717,763,869,1121,1552],[95,384,509,603,720,768,877,1130,1562],[96,386,513,606,725,772,884,1139,1572],[97,388,517,608,730,777,892,1149,1582],[98,391,521,611,734,782,898,1157,1592],[99,393,525,615,739,786,905,1166,1602],[100,395,529,617,744,791,912,1175,1612],[101,396,530,618,746,793,915,1180,1618],[102,397,534,620,750,797,921,1188,1627],[103,400,537,623,755,801,927,1196,1636],[104,402,540,626,759,806,933,1204,1644],[105,402,542,626,761,807,936,1209,1649],[106,404,545,628,764,811,941,1215,1657],[107,406,547,630,767,815,947,1221,1666],[108,408,550,633,771,819,952,1227,1674],[109,408,551,633,771,821,955,1229,1678],[110,410,553,635,774,824,960,1234,1686],[111,412,555,637,777,828,965,1240,1694],[112,414,557,639,780,832,970,1245,1701],[113,415,559,641,783,835,975,1251,1709],[114,417,561,643,786,839,980,1256,1715],[115,419,563,646,789,843,985,1261,1722],[116,421,564,648,792,846,989,1266,1729],[117,423,566,650,795,850,994,1271,1736],[118,423,566,650,796,851,995,1272,1739],[119,424,568,651,798,854,999,1276,1746],[120,426,569,653,801,857,1003,1280,1752],[121,427,571,655,804,861,1007,1284,1759],[122,427,571,655,804,861,1009,1285,1762],[123,429,573,656,806,864,1013,1289,1769],[124,430,574,659,809,867,1017,1293,1777],[125,432,576,662,812,871,1021,1298,1785],[126,432,576,663,812,872,1023,1299,1789],[127,434,578,666,815,875,1027,1304,1796],[128,435,580,668,818,879,1033,1310,1805],[129,437,582,671,821,883,1038,1316,1815],[130,439,584,674,825,888,1044,1323,1825],[131,441,586,677,828,892,1051,1330,1836],[132,443,589,680,832,897,1058,1338,1850],[133,446,591,683,836,903,1066,1347,1863],[134,448,594,686,841,909,1074,1356,1877],[135,449,595,687,842,912,1080,1363,1889],[136,451,597,690,846,918,1089,1374,1905],[137,454,600,694,851,925,1099,1387,1923],[138,456,604,699,857,933,1109,1400,1943],[139,458,605,701,861,938,1116,1411,1959],[140,461,608,706,867,946,1127,1426,1980],[141,464,612,711,874,955,1139,1442,2003],[142,468,616,717,882,965,1152,1460,2029],[143,469,618,720,888,973,1162,1475,2053],[144,473,623,726,896,983,1176,1495,2083],[145,477,627,733,905,995,1191,1516,2116],[146,481,633,740,914,1007,1207,1538,2150],[147,485,638,747,924,1020,1223,1561,2186],[148,490,644,755,935,1034,1240,1585,2225],[149,494,650,763,948,1048,1258,1611,2265],[150,500,656,772,962,1063,1277,1639,2307],[151,505,663,780,976,1079,1296,1667,2351],[152,508,667,786,986,1092,1313,1692,2392],[153,513,673,795,999,1107,1333,1722,2440],[154,518,680,804,1014,1125,1355,1752,2489],[155,524,687,815,1028,1143,1377,1782,2541],[156,528,692,823,1041,1158,1398,1810,2588],[157,534,699,833,1056,1177,1423,1844,2640],[158,540,707,844,1073,1197,1450,1879,2696],[159,547,715,856,1090,1218,1478,1915,2752],[160,552,722,866,1105,1237,1503,1948,2802],[161,559,730,880,1123,1259,1533,1986,2859],[162,566,740,895,1141,1282,1564,2025,2917],[163,573,752,910,1161,1305,1595,2067,2978],[164,581,763,925,1182,1330,1628,2109,3035],[165,588,775,940,1203,1355,1662,2153,3096],[166,596,787,955,1225,1381,1697,2199,3162],[167,604,800,970,1248,1407,1732,2245,3232],[168,612,813,986,1272,1434,1768,2292,3302],[169,619,823,999,1294,1458,1799,2335,3364],[170,627,835,1014,1319,1485,1834,2382,3434],[171,636,848,1030,1345,1514,1870,2432,3508],[172,646,862,1047,1371,1543,1907,2483,3582],[173,652,873,1060,1394,1569,1940,2530,3649],[174,661,887,1076,1420,1598,1977,2581,3721],[175,671,902,1093,1447,1628,2015,2633,3796],[176,681,917,1111,1474,1659,2053,2686,3872],[177,688,930,1126,1497,1686,2089,2735,3936],[178,698,944,1145,1523,1716,2129,2790,4003],[179,708,959,1164,1552,1748,2172,2847,4067],[180,718,974,1184,1580,1780,2215,2903,4127],[181,728,989,1205,1609,1811,2258,2958,4184],[182,739,1004,1226,1637,1842,2302,3012,4237],[183,749,1020,1246,1665,1873,2346,3064,4286],[184,759,1035,1267,1694,1904,2385,3115,4332],[185,770,1051,1289,1722,1935,2424,3165,4376],[186,780,1067,1309,1750,1965,2463,3214,4416],[187,790,1083,1330,1779,1995,2500,3262,4454],[188,800,1099,1351,1808,2024,2536,3306,4489],[189,811,1114,1372,1836,2054,2572,3351,4522],[190,821,1130,1394,1865,2083,2609,3395,4553],[191,831,1146,1415,1894,2112,2645,3437,4581],[192,841,1162,1436,1922,2140,2682,3478,4608],[193,852,1178,1457,1950,2168,2718,3519,4633],[194,862,1193,1478,1978,2196,2752,3562,4657],[195,872,1209,1499,2005,2223,2787,3605,4679],[196,881,1224,1519,2032,2249,2819,3647,4699],[197,891,1240,1539,2059,2275,2851,3688,4718],[198,901,1255,1560,2086,2301,2882,3728,4736],[199,910,1271,1581,2111,2325,2914,3766,4752],[200,920,1286,1601,2136,2349,2945,3802,4768],[201,929,1300,1622,2160,2373,2976,3837,4782],[202,938,1315,1641,2183,2395,3005,3869,4796],[203,948,1329,1661,2207,2417,3034,3903,4808],[204,957,1343,1679,2229,2438,3061,3935,4820],[205,966,1356,1697,2252,2458,3085,3965,4831],[206,975,1369,1715,2273,2477,3109,3993,4841],[207,984,1382,1732,2293,2495,3132,4020,4850],[208,993,1394,1748,2313,2512,3154,4044,4859],[209,1001,1406,1764,2331,2528,3173,4064,4868],[210,1001,1408,1766,2335,2529,3176,4066,4856],[211,1007,1416,1775,2347,2540,3189,4078,4859],[212,1007,1417,1776,2349,2540,3190,4077,4847],[213,1001,1412,1770,2343,2531,3179,4063,4825],[214,993,1402,1758,2331,2516,3161,4039,4795],[215,972,1378,1730,2300,2480,3119,3986,4739],[216,953,1355,1703,2270,2447,3080,3937,4689],[217,927,1324,1666,2228,2402,3027,3872,4624],[218,908,1302,1640,2199,2371,2989,3824,4580],[219,901,1294,1630,2188,2358,2973,3801,4566],[220,899,1293,1628,2185,2355,2968,3790,4566],[221,897,1291,1625,2180,2350,2961,3778,4566],[222,890,1284,1616,2166,2338,2944,3756,4555],[223,884,1277,1607,2153,2325,2927,3735,4546],[224,877,1268,1596,2137,2310,2907,3710,4534],[225,867,1256,1581,2117,2290,2882,3678,4516],[226,863,1252,1575,2107,2281,2869,3659,4516],[227,860,1249,1570,2099,2273,2857,3642,4519],[228,859,1247,1567,2093,2267,2846,3626,4524],[229,857,1244,1562,2085,2258,2832,3608,4528],[230,847,1232,1546,2064,2236,2802,3571,4512],[231,821,1199,1507,2016,2186,2740,3498,4457],[232,794,1165,1467,1966,2135,2676,3422,4401],[233,782,1149,1447,1941,2108,2641,3380,4385],[234,770,1133,1427,1915,2082,2606,3337,4369],[235,756,1116,1406,1888,2053,2569,3292,4352],[236,741,1096,1381,1857,2020,2527,3241,4329],[237,724,1074,1355,1823,1985,2481,3186,4304],[238,713,1059,1336,1800,1960,2448,3145,4295],[239,709,1053,1328,1789,1946,2428,3118,4306],[240,704,1045,1318,1776,1931,2406,3089,4314],[241,696,1035,1304,1758,1910,2378,3053,4316],[242,687,1022,1289,1738,1889,2349,3017,4311],[243,674,1003,1267,1711,1860,2313,2974,4292],[244,658,983,1243,1681,1830,2275,2930,4267],[245,651,972,1231,1666,1815,2256,2907,4264],[246,644,963,1221,1653,1801,2239,2889,4261],[247,619,931,1184,1609,1757,2187,2831,4206],[248,603,911,1161,1582,1730,2156,2796,4178],[249,587,891,1139,1555,1703,2127,2763,4150],[250,579,881,1128,1541,1692,2115,2752,4145],[251,571,872,1118,1530,1681,2104,2742,4142],[252,562,861,1105,1515,1667,2089,2727,4131],[253,562,862,1108,1518,1673,2098,2740,4152],[254,564,864,1111,1521,1679,2107,2753,4173],[255,562,863,1110,1520,1680,2110,2760,4185],[256,560,861,1108,1518,1679,2111,2763,4192],[257,553,852,1099,1507,1669,2101,2754,4185],[258,545,843,1088,1493,1658,2089,2742,4175],[259,540,837,1082,1486,1652,2084,2737,4175],[260,531,827,1071,1472,1639,2071,2722,4162],[261,521,815,1057,1456,1623,2056,2703,4147],[262,511,803,1044,1439,1607,2039,2682,4131],[263,504,793,1034,1427,1596,2028,2668,4124],[264,497,784,1024,1415,1584,2016,2652,4118],[265,489,775,1014,1402,1572,2003,2635,4111],[266,481,764,1002,1387,1557,1986,2613,4100],[267,474,755,993,1375,1545,1973,2595,4089],[268,461,739,975,1352,1521,1945,2559,4053],[269,454,730,965,1339,1507,1929,2538,4034],[270,440,712,944,1313,1481,1897,2498,3988],[271,426,693,922,1285,1451,1861,2454,3935],[272,413,676,902,1260,1425,1829,2415,3884],[273,399,658,881,1233,1397,1795,2373,3828],[274,388,644,864,1212,1374,1768,2339,3780],[275,384,638,857,1203,1364,1755,2321,3750],[276,380,632,850,1193,1352,1741,2302,3717],[277,374,625,841,1180,1339,1723,2279,3677],[278,370,619,834,1170,1327,1709,2258,3639],[279,364,611,823,1156,1311,1689,2231,3591],[280,360,604,815,1144,1298,1673,2208,3547],[281,353,595,804,1128,1280,1651,2178,3494],[282,352,593,800,1122,1272,1640,2162,3459],[283,342,579,783,1100,1248,1610,2122,3393],[284,330,563,763,1073,1218,1575,2075,3319],[285,316,543,738,1041,1183,1533,2021,3234],[286,306,529,721,1019,1159,1502,1981,3169],[287,294,513,701,992,1130,1467,1935,3096],[288,288,505,690,978,1113,1447,1908,3047],[289,277,489,671,953,1086,1413,1864,2977],[290,262,468,645,920,1050,1369,1809,2893],[291,259,464,639,911,1039,1356,1790,2857],[292,252,455,628,896,1022,1334,1762,2808],[293,245,444,614,878,1002,1309,1729,2754],[294,236,432,599,858,980,1282,1694,2696],[295,226,418,582,836,955,1251,1655,2635],[296,219,407,569,818,935,1227,1624,2584],[297,211,396,555,800,915,1202,1593,2532],[298,212,397,556,800,914,1200,1588,2516],[299,207,391,548,789,901,1183,1566,2477],[300,200,381,536,773,883,1161,1538,2431],[301,193,370,522,755,863,1136,1506,2380],[302,187,362,511,741,847,1116,1479,2336],[303,182,355,503,729,834,1099,1457,2299],[304,178,350,496,721,823,1086,1440,2267],[305,176,347,492,714,815,1075,1425,2240],[306,170,338,481,699,799,1055,1398,2197],[307,162,327,468,682,780,1031,1368,2150],[308,157,319,458,669,765,1013,1344,2112],[309,151,310,446,654,748,991,1317,2070],[310,146,304,438,643,736,976,1297,2038],[311,146,304,438,642,734,973,1292,2025],[312,145,302,436,638,730,967,1283,2006],[313,138,291,422,620,710,942,1252,1959],[314,133,284,414,609,698,927,1232,1927],[315,130,280,409,602,690,917,1218,1904],[316,129,278,406,599,685,911,1209,1887],[317,126,274,401,592,677,900,1195,1863],[318,124,270,397,586,670,891,1182,1841],[319,115,257,380,564,646,862,1146,1790],[320,106,242,362,541,621,831,1107,1736],[321,102,237,355,532,611,818,1091,1711],[322,104,240,358,536,614,822,1094,1711],[323,108,246,366,545,624,833,1106,1723],[324,109,248,368,548,625,835,1106,1720],[325,111,250,372,552,629,839,1109,1721],[326,112,253,375,555,631,842,1111,1720],[327,114,256,378,558,634,845,1113,1719],[328,115,258,380,561,636,846,1114,1716],[329,115,257,380,560,634,844,1110,1706],[330,115,257,379,558,631,840,1104,1694],[331,114,256,378,557,629,837,1099,1683],[332,114,255,377,555,626,833,1094,1672],[333,115,257,379,557,628,834,1094,1669],[334,116,258,380,558,628,834,1092,1663],[335,116,259,380,558,627,832,1090,1656],[336,117,259,380,558,627,831,1088,1650],[337,117,259,380,557,625,828,1084,1641],[338,117,259,379,556,623,826,1080,1632],[339,118,260,381,558,624,826,1080,1628],[340,119,262,383,560,625,827,1081,1625],[341,120,263,383,560,625,826,1079,1619],[342,121,264,384,561,625,826,1078,1614],[343,121,264,384,560,624,823,1075,1606],[344,114,252,370,543,604,799,1047,1566],[345,111,247,363,534,595,788,1033,1545],[346,110,246,362,532,593,784,1029,1535],[347,110,247,362,532,592,783,1026,1529],[348,110,246,361,531,590,780,1023,1521],[349,111,248,363,532,591,781,1024,1520],[350,113,250,365,535,594,784,1026,1520],[351,115,253,369,539,598,788,1031,1522],[352,118,257,373,545,603,794,1037,1526],[353,120,260,377,549,606,798,1041,1528],[354,120,259,376,547,604,794,1036,1518],[355,121,260,376,546,603,793,1035,1513],[356,122,261,376,547,604,793,1034,1508],[357,123,263,378,549,605,795,1036,1507],[358,124,264,380,550,606,795,1036,1504],[359,125,264,380,549,605,794,1034,1498],[360,125,264,379,548,604,792,1031,1491],[361,127,266,381,550,606,794,1032,1491],[362,128,268,383,553,608,795,1034,1491],[363,130,271,386,556,611,799,1037,1493],[364,133,274,389,559,614,802,1041,1495]];\n    var PA_LO=[757, 742, 661, 658, 658, 821, 1138, 1030, 831, 651, 651, 745], PA_MED=[771, 770, 710, 708, 699, 1182, 1651, 1446, 1001, 677, 690, 771], PA_HI=[975, 1104, 1428, 1628, 2510, 2877, 3796, 2549, 1368, 839, 1034, 897];\n    var box=document.getElementById(\"kwd-env-chart\"); if(!box) return;\n    var W=920,H=282,ML=54,MR=14,MT=18,MB=32,PW=W-ML-MR,PH=H-MT-MB;\n    var mx=0,i;\n    for(i=0;i<EN.length;i++){ if(EN[i][7]>mx) mx=EN[i][7]; }\n    for(i=0;i<12;i++){ if(PA_HI[i]>mx) mx=PA_HI[i]; }\n    mx=Math.ceil(mx\/500)*500;\n    function X(k){ return ML+(k\/364)*PW; }\n    function Y(v){ return MT+PH-(Math.min(v,mx)\/mx)*PH; }\n    var s=\"\",g2;\n    for(g2=0;g2<=mx;g2+=1000){\n      var y=Y(g2);\n      s+='<line x1=\"'+ML+'\" y1=\"'+y.toFixed(1)+'\" x2=\"'+(ML+PW)+'\" y2=\"'+y.toFixed(1)+'\" stroke=\"#ece7db\"\/>';\n      s+='<text x=\"'+(ML-7)+'\" y=\"'+(y+4).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+(g2?g2\/1000+\"k\":\"0\")+'<\/text>';\n    }\n    var MN=[\"Oct\",\"Nov\",\"Dec\",\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\"];\n    var MS=[0,31,61,92,123,151,182,212,243,273,304,334,365];\n    for(i=0;i<12;i++) s+='<text x=\"'+X((MS[i]+MS[i+1])\/2).toFixed(1)+'\" y=\"'+(MT+PH+15)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+MN[i]+'<\/text>';\n    function band(hi,lo){\n      var d=\"M\"+X(0).toFixed(1)+\" \"+Y(EN[0][hi]).toFixed(1), j;\n      for(j=1;j<EN.length;j++) d+=\"L\"+X(EN[j][0]).toFixed(1)+\" \"+Y(EN[j][hi]).toFixed(1);\n      for(j=EN.length-1;j>=0;j--) d+=\"L\"+X(EN[j][0]).toFixed(1)+\" \"+Y(EN[j][lo]).toFixed(1);\n      return d+\"Z\";\n    }\n    s+='<path d=\"'+band(7,2)+'\" fill=\"#2f8fb0\" opacity=\"0.13\"\/>';\n    s+='<path d=\"'+band(6,3)+'\" fill=\"#2f8fb0\" opacity=\"0.26\"\/>';\n    function ln(ix){ var d=\"\",j; for(j=0;j<EN.length;j++) d+=(j?\"L\":\"M\")+X(EN[j][0]).toFixed(1)+\" \"+Y(EN[j][ix]).toFixed(1); return d; }\n    s+='<path d=\"'+ln(4)+'\" fill=\"none\" stroke=\"#1b2a4e\" stroke-width=\"2.6\"\/>';\n    function step(a){\n      var d=\"\",j;\n      for(j=0;j<12;j++){ d+=(j?\"L\":\"M\")+X(MS[j]).toFixed(1)+\" \"+Y(a[j]).toFixed(1)+\"L\"+X(MS[j+1]).toFixed(1)+\" \"+Y(a[j]).toFixed(1); }\n      return d;\n    }\n    s+='<path d=\"'+step(PA_LO)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"1\" opacity=\"0.45\" stroke-dasharray=\"4 3\"\/>';\n    s+='<path d=\"'+step(PA_HI)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"1\" opacity=\"0.45\" stroke-dasharray=\"4 3\"\/>';\n    s+='<path d=\"'+step(PA_MED)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"2.4\"\/>';\n    s+='<text x=\"'+(ML-7)+'\" y=\"'+(MT-6)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#a8a48c\">cfs<\/text>';\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\" style=\"width:100%;height:auto;display:block\">'+s+'<\/svg>';\n  })();\n\n\n\n\n\n\n  \/\/ ---- Project contribution by year type, split at WY2001 ---------------------\n  (function(){\n    var Y=[[\"Critically dry\",\"D4\",5,203000,3,158985],[\"Drought\",\"D3\",6,376420,4,87805],[\"Below average\",\"D2\",6,232232,7,27863],[\"Average\",\"AVG\",9,172095,7,-11486],[\"Wet\",\"WET\",14,381461,4,124329]];\n    var COL={D4:\"#b22234\",D3:\"#c98a3c\",D2:\"#e0b877\",AVG:\"#cfc9b4\",WET:\"#2f8fb0\"};\n    var box=document.getElementById(\"kwd-dry-chart\"); if(!box) return;\n    var W=920,H=330,ML=168,MR=96,MT=40,MB=34,PW=W-ML-MR,PH=H-MT-MB;\n    var lo=0, hi=500000;\n    function X(v){ return ML+((v-lo)\/(hi-lo))*PW; }\n    var s=\"\", zx=X(0), rh=PH\/Y.length, i, g;\n    for(g=0;g<=hi;g+=100000){\n      s+='<line x1=\"'+X(g).toFixed(1)+'\" y1=\"'+MT+'\" x2=\"'+X(g).toFixed(1)+'\" y2=\"'+(MT+PH)+'\" stroke=\"#ece7db\"\/>';\n      s+='<text x=\"'+X(g).toFixed(1)+'\" y=\"'+(MT+PH+15)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#8a8676\">'+(g?\"+\"+(g\/1000)+\"k\":\"0\")+'<\/text>';\n    }\n    for(i=0;i<Y.length;i++){\n      var top=MT+i*rh, bh=rh*0.30, gap=rh*0.06;\n      var y1=top+rh*0.16, y2=y1+bh+gap;\n      [[Y[i][2],Y[i][3],y1,0.42,\"before 2001\"],[Y[i][4],Y[i][5],y2,0.95,\"2001 on\"]].forEach(function(p){\n        var n=p[0], v=p[1], yy=p[2];\n        s+='<rect x=\"'+zx.toFixed(1)+'\" y=\"'+yy.toFixed(1)+'\" width=\"'+Math.max(X(v)-zx,1).toFixed(1)+'\" height=\"'+bh.toFixed(1)+'\" fill=\"'+COL[Y[i][1]]+'\" opacity=\"'+p[3]+'\"><title>'+Y[i][0]+', '+p[4]+'  n='+n+'  +'+commas(v)+' AF<\/title><\/rect>';\n        s+='<text x=\"'+(X(v)+7).toFixed(1)+'\" y=\"'+(yy+bh\/2+3.5).toFixed(1)+'\" font-family=\"IBM Plex Mono\" font-size=\"10.5\" font-weight=\"600\" fill=\"#4a5165\">+'+commas(v)+'<\/text>';\n      });\n      s+='<text x=\"'+(ML-12)+'\" y=\"'+(y1+bh\/2+4).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"11\" fill=\"#1b2a4e\">'+Y[i][0]+'<\/text>';\n      s+='<text x=\"'+(ML-12)+'\" y=\"'+(y2+bh\/2+4).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"8.5\" fill=\"#a8a48c\">'+Y[i][2]+' + '+Y[i][4]+' years<\/text>';\n    }\n    s+='<line x1=\"'+zx.toFixed(1)+'\" y1=\"'+MT+'\" x2=\"'+zx.toFixed(1)+'\" y2=\"'+(MT+PH)+'\" stroke=\"#1b2a4e\" stroke-width=\"1.6\"\/>';\n    s+='<text x=\"'+(zx+6)+'\" y=\"'+(MT-22)+'\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">acre-feet a year more than the natural lakes would have passed<\/text>';\n    var L1=ML+4, L2=ML+300;\n    s+='<rect x=\"'+L1+'\" y=\"'+(MT-13)+'\" width=\"16\" height=\"9\" fill=\"#4a5165\" opacity=\"0.42\"\/>';\n    s+='<text x=\"'+(L1+22)+'\" y=\"'+(MT-5)+'\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#4a5165\">before 2001<\/text>';\n    s+='<rect x=\"'+L2+'\" y=\"'+(MT-13)+'\" width=\"16\" height=\"9\" fill=\"#4a5165\" opacity=\"0.95\"\/>';\n    s+='<text x=\"'+(L2+22)+'\" y=\"'+(MT-5)+'\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#4a5165\">2001 onward<\/text>';\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\" style=\"width:100'+'%;height:auto;display:block\">'+s+'<\/svg>';\n  })();\n\n\n  \/\/ ---- three measures by regulatory era ---------------------------------------\n  (function(){\n    var E=[[\"Contracts\",\"before 1992\",289891,1.73,99,314309,317469],[\"Sucker BiOp\",\"1993-2000\",191289,1.34,102,313364,308020],[\"2002 BiOp\",\"2002-2012\",108146,0.68,92,294599,318842],[\"KBRA BiOp\",\"2013-2019\",-18128,0.58,89,279459,313733],[\"2020 BiOp\",\"2020-2024\",53567,0.74,51,165254,324143]];\n    var box=document.getElementById(\"kwd-era-chart\"); if(!box) return;\n    var W=920,H=430,ML=150,MR=20,MT=16,SH=104,SG=28,PW=W-ML-MR;\n    var ROWS=[[\"Water at Keno above natural\",\"AF a year\",2,500000,\"#b22234\",0],\n              [\"Upper Klamath Lake, Jul-Sep\",\"feet above 4,138\",3,2.0,\"#2f8fb0\",2],\n              [\"Spring\/summer draw on the lake\",\"% of need, adjusted for year type\",4,110,\"#c39a3e\",3]];\n    var s=\"\", bw=PW\/E.length, i, k;\n    for(k=0;k<ROWS.length;k++){\n      var R=ROWS[k], y0=MT+k*(SH+SG), mx=R[3];\n      s+='<text x=\"0\" y=\"'+(y0+11)+'\" font-family=\"Zilla Slab\" font-weight=\"700\" font-size=\"13\" fill=\"#1b2a4e\">'+R[0]+'<\/text>';\n      s+='<text x=\"0\" y=\"'+(y0+25)+'\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#a8a48c\">'+R[1]+'<\/text>';\n      s+='<line x1=\"'+ML+'\" y1=\"'+(y0+SH)+'\" x2=\"'+(ML+PW)+'\" y2=\"'+(y0+SH)+'\" stroke=\"#d8d2c2\"\/>';\n      for(i=0;i<E.length;i++){\n        var v=E[i][R[2]], h=Math.max(2,(v\/mx)*(SH-16)), x=ML+i*bw+bw*0.16, w=bw*0.68;\n        s+='<rect x=\"'+x.toFixed(1)+'\" y=\"'+(y0+SH-h).toFixed(1)+'\" width=\"'+w.toFixed(1)+'\" height=\"'+h.toFixed(1)+'\" fill=\"'+R[4]+'\" opacity=\"'+(i===0?0.9:0.72)+'\"><title>'+E[i][0]+' ('+E[i][1]+')  '+(R[5]===2?v.toFixed(2)+\" ft above 4,138\":R[5]===3?v+\"% of need -- drew \"+commas(E[i][5])+\" AF against \"+commas(E[i][6])+\" AF\":commas(v)+\" AF\")+'<\/title><\/rect>';\n        s+='<text x=\"'+(x+w\/2).toFixed(1)+'\" y=\"'+(y0+SH-h-5).toFixed(1)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" font-weight=\"600\" fill=\"#4a5165\">'+(R[5]===2?v.toFixed(2):R[5]===3?v+'%':commas(v))+'<\/text>';\n      }\n    }\n    var yb=MT+ROWS.length*(SH+SG)-SG+4;\n    for(i=0;i<E.length;i++){\n      var cx=ML+i*bw+bw\/2;\n      s+='<text x=\"'+cx.toFixed(1)+'\" y=\"'+(yb+10)+'\" text-anchor=\"middle\" font-family=\"Zilla Slab\" font-weight=\"600\" font-size=\"12\" fill=\"#1b2a4e\">'+E[i][0]+'<\/text>';\n      s+='<text x=\"'+cx.toFixed(1)+'\" y=\"'+(yb+24)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#8a8676\">'+E[i][1]+'<\/text>';\n    }\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\" style=\"width:100'+'%;height:auto;display:block\">'+s+'<\/svg>';\n  })();\n\n\n  \/\/ ---- share of the river at the mouth that passed Keno ----------------------\n  (function(){\n    var R=[[\"Oct\",27.5,20.9,37.0,12.4,9.3,15.3],[\"Nov\",15.3,9.8,24.3,6.1,3.5,8.8],[\"Dec\",8.4,4.4,13.6,3.4,2.1,5.9],[\"Jan\",5.8,3.9,8.2,3.1,2.0,4.0],[\"Feb\",5.7,3.7,7.7,3.3,2.4,4.5],[\"Mar\",7.3,5.3,9.7,4.5,3.6,5.9],[\"Apr\",8.4,6.2,10.8,9.1,7.3,10.8],[\"May\",7.5,6.0,10.6,11.7,9.1,14.4],[\"Jun\",8.6,5.8,11.7,15.4,12.8,19.0],[\"Jul\",12.2,9.0,17.7,21.6,18.1,28.2],[\"Aug\",22.6,18.8,27.5,18.5,13.9,26.0],[\"Sep\",27.4,23.6,34.8,17.6,13.3,23.8]];   \/\/ [mon, act, actP25, actP75, nat, natP25, natP75]\n    var box=document.getElementById(\"kwd-share-chart\"); if(!box) return;\n    var W=920,H=300,ML=52,MR=18,MT=18,MB=40,PW=W-ML-MR,PH=H-MT-MB;\n    var mx=40;\n    function X(i){ return ML+(i+0.5)*(PW\/R.length); }\n    function Y(v){ return MT+PH-(Math.min(v,mx)\/mx)*PH; }\n    var s=\"\",g,i;\n    for(g=0;g<=mx;g+=10){\n      s+='<line x1=\"'+ML+'\" y1=\"'+Y(g).toFixed(1)+'\" x2=\"'+(ML+PW)+'\" y2=\"'+Y(g).toFixed(1)+'\" stroke=\"#ece7db\"\/>';\n      s+='<text x=\"'+(ML-7)+'\" y=\"'+(Y(g)+4).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+g+'%<\/text>';\n    }\n    var band=\"M\"+X(0).toFixed(1)+\" \"+Y(R[0][3]).toFixed(1);\n    for(i=1;i<R.length;i++) band+=\"L\"+X(i).toFixed(1)+\" \"+Y(R[i][3]).toFixed(1);\n    for(i=R.length-1;i>=0;i--) band+=\"L\"+X(i).toFixed(1)+\" \"+Y(R[i][2]).toFixed(1);\n    band+=\"Z\";\n    s+='<path d=\"'+band+'\" fill=\"#b22234\" opacity=\"0.13\"\/>';\n    var nb=\"M\"+X(0).toFixed(1)+\" \"+Y(R[0][6]).toFixed(1);\n    for(i=1;i<R.length;i++) nb+=\"L\"+X(i).toFixed(1)+\" \"+Y(R[i][6]).toFixed(1);\n    for(i=R.length-1;i>=0;i--) nb+=\"L\"+X(i).toFixed(1)+\" \"+Y(R[i][5]).toFixed(1);\n    nb+=\"Z\";\n    s+='<path d=\"'+nb+'\" fill=\"#1b2a4e\" opacity=\"0.11\"\/>';\n    function ln(ix){ var d=\"\",j; for(j=0;j<R.length;j++) d+=(j?\"L\":\"M\")+X(j).toFixed(1)+\" \"+Y(R[j][ix]).toFixed(1); return d; }\n    s+='<path d=\"'+ln(4)+'\" fill=\"none\" stroke=\"#1b2a4e\" stroke-width=\"2.4\" stroke-dasharray=\"2 4\" stroke-linecap=\"round\"\/>';\n    s+='<path d=\"'+ln(1)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"2.6\"\/>';\n    for(i=0;i<R.length;i++){\n      s+='<circle cx=\"'+X(i).toFixed(1)+'\" cy=\"'+Y(R[i][1]).toFixed(1)+'\" r=\"2.6\" fill=\"#b22234\"><title>'+R[i][0]+'  measured '+R[i][1]+'%  (middle half '+R[i][2]+'-'+R[i][3]+'%)  natural '+R[i][5]+'%<\/title><\/circle>';\n      s+='<text x=\"'+X(i).toFixed(1)+'\" y=\"'+(MT+PH+16)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+R[i][0]+'<\/text>';\n    }\n    s+='<text x=\"'+(ML-7)+'\" y=\"'+(MT-4)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#a8a48c\">share<\/text>';\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\" style=\"width:100'+'%;height:auto;display:block\">'+s+'<\/svg>';\n  })();\n\n\n  \/\/ ---- monthly volume: Keno against the whole river at the mouth ---------------\n  (function(){\n    var V=[[\"Oct\",1010,3935,2924,27.5,461],[\"Nov\",1267,8633,7366,15.8,449],[\"Dec\",1505,17703,16198,8.5,619],[\"Jan\",1447,26552,25104,5.9,766],[\"Feb\",1465,27575,26110,5.7,865],[\"Mar\",1910,26345,24435,7.3,1264],[\"Apr\",1867,23583,21716,8.4,2028],[\"May\",1264,18642,17378,7.4,2042],[\"Jun\",768,9696,8928,8.6,1468],[\"Jul\",587,4300,3713,12.2,968],[\"Aug\",718,2964,2246,22.7,592],[\"Sep\",909,3030,2121,27.6,549]];   \/\/ [mon, Keno, mouth, below-Keno, share%, natural Keno]   \/\/ [mon, Keno cfs, mouth cfs, below-Keno cfs, share %]\n    var box=document.getElementById(\"kwd-vol-chart\"); if(!box) return;\n    var W=920,H=232,ML=52,MR=18,MT=18,MB=34,PW=W-ML-MR,PH=H-MT-MB;\n    var mx=30000, bw=PW\/V.length, i, g;\n    function Y(v){ return MT+PH-(Math.min(v,mx)\/mx)*PH; }\n    var s=\"\";\n    for(g=0;g<=mx;g+=10000){\n      s+='<line x1=\"'+ML+'\" y1=\"'+Y(g).toFixed(1)+'\" x2=\"'+(ML+PW)+'\" y2=\"'+Y(g).toFixed(1)+'\" stroke=\"#ece7db\"\/>';\n      s+='<text x=\"'+(ML-7)+'\" y=\"'+(Y(g)+4).toFixed(1)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#8a8676\">'+(g?(g\/1000)+\"k\":\"0\")+'<\/text>';\n    }\n    for(i=0;i<V.length;i++){\n      var x=ML+i*bw+bw*0.18, w=bw*0.64;\n      var yTop=Y(V[i][2]), yK=Y(V[i][1]), base=MT+PH;\n      s+='<rect x=\"'+x.toFixed(1)+'\" y=\"'+yTop.toFixed(1)+'\" width=\"'+w.toFixed(1)+'\" height=\"'+(yK-yTop).toFixed(1)+'\" fill=\"#2f8fb0\" opacity=\"0.30\"><title>'+V[i][0]+'  joins below Keno: '+commas(V[i][3])+' cfs<\/title><\/rect>';\n      s+='<rect x=\"'+x.toFixed(1)+'\" y=\"'+yK.toFixed(1)+'\" width=\"'+w.toFixed(1)+'\" height=\"'+(base-yK).toFixed(1)+'\" fill=\"#b22234\" opacity=\"0.85\"><title>'+V[i][0]+'  past Keno: '+commas(V[i][1])+' cfs  ('+V[i][4]+'% of the river at the ocean)<\/title><\/rect>';\n      s+='<text x=\"'+(x+w\/2).toFixed(1)+'\" y=\"'+(base+15)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"9.5\" fill=\"#8a8676\">'+V[i][0]+'<\/text>';\n    }\n    var nd=\"\";\n    for(i=0;i<V.length;i++){ var cx=ML+i*bw+bw\/2; nd+=(i?\"L\":\"M\")+cx.toFixed(1)+\" \"+Y(V[i][5]).toFixed(1); }\n    s+='<path d=\"'+nd+'\" fill=\"none\" stroke=\"#1b2a4e\" stroke-width=\"2.2\" stroke-dasharray=\"2 4\" stroke-linecap=\"round\"\/>';\n    for(i=0;i<V.length;i++){\n      var cx2=ML+i*bw+bw\/2;\n      s+='<circle cx=\"'+cx2.toFixed(1)+'\" cy=\"'+Y(V[i][5]).toFixed(1)+'\" r=\"2.4\" fill=\"#1b2a4e\"><title>'+V[i][0]+'\\n  measured  '+commas(V[i][1])+' cfs\\n  natural   '+commas(V[i][5])+' cfs<\/title><\/circle>';\n    }\n    s+='<text x=\"'+(ML-7)+'\" y=\"'+(MT-4)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#a8a48c\">cfs<\/text>';\n    box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\" style=\"width:100'+'%;height:auto;display:block;margin-bottom:6px\">'+s+'<\/svg>';\n  })();\n\n  function setStore(K){ if(K&&K.max_storage_af!=null) setTxt(\"store-af\",commas(K.max_storage_af)); if(K&&K.max_storage_date) setTxt(\"store-date\",K.max_storage_date); }\n  function setEvap(K){ if(K&&K.evap_in_day!=null){ var e=document.getElementById(\"evap-rate\"); if(e) e.textContent=(Math.round(K.evap_in_day*100)\/100).toFixed(2); } if(K&&K.evap_asof) setTxt(\"evap-asof\",K.evap_asof); }\n  drawAcct(KID); setEvap(KID); setStore(KID); \/\/ draw with saved numbers immediately\n\n  var redrawRoute;\n  \/* ---------- daily-flow chart: natural = accountability nat array (shown daily); routeLKL kept for slough figure only ---------- *\/\n  (function(){\n    var CF=0.5041667, AFDr=1.98347;\n    \/\/ Keno reef rating fitted to Reclamation's own two measured points (KBAO, History of\n    \/\/ Keno Reef, 21 Nov 2019): crest 4,083.1 ft; 8,400 cfs at stage 4,087.8 (June 1904,\n    \/\/ maximum of record) and 730 cfs at 4,084.2 (October 1908, minimum of record).\n    var CREST=4083.1, RC=371.0, RB=2.016, LRSt=4085.0, LRSc=61.220, LRSb=2.890, E0=4084.0;\n    \/\/ Koppen (Reclamation) natural outflow rating: 0 cfs at 4138.5 rising to 5150 at 4143 -- \"outflow in a state of nature\"\n    var UZERO=4138.5, UK=392.6, UEXP=1.712, EU0=4139.46;   \/\/ natural 1 Oct stage: the equilibrium WY2026 hydrology supports\n    \/\/ Koppen natural capacity table (stage, AF) -- storage-routed, not a fixed-area lake\n    var UCAP=[[4136.5,88800],[4137,118600],[4138,178720],[4138.5,209050],[4139,239550],[4140,304150],[4141,382650],[4142,468040],[4143,556650]];\n    function uStage(V){ var i,a,b; if(V<=UCAP[0][1]) return UCAP[0][0];\n      for(i=1;i<UCAP.length;i++){ if(V<=UCAP[i][1]){ a=UCAP[i-1]; b=UCAP[i]; return a[0]+(b[0]-a[0])*(V-a[1])\/(b[1]-a[1]); } } return UCAP[UCAP.length-1][0]; }\n    function uStor(el){ var i,a,b; for(i=1;i<UCAP.length;i++){ if(el<=UCAP[i][0]){ a=UCAP[i-1]; b=UCAP[i]; return a[1]+(b[1]-a[1])*(el-a[0])\/(b[0]-a[0]); } } return UCAP[UCAP.length-1][1]; }\n    \/\/ Lower Klamath Lake, the Klamath Straits and the river channel up to Lake Ewauna form\n    \/\/ ONE water body: Part 2 states the Keno reef \"held water levels in the lower lake and\n    \/\/ upstream along the channel\" alike. ~40,000 ac open water and ~40,000 ac marsh over a\n    \/\/ 4,083.1-4,087.8 ft prism holding Part 2's measured 332,000 AF.\n    \/\/ L_BOT is set to the Keno reef crest so that an empty lake passes nothing:\n    \/\/ Part 2 gives 332,000 AF over 3.85 ft to 4,088; anchoring the bottom at the\n    \/\/ 4,084 crest spreads the same capacity over 4.00 ft.\n    \/\/ L_BOT is the Keno reef crest: below it nothing leaves over the reef, so the lake\n    \/\/ can recede toward the crest and outflow falls to zero. L_CAP holds Part 2's\n    \/\/ stage-storage slope (86,234 AF\/ft) across the wider 4,083.1-4,088.0 band.\n    var L_OPEN=34994, L_MARSH=55842, L_BOT=4083.1, L_TOP=4088.0, L_CAP=422545, L_PRE=0.885;\n    \/\/ Water-year starting condition, COMPUTED rather than assumed: the same model was\n    \/\/ run through WY2025 on Reclamation's daily record (1,282,073 AF net inflow). Every\n    \/\/ trial opening from 4,083.1 to 4,085.0 converges to 4,084.01 by 30 Sep 2025 -- a\n    \/\/ wet year fills the lake to the reef-controlled level and erases the antecedent\n    \/\/ condition. That agrees with Jacobs (1906) and Voorhees (1913), who both report\n    \/\/ the reef holding the water level near 4,084 ft even at low water.\n    var L_EL0=4084.01;\n    \/\/ Every parameter here is measured, none fitted: capacity is Part 2's 332,000 AF,\n    \/\/ the prism runs from the surveyed reef crest to the 1904 maximum stage of record,\n    \/\/ and the rating comes from Reclamation's own two gauged points.\n    \/\/ Measured ET, USGS SIR 2013-5014 (Stannard and others), Upper Klamath Lake 2008-2010:\n    \/\/ eddy covariance on wetland, Bowen-ratio energy balance on open water. Annual means,\n    \/\/ feet per year. Open water measured 20% above wetland ET over matching periods.\n    \/\/ The reef holds the lake near 4,084, so the marsh water table sits at or near the\n    \/\/ surface and the tules transpire even without standing water. 75% wetted at that\n    \/\/ stage, full by ~4,085.5 -- reproduces Part 2's stated 188,000 AF net loss.\n    \/\/ Referenced to a fixed stage, NOT to CREST, so a change of reef elevation does\n    \/\/ not silently move the wetted area.\n    var MARSH_REF=4084.0;\n    \/\/ ---- 2026 AgriMet, Worden (WORO) -------------------------------------------\n    \/\/ ETrs = ASCE-EWRI alfalfa reference (tall, rough) -> proxy for tule marsh\n    \/\/ ETos = ASCE-EWRI grass reference (short, smooth) -> scaled for open water\n    \/\/ Both are reference-crop ET, NOT lake evaporation, so each carries a coefficient.\n    var AGRI_STATION=\"WRDO\", K_MARSH=1.00, K_OPEN=1.15;   \/\/ WRDO = Worden, OR\n    \/\/ Annual depths measured at Upper Klamath Lake by eddy covariance and Bowen-ratio\n    \/\/ energy balance (USGS SIR 2013-5014, with Reclamation). Used for the MAGNITUDE\n    \/\/ when live AgriMet is unavailable; col J then supplies only the daily shape.\n    \/\/ WRDO's own 2026 reference ET (42.4 in to 19 Aug) confirms this is not a mild year.\n    var ET_OPEN=3.693, ET_MARSH=3.077;\n    \/\/ Year factor: this year's reference ET at Worden against Worden's own long-term\n    \/\/ normal (monthly average ETr, period of record 2000-2010, inches).\n    var WRDO_NORM=[0.77,1.44,2.95,4.21,6.32,7.59,8.45,7.43,5.11,2.88,1.16,0.67];\n    var ET_YEAR=1.169;   \/\/ 42.4 in to 19 Aug 2026 vs 36.28 in normal = +16.9%\n    \/\/ Daily SHAPE: FAO-56 Penman-Monteith reference ET for 2026 over Lower Klamath\n    \/\/ Lake itself (ERA5 reanalysis via Open-Meteo). Used only for the day-to-day\n    \/\/ distribution; the annual magnitude stays on the measured USGS depths above.\n    var ET_LAT=41.9700, ET_LON=-121.8300;\n    var ETD=null;   \/\/ {\"YYYY-MM-DD\": mm}\n    var AGRI=null;   \/\/ {\"YYYY-MM-DD\": {rs: inches, os: inches}} once loaded\n    function marshWet(el){ return Math.max(0, Math.min(1, 0.75+(el-MARSH_REF)\/6.0)); }\n    function lStor(el){ return Math.max(0, Math.min(L_CAP, L_CAP*(el-L_BOT)\/(L_TOP-L_BOT))); }\n    function lStage(V){ return L_BOT+(L_TOP-L_BOT)*Math.max(0,Math.min(1,V\/L_CAP)); }\n    function dR(c){ var r=[0],i; for(i=1;i<c.length;i++) r.push(c[i]-c[i-1]); return r; }\n    function sN(a,w){ var o=[],i,j,x,m; for(i=0;i<a.length;i++){ x=0;m=0; for(j=Math.max(0,i-(w-1));j<=i;j++){ x+=a[j]; m++; } o.push(x\/m); } return o; }\n    function s7(a){ var o=[],i,j,x,m; for(i=0;i<a.length;i++){ x=0;m=0; for(j=Math.max(0,i-6);j<=i;j++){ x+=a[j]; m++; } o.push(x\/m); } return o; }\n    var AGRI_D0=null, ETD_SUM=0;   \/\/ Date of index 0 in the routed series\n    function shapeAt(t){\n      if(!ETD||!AGRI_D0||ETD_SUM<=0) return null;\n      var d=new Date(AGRI_D0.getTime()+t*864e5);\n      var k=d.getFullYear()+\"-\"+(\"0\"+(d.getMonth()+1)).slice(-2)+\"-\"+(\"0\"+d.getDate()).slice(-2);\n      var v=ETD[k];\n      return (v==null)?null:v\/ETD_SUM;\n    }\n    function agriRate(t){\n      if(!AGRI||!AGRI_D0) return null;\n      var d=new Date(AGRI_D0.getTime()+t*864e5);\n      var k=d.getFullYear()+\"-\"+(\"0\"+(d.getMonth()+1)).slice(-2)+\"-\"+(\"0\"+d.getDate()).slice(-2);\n      var r=AGRI[k];\n      return (r&&r.rs>=0&&r.os>=0)?r:null;\n    }\n    function routeLKL(dIn,dEv){\n      var Vu=uStor(EU0), Vl=lStor(L_EL0), out=[], link=[], lkc=[], slc=[], slough=0, lkloss=0, t, eu, el, Qu, Ql, L, et;\n      \/\/ precipitation is credited on the same surface the ET is charged against:\n      \/\/ open water plus the wetted share of marsh. Winter-weighted using Klamath Falls\n      \/\/ monthly normals as the shape; the annual depth stays L_PRE.\n      \/\/ Depth and shape both from NOAA station USC00049053, Tulelake CA: 79 complete\n      \/\/ years 1932-2024, mean 10.62 in = 0.885 ft. Nearest basin-floor station to the\n      \/\/ Lower Klamath Lake footprint.\n      var PSHAPE=[0.0831,0.1081,0.1319,0.1107,0.0998,0.0975,0.0823,0.0994,0.0838,0.0245,0.0360,0.0430];\n      var PMD=[31,30,31,31,28,31,30,31,30,31,31,30];\n      var pFac=[], q8; for(q8=0;q8<12;q8++) pFac.push(PSHAPE[q8]\/PMD[q8]);\n      function pRate(t){ var d=t%365, c=0, j;\n        for(j=0;j<12;j++){ if(d<c+PMD[j]) return pFac[j]; c+=PMD[j]; }\n        return pFac[11]; }\n      var evTot=0, q9; for(q9=0;q9<dEv.length;q9++) evTot+=dEv[q9];   \/\/ col J = shape only\n      if(evTot<=0) evTot=1;   \/\/ annual depth spread over a full year, not the array length\n      for(t=0;t<dIn.length;t++){\n        eu = uStage(Vu); Qu = eu>UZERO ? UK*Math.pow(eu-UZERO,UEXP) : 0;\n        Vu += dIn[t]-Qu*AFDr;   \/\/ net inflow is already net of UKL evaporation\n        el = lStage(Vl);        \/\/ discharge is taken off the start-of-day stage\n        var A = L_OPEN + L_MARSH*marshWet(el);\n        var rate=agriRate(t);\n        if(rate){ et = (L_OPEN*rate.os*K_OPEN + L_MARSH*marshWet(el)*rate.rs*K_MARSH)\/12.0; }\n        else    { var sh=shapeAt(t); if(sh===null) sh=dEv[t]\/evTot;\n                  et = sh*ET_YEAR*(L_OPEN*ET_OPEN + L_MARSH*marshWet(el)*ET_MARSH); }\n        Ql = el>CREST ? RC*Math.pow(el-CREST,RB) : 0;\n        L  = el>LRSt ? LRSc*Math.pow(el-LRSt,LRSb) : 0;\n        var pday = L_PRE*pRate(t)*(L_OPEN + L_MARSH*marshWet(el));\n        Vl += Qu*AFDr - et + pday - Ql*AFDr - L*AFDr;\n        Vl = Math.max(0, Math.min(L_CAP, Vl));\n        out.push(Ql); link.push(Qu); slough+=L*AFDr; lkloss+=et-pday; lkc.push(Math.round(lkloss)); slc.push(Math.round(slough));\n      } return {out:out, link:link, slough:slough, lkloss:lkloss, lkc:lkc, slc:slc}; }\n    function drawRoute(K){\n      var box=document.getElementById(\"kwd-route\"); if(!box||!K||!K[\"in\"]||!K.out||!K.evapLKL) return;\n      var dIn=dR(K[\"in\"]), dEv=dR(K.evapLKL), dOut=dR(K.out);\n      var nHist=dIn.length;\n      var _as=new Date((K.asOf||\"2026-08-18\")+\"T00:00:00\");\n      AGRI_D0=new Date(_as.getTime()-(nHist-1)*864e5);\n      \/\/ ---- projection to 30 September: persist recent inflow, taper evaporation,\n      \/\/      hold Keno at the 750 cfs floor and add the 7,000 AF ceremonial release ----\n      var asOf=new Date((K.asOf||\"2026-08-18\")+\"T00:00:00\");\n      var wyEnd=new Date(asOf.getFullYear()+\"-09-30T00:00:00\");\n      var nProj=Math.max(0, Math.round((wyEnd-asOf)\/864e5));\n      var mIn=0,mEv=0,q1;\n      for(q1=dIn.length-14;q1<dIn.length;q1++){ mIn+=dIn[q1]; mEv+=dEv[q1]; }\n      mIn\/=14; mEv\/=14;\n      var PROJ_AUG=750, PROJ_SEP=790, PULSE_AF=7000, PULSE_START=7, PULSE_DAYS=7;\n      for(q1=0;q1<nProj;q1++){\n        dIn.push(mIn);\n        dEv.push(mEv*(1-0.5*q1\/Math.max(1,nProj)));\n        var pd=new Date(asOf.getTime()+(q1+1)*864e5);\n        var base=(pd.getMonth()===8)?PROJ_SEP:PROJ_AUG;   \/\/ month 8 = September\n        var add=(q1>=PULSE_START&&q1<PULSE_START+PULSE_DAYS)?(PULSE_AF\/PULSE_DAYS):0;\n        dOut.push(base*AFDr+add);\n      }\n      var inflow=sN(dIn.map(function(v){return v*CF;}),10);\n      var keno=dOut.map(function(v){return Math.max(0,v)*CF;});\n      var R=routeLKL(dIn,dEv), nat=R.out;   \/\/ reservoir-routed natural, Natural Flow Study Part 2 parameters\n      var nc=[],acc=0,q3;                   \/\/ publish the cumulative natural so both charts agree\n      for(q3=0;q3<nHist;q3++){ acc+=nat[q3]*AFDr; nc.push(Math.round(acc)); }\n      natCum=nc;\n      var nAll=Math.min(dIn.length,dOut.length,nat.length);\n      if(nAll>nHist){                       \/\/ and the projected extension for the cumulative chart\n        var pi=[K[\"in\"][0]],po=[K.out[0]],pn=[Math.round(nat[0]*AFDr)],q4;\n        for(q4=1;q4<nAll;q4++){ pi.push(Math.round(pi[q4-1]+dIn[q4])); po.push(Math.round(po[q4-1]+dOut[q4])); pn.push(Math.round(pn[q4-1]+nat[q4]*AFDr)); }\n        projSet={nHist:nHist, \"in\":pi, out:po, nat:pn};\n      }\n      drawAcct(K);\n      setTxt(\"s-lkl-et\",commas(R.lkc[nHist-1])); setTxt(\"s-lrs\",commas(R.slc[nHist-1]));\n      var _sup=K[\"in\"][nHist-1];\n      if(_sup>0) setTxt(\"s-lkl-pct\", Math.round(R.lkc[nHist-1]\/_sup*100)+\"%\");\n      var lrsEl=document.getElementById(\"s-lrs-clause\");   \/\/ no spill this year -> drop the sentence entirely\n      if(lrsEl) lrsEl.style.display = (R.slc[nHist-1]>=1) ? \"\" : \"none\";\n      var n=Math.min(inflow.length,keno.length,nat.length); if(!n){ box.innerHTML='<div class=\"kwd-plot-load\">Routing unavailable<\/div>'; return; }\n      var W=900,H=300,ML=52,MR=56,MT=16,MB=30,PW=W-ML-MR,PH=H-MT-MB,i;\n      var maxV=0; for(i=0;i<n;i++){ if(inflow[i]>maxV)maxV=inflow[i]; if(keno[i]>maxV)maxV=keno[i]; if(nat[i]>maxV)maxV=nat[i]; }\n      var srt=keno.slice(0,n).concat(nat.slice(0,n)).concat(inflow.slice(0,n)).sort(function(a,b){return a-b;});\n      var p97=srt[Math.floor(srt.length*0.99)]||maxV; if(p97<maxV*0.6) p97=maxV*0.6;\n      var step=p97>2500?500:250, yTop=Math.ceil(p97\/step)*step||1000;\n      function X(i){return ML+PW*(i\/((n-1)||1));} function Y(v){return MT+PH*(1-Math.min(v,yTop)\/yTop);}\n      function pth(a){var d=\"\",k;for(k=0;k<n;k++){d+=(k?\"L\":\"M\")+X(k).toFixed(1)+\" \"+Y(a[k]).toFixed(1);}return d;}\n      var g,txt=\"\";\n      for(g=0;g<=yTop;g+=step){ var y=Y(g).toFixed(1); txt+='<line x1=\"'+ML+'\" y1=\"'+y+'\" x2=\"'+(ML+PW)+'\" y2=\"'+y+'\" stroke=\"#e8e2d4\"\/><text x=\"'+(ML-6)+'\" y=\"'+(parseFloat(y)+3)+'\" text-anchor=\"end\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+g+'<\/text>'; }\n      var MON=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];\n      var start=new Date(asOf.getTime()-(nHist-1)*864e5), pm=-1;\n      for(i=0;i<n;i++){ var dt=new Date(start.getTime()+i*864e5); if(dt.getMonth()!==pm){ pm=dt.getMonth(); txt+='<text x=\"'+X(i).toFixed(1)+'\" y=\"'+(MT+PH+16)+'\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#8a8676\">'+MON[pm]+'<\/text>'; } }\n      \/\/ shade the gap: steel where the Project is holding water back, gold where it is adding\n      var seg=[],cur=null,k2;\n      for(k2=0;k2<n;k2++){ var up=keno[k2]>=nat[k2];\n        if(!cur||cur.up!==up){ cur={up:up,i0:k2,i1:k2}; seg.push(cur); } else cur.i1=k2; }\n      for(k2=0;k2<seg.length;k2++){ var sg=seg[k2]; if(sg.i1-sg.i0<1) continue;\n        var dd=\"M\"+X(sg.i0).toFixed(1)+\" \"+Y(nat[sg.i0]).toFixed(1), j2;\n        for(j2=sg.i0+1;j2<=sg.i1;j2++) dd+=\"L\"+X(j2).toFixed(1)+\" \"+Y(nat[j2]).toFixed(1);\n        for(j2=sg.i1;j2>=sg.i0;j2--) dd+=\"L\"+X(j2).toFixed(1)+\" \"+Y(keno[j2]).toFixed(1);\n        txt+='<path d=\"'+dd+'Z\" fill=\"'+(sg.up?\"#c39a3e\":\"#2f8fb0\")+'\" opacity=\"0.16\"\/>'; }\n      if(nProj>0&&nHist<n){ var xd=X(nHist-1).toFixed(1);\n        txt+='<rect x=\"'+xd+'\" y=\"'+MT+'\" width=\"'+(ML+PW-parseFloat(xd)).toFixed(1)+'\" height=\"'+PH+'\" fill=\"#1b2a4e\" opacity=\"0.04\"\/>';\n        txt+='<line x1=\"'+xd+'\" y1=\"'+MT+'\" x2=\"'+xd+'\" y2=\"'+(MT+PH)+'\" stroke=\"#8a8676\" stroke-width=\"1\" stroke-dasharray=\"3 3\"\/>';\n        txt+='<text x=\"'+(parseFloat(xd)+5)+'\" y=\"'+(MT+11)+'\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#8a8676\">projected<\/text>'; }\n      function roll(a,w){ var o=[],h=Math.floor(w\/2),i,j,c,t;\n        for(i=0;i<a.length;i++){ c=0; t=0;\n          for(j=Math.max(0,i-h); j<=Math.min(a.length-1,i+h); j++){ if(a[j]!=null){ t+=a[j]; c++; } }\n          o.push(c?t\/c:null); }\n        return o; }\n      txt+='<path d=\"'+pth(roll(inflow,10))+'\" fill=\"none\" stroke=\"#b8b3a2\" stroke-width=\"1.5\" stroke-dasharray=\"1 3\" stroke-linecap=\"round\"\/>';\n      txt+='<path d=\"'+pth(nat)+'\" fill=\"none\" stroke=\"#1b2a4e\" stroke-width=\"2.2\" stroke-dasharray=\"2 4\" stroke-linecap=\"round\"\/>';\n      txt+='<path d=\"'+pth(keno)+'\" fill=\"none\" stroke=\"#b22234\" stroke-width=\"2.4\"\/>';\n      txt+='<text x=\"'+ML+'\" y=\"'+(MT-4)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" fill=\"#a8a48c\">cfs<\/text>';\n      var lo=keno[n-1],ln=nat[n-1],li=inflow[n-1];\n      txt+='<text x=\"'+(ML+PW+4)+'\" y=\"'+(Y(lo)+3).toFixed(1)+'\" font-family=\"IBM Plex Mono\" font-size=\"10\" font-weight=\"600\" fill=\"#b22234\">'+Math.round(lo)+'<\/text>';\n      txt+='<text x=\"'+(ML+PW+4)+'\" y=\"'+(Y(Math.max(ln,0))+12).toFixed(1)+'\" font-family=\"IBM Plex Mono\" font-size=\"9\" fill=\"#4a5165\">nat '+Math.round(ln)+'<\/text>';\n      txt+='<text x=\"'+(ML+PW+4)+'\" y=\"'+(Y(li)-4).toFixed(1)+'\" font-family=\"IBM Plex Mono\" font-size=\"9\" font-weight=\"600\" fill=\"#2f8fb0\">'+Math.round(li)+'<\/text>';\n      box.innerHTML='<svg viewBox=\"0 0 '+W+' '+H+'\" preserveAspectRatio=\"none\">'+txt+'<\/svg>';\n    }\n    redrawRoute=drawRoute;\n    drawRoute(KID);\n    \/\/ ---- daily ET shape over the lake, 2026 (Open-Meteo, FAO-56 ETo) -----------\n    (function(){\n      var sh=document.getElementById(\"s-et-shape\");\n      var end=(KID.asOf||\"2026-08-18\");\n      var beg=(parseInt(end.slice(0,4),10)-1)+\"-10-01\";\n      var u=\"https:\/\/archive-api.open-meteo.com\/v1\/archive?latitude=\"+ET_LAT+\"&longitude=\"+ET_LON+\n            \"&start_date=\"+beg+\"&end_date=\"+end+\"&daily=et0_fao_evapotranspiration&timezone=America%2FLos_Angeles\";\n      fetch(u).then(function(r){ return r.ok?r.json():Promise.reject(0); }).then(function(j){\n        var d=j&&j.daily, i, n=0, tot=0, m={};\n        if(!d||!d.time||!d.et0_fao_evapotranspiration) throw 0;\n        for(i=0;i<d.time.length;i++){\n          var v=d.et0_fao_evapotranspiration[i];\n          if(v==null||isNaN(v)) continue;\n          m[d.time[i]]=v; tot+=v; n++;\n        }\n        if(n<300||tot<=0) throw 0;\n        ETD=m; ETD_SUM=tot; drawRoute(KID);\n        if(sh) sh.textContent=\"2026 daily, Open-Meteo FAO-56 over the lake (\"+n+\" days)\";\n      }).catch(function(){ if(sh) sh.textContent=\"stored daily profile\"; });\n    })();\n    \/\/ ---- Worden (WRDO) crop chart: derive this year's ET factor -----------------\n    (function(){\n      var st=document.getElementById(\"s-et-src\");\n      if(st) st.textContent=\"normal year (1.00)\";\n      var MON=\"january february march april may june july august september october november december\".split(\" \");\n      fetch(\"https:\/\/www.usbr.gov\/pn\/agrimet\/chart\/wrdoch.txt\",{mode:\"cors\"})\n      .then(function(r){ return r.ok?r.text():Promise.reject(0); })\n      .then(function(txt){\n        var lines=txt.split(\/\\r?\\n\/), hd=lines[0]||\"\", i, mi=-1, dy=0, sum=null;\n        var hm=hd.match(\/([A-Za-z]+)\\s+(\\d{1,2})\\s+(\\d{4})\/);\n        if(hm){ mi=MON.indexOf(hm[1].toLowerCase()); dy=parseInt(hm[2],10); }\n        for(i=1;i<lines.length;i++){\n          var c=lines[i].split(\",\");\n          if((c[0]||\"\").trim()===\"ETr\" && c.length>9){ sum=parseFloat(c[9]); break; }\n        }\n        if(mi<0||!sum||isNaN(sum)) throw 0;\n        var norm=0, m;\n        for(m=0;m<mi;m++) norm+=WRDO_NORM[m];\n        norm+=WRDO_NORM[mi]*(dy\/30.4);\n        if(norm<=0) throw 0;\n        ET_YEAR=sum\/norm;\n        drawRoute(KID);\n        if(st) st.textContent=\"live: WRDO \"+sum.toFixed(1)+\" in vs \"+norm.toFixed(1)+\" in normal (\"+\n               ((ET_YEAR-1)*100>=0?\"+\":\"\")+((ET_YEAR-1)*100).toFixed(0)+\"%)\";\n      })\n      .catch(function(){ if(st) st.textContent=\"stored factor \"+ET_YEAR.toFixed(3)+\" (WRDO unreachable)\"; });\n    })();\n  })();\n  if(KID_FEED_URL){ getJSON(KID_FEED_URL,{method:\"POST\",mode:\"cors\"}).then(function(j){ if(j&&j[\"in\"]&&j.out&&j.nat){ drawAcct(j); if(redrawRoute) redrawRoute(j); setEvap(j); setStore(j); if(j.delivered!=null) setTxt(\"s-del\",commas(j.delivered)); } }).catch(function(){}); }\n\n  \/* jump nav smooth scroll *\/\n  root.querySelectorAll('.kwd-jump a').forEach(function(a){ a.addEventListener(\"click\",function(e){ e.preventDefault(); var el=document.querySelector(a.getAttribute(\"href\")); if(el){ window.scrollTo({top:el.getBoundingClientRect().top+window.pageYOffset-12,behavior:\"smooth\"}); } }); });\n})();\n<\/script><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":4713,"parent":4732,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-4270","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Water Dashboard - Klamath Irrigation District<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Water Dashboard - Klamath Irrigation District\" \/>\n<meta property=\"og:url\" content=\"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/\" \/>\n<meta property=\"og:site_name\" content=\"Klamath Irrigation District\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/klamath.irrigation.district.official\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-24T21:25:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1447\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/\",\"url\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/\",\"name\":\"Water Dashboard - Klamath Irrigation District\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/klamathid.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/KlamathProject_SchematicMap12-209-3-color.jpg\",\"datePublished\":\"2026-06-25T15:00:24+00:00\",\"dateModified\":\"2026-08-24T21:25:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/#primaryimage\",\"url\":\"https:\\\/\\\/klamathid.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/KlamathProject_SchematicMap12-209-3-color.jpg\",\"contentUrl\":\"https:\\\/\\\/klamathid.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/KlamathProject_SchematicMap12-209-3-color.jpg\",\"width\":2000,\"height\":1447},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/water-dashboard\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/klamathid.org\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Water\",\"item\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Current\",\"item\":\"https:\\\/\\\/klamathid.org\\\/home\\\/water\\\/current\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Water Dashboard\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/klamathid.org\\\/home\\\/\",\"name\":\"Klamath Irrigation District\",\"description\":\"Building Communities Since 1905\",\"publisher\":{\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/klamathid.org\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/#organization\",\"name\":\"Klamath Irrigation District\",\"url\":\"https:\\\/\\\/klamathid.org\\\/home\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/klamathid.org\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/KID_RWB.jpg\",\"contentUrl\":\"https:\\\/\\\/klamathid.org\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/KID_RWB.jpg\",\"width\":2550,\"height\":2475,\"caption\":\"Klamath Irrigation District\"},\"image\":{\"@id\":\"https:\\\/\\\/klamathid.org\\\/home\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/klamath.irrigation.district.official\",\"https:\\\/\\\/www.youtube.com\\\/@klamathirrigationdistrictqdEn2RQ5VuYsInl0tKTi6SSlTnwkRuBp\",\"https:\\\/\\\/l.facebook.com\\\/l.php?u=httpslinkedin.cominlinkedin.com2Fcompany2Fklamath-irrigation-districtfbclidIwZXh0bgNhZW0CMTAAYnJpZBExUUFSRmhjME5PNTlyVE45SgEeBGkZAP-rpf-_AhZ09Wd5_-fbRCD3RnEITnMdYq0t1Vxmv7VE3exgbbmWZq8_aem_MV2-PWqySuvxAoZRyqbDYg&h=AT1wtrbx85WKy4sULkztkj0zWLnQc1L7YYk6yLfiD70uaKjYPHrJFJ1oFchggb_MZY3qzNbiAFSqMkm1HQoDK-jWq1EmgLywXvZFqdEn2RQ5VuYsInl0tKTi6SSlTnwkRuBp\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Water Dashboard - Klamath Irrigation District","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/","og_locale":"en_US","og_type":"article","og_title":"Water Dashboard - Klamath Irrigation District","og_url":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/","og_site_name":"Klamath Irrigation District","article_publisher":"https:\/\/www.facebook.com\/klamath.irrigation.district.official","article_modified_time":"2026-08-24T21:25:27+00:00","og_image":[{"width":2000,"height":1447,"url":"https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/","url":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/","name":"Water Dashboard - Klamath Irrigation District","isPartOf":{"@id":"https:\/\/klamathid.org\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/#primaryimage"},"image":{"@id":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/#primaryimage"},"thumbnailUrl":"https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg","datePublished":"2026-06-25T15:00:24+00:00","dateModified":"2026-08-24T21:25:27+00:00","breadcrumb":{"@id":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/#primaryimage","url":"https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg","contentUrl":"https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg","width":2000,"height":1447},{"@type":"BreadcrumbList","@id":"https:\/\/klamathid.org\/home\/water\/current\/water-dashboard\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/klamathid.org\/home\/"},{"@type":"ListItem","position":2,"name":"Water","item":"https:\/\/klamathid.org\/home\/water\/"},{"@type":"ListItem","position":3,"name":"Current","item":"https:\/\/klamathid.org\/home\/water\/current\/"},{"@type":"ListItem","position":4,"name":"Water Dashboard"}]},{"@type":"WebSite","@id":"https:\/\/klamathid.org\/home\/#website","url":"https:\/\/klamathid.org\/home\/","name":"Klamath Irrigation District","description":"Building Communities Since 1905","publisher":{"@id":"https:\/\/klamathid.org\/home\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/klamathid.org\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/klamathid.org\/home\/#organization","name":"Klamath Irrigation District","url":"https:\/\/klamathid.org\/home\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/klamathid.org\/home\/#\/schema\/logo\/image\/","url":"https:\/\/klamathid.org\/wp-content\/uploads\/2025\/02\/KID_RWB.jpg","contentUrl":"https:\/\/klamathid.org\/wp-content\/uploads\/2025\/02\/KID_RWB.jpg","width":2550,"height":2475,"caption":"Klamath Irrigation District"},"image":{"@id":"https:\/\/klamathid.org\/home\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/klamath.irrigation.district.official","https:\/\/www.youtube.com\/@klamathirrigationdistrictqdEn2RQ5VuYsInl0tKTi6SSlTnwkRuBp","https:\/\/l.facebook.com\/l.php?u=httpslinkedin.cominlinkedin.com2Fcompany2Fklamath-irrigation-districtfbclidIwZXh0bgNhZW0CMTAAYnJpZBExUUFSRmhjME5PNTlyVE45SgEeBGkZAP-rpf-_AhZ09Wd5_-fbRCD3RnEITnMdYq0t1Vxmv7VE3exgbbmWZq8_aem_MV2-PWqySuvxAoZRyqbDYg&h=AT1wtrbx85WKy4sULkztkj0zWLnQc1L7YYk6yLfiD70uaKjYPHrJFJ1oFchggb_MZY3qzNbiAFSqMkm1HQoDK-jWq1EmgLywXvZFqdEn2RQ5VuYsInl0tKTi6SSlTnwkRuBp"]}]}},"rttpg_featured_image_url":{"full":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg",2000,1447,false],"landscape":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg",2000,1447,false],"portraits":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg",2000,1447,false],"thumbnail":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-150x150.jpg",150,150,true],"medium":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-300x217.jpg",300,217,true],"large":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-1024x741.jpg",1024,741,true],"1536x1536":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-1536x1111.jpg",1536,1111,true],"2048x2048":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color.jpg",2000,1447,false],"blog-large":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-669x272.jpg",669,272,true],"blog-medium":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-320x202.jpg",320,202,true],"recent-posts":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-700x441.jpg",700,441,true],"recent-works-thumbnail":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-66x66.jpg",66,66,true],"fusion-200":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-200x145.jpg",200,145,true],"fusion-400":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-400x289.jpg",400,289,true],"fusion-600":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-600x434.jpg",600,434,true],"fusion-800":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-800x579.jpg",800,579,true],"fusion-1200":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-1200x868.jpg",1200,868,true],"portfolio-full":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-940x400.jpg",940,400,true],"portfolio-one":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-540x272.jpg",540,272,true],"portfolio-two":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-460x295.jpg",460,295,true],"portfolio-three":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-300x214.jpg",300,214,true],"portfolio-five":["https:\/\/klamathid.org\/wp-content\/uploads\/2026\/08\/KlamathProject_SchematicMap12-209-3-color-177x142.jpg",177,142,true]},"rttpg_author":{"display_name":"Gene Souza","author_link":"https:\/\/klamathid.org\/home\/author\/kid_gene_admin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":null,"_links":{"self":[{"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages\/4270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/comments?post=4270"}],"version-history":[{"count":56,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages\/4270\/revisions"}],"predecessor-version":[{"id":4714,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages\/4270\/revisions\/4714"}],"up":[{"embeddable":true,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages\/4732"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/media\/4713"}],"wp:attachment":[{"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/media?parent=4270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}