{"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-10-10T14:06:07","modified_gmt":"2026-10-10T22:06:07","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 - Current Conditions - 2026-10-10 - v2 -->\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  <!-- ===== DASHBOARD INTRO ===== -->\n  <section class=\"kwd-hero\">\n    <p class=\"kwd-eyebrow\"><span class=\"kwd-dot\"><\/span>Current conditions across the Project<\/p>\n    <h1 class=\"kwd-h1\">The basin as it stands today.<\/h1>\n    <p class=\"kwd-lede\">The lake, the river at Keno, the snow and rain behind them, and the conditions the listed species are meeting. Readings come straight from the federal monitors and refresh each time the page loads.<\/p>\n    <p class=\"kwd-lede\">For the water year and irrigation season, see the <a href=\"\/water-year-and-irrigation-season-tracker\/\">Water Year and Irrigation Season Tracker<\/a>. For the long record, see <a href=\"\/water-management-history\/\">Water Management: A Historical Perspective<\/a>. <!-- EDIT ME: confirm both page URLs once published. --><\/p>\n  <\/section>\n\n  <!-- ===== JUMP NAV ===== -->\n  <nav class=\"kwd-jump\" aria-label=\"Jump to section\">\n    <span class=\"kwd-jump-lbl\">On this page<\/span>\n    <a href=\"#kwd-now\">Live now<\/a>\n    <a href=\"#kwd-supply\">Supply and the lake<\/a>\n    <a href=\"#kwd-fish\">The fish<\/a>\n    <a href=\"#kwd-context\">Drought and 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\">Stored water in Upper Klamath Lake at the start of Water Year 2027<\/div><div class=\"kwd-evap-s\">Stored water content on September\u00a030,\u00a02026, the last day of Water Year 2026, at a lake level of 4,138.93\u00a0ft<\/div><\/div>\n        <div class=\"kwd-evap-v\"><b id=\"store-af\">219,838<\/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 last recorded <span id=\"evap-asof\">Aug\u00a018,\u00a02026<\/span> \u00b7 <a href=\"https:\/\/www.usbr.gov\/pn\/hydromet\/klamath\/agency.html\" target=\"_blank\" rel=\"noopener\">current reading at AgriMet \u2197<\/a><\/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-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 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\">past 12 months \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  <section class=\"kwd-sec\">\n    <div class=\"kwd-note\"><span class=\"kwd-note-t\">Reading the routing chart<\/span>\n      <p>The dashed line is the maximum available over the Keno reef without the Project \u2014 this year\u2019s measured inflow routed through the two natural lakes and over their rock reefs, by the same model used for the historical record. The method, its parameters, and what it does and does not include are set out on <a href=\"https:\/\/klamathid.org\/home\/water\/\">the Water page<\/a>.<\/p>\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 that 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 without-Project is not published here.<\/p>\n  <\/section>\n\n  <a class=\"kwd-update\" href=\"https:\/\/klamathid.org\/home\/water\/\">\n    <span class=\"kwd-update-l\">\n      <span class=\"kwd-update-eye\">The record<\/span>\n      <span class=\"kwd-update-txt\">Sixty-six years at Keno without the Project \u2014 the reconstruction every figure on this page is measured against<\/span>\n    <\/span>\n    <span class=\"kwd-update-cta\">See the record \u2192<\/span>\n  <\/a>\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 without-Project 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-cite{ font-size:12px !important; color:#8a8676 !important; }\n  #kwd .kwd-note-cite a{ color:var(--red); text-decoration:none; border-bottom:1px solid rgba(178,34,52,.35); }\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);\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 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(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){ 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]\/977985*100));   \/\/ 65-yr MEDIAN net inflow, WY1961-2025 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,582061,566,241,1,96],[1962,1073984,785508,825,345,1,1113],[1963,1130383,851249,869,438,1,1998],[1964,977985,730383,685,433,1,615],[1965,1499977,1156889,1243,432,1,10425],[1966,773988,585562,477,346,1,24],[1967,1058384,767658,785,303,1,1143],[1968,734389,528493,430,312,1,6],[1969,1367979,1022242,1126,303,1,6018],[1970,1181982,909796,950,532,1,2428],[1971,1583976,1238933,1360,523,1,13441],[1972,2184447,1765288,2125,713,1,43341],[1973,833988,665247,534,392,1,107],[1974,1487977,1131720,1268,359,1,9939],[1975,1295980,1015936,1043,573,1,4690],[1976,950386,716129,665,477,1,403],[1977,494393,339976,181,107,1,0],[1978,986385,675013,706,140,1,601],[1979,773988,553613,485,353,1,20],[1980,1094383,797464,821,305,1,1434],[1981,713989,514518,416,297,1,2],[1982,1691974,1291712,1489,309,1,17821],[1983,1775973,1427909,1554,704,1,22048],[1984,1631975,1314627,1377,706,1,15180],[1985,977985,756263,695,523,1,580],[1986,1301980,987428,1059,416,1,4875],[1987,749989,555026,462,336,1,8],[1988,698389,475709,391,269,1,1],[1989,1343980,997925,1094,286,1,5554],[1990,653990,482720,349,243,1,0],[1991,626391,409541,319,215,1,0],[1992,582231,374485,266,176,1,0],[1993,1367979,1006345,1122,208,1,6493],[1994,597591,441690,291,196,1,0],[1995,1229982,890876,986,217,1,3156],[1996,1415979,1099908,1160,518,1,7548],[1997,1733974,1378471,1509,621,1,19317],[1998,1571976,1257292,1342,685,1,12530],[1999,1703974,1361630,1479,658,1,18249],[2000,1070384,837972,791,578,1,1210],[2001,545992,384939,233,148,1,0],[2002,770388,507682,471,165,1,19],[2003,953986,680766,677,291,1,417],[2004,854387,615118,570,362,1,110],[2005,821988,583575,531,325,1,71],[2006,1607976,1232846,1374,363,1,14134],[2007,737989,563564,434,310,1,8],[2008,893986,628065,607,269,1,188],[2009,734389,515903,444,320,1,5],[2010,698389,473431,400,258,1,1],[2011,1295980,957164,1063,279,1,4362],[2012,953986,719094,675,478,1,397],[2013,734389,519086,439,316,1,5],[2014,701989,478152,396,263,1,2],[2015,818988,564565,522,245,1,67],[2016,1013985,736122,738,320,1,790],[2017,1343980,1022500,1118,426,1,5495],[2018,737989,548815,449,323,1,5],[2019,1253981,926831,1008,303,1,3879],[2020,653990,478940,339,237,1,0],[2021,478073,301894,161,91,1,0],[2022,614391,376619,308,112,1,0],[2023,977985,684603,701,209,1,570],[2024,854387,619020,552,371,1,133],[2025,1579976,1212999,1360,375,1,13386],[2026,806944,696611,513,284,1,259]];\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  without Project '+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\",\"2026\":\"D2\"};\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],[2026,611270]];\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,165,306,440,622,677,878,1135,1556],[1,168,308,440,619,671,867,1115,1518],[2,168,306,435,608,657,847,1086,1469],[3,168,305,431,600,646,831,1061,1427],[4,169,303,427,592,635,815,1037,1385],[5,170,302,423,584,625,800,1014,1347],[6,170,301,419,575,615,785,992,1309],[7,169,297,413,564,602,767,967,1268],[8,167,293,406,553,589,748,942,1228],[9,166,289,399,542,577,731,917,1190],[10,164,286,393,532,565,714,894,1154],[11,165,285,390,525,558,703,878,1126],[12,165,283,386,519,550,692,862,1097],[13,165,281,383,511,542,681,845,1069],[14,165,280,380,504,534,670,830,1042],[15,164,277,377,496,526,659,813,1015],[16,163,275,373,489,518,648,798,990],[17,164,274,372,485,513,640,788,969],[18,165,274,372,480,509,633,777,950],[19,166,273,371,476,504,625,767,930],[20,166,274,370,471,499,618,757,911],[21,166,273,368,466,494,610,746,891],[22,157,262,353,445,473,585,716,850],[23,153,257,348,434,461,571,697,823],[24,152,256,347,428,456,562,686,805],[25,153,256,348,424,452,554,677,790],[26,152,255,347,420,448,545,668,774],[27,154,257,349,420,446,539,664,763],[28,156,260,352,422,447,535,662,754],[29,158,263,355,423,448,532,662,748],[30,162,267,360,425,451,531,664,754],[31,164,269,364,428,452,528,664,760],[32,164,269,364,427,450,521,659,760],[33,166,270,366,427,449,516,657,762],[34,167,271,368,427,449,511,656,767],[35,170,274,372,428,450,508,659,773],[36,172,277,375,427,451,505,660,778],[37,172,278,374,425,451,504,660,782],[38,173,279,376,423,450,502,659,785],[39,176,283,379,426,452,503,659,793],[40,179,287,380,430,455,503,658,801],[41,182,291,383,436,459,506,660,810],[42,186,296,387,438,462,509,661,821],[43,189,300,392,439,466,512,662,830],[44,191,304,397,440,468,515,662,838],[45,192,306,399,441,469,518,659,843],[46,194,308,402,442,470,522,657,850],[47,197,313,406,447,474,529,659,860],[48,200,317,408,451,477,531,660,870],[49,201,318,407,452,477,529,662,875],[50,204,323,408,456,481,532,669,886],[51,209,329,411,461,487,536,677,899],[52,213,335,414,467,493,544,686,913],[53,218,342,420,472,499,554,696,927],[54,221,345,425,474,503,561,702,938],[55,226,350,432,479,509,569,711,952],[56,230,355,438,486,515,578,720,965],[57,235,360,444,491,521,587,729,979],[58,238,364,448,495,525,594,736,990],[59,242,369,453,502,531,601,745,1003],[60,247,374,459,506,537,609,754,1016],[61,251,379,466,511,543,617,763,1030],[62,256,384,470,516,550,625,773,1044],[63,261,388,474,520,556,632,782,1058],[64,266,393,478,526,563,638,792,1072],[65,271,397,483,533,570,644,801,1087],[66,276,401,489,541,576,649,811,1101],[67,279,403,492,547,581,650,818,1112],[68,283,406,497,553,587,653,827,1126],[69,288,410,500,560,593,657,836,1140],[70,293,416,503,566,600,665,846,1154],[71,296,420,503,569,604,669,852,1164],[72,300,424,505,573,610,676,861,1178],[73,305,429,507,579,616,683,870,1191],[74,310,433,510,585,623,690,879,1205],[75,313,435,510,589,627,696,886,1215],[76,317,439,512,595,633,705,894,1228],[77,322,444,516,600,639,713,903,1241],[78,327,448,519,607,645,720,912,1254],[79,331,452,523,614,651,727,922,1267],[80,336,456,527,620,657,734,932,1280],[81,340,460,532,627,663,741,943,1292],[82,344,463,537,634,669,748,955,1306],[83,349,466,541,640,675,755,968,1318],[84,352,467,543,643,679,760,978,1328],[85,356,470,546,649,685,766,992,1340],[86,360,473,550,654,691,773,1005,1352],[87,364,475,554,660,697,778,1013,1365],[88,367,476,555,663,700,780,1018,1374],[89,371,479,558,669,706,785,1026,1385],[90,375,481,562,674,712,791,1034,1397],[91,379,485,566,680,718,798,1042,1409],[92,382,487,569,683,721,803,1047,1417],[93,385,490,573,686,726,808,1054,1427],[94,388,494,578,689,731,814,1062,1438],[95,392,498,582,691,736,821,1071,1449],[96,394,501,585,694,741,826,1078,1459],[97,396,504,588,696,745,834,1086,1470],[98,398,508,591,698,750,841,1094,1480],[99,400,512,594,703,755,849,1101,1491],[100,402,515,597,707,760,856,1109,1501],[101,403,516,598,708,762,861,1113,1508],[102,404,520,600,712,767,868,1120,1517],[103,406,523,602,716,771,874,1127,1527],[104,408,526,604,719,776,882,1134,1536],[105,408,527,604,721,778,886,1138,1542],[106,410,530,606,724,782,892,1144,1551],[107,412,533,608,728,786,899,1151,1560],[108,414,537,610,731,791,905,1158,1570],[109,414,538,611,732,792,909,1162,1575],[110,415,540,614,736,796,915,1167,1583],[111,417,543,617,739,800,921,1174,1592],[112,419,546,620,743,804,927,1180,1601],[113,420,548,622,746,808,932,1186,1609],[114,422,550,624,748,812,937,1193,1617],[115,424,552,626,752,816,943,1200,1625],[116,425,554,629,755,820,948,1207,1633],[117,427,556,631,758,824,953,1214,1641],[118,427,556,630,758,825,955,1217,1645],[119,428,557,632,761,828,959,1223,1652],[120,430,559,634,764,832,964,1229,1660],[121,431,561,636,767,836,969,1235,1668],[122,431,561,636,767,837,971,1238,1672],[123,432,562,637,770,840,975,1243,1679],[124,434,564,639,772,843,980,1249,1688],[125,436,566,641,775,847,985,1256,1696],[126,435,566,641,776,848,987,1258,1701],[127,437,567,642,778,851,991,1265,1709],[128,438,569,645,781,855,997,1272,1718],[129,440,571,648,784,860,1003,1279,1728],[130,442,573,651,788,864,1008,1287,1739],[131,443,575,654,791,868,1015,1294,1750],[132,445,578,657,795,873,1021,1303,1763],[133,447,580,661,799,878,1029,1311,1777],[134,449,583,664,803,884,1036,1321,1790],[135,450,583,666,805,887,1041,1327,1801],[136,451,585,669,809,892,1049,1338,1816],[137,454,588,672,814,898,1058,1349,1834],[138,456,591,676,819,905,1068,1362,1852],[139,457,592,677,822,910,1075,1371,1868],[140,459,596,681,828,917,1085,1385,1887],[141,462,599,685,835,925,1097,1400,1908],[142,465,602,690,842,933,1109,1416,1932],[143,466,604,693,847,939,1119,1430,1953],[144,469,607,698,854,949,1131,1447,1980],[145,472,611,703,862,959,1146,1467,2010],[146,475,615,709,871,969,1161,1487,2041],[147,479,619,715,880,980,1176,1508,2072],[148,482,624,722,889,992,1192,1531,2107],[149,486,628,729,899,1004,1208,1555,2144],[150,490,634,736,910,1017,1226,1580,2181],[151,494,639,743,922,1030,1244,1607,2220],[152,496,642,748,932,1041,1258,1630,2256],[153,500,647,755,944,1055,1276,1656,2298],[154,504,653,763,957,1069,1295,1684,2342],[155,509,658,772,971,1085,1316,1711,2388],[156,512,662,778,982,1098,1333,1734,2430],[157,516,668,787,996,1114,1355,1753,2477],[158,521,674,797,1011,1131,1379,1773,2527],[159,526,682,807,1027,1150,1404,1793,2578],[160,529,686,815,1041,1165,1426,1813,2623],[161,534,694,825,1057,1184,1452,1846,2674],[162,540,701,836,1073,1204,1480,1882,2728],[163,546,710,848,1090,1224,1508,1919,2783],[164,552,719,861,1108,1245,1537,1957,2837],[165,557,729,874,1126,1267,1566,1996,2893],[166,564,739,887,1145,1289,1596,2037,2953],[167,570,750,901,1165,1312,1627,2078,3017],[168,577,761,915,1186,1336,1658,2119,3081],[169,582,769,926,1204,1356,1685,2157,3139],[170,588,779,940,1225,1380,1717,2199,3204],[171,596,791,955,1248,1405,1749,2245,3272],[172,604,802,971,1271,1430,1782,2291,3341],[173,609,811,983,1291,1452,1812,2333,3403],[174,616,823,997,1315,1478,1842,2379,3471],[175,624,836,1012,1339,1505,1859,2426,3542],[176,632,849,1028,1364,1532,1876,2475,3617],[177,638,859,1041,1385,1556,1893,2518,3684],[178,646,872,1057,1410,1583,1929,2568,3756],[179,655,885,1074,1436,1612,1967,2618,3830],[180,663,898,1091,1462,1640,2006,2670,3907],[181,672,911,1109,1488,1668,2044,2722,3983],[182,681,924,1127,1514,1697,2084,2773,4058],[183,689,938,1145,1539,1725,2122,2823,4131],[184,698,951,1163,1565,1754,2161,2873,4205],[185,707,965,1181,1591,1783,2199,2922,4277],[186,716,979,1200,1616,1811,2236,2970,4350],[187,725,993,1218,1643,1839,2272,3018,4419],[188,734,1007,1237,1669,1867,2308,3063,4488],[189,743,1022,1255,1695,1895,2344,3108,4557],[190,752,1036,1274,1722,1923,2379,3153,4618],[191,761,1050,1293,1748,1950,2415,3195,4677],[192,770,1064,1313,1775,1977,2451,3237,4735],[193,779,1078,1332,1787,2004,2487,3278,4790],[194,788,1093,1352,1797,2031,2521,3319,4842],[195,797,1107,1371,1818,2057,2556,3362,4888],[196,806,1121,1390,1844,2083,2590,3405,4933],[197,814,1135,1409,1868,2109,2622,3448,4977],[198,823,1150,1428,1893,2134,2655,3490,5019],[199,832,1164,1448,1917,2159,2687,3530,5061],[200,841,1178,1467,1940,2183,2719,3569,5104],[201,850,1192,1486,1963,2207,2751,3607,5145],[202,858,1205,1504,1986,2230,2781,3643,5184],[203,867,1219,1523,2009,2253,2811,3681,5219],[204,876,1232,1542,2032,2274,2840,3716,5253],[205,884,1245,1559,2054,2295,2867,3748,5286],[206,893,1257,1576,2075,2316,2894,3778,5315],[207,902,1270,1592,2095,2335,2919,3808,5343],[208,910,1282,1608,2114,2354,2943,3836,5368],[209,918,1295,1623,2134,2371,2965,3861,5388],[210,918,1297,1627,2139,2375,2972,3866,5385],[211,924,1305,1638,2153,2387,2988,3884,5394],[212,924,1307,1641,2157,2390,2993,3887,5389],[213,920,1303,1637,2152,2383,2987,3878,5367],[214,912,1295,1620,2142,2371,2974,3861,5335],[215,892,1273,1585,2113,2340,2937,3817,5278],[216,875,1252,1553,2086,2311,2904,3776,5224],[217,850,1224,1512,2048,2270,2857,3720,5152],[218,833,1204,1489,2022,2242,2825,3681,5104],[219,826,1197,1482,2015,2232,2815,3664,5085],[220,825,1197,1482,2016,2231,2815,3659,5077],[221,824,1197,1482,2016,2229,2813,3652,5064],[222,818,1191,1476,2008,2220,2802,3635,5036],[223,813,1186,1470,2000,2210,2791,3619,5008],[224,806,1179,1462,1989,2198,2776,3600,4973],[225,798,1169,1450,1973,2181,2756,3573,4932],[226,795,1166,1447,1968,2175,2749,3561,4905],[227,793,1165,1446,1964,2170,2743,3549,4882],[228,793,1165,1445,1962,2167,2737,3539,4860],[229,791,1164,1443,1958,2161,2729,3526,4834],[230,783,1154,1431,1942,2142,2705,3495,4786],[231,759,1124,1397,1899,2096,2650,3428,4695],[232,734,1093,1361,1855,2049,2592,3358,4604],[233,723,1080,1345,1834,2026,2563,3322,4552],[234,712,1064,1329,1813,2002,2534,3284,4499],[235,701,1044,1311,1790,1977,2503,3244,4443],[236,687,1022,1291,1764,1948,2466,3199,4381],[237,672,997,1268,1735,1916,2426,3150,4314],[238,662,980,1253,1716,1894,2398,3114,4264],[239,659,972,1248,1708,1883,2383,3093,4231],[240,655,964,1242,1698,1871,2366,3069,4194],[241,649,952,1231,1684,1854,2344,3038,4147],[242,641,941,1219,1668,1835,2320,3007,4104],[243,629,924,1200,1645,1809,2288,2967,4053],[244,615,904,1179,1619,1781,2253,2926,4003],[245,608,895,1169,1606,1767,2237,2905,3982],[246,602,888,1160,1595,1756,2222,2888,3966],[247,579,859,1127,1555,1713,2172,2831,3904],[248,564,841,1106,1529,1688,2142,2796,3873],[249,550,823,1086,1505,1662,2113,2764,3844],[250,542,815,1077,1494,1652,2102,2753,3839],[251,536,808,1069,1484,1642,2092,2743,3838],[252,527,798,1058,1471,1629,2077,2728,3831],[253,528,801,1062,1476,1635,2086,2741,3856],[254,529,804,1066,1481,1642,2095,2754,3880],[255,529,804,1067,1482,1644,2099,2760,3894],[256,526,802,1066,1480,1643,2099,2763,3903],[257,520,796,1058,1470,1634,2089,2754,3896],[258,513,787,1048,1458,1623,2077,2742,3886],[259,509,783,1044,1452,1618,2072,2739,3887],[260,501,774,1033,1439,1605,2058,2724,3875],[261,492,763,1021,1424,1590,2042,2706,3859],[262,482,752,1009,1409,1575,2025,2686,3840],[263,476,745,1000,1398,1564,2014,2673,3827],[264,469,737,991,1388,1554,2002,2658,3812],[265,462,729,983,1376,1542,1989,2642,3794],[266,454,719,972,1363,1528,1972,2622,3769],[267,448,712,964,1352,1516,1960,2605,3748],[268,436,696,946,1330,1494,1933,2572,3704],[269,430,689,938,1319,1481,1919,2553,3680],[270,417,672,919,1295,1456,1889,2515,3632],[271,404,655,898,1269,1428,1855,2474,3578],[272,391,639,879,1246,1403,1825,2436,3530],[273,379,622,860,1221,1377,1793,2396,3477],[274,369,610,845,1202,1356,1768,2365,3434],[275,365,605,839,1194,1347,1756,2349,3409],[276,361,600,833,1186,1338,1744,2333,3383],[277,357,594,826,1175,1326,1729,2312,3350],[278,353,590,820,1167,1316,1717,2295,3321],[279,348,583,811,1155,1303,1700,2271,3282],[280,344,578,805,1146,1292,1685,2250,3248],[281,339,570,795,1133,1276,1666,2223,3206],[282,338,568,793,1128,1270,1658,2210,3180],[283,329,556,778,1108,1248,1630,2172,3126],[284,318,541,759,1084,1221,1596,2129,3064],[285,304,522,736,1054,1188,1555,2076,2991],[286,295,510,720,1034,1165,1527,2039,2937],[287,284,495,702,1010,1138,1493,1995,2875],[288,279,488,693,997,1123,1475,1970,2836],[289,269,474,675,974,1098,1443,1929,2777],[290,255,454,650,942,1063,1401,1875,2704],[291,252,451,646,936,1055,1390,1859,2678],[292,247,443,636,922,1039,1370,1832,2638],[293,238,433,623,906,1021,1347,1801,2594],[294,228,422,609,887,1000,1321,1768,2546],[295,216,409,593,866,977,1292,1730,2494],[296,208,399,581,850,959,1269,1700,2451],[297,199,389,568,833,940,1246,1670,2408],[298,198,391,570,835,940,1246,1667,2399],[299,192,386,563,824,929,1231,1647,2368],[300,184,377,552,810,912,1210,1619,2329],[301,176,367,539,792,893,1186,1588,2285],[302,169,359,529,779,878,1168,1563,2249],[303,163,353,522,768,866,1152,1542,2218],[304,159,349,516,761,857,1141,1526,2193],[305,155,346,513,755,850,1131,1512,2172],[306,148,338,502,741,835,1112,1487,2135],[307,140,328,490,725,817,1089,1457,2094],[308,134,321,481,712,803,1072,1434,2062],[309,127,312,470,697,787,1051,1407,2025],[310,122,306,462,687,775,1037,1388,1998],[311,121,307,463,687,775,1035,1384,1989],[312,119,306,462,685,771,1030,1376,1975],[313,111,296,448,667,752,1006,1345,1933],[314,106,289,440,656,740,991,1326,1905],[315,103,286,436,650,733,982,1312,1886],[316,101,285,434,647,729,977,1304,1873],[317,97,281,430,641,721,967,1291,1853],[318,94,278,426,635,715,959,1278,1835],[319,86,265,409,613,691,930,1242,1787],[320,77,251,390,590,666,898,1203,1736],[321,73,246,384,581,656,886,1186,1714],[322,74,249,388,586,661,891,1191,1717],[323,76,256,397,596,671,903,1204,1732],[324,77,258,400,600,673,906,1205,1732],[325,77,262,404,604,678,911,1209,1735],[326,78,265,408,608,681,915,1212,1736],[327,79,268,412,612,685,919,1215,1738],[328,79,271,415,615,687,921,1216,1737],[329,78,271,415,615,686,919,1212,1729],[330,77,271,414,613,684,916,1207,1719],[331,76,271,414,612,681,912,1202,1710],[332,76,270,413,610,679,909,1196,1701],[333,76,273,415,613,681,911,1197,1700],[334,76,274,417,614,682,911,1196,1696],[335,76,275,418,614,681,910,1193,1691],[336,76,276,419,615,681,909,1191,1686],[337,75,277,419,614,680,906,1187,1678],[338,74,277,418,613,678,903,1183,1671],[339,75,279,421,615,679,904,1183,1668],[340,75,281,423,617,681,905,1184,1666],[341,76,282,424,618,681,904,1182,1662],[342,77,284,425,619,681,904,1181,1658],[343,77,284,425,618,680,901,1178,1652],[344,72,273,411,599,660,876,1147,1612],[345,69,268,404,591,651,864,1133,1592],[346,69,268,403,589,648,860,1128,1583],[347,70,268,403,589,647,859,1125,1578],[348,70,268,403,587,645,856,1121,1571],[349,71,270,405,590,647,857,1122,1570],[350,73,273,408,593,650,860,1125,1572],[351,75,276,412,597,654,864,1129,1574],[352,78,281,417,603,659,870,1135,1580],[353,81,285,421,607,663,874,1139,1582],[354,82,284,420,605,661,870,1134,1573],[355,83,285,421,605,660,868,1132,1568],[356,85,286,422,605,660,868,1130,1565],[357,88,289,424,608,662,870,1132,1564],[358,90,290,426,609,663,870,1132,1562],[359,91,291,426,608,662,868,1128,1556],[360,93,291,425,607,661,866,1125,1550],[361,95,293,428,609,663,867,1126,1550],[362,98,296,430,611,665,869,1127,1550],[363,101,299,433,615,668,872,1130,1552],[364,105,302,437,618,671,875,1133,1554]];\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,215488,3,170109],[\"Drought\",\"D3\",6,395934,4,101838],[\"Below average\",\"D2\",6,248699,8,27414],[\"Average\",\"AVG\",9,191205,7,5909],[\"Wet\",\"WET\",14,405725,4,146157]];\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\",307836,1.73,99,314309,317469],[\"Sucker BiOp\",\"1993-2000\",213289,1.34,102,313364,308020],[\"2002 BiOp\",\"2002-2012\",125352,0.68,92,294599,318842],[\"KBRA BiOp\",\"2013-2019\",-784,0.58,89,279459,313733],[\"2020 BiOp\",\"2020-2024\",66286,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=[[\"Keno above without-Project\",\"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,13.4,9.9,16.3],[\"Nov\",15.3,9.8,24.3,5.7,3.5,8.8],[\"Dec\",8.4,4.4,13.6,3.3,2.0,5.7],[\"Jan\",5.8,3.9,8.2,2.9,2.0,4.0],[\"Feb\",5.7,3.7,7.7,3.1,2.3,4.3],[\"Mar\",7.3,5.3,9.7,4.2,3.4,5.5],[\"Apr\",8.4,6.2,10.8,8.3,6.8,9.9],[\"May\",7.5,6.0,10.6,11.2,8.5,13.6],[\"Jun\",8.6,5.8,11.7,15.0,12.4,18.8],[\"Jul\",12.2,9.0,17.7,21.9,18.4,28.9],[\"Aug\",22.6,18.8,27.5,20.1,15.0,28.2],[\"Sep\",27.4,23.6,34.8,19.6,15.1,26.4]];   \/\/ [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]+'%)  without Project '+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,500],[\"Nov\",1267,8633,7366,15.3,450],[\"Dec\",1505,17703,16198,8.4,589],[\"Jan\",1447,26552,25104,5.8,725],[\"Feb\",1465,27575,26110,5.7,825],[\"Mar\",1910,26345,24435,7.3,1171],[\"Apr\",1867,23583,21716,8.4,1868],[\"May\",1264,18642,17378,7.5,1949],[\"Jun\",768,9696,8928,8.6,1450],[\"Jul\",587,4300,3713,12.2,990],[\"Aug\",718,2964,2246,22.6,647],[\"Sep\",909,3030,2121,27.4,613]];   \/\/ [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  without Project '+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.storage_af!=null) setTxt(\"store-af\",commas(K.storage_af)); }\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) -- Reclamation 2026 tracker, UKL storage with Agency Lake, to 4,145.0 ft\n    var UCAP=[[4136.0,0],[4136.25,16595],[4136.5,33797],[4136.75,51570],[4137.0,69817],[4137.25,88419],[4137.5,107242],[4137.75,126281],[4138.0,145526],[4138.25,165004],[4138.5,184812],[4138.75,205022],[4139.0,225651],[4139.25,246688],[4139.5,268218],[4139.75,290341],[4140.0,313118],[4140.25,336574],[4140.5,360513],[4140.75,384861],[4141.0,409581],[4141.25,434657],[4141.5,459928],[4141.75,485365],[4142.0,510949],[4142.25,536660],[4142.5,562465],[4142.75,588363],[4143.0,614345],[4143.25,640407],[4143.5,666535],[4143.75,692727],[4144.0,718975],[4144.25,745275],[4144.5,771612],[4144.75,797979],[4145.0,824371]];   \/\/ 2026 tracker, \"UKL storage with Agency\", 0.25 ft breakpoints to 4,145.0\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.8 - 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-10-10T22:06:07+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-10-10T22:06:07+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-10-10T22:06:07+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-10-10T22:06:07+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":59,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages\/4270\/revisions"}],"predecessor-version":[{"id":4818,"href":"https:\/\/klamathid.org\/home\/wp-json\/wp\/v2\/pages\/4270\/revisions\/4818"}],"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}]}}