https://levelslevels.uk/

送信済みURL:
https://levelslevels.uk/
レポート終了日:

リンク · 4件検出

ページから特定された発信リンク

リンクテキスト
https://www.somerset.gov.uk/roads-travel-and-parking/emergency-road-closure-gates/Langport to Muchelney
https://github.com/bede/levelslevelscode
https://github.com/bede/levelslevels/commits/main/changelog
https://check-for-flooding.service.gov.uk/target-area/112WAFYPMflood alert

JavaScript変数 · 26件検出

ページのウィンドウオブジェクトにロードされたグローバルのJavaScript変数は関数以外の場所で宣言された変数で、現在のスコープ内であればコードのどこからでもアクセス可能です

名前規模
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
PolyBoolobject
sprintffunction
vsprintffunction
__TYPEDARRAY_POOLobject
__TEXT_CACHEobject
PlotlyGeoAssetsobject
Plotlyobject

コンソールログメッセージ · 5件検出

Webコンソールにログ記録されたメッセージ

規模分類ログ
logother
URL
https://levelslevels.uk/
テキスト
Fetching new data for Long Load Main Drain
logother
URL
https://levelslevels.uk/
テキスト
Fetching new data for West Moor Drain
logother
URL
https://levelslevels.uk/
テキスト
Fetching new data for Parrett at Gaw Bridge
logother
URL
https://levelslevels.uk/
テキスト
Fetching new data for Isle at Midelney
errornetwork
URL
https://levelslevels.uk/favicon.ico
テキスト
Failed to load resource: the server responded with a status of 404 (Not Found)

HTML

未加工のHTMLページ本文

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>🚦 Muchelney area flood status</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&amp;display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css">
    <script type="text/javascript" crossorigin="anonymous" async="" src="https://eu-assets.i.posthog.com/static/array.js"></script><script src="https://cdn.plot.ly/plotly-2.24.1.min.js"></script><style id="plotly.js-style-global"></style>
    <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
    <style>
        body {
            font-family: 'Inter', sans-serif;
            margin: 0;
            padding: 0;
            line-height: 1.6;
            background-color: white;
            color: #333;
        }

        a {
            color: #1f77b4;
        }

        a:hover {
            text-decoration: underline;
        }

        #map-container {
            position: relative;
            width: 100%;
            height: 460px;
            overflow: hidden;
        }

        #map {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 460px;
            z-index: 1;
        }

        #map-overlay {
            position: absolute;
            top: 15px;
            left: 15px;
            right: 15px; /* Full width minus 30px total horizontal margin on small screens */
            background-color: rgba(255, 255, 255, 0.9);
            padding: 10px 15px;
            border-radius: 4px;
            z-index: 2;
        }

        @media (min-width: 768px) {
            #map-overlay {
                max-width: 400px;
                right: auto;
            }
        }

        #map-overlay h1 {
            font-size: 1.4rem;
            font-weight: 600;
            margin: 0 0 10px 0;
            color: #1f77b4;
        }

        #map-overlay ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        #map-overlay ul li {
            font-size: 1rem;
            margin-bottom: 5px;
            display: flex;
            align-items: center;
        }

        .circle {
            display: inline-block;
            width: 15px;
            height: 15px;
            border-radius: 50%;
            margin-right: 6px;
        }

        .circle.green {
            background-color: #4CAF50;
        }

        .circle.amber {
            background-color: #FFC107;
        }

        .circle.red {
            background-color: #F44336;
        }

        #tab-contents {
            margin: 0;
        }

        .tab-container {
            margin: 15px 15px 0 15px;
        }

        .tab-buttons {
            display: flex;
            flex-wrap: wrap;
            border-bottom: 1px solid #ccc;
            margin: 0;
        }

        .tab-button {
            padding: 10px 8px;
            font-size: 0.8rem;
            cursor: pointer;
            background-color: #f5f5f5;
            border: none;
            outline: none;
            font-weight: 600;
            color: #333;
            flex: 1;
            text-align: center;
        }

        .tab-button.active {
            background-color: #fff;
            border-bottom: 2px solid #1f77b4;
            color: #1f77b4;
        }

        .tab-content {
            display: none;
        }

        .tab-content.active {
            display: block;
        }

        .chart {
            width: 100%;
            height: 280px;
            margin: 0;
            padding: 0;
        }

        footer {
            margin: 10px 5px;
            text-align: center;
            color: #555;
        }
    </style>
    <script>
        !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
        posthog.init('phc_KlFKZyqiluUOIZvbdp6T129dDvRVRaAcKICHPeBejch', {
            api_host:'https://eu.i.posthog.com',
            person_profiles: 'always'
        })
    </script>
</head>
<body>
    <div id="map-container">
        <div id="map-overlay">
            <h1>Muchelney area flood status</h1>
            <ul id="road-status-list"><li><span class="circle amber"></span><span><a href="https://www.somerset.gov.uk/roads-travel-and-parking/emergency-road-closure-gates/">Langport to Muchelney</a>: <strong>flood (7cm)</strong></span></li><li><span class="circle amber"></span><span>Hambridge to Burrow: <strong>flood (6cm)</strong></span></li></ul>
        </div>
        <div id="map" class="leaflet-container leaflet-touch leaflet-fade-anim leaflet-grab leaflet-touch-drag leaflet-touch-zoom"><div class="leaflet-pane leaflet-map-pane" style="transform: translate3d(0px, 0px, 0px);"><div class="leaflet-pane leaflet-tile-pane"><div class="leaflet-layer " style="z-index: 1; opacity: 1;"><div class="leaflet-tile-container leaflet-zoom-animated" style="z-index: 18; transform: translate3d(0px, 0px, 0px) scale(1);"><img alt="" src="https://b.tile.openstreetmap.org/12/2015/1370.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(166px, 3px, 0px); opacity: 1;"><img alt="" src="https://c.tile.openstreetmap.org/12/2016/1370.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(422px, 3px, 0px); opacity: 1;"><img alt="" src="https://a.tile.openstreetmap.org/12/2015/1369.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(166px, -253px, 0px); opacity: 1;"><img alt="" src="https://b.tile.openstreetmap.org/12/2016/1369.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(422px, -253px, 0px); opacity: 1;"><img alt="" src="https://c.tile.openstreetmap.org/12/2015/1371.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(166px, 259px, 0px); opacity: 1;"><img alt="" src="https://a.tile.openstreetmap.org/12/2016/1371.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(422px, 259px, 0px); opacity: 1;"><img alt="" src="https://a.tile.openstreetmap.org/12/2014/1370.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(-90px, 3px, 0px); opacity: 1;"><img alt="" src="https://a.tile.openstreetmap.org/12/2017/1370.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(678px, 3px, 0px); opacity: 1;"><img alt="" src="https://c.tile.openstreetmap.org/12/2014/1369.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(-90px, -253px, 0px); opacity: 1;"><img alt="" src="https://c.tile.openstreetmap.org/12/2017/1369.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(678px, -253px, 0px); opacity: 1;"><img alt="" src="https://b.tile.openstreetmap.org/12/2014/1371.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(-90px, 259px, 0px); opacity: 1;"><img alt="" src="https://b.tile.openstreetmap.org/12/2017/1371.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(678px, 259px, 0px); opacity: 1;"></div></div></div><div class="leaflet-pane leaflet-overlay-pane"></div><div class="leaflet-pane leaflet-shadow-pane"></div><div class="leaflet-pane leaflet-marker-pane"><div class="leaflet-marker-icon custom-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" role="button" style="margin-left: -6px; margin-top: -6px; width: 12px; height: 12px; transform: translate3d(408px, 199px, 0px); z-index: 199;"><div style="background-color: #FFC107; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div></div><div class="leaflet-marker-icon custom-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" role="button" style="margin-left: -6px; margin-top: -6px; width: 12px; height: 12px; transform: translate3d(477px, 279px, 0px); z-index: 279;"><div style="background-color: #4CAF50; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div></div><div class="leaflet-marker-icon custom-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" role="button" style="margin-left: -6px; margin-top: -6px; width: 12px; height: 12px; transform: translate3d(415px, 261px, 0px); z-index: 261;"><div style="background-color: #4CAF50; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div></div><div class="leaflet-marker-icon custom-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" role="button" style="margin-left: -6px; margin-top: -6px; width: 12px; height: 12px; transform: translate3d(312px, 389px, 0px); z-index: 389;"><div style="background-color: #FFC107; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div></div><div class="leaflet-marker-icon custom-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" role="button" style="margin-left: -6px; margin-top: -6px; width: 12px; height: 12px; transform: translate3d(478px, 434px, 0px); z-index: 434;"><div style="background-color: #4CAF50; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div></div><div class="leaflet-marker-icon custom-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" role="button" style="margin-left: -6px; margin-top: -6px; width: 12px; height: 12px; transform: translate3d(283px, 345px, 0px); z-index: 345;"><div style="background-color: #4CAF50; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div></div></div><div class="leaflet-pane leaflet-tooltip-pane"></div><div class="leaflet-pane leaflet-popup-pane"></div><div class="leaflet-proxy leaflet-zoom-animated" style="transform: translate3d(516074px, 350947px, 0px) scale(2048);"></div></div><div class="leaflet-control-container"><div class="leaflet-top leaflet-left"></div><div class="leaflet-top leaflet-right"></div><div class="leaflet-bottom leaflet-left"><div class="leaflet-control-zoom leaflet-bar leaflet-control"><a class="leaflet-control-zoom-in" href="#" title="Zoom in" role="button" aria-label="Zoom in" aria-disabled="false"><span aria-hidden="true">+</span></a><a class="leaflet-control-zoom-out" href="#" title="Zoom out" role="button" aria-label="Zoom out" aria-disabled="false"><span aria-hidden="true">−</span></a></div></div><div class="leaflet-bottom leaflet-right"></div></div></div>
    </div>

    <!-- Tabs for charts -->
    <div class="tab-container">
        <div class="tab-buttons" id="tab-buttons">
            <!-- Tab buttons will be inserted here -->
        <button class="tab-button active" data-target="chart-gaw-bridge">Parrett at Gaw Bridge</button><button class="tab-button" data-target="chart-west-moor">West Moor Drain</button><button class="tab-button" data-target="chart-midelney">Isle at Midelney</button><button class="tab-button" data-target="chart-long-load">Long Load Main Drain</button></div>
        <div id="tab-contents">
            <!-- Tab contents (charts) will be inserted here -->
        <div id="chart-gaw-bridge" class="chart tab-content js-plotly-plot active"><div class="plot-container plotly"><div class="user-select-none svg-container" style="position: relative; width: 760px; height: 280px;"><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="760" height="280" style="background: rgb(255, 255, 255);"><defs id="defs-4b4077"><g class="clips"><clipPath id="clip4b4077xyplot" class="plotclip"><rect width="726" height="238"></rect></clipPath><clipPath class="axesclip" id="clip4b4077x"><rect x="0" y="0" width="726" height="280"></rect></clipPath><clipPath class="axesclip" id="clip4b4077y"><rect x="0" y="12" width="760" height="238"></rect></clipPath><clipPath class="axesclip" id="clip4b4077xy"><rect x="0" y="12" width="726" height="238"></rect></clipPath></g><g class="gradients"></g><g class="patterns"></g></defs><g class="bglayer"></g><g class="draglayer cursor-crosshair"><g class="xy"><rect class="nsewdrag drag" data-subplot="xy" x="0" y="12" width="726" height="238" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nwdrag drag cursor-nw-resize" data-subplot="xy" x="-20" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nedrag drag cursor-ne-resize" data-subplot="xy" x="726" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="swdrag drag cursor-sw-resize" data-subplot="xy" x="-20" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sedrag drag cursor-se-resize" data-subplot="xy" x="726" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ewdrag drag cursor-ew-resize" data-subplot="xy" x="72.60000000000001" y="250.5" width="580.8000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="wdrag drag cursor-w-resize" data-subplot="xy" x="0" y="250.5" width="72.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="edrag drag cursor-e-resize" data-subplot="xy" x="653.4" y="250.5" width="72.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nsdrag drag cursor-ns-resize" data-subplot="xy" x="726.5" y="35.8" width="20" height="190.4" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sdrag drag cursor-s-resize" data-subplot="xy" x="726.5" y="226.20000000000002" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ndrag drag cursor-n-resize" data-subplot="xy" x="726.5" y="12" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect></g></g><g class="layer-below"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="cartesianlayer"><g class="subplot xy"><g class="layer-subplot"><g class="shapelayer"></g><g class="imagelayer"></g></g><g class="minor-gridlayer"><g class="x"></g><g class="y"></g></g><g class="gridlayer"><g class="x"><path class="xgrid crisp" transform="translate(39.49,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(112.39,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(185.3,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(258.2,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(331.1,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(404.01,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(476.91,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(549.82,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(622.72,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(695.62,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g><g class="y"><path class="ygrid crisp" transform="translate(0,244.42)" d="M0,0h726" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,197.94)" d="M0,0h726" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,151.45)" d="M0,0h726" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,104.97)" d="M0,0h726" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,58.48)" d="M0,0h726" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g></g><g class="zerolinelayer"></g><path class="xlines-below"></path><path class="ylines-below"></path><g class="overlines-below"></g><g class="xaxislayer-below"></g><g class="yaxislayer-below"></g><g class="overaxes-below"></g><g class="plot" transform="translate(0,12)" clip-path="url(#clip4b4077xyplot)"><g class="scatterlayer mlayer"><g class="trace scatter tracebbd96b" style="stroke-miterlimit: 2;"><g class="fills"><g><path class="js-fill" d="M726,1208.59L0,1208.59L0,157.12L1.52,157.12L3.04,158.05L6.08,158.05L7.59,158.98L9.11,158.98L10.63,159.91L12.15,159.91L13.67,160.84L16.71,160.84L18.23,161.77L19.74,162.7L21.26,162.7L22.78,162.7L24.3,163.63L25.82,163.63L27.34,164.55L28.86,164.55L30.38,165.48L33.41,165.48L34.93,166.41L36.45,166.41L37.97,167.34L41.01,167.34L42.53,168.27L48.6,168.27L50.12,169.2L53.16,169.2L54.68,170.13L57.72,170.13L59.23,171.06L62.27,171.06L63.79,171.99L66.83,171.99L68.35,172.92L71.38,172.92L72.9,173.85L75.94,173.85L77.46,174.78L78.98,174.78L80.5,175.71L83.54,175.71L85.05,176.64L86.57,177.57L88.09,177.57L89.61,177.57L91.13,178.5L94.17,178.5L95.69,179.43L98.72,179.43L100.24,180.36L101.76,180.36L103.28,181.29L107.84,181.29L109.36,182.22L112.39,182.22L113.91,183.15L115.43,183.15L116.95,184.08L119.99,184.08L121.51,185.01L124.54,185.01L126.06,185.94L129.1,185.94L130.62,186.87L135.18,191.52L136.69,192.45L138.21,193.37L139.73,193.37L176.18,193.37L177.7,194.3L185.3,194.3L186.82,195.23L192.89,195.23L194.41,196.16L202,196.16L203.52,197.09L208.08,197.09L209.6,198.02L215.67,198.02L217.19,198.95L224.79,198.95L226.31,199.88L235.42,199.88L236.94,200.81L244.53,200.81L246.05,201.74L256.68,201.74L258.2,202.67L262.76,202.67L264.28,203.6L273.39,203.6L274.91,204.53L277.95,204.53L279.46,205.46L285.54,224.05L287.06,226.84L290.1,228.7L291.62,228.7L294.65,228.7L296.17,227.77L297.69,225.91L299.21,222.2L303.77,214.76L305.28,212.9L309.84,210.11L311.36,210.11L312.88,209.18L314.4,209.18L337.18,209.18L338.7,210.11L349.33,210.11L350.85,211.04L369.08,211.04L370.59,211.97L382.74,211.97L384.26,212.9L399.45,212.9L400.97,213.83L402.49,212.9L404.01,212.9L405.53,213.83L407.05,213.83L419.2,213.83L420.72,214.76L443.5,214.76L445.02,215.69L472.36,215.69L473.87,216.62L484.51,216.62L486.03,217.55L502.73,217.55L504.25,218.48L520.96,218.48L522.48,219.41L549.82,219.41L551.33,220.34L575.64,220.34L577.15,221.27L604.49,221.27L606.01,222.2L627.28,222.2L628.79,223.13L650.06,223.13L651.58,224.05L691.07,224.05L692.59,224.98L726,224.98" style="fill: rgb(31, 118, 180); fill-opacity: 0.1; stroke-width: 0;"></path></g></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,157.12L1.52,157.12L3.04,158.05L6.08,158.05L7.59,158.98L9.11,158.98L10.63,159.91L12.15,159.91L13.67,160.84L16.71,160.84L18.23,161.77L19.74,162.7L21.26,162.7L22.78,162.7L24.3,163.63L25.82,163.63L27.34,164.55L28.86,164.55L30.38,165.48L33.41,165.48L34.93,166.41L36.45,166.41L37.97,167.34L41.01,167.34L42.53,168.27L48.6,168.27L50.12,169.2L53.16,169.2L54.68,170.13L57.72,170.13L59.23,171.06L62.27,171.06L63.79,171.99L66.83,171.99L68.35,172.92L71.38,172.92L72.9,173.85L75.94,173.85L77.46,174.78L78.98,174.78L80.5,175.71L83.54,175.71L85.05,176.64L86.57,177.57L88.09,177.57L89.61,177.57L91.13,178.5L94.17,178.5L95.69,179.43L98.72,179.43L100.24,180.36L101.76,180.36L103.28,181.29L107.84,181.29L109.36,182.22L112.39,182.22L113.91,183.15L115.43,183.15L116.95,184.08L119.99,184.08L121.51,185.01L124.54,185.01L126.06,185.94L129.1,185.94L130.62,186.87L135.18,191.52L136.69,192.45L138.21,193.37L139.73,193.37L176.18,193.37L177.7,194.3L185.3,194.3L186.82,195.23L192.89,195.23L194.41,196.16L202,196.16L203.52,197.09L208.08,197.09L209.6,198.02L215.67,198.02L217.19,198.95L224.79,198.95L226.31,199.88L235.42,199.88L236.94,200.81L244.53,200.81L246.05,201.74L256.68,201.74L258.2,202.67L262.76,202.67L264.28,203.6L273.39,203.6L274.91,204.53L277.95,204.53L279.46,205.46L285.54,224.05L287.06,226.84L290.1,228.7L291.62,228.7L294.65,228.7L296.17,227.77L297.69,225.91L299.21,222.2L303.77,214.76L305.28,212.9L309.84,210.11L311.36,210.11L312.88,209.18L314.4,209.18L337.18,209.18L338.7,210.11L349.33,210.11L350.85,211.04L369.08,211.04L370.59,211.97L382.74,211.97L384.26,212.9L399.45,212.9L400.97,213.83L402.49,212.9L404.01,212.9L405.53,213.83L407.05,213.83L419.2,213.83L420.72,214.76L443.5,214.76L445.02,215.69L472.36,215.69L473.87,216.62L484.51,216.62L486.03,217.55L502.73,217.55L504.25,218.48L520.96,218.48L522.48,219.41L549.82,219.41L551.33,220.34L575.64,220.34L577.15,221.27L604.49,221.27L606.01,222.2L627.28,222.2L628.79,223.13L650.06,223.13L651.58,224.05L691.07,224.05L692.59,224.98L726,224.98" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(31, 119, 180); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracebb0c70" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"><path class="point" transform="translate(726,224.98)" d="M4,0A4,4 0 1,1 0,-4A4,4 0 0,1 4,0Z" style="opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;"></path></g><g class="text"></g></g><g class="trace scatter trace551514" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,9.3L726,9.3" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter trace223e65" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="9.3" data-unformatted="Kingsbury to Coat (12.90m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Kingsbury to Coat (12.90m)</text></g></g></g><g class="trace scatter tracee53cd7" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,224.98L726,224.98" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g></g></g><g class="overplot"></g><path class="xlines-above crisp" d="M0,0" style="fill: none;"></path><path class="ylines-above crisp" d="M0,0" style="fill: none;"></path><g class="overlines-above"></g><g class="xaxislayer-above"><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-08" data-math="N" transform="translate(39.49,0)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">2024-12-08</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-08" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(112.39,0)">2024-12-08</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-09" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(185.3,0)">2024-12-09</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-09" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(258.2,0)">2024-12-09</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-10" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(331.1,0)">2024-12-10</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-10" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(404.01,0)">2024-12-10</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-11" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(476.91,0)">2024-12-11</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-11" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(549.82,0)">2024-12-11</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-12" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(622.72,0)">2024-12-12</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-12" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(695.62,0)">2024-12-12</text></g></g><g class="yaxislayer-above"><g class="ytick"><text text-anchor="start" x="727" y="3.8499999999999996" data-unformatted="10.50m" data-math="N" transform="translate(0,244.42)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">10.50m</text></g><g class="ytick"><text text-anchor="start" x="727" y="3.8499999999999996" data-unformatted="11.00m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,197.94)">11.00m</text></g><g class="ytick"><text text-anchor="start" x="727" y="3.8499999999999996" data-unformatted="11.50m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,151.45)">11.50m</text></g><g class="ytick"><text text-anchor="start" x="727" y="3.8499999999999996" data-unformatted="12.00m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,104.97)">12.00m</text></g><g class="ytick"><text text-anchor="start" x="727" y="3.8499999999999996" data-unformatted="12.50m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,58.48)">12.50m</text></g><g class="ytick"><text text-anchor="start" x="727" y="3.8499999999999996" data-unformatted="13.00m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,12)">13.00m</text></g></g><g class="overaxes-above"></g></g></g><g class="polarlayer"></g><g class="smithlayer"></g><g class="ternarylayer"></g><g class="geolayer"></g><g class="funnelarealayer"></g><g class="pielayer"></g><g class="iciclelayer"></g><g class="treemaplayer"></g><g class="sunburstlayer"></g><g class="glimages"></g></svg><div class="gl-container"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="760" height="280"><defs id="topdefs-4b4077"><g class="clips"></g></defs><g class="indicatorlayer"></g><g class="layer-above"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="selectionlayer"></g><g class="infolayer"><g class="g-gtitle"></g><g class="g-xtitle"></g><g class="g-ytitle"></g><g class="annotation" data-index="0" style="opacity: 1;"><g class="annotation-text-g" transform="rotate(0,704,214.98)"><g class="cursor-pointer" transform="translate(646,205)"><rect class="bg" x="0.5" y="0.5" width="115" height="18" style="stroke-width: 1px; stroke: rgb(0, 0, 0); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1;"></rect><text class="annotation-text" text-anchor="middle" data-unformatted="10.58m (17:00 UTC)" data-math="N" x="58" y="14" style="font-family: Inter, sans-serif; font-size: 12px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">10.58m (17:00 UTC)</text></g></g><g class="annotation-arrow-g" style="opacity: 1;"><path d="M713,223.98L726,236.98" style="stroke-width: 2px; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 0px, 0px, 18.3848px, 18.3848px;"></path><path d="M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z" transform="translate(726,236.97999572753906)scale(2)" style="fill: rgb(0, 0, 0); stroke-width: 0;"></path></g></g></g><g class="menulayer"></g><g class="zoomlayer"></g></svg><div class="modebar-container" style="position: absolute; top: 0px; right: 0px; width: 100%;"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="760" height="280"><g class="hoverlayer"></g></svg></div></div></div><div id="chart-west-moor" class="chart tab-content js-plotly-plot"><div class="plot-container plotly"><div class="user-select-none svg-container" style="position: relative; width: 700px; height: 280px;"><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280" style="background: rgb(255, 255, 255);"><defs id="defs-a314b9"><g class="clips"><clipPath id="clipa314b9xyplot" class="plotclip"><rect width="666" height="238"></rect></clipPath><clipPath class="axesclip" id="clipa314b9x"><rect x="0" y="0" width="666" height="280"></rect></clipPath><clipPath class="axesclip" id="clipa314b9y"><rect x="0" y="12" width="700" height="238"></rect></clipPath><clipPath class="axesclip" id="clipa314b9xy"><rect x="0" y="12" width="666" height="238"></rect></clipPath></g><g class="gradients"></g><g class="patterns"></g></defs><g class="bglayer"></g><g class="draglayer cursor-crosshair"><g class="xy"><rect class="nsewdrag drag" data-subplot="xy" x="0" y="12" width="666" height="238" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nwdrag drag cursor-nw-resize" data-subplot="xy" x="-20" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nedrag drag cursor-ne-resize" data-subplot="xy" x="666" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="swdrag drag cursor-sw-resize" data-subplot="xy" x="-20" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sedrag drag cursor-se-resize" data-subplot="xy" x="666" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ewdrag drag cursor-ew-resize" data-subplot="xy" x="66.60000000000001" y="250.5" width="532.8000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="wdrag drag cursor-w-resize" data-subplot="xy" x="0" y="250.5" width="66.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="edrag drag cursor-e-resize" data-subplot="xy" x="599.4" y="250.5" width="66.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nsdrag drag cursor-ns-resize" data-subplot="xy" x="666.5" y="35.8" width="20" height="190.4" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sdrag drag cursor-s-resize" data-subplot="xy" x="666.5" y="226.20000000000002" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ndrag drag cursor-n-resize" data-subplot="xy" x="666.5" y="12" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect></g></g><g class="layer-below"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="cartesianlayer"><g class="subplot xy"><g class="layer-subplot"><g class="shapelayer"></g><g class="imagelayer"></g></g><g class="minor-gridlayer"><g class="x"></g><g class="y"></g></g><g class="gridlayer"><g class="x"><path class="xgrid crisp" transform="translate(36.23,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(169.98,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(303.74,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(437.5,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(571.26,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g><g class="y"><path class="ygrid crisp" transform="translate(0,174.27)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,91.06)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g></g><g class="zerolinelayer"></g><path class="xlines-below"></path><path class="ylines-below"></path><g class="overlines-below"></g><g class="xaxislayer-below"></g><g class="yaxislayer-below"></g><g class="overaxes-below"></g><g class="plot" transform="translate(0,12)" clip-path="url(#clipa314b9xyplot)"><g class="scatterlayer mlayer"><g class="trace scatter traceacaab7" style="stroke-miterlimit: 2;"><g class="fills"><g><path class="js-fill" d="M666,1327.31L0,1327.31L0,23.3L1.39,18.31L2.79,18.31L4.18,19.97L5.57,16.64L6.97,19.97L8.36,16.64L11.15,21.64L12.54,19.97L13.93,19.97L15.33,21.64L16.72,19.97L18.11,21.64L19.51,19.97L20.9,19.97L22.29,21.64L23.69,21.64L25.08,21.64L26.47,18.31L27.87,16.64L29.26,19.97L32.05,19.97L33.44,18.31L36.23,18.31L37.62,16.64L39.01,18.31L40.41,18.31L41.8,19.97L43.19,18.31L44.59,21.64L45.98,19.97L47.37,21.64L48.77,21.64L50.16,21.64L51.55,19.97L59.91,19.97L61.31,18.31L62.7,19.97L64.09,19.97L76.63,19.97L78.03,18.31L79.42,21.64L80.81,19.97L82.21,18.31L83.6,19.97L86.38,19.97L87.78,21.64L91.96,21.64L93.35,23.3L94.74,23.3L96.14,21.64L97.53,23.3L98.92,23.3L101.71,23.3L103.1,21.64L104.5,23.3L105.89,23.3L107.28,24.97L108.68,23.3L111.46,23.3L112.86,21.64L114.25,21.64L115.64,23.3L117.04,21.64L118.43,21.64L119.82,19.97L121.22,21.64L122.61,19.97L124,19.97L129.58,19.97L130.97,21.64L132.36,19.97L133.76,19.97L135.15,21.64L136.54,21.64L139.33,21.64L140.72,19.97L142.12,21.64L143.51,21.64L144.9,21.64L146.3,23.3L150.48,23.3L151.87,21.64L153.26,23.3L154.66,21.64L157.44,21.64L158.84,19.97L161.62,23.3L163.02,23.3L167.2,23.3L168.59,21.64L176.95,21.64L178.34,23.3L179.74,23.3L181.13,21.64L182.52,19.97L183.92,21.64L185.31,21.64L186.7,23.3L188.1,21.64L189.49,21.64L192.28,21.64L193.67,23.3L195.06,21.64L196.46,23.3L197.85,21.64L199.24,21.64L200.64,21.64L202.03,23.3L207.6,23.3L209,21.64L225.72,21.64L227.11,23.3L228.5,21.64L229.9,23.3L232.68,23.3L234.08,21.64L235.47,23.3L236.86,23.3L238.26,23.3L239.65,21.64L241.04,23.3L242.44,21.64L243.83,23.3L245.22,23.3L277.27,23.3L278.66,24.97L280.05,23.3L281.45,24.97L291.2,24.97L292.59,23.3L293.99,24.97L295.38,24.97L298.17,24.97L299.56,26.63L300.95,24.97L302.35,24.97L305.13,24.97L306.53,26.63L307.92,24.97L309.31,24.97L310.71,24.97L312.1,26.63L313.49,24.97L314.89,24.97L320.46,24.97L321.85,26.63L323.25,24.97L324.64,24.97L326.03,24.97L327.43,26.63L339.97,26.63L341.36,24.97L342.75,26.63L344.15,24.97L345.54,26.63L346.93,26.63L349.72,26.63L351.11,24.97L352.51,26.63L353.9,26.63L355.29,24.97L356.69,26.63L360.87,26.63L362.26,24.97L365.05,28.29L366.44,26.63L367.83,26.63L369.23,28.29L370.62,26.63L372.01,26.63L373.41,28.29L374.8,26.63L376.19,28.29L377.59,26.63L390.13,26.63L391.52,28.29L392.91,28.29L394.31,26.63L395.7,28.29L397.09,26.63L398.49,26.63L399.88,28.29L401.27,26.63L402.67,28.29L452.82,28.29L454.22,29.96L455.61,28.29L457,29.96L461.18,29.96L462.58,28.29L463.97,29.96L465.36,29.96L490.44,29.96L491.84,31.62L493.23,29.96L494.62,31.62L497.41,31.62L498.8,29.96L500.2,29.96L501.59,31.62L502.98,31.62L504.38,29.96L505.77,31.62L507.16,31.62L571.26,31.62L572.65,33.29L574.04,31.62L575.44,33.29L628.38,33.29L629.77,34.95L631.17,33.29L632.56,34.95L633.95,34.95L635.35,33.29L636.74,34.95L638.13,34.95L666,34.95" style="fill: rgb(31, 118, 180); fill-opacity: 0.1; stroke-width: 0;"></path></g></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,23.3L1.39,18.31L2.79,18.31L4.18,19.97L5.57,16.64L6.97,19.97L8.36,16.64L11.15,21.64L12.54,19.97L13.93,19.97L15.33,21.64L16.72,19.97L18.11,21.64L19.51,19.97L20.9,19.97L22.29,21.64L23.69,21.64L25.08,21.64L26.47,18.31L27.87,16.64L29.26,19.97L32.05,19.97L33.44,18.31L36.23,18.31L37.62,16.64L39.01,18.31L40.41,18.31L41.8,19.97L43.19,18.31L44.59,21.64L45.98,19.97L47.37,21.64L48.77,21.64L50.16,21.64L51.55,19.97L59.91,19.97L61.31,18.31L62.7,19.97L64.09,19.97L76.63,19.97L78.03,18.31L79.42,21.64L80.81,19.97L82.21,18.31L83.6,19.97L86.38,19.97L87.78,21.64L91.96,21.64L93.35,23.3L94.74,23.3L96.14,21.64L97.53,23.3L98.92,23.3L101.71,23.3L103.1,21.64L104.5,23.3L105.89,23.3L107.28,24.97L108.68,23.3L111.46,23.3L112.86,21.64L114.25,21.64L115.64,23.3L117.04,21.64L118.43,21.64L119.82,19.97L121.22,21.64L122.61,19.97L124,19.97L129.58,19.97L130.97,21.64L132.36,19.97L133.76,19.97L135.15,21.64L136.54,21.64L139.33,21.64L140.72,19.97L142.12,21.64L143.51,21.64L144.9,21.64L146.3,23.3L150.48,23.3L151.87,21.64L153.26,23.3L154.66,21.64L157.44,21.64L158.84,19.97L161.62,23.3L163.02,23.3L167.2,23.3L168.59,21.64L176.95,21.64L178.34,23.3L179.74,23.3L181.13,21.64L182.52,19.97L183.92,21.64L185.31,21.64L186.7,23.3L188.1,21.64L189.49,21.64L192.28,21.64L193.67,23.3L195.06,21.64L196.46,23.3L197.85,21.64L199.24,21.64L200.64,21.64L202.03,23.3L207.6,23.3L209,21.64L225.72,21.64L227.11,23.3L228.5,21.64L229.9,23.3L232.68,23.3L234.08,21.64L235.47,23.3L236.86,23.3L238.26,23.3L239.65,21.64L241.04,23.3L242.44,21.64L243.83,23.3L245.22,23.3L277.27,23.3L278.66,24.97L280.05,23.3L281.45,24.97L291.2,24.97L292.59,23.3L293.99,24.97L295.38,24.97L298.17,24.97L299.56,26.63L300.95,24.97L302.35,24.97L305.13,24.97L306.53,26.63L307.92,24.97L309.31,24.97L310.71,24.97L312.1,26.63L313.49,24.97L314.89,24.97L320.46,24.97L321.85,26.63L323.25,24.97L324.64,24.97L326.03,24.97L327.43,26.63L339.97,26.63L341.36,24.97L342.75,26.63L344.15,24.97L345.54,26.63L346.93,26.63L349.72,26.63L351.11,24.97L352.51,26.63L353.9,26.63L355.29,24.97L356.69,26.63L360.87,26.63L362.26,24.97L365.05,28.29L366.44,26.63L367.83,26.63L369.23,28.29L370.62,26.63L372.01,26.63L373.41,28.29L374.8,26.63L376.19,28.29L377.59,26.63L390.13,26.63L391.52,28.29L392.91,28.29L394.31,26.63L395.7,28.29L397.09,26.63L398.49,26.63L399.88,28.29L401.27,26.63L402.67,28.29L452.82,28.29L454.22,29.96L455.61,28.29L457,29.96L461.18,29.96L462.58,28.29L463.97,29.96L465.36,29.96L490.44,29.96L491.84,31.62L493.23,29.96L494.62,31.62L497.41,31.62L498.8,29.96L500.2,29.96L501.59,31.62L502.98,31.62L504.38,29.96L505.77,31.62L507.16,31.62L571.26,31.62L572.65,33.29L574.04,31.62L575.44,33.29L628.38,33.29L629.77,34.95L631.17,33.29L632.56,34.95L633.95,34.95L635.35,33.29L636.74,34.95L638.13,34.95L666,34.95" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(31, 119, 180); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter trace9b082c" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"><path class="point" transform="translate(666,34.95)" d="M4,0A4,4 0 1,1 0,-4A4,4 0 0,1 4,0Z" style="opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;"></path></g><g class="text"></g></g><g class="trace scatter trace77145e" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,45.77L666,45.77" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter trace631fe3" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,221.36L666,221.36" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter traced0a6c2" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="45.77" data-unformatted="Hambridge to Burrow (7.70m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Hambridge to Burrow (7.70m)</text></g></g></g><g class="trace scatter trace06f4cf" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="221.36" data-unformatted="Top of normal range (6.64m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Top of normal range (6.64m)</text></g></g></g><g class="trace scatter trace4f85de" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,34.95L666,34.95" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g></g></g><g class="overplot"></g><path class="xlines-above crisp" d="M0,0" style="fill: none;"></path><path class="ylines-above crisp" d="M0,0" style="fill: none;"></path><g class="overlines-above"></g><g class="xaxislayer-above"><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-08" data-math="N" transform="translate(36.23,0)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">2024-12-08</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-09" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(169.98,0)">2024-12-09</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-10" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(303.74,0)">2024-12-10</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-11" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(437.5,0)">2024-12-11</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-12" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(571.26,0)">2024-12-12</text></g></g><g class="yaxislayer-above"><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="7.00m" data-math="N" transform="translate(0,174.27)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">7.00m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="7.50m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,91.06)">7.50m</text></g></g><g class="overaxes-above"></g></g></g><g class="polarlayer"></g><g class="smithlayer"></g><g class="ternarylayer"></g><g class="geolayer"></g><g class="funnelarealayer"></g><g class="pielayer"></g><g class="iciclelayer"></g><g class="treemaplayer"></g><g class="sunburstlayer"></g><g class="glimages"></g></svg><div class="gl-container"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280"><defs id="topdefs-a314b9"><g class="clips"></g></defs><g class="indicatorlayer"></g><g class="layer-above"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="selectionlayer"></g><g class="infolayer"><g class="g-gtitle"></g><g class="g-xtitle"></g><g class="g-ytitle"></g><g class="annotation" data-index="0" style="opacity: 1;"><g class="annotation-text-g" transform="rotate(0,644,24.950000000000003)"><g class="cursor-pointer" transform="translate(590,15)"><rect class="bg" x="0.5" y="0.5" width="108" height="18" style="stroke-width: 1px; stroke: rgb(0, 0, 0); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1;"></rect><text class="annotation-text" text-anchor="middle" data-unformatted="7.76m (17:00 UTC)" data-math="N" x="54.5" y="14" style="font-family: Inter, sans-serif; font-size: 12px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">7.76m (17:00 UTC)</text></g></g><g class="annotation-arrow-g" style="opacity: 1;"><path d="M653,33.95L666,46.95" style="stroke-width: 2px; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 0px, 0px, 18.3848px, 18.3848px;"></path><path d="M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z" transform="translate(666,46.95000076293945)scale(2)" style="fill: rgb(0, 0, 0); stroke-width: 0;"></path></g></g></g><g class="menulayer"></g><g class="zoomlayer"></g></svg><div class="modebar-container" style="position: absolute; top: 0px; right: 0px; width: 100%;"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280"><g class="hoverlayer"></g></svg></div></div></div><div id="chart-midelney" class="chart tab-content js-plotly-plot"><div class="plot-container plotly"><div class="user-select-none svg-container" style="position: relative; width: 700px; height: 280px;"><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280" style="background: rgb(255, 255, 255);"><defs id="defs-9b4d11"><g class="clips"><clipPath id="clip9b4d11xyplot" class="plotclip"><rect width="666" height="238"></rect></clipPath><clipPath class="axesclip" id="clip9b4d11x"><rect x="0" y="0" width="666" height="280"></rect></clipPath><clipPath class="axesclip" id="clip9b4d11y"><rect x="0" y="12" width="700" height="238"></rect></clipPath><clipPath class="axesclip" id="clip9b4d11xy"><rect x="0" y="12" width="666" height="238"></rect></clipPath></g><g class="gradients"></g><g class="patterns"></g></defs><g class="bglayer"></g><g class="draglayer cursor-crosshair"><g class="xy"><rect class="nsewdrag drag" data-subplot="xy" x="0" y="12" width="666" height="238" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nwdrag drag cursor-nw-resize" data-subplot="xy" x="-20" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nedrag drag cursor-ne-resize" data-subplot="xy" x="666" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="swdrag drag cursor-sw-resize" data-subplot="xy" x="-20" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sedrag drag cursor-se-resize" data-subplot="xy" x="666" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ewdrag drag cursor-ew-resize" data-subplot="xy" x="66.60000000000001" y="250.5" width="532.8000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="wdrag drag cursor-w-resize" data-subplot="xy" x="0" y="250.5" width="66.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="edrag drag cursor-e-resize" data-subplot="xy" x="599.4" y="250.5" width="66.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nsdrag drag cursor-ns-resize" data-subplot="xy" x="666.5" y="35.8" width="20" height="190.4" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sdrag drag cursor-s-resize" data-subplot="xy" x="666.5" y="226.20000000000002" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ndrag drag cursor-n-resize" data-subplot="xy" x="666.5" y="12" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect></g></g><g class="layer-below"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="cartesianlayer"><g class="subplot xy"><g class="layer-subplot"><g class="shapelayer"></g><g class="imagelayer"></g></g><g class="minor-gridlayer"><g class="x"></g><g class="y"></g></g><g class="gridlayer"><g class="x"><path class="xgrid crisp" transform="translate(36.23,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(169.98,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(303.74,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(437.5,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(571.26,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g><g class="y"><path class="ygrid crisp" transform="translate(0,222.89)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,182.72)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,142.55)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,102.38)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,62.21)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,22.04)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g></g><g class="zerolinelayer"></g><path class="xlines-below"></path><path class="ylines-below"></path><g class="overlines-below"></g><g class="xaxislayer-below"></g><g class="yaxislayer-below"></g><g class="overaxes-below"></g><g class="plot" transform="translate(0,12)" clip-path="url(#clip9b4d11xyplot)"><g class="scatterlayer mlayer"><g class="trace scatter trace9d131a" style="stroke-miterlimit: 2;"><g class="fills"><g><path class="js-fill" d="M666,1737.3L0,1737.3L0,145.61L2.79,145.61L4.18,147.62L5.57,145.61L6.97,147.62L9.75,147.62L11.15,149.63L15.33,149.63L16.72,151.64L20.9,151.64L22.29,153.65L25.08,153.65L26.47,155.65L27.87,157.66L29.26,157.66L30.65,157.66L32.05,159.67L33.44,159.67L34.83,161.68L36.23,161.68L37.62,163.69L40.41,163.69L41.8,165.7L43.19,165.7L44.59,167.7L48.77,167.7L50.16,169.71L51.55,169.71L52.95,171.72L54.34,171.72L55.73,173.73L58.52,173.73L59.91,175.74L61.31,177.75L62.7,177.75L64.09,177.75L65.49,179.76L66.88,179.76L68.27,181.76L69.67,183.77L71.06,183.77L72.45,183.77L73.85,185.78L75.24,185.78L76.63,187.79L78.03,189.8L79.42,189.8L80.81,189.8L82.21,191.81L84.99,195.82L86.38,195.82L89.17,199.84L90.56,199.84L91.96,201.85L93.35,201.85L96.14,205.86L97.53,205.86L100.32,209.88L101.71,209.88L104.5,213.9L105.89,213.9L107.28,213.9L108.68,215.91L112.86,215.91L114.25,213.9L117.04,213.9L118.43,211.89L119.82,211.89L121.22,209.88L125.4,209.88L126.79,207.87L129.58,207.87L130.97,205.86L136.54,205.86L137.94,203.86L142.12,203.86L143.51,201.85L151.87,201.85L153.26,199.84L157.44,199.84L158.84,201.85L160.23,199.84L161.62,199.84L174.16,199.84L175.56,201.85L190.88,201.85L192.28,203.86L197.85,203.86L199.24,205.86L206.21,205.86L207.6,207.87L211.78,207.87L213.18,209.88L217.36,209.88L218.75,211.89L221.54,211.89L222.93,213.9L228.5,213.9L229.9,215.91L231.29,215.91L232.68,217.92L235.47,213.9L236.86,213.9L238.26,211.89L239.65,211.89L241.04,209.88L242.44,209.88L243.83,207.87L245.22,207.87L246.62,205.86L248.01,205.86L249.4,201.85L250.79,201.85L253.58,197.83L254.97,197.83L256.37,195.82L257.76,195.82L259.15,193.81L260.55,193.81L261.94,191.81L263.33,191.81L264.73,191.81L266.12,193.81L270.3,193.81L271.69,195.82L289.81,195.82L291.2,193.81L298.17,193.81L299.56,195.82L300.95,193.81L302.35,193.81L303.74,193.81L305.13,195.82L306.53,195.82L307.92,193.81L309.31,195.82L310.71,195.82L316.28,195.82L317.67,197.83L324.64,197.83L326.03,199.84L335.79,199.84L337.18,201.85L341.36,201.85L342.75,203.86L377.59,203.86L378.98,205.86L383.16,205.86L384.55,207.87L385.95,207.87L387.34,209.88L397.09,209.88L398.49,207.87L404.06,207.87L405.45,205.86L406.85,205.86L408.24,203.86L415.21,203.86L416.6,201.85L423.56,201.85L424.96,199.84L431.92,199.84L433.32,197.83L483.48,197.83L484.87,199.84L486.26,197.83L487.66,197.83L489.05,197.83L490.44,199.84L494.62,199.84L496.02,197.83L497.41,197.83L498.8,193.81L500.2,193.81L501.59,191.81L502.98,189.8L504.38,189.8L507.16,185.78L508.56,185.78L509.95,183.77L511.34,183.77L512.74,181.76L514.13,181.76L516.92,177.75L518.31,177.75L519.7,177.75L521.1,175.74L523.88,175.74L525.28,173.73L528.06,173.73L529.46,171.72L530.85,171.72L532.24,169.71L537.82,169.71L539.21,167.7L543.39,167.7L544.78,165.7L550.36,165.7L551.75,163.69L557.32,163.69L558.72,161.68L579.62,161.68L581.01,163.69L587.97,163.69L589.37,165.7L593.55,165.7L594.94,167.7L600.51,167.7L601.91,169.71L603.3,167.7L604.69,169.71L608.87,169.71L610.27,171.72L614.45,171.72L615.84,173.73L624.2,173.73L625.59,175.74L626.99,175.74L628.38,177.75L632.56,177.75L633.95,179.76L639.53,179.76L640.92,181.76L643.71,181.76L645.1,183.77L646.49,183.77L647.89,185.78L652.07,185.78L653.46,187.79L656.25,187.79L657.64,189.8L661.82,189.8L663.21,191.81L664.61,191.81L666,193.81" style="fill: rgb(31, 118, 180); fill-opacity: 0.1; stroke-width: 0;"></path></g></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,145.61L2.79,145.61L4.18,147.62L5.57,145.61L6.97,147.62L9.75,147.62L11.15,149.63L15.33,149.63L16.72,151.64L20.9,151.64L22.29,153.65L25.08,153.65L26.47,155.65L27.87,157.66L29.26,157.66L30.65,157.66L32.05,159.67L33.44,159.67L34.83,161.68L36.23,161.68L37.62,163.69L40.41,163.69L41.8,165.7L43.19,165.7L44.59,167.7L48.77,167.7L50.16,169.71L51.55,169.71L52.95,171.72L54.34,171.72L55.73,173.73L58.52,173.73L59.91,175.74L61.31,177.75L62.7,177.75L64.09,177.75L65.49,179.76L66.88,179.76L68.27,181.76L69.67,183.77L71.06,183.77L72.45,183.77L73.85,185.78L75.24,185.78L76.63,187.79L78.03,189.8L79.42,189.8L80.81,189.8L82.21,191.81L84.99,195.82L86.38,195.82L89.17,199.84L90.56,199.84L91.96,201.85L93.35,201.85L96.14,205.86L97.53,205.86L100.32,209.88L101.71,209.88L104.5,213.9L105.89,213.9L107.28,213.9L108.68,215.91L112.86,215.91L114.25,213.9L117.04,213.9L118.43,211.89L119.82,211.89L121.22,209.88L125.4,209.88L126.79,207.87L129.58,207.87L130.97,205.86L136.54,205.86L137.94,203.86L142.12,203.86L143.51,201.85L151.87,201.85L153.26,199.84L157.44,199.84L158.84,201.85L160.23,199.84L161.62,199.84L174.16,199.84L175.56,201.85L190.88,201.85L192.28,203.86L197.85,203.86L199.24,205.86L206.21,205.86L207.6,207.87L211.78,207.87L213.18,209.88L217.36,209.88L218.75,211.89L221.54,211.89L222.93,213.9L228.5,213.9L229.9,215.91L231.29,215.91L232.68,217.92L235.47,213.9L236.86,213.9L238.26,211.89L239.65,211.89L241.04,209.88L242.44,209.88L243.83,207.87L245.22,207.87L246.62,205.86L248.01,205.86L249.4,201.85L250.79,201.85L253.58,197.83L254.97,197.83L256.37,195.82L257.76,195.82L259.15,193.81L260.55,193.81L261.94,191.81L263.33,191.81L264.73,191.81L266.12,193.81L270.3,193.81L271.69,195.82L289.81,195.82L291.2,193.81L298.17,193.81L299.56,195.82L300.95,193.81L302.35,193.81L303.74,193.81L305.13,195.82L306.53,195.82L307.92,193.81L309.31,195.82L310.71,195.82L316.28,195.82L317.67,197.83L324.64,197.83L326.03,199.84L335.79,199.84L337.18,201.85L341.36,201.85L342.75,203.86L377.59,203.86L378.98,205.86L383.16,205.86L384.55,207.87L385.95,207.87L387.34,209.88L397.09,209.88L398.49,207.87L404.06,207.87L405.45,205.86L406.85,205.86L408.24,203.86L415.21,203.86L416.6,201.85L423.56,201.85L424.96,199.84L431.92,199.84L433.32,197.83L483.48,197.83L484.87,199.84L486.26,197.83L487.66,197.83L489.05,197.83L490.44,199.84L494.62,199.84L496.02,197.83L497.41,197.83L498.8,193.81L500.2,193.81L501.59,191.81L502.98,189.8L504.38,189.8L507.16,185.78L508.56,185.78L509.95,183.77L511.34,183.77L512.74,181.76L514.13,181.76L516.92,177.75L518.31,177.75L519.7,177.75L521.1,175.74L523.88,175.74L525.28,173.73L528.06,173.73L529.46,171.72L530.85,171.72L532.24,169.71L537.82,169.71L539.21,167.7L543.39,167.7L544.78,165.7L550.36,165.7L551.75,163.69L557.32,163.69L558.72,161.68L579.62,161.68L581.01,163.69L587.97,163.69L589.37,165.7L593.55,165.7L594.94,167.7L600.51,167.7L601.91,169.71L603.3,167.7L604.69,169.71L608.87,169.71L610.27,171.72L614.45,171.72L615.84,173.73L624.2,173.73L625.59,175.74L626.99,175.74L628.38,177.75L632.56,177.75L633.95,179.76L639.53,179.76L640.92,181.76L643.71,181.76L645.1,183.77L646.49,183.77L647.89,185.78L652.07,185.78L653.46,187.79L656.25,187.79L657.64,189.8L661.82,189.8L663.21,191.81L664.61,191.81L666,193.81" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(31, 119, 180); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracecba1d3" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"><path class="point" transform="translate(666,193.81)" d="M4,0A4,4 0 1,1 0,-4A4,4 0 0,1 4,0Z" style="opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;"></path></g><g class="text"></g></g><g class="trace scatter tracec6991e" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,20.08L666,20.08" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracee778a0" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,88.37L666,88.37" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter traceb9c82f" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="20.08" data-unformatted="Hambridge to Curry Rivel (8.55m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Hambridge to Curry Rivel (8.55m)</text></g></g></g><g class="trace scatter trace22aff4" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="88.37" data-unformatted="Top of normal range (8.21m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Top of normal range (8.21m)</text></g></g></g><g class="trace scatter traced038ae" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,193.81L666,193.81" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g></g></g><g class="overplot"></g><path class="xlines-above crisp" d="M0,0" style="fill: none;"></path><path class="ylines-above crisp" d="M0,0" style="fill: none;"></path><g class="overlines-above"></g><g class="xaxislayer-above"><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-08" data-math="N" transform="translate(36.23,0)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">2024-12-08</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-09" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(169.98,0)">2024-12-09</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-10" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(303.74,0)">2024-12-10</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-11" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(437.5,0)">2024-12-11</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-12" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(571.26,0)">2024-12-12</text></g></g><g class="yaxislayer-above"><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="7.60m" data-math="N" transform="translate(0,222.89)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">7.60m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="7.80m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,182.72)">7.80m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="8.00m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,142.55)">8.00m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="8.20m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,102.38)">8.20m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="8.40m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,62.21)">8.40m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="8.60m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,22.04)">8.60m</text></g></g><g class="overaxes-above"></g></g></g><g class="polarlayer"></g><g class="smithlayer"></g><g class="ternarylayer"></g><g class="geolayer"></g><g class="funnelarealayer"></g><g class="pielayer"></g><g class="iciclelayer"></g><g class="treemaplayer"></g><g class="sunburstlayer"></g><g class="glimages"></g></svg><div class="gl-container"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280"><defs id="topdefs-9b4d11"><g class="clips"></g></defs><g class="indicatorlayer"></g><g class="layer-above"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="selectionlayer"></g><g class="infolayer"><g class="g-gtitle"></g><g class="g-xtitle"></g><g class="g-ytitle"></g><g class="annotation" data-index="0" style="opacity: 1;"><g class="annotation-text-g" transform="rotate(0,644,183.81)"><g class="cursor-pointer" transform="translate(590,174)"><rect class="bg" x="0.5" y="0.5" width="108" height="18" style="stroke-width: 1px; stroke: rgb(0, 0, 0); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1;"></rect><text class="annotation-text" text-anchor="middle" data-unformatted="7.68m (17:00 UTC)" data-math="N" x="54.5" y="14" style="font-family: Inter, sans-serif; font-size: 12px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">7.68m (17:00 UTC)</text></g></g><g class="annotation-arrow-g" style="opacity: 1;"><path d="M653,192.81L666,205.81" style="stroke-width: 2px; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 0px, 0px, 18.3848px, 18.3848px;"></path><path d="M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z" transform="translate(666,205.80999755859375)scale(2)" style="fill: rgb(0, 0, 0); stroke-width: 0;"></path></g></g></g><g class="menulayer"></g><g class="zoomlayer"></g></svg><div class="modebar-container" style="position: absolute; top: 0px; right: 0px; width: 100%;"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280"><g class="hoverlayer"></g></svg></div></div></div><div id="chart-long-load" class="chart tab-content js-plotly-plot"><div class="plot-container plotly"><div class="user-select-none svg-container" style="position: relative; width: 700px; height: 280px;"><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280" style="background: rgb(255, 255, 255);"><defs id="defs-1be805"><g class="clips"><clipPath id="clip1be805xyplot" class="plotclip"><rect width="666" height="238"></rect></clipPath><clipPath class="axesclip" id="clip1be805x"><rect x="0" y="0" width="666" height="280"></rect></clipPath><clipPath class="axesclip" id="clip1be805y"><rect x="0" y="12" width="700" height="238"></rect></clipPath><clipPath class="axesclip" id="clip1be805xy"><rect x="0" y="12" width="666" height="238"></rect></clipPath></g><g class="gradients"></g><g class="patterns"></g></defs><g class="bglayer"></g><g class="draglayer cursor-crosshair"><g class="xy"><rect class="nsewdrag drag" data-subplot="xy" x="0" y="12" width="666" height="238" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nwdrag drag cursor-nw-resize" data-subplot="xy" x="-20" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nedrag drag cursor-ne-resize" data-subplot="xy" x="666" y="-8" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="swdrag drag cursor-sw-resize" data-subplot="xy" x="-20" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sedrag drag cursor-se-resize" data-subplot="xy" x="666" y="250" width="20" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ewdrag drag cursor-ew-resize" data-subplot="xy" x="66.60000000000001" y="250.5" width="532.8000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="wdrag drag cursor-w-resize" data-subplot="xy" x="0" y="250.5" width="66.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="edrag drag cursor-e-resize" data-subplot="xy" x="599.4" y="250.5" width="66.60000000000001" height="20" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="nsdrag drag cursor-ns-resize" data-subplot="xy" x="666.5" y="35.8" width="20" height="190.4" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="sdrag drag cursor-s-resize" data-subplot="xy" x="666.5" y="226.20000000000002" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect><rect class="ndrag drag cursor-n-resize" data-subplot="xy" x="666.5" y="12" width="20" height="23.8" style="fill: transparent; stroke-width: 0; pointer-events: all;"></rect></g></g><g class="layer-below"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="cartesianlayer"><g class="subplot xy"><g class="layer-subplot"><g class="shapelayer"></g><g class="imagelayer"></g></g><g class="minor-gridlayer"><g class="x"></g><g class="y"></g></g><g class="gridlayer"><g class="x"><path class="xgrid crisp" transform="translate(36.23,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(169.98,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(303.74,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(437.5,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="xgrid crisp" transform="translate(571.26,0)" d="M0,12v238" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g><g class="y"><path class="ygrid crisp" transform="translate(0,243.61)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,163.74)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path><path class="ygrid crisp" transform="translate(0,83.88)" d="M0,0h666" style="stroke: rgb(238, 238, 238); stroke-opacity: 1; stroke-width: 1px;"></path></g></g><g class="zerolinelayer"></g><path class="xlines-below"></path><path class="ylines-below"></path><g class="overlines-below"></g><g class="xaxislayer-below"></g><g class="yaxislayer-below"></g><g class="overaxes-below"></g><g class="plot" transform="translate(0,12)" clip-path="url(#clip1be805xyplot)"><g class="scatterlayer mlayer"><g class="trace scatter tracef96c70" style="stroke-miterlimit: 2;"><g class="fills"><g><path class="js-fill" d="M666,1349.73L0,1349.73L0,127.79L11.15,127.79L12.54,126.19L13.93,127.79L15.33,126.19L16.72,127.79L18.11,127.79L19.51,129.38L20.9,127.79L23.69,127.79L25.08,129.38L26.47,129.38L27.87,127.79L29.26,127.79L30.65,129.38L32.05,127.79L33.44,129.38L55.73,129.38L57.13,127.79L58.52,129.38L59.91,127.79L61.31,129.38L62.7,129.38L64.09,127.79L65.49,129.38L66.88,127.79L68.27,127.79L69.67,127.79L71.06,129.38L72.45,127.79L73.85,129.38L96.14,129.38L97.53,130.98L98.92,129.38L100.32,129.38L105.89,129.38L107.28,130.98L108.68,130.98L110.07,132.58L140.72,132.58L142.12,134.17L143.51,132.58L144.9,134.17L149.08,134.17L150.48,135.77L151.87,134.17L153.26,134.17L163.02,134.17L164.41,135.77L165.8,135.77L167.2,134.17L168.59,134.17L169.98,135.77L171.38,135.77L172.77,134.17L179.74,134.17L181.13,135.77L232.68,135.77L234.08,134.17L235.47,135.77L236.86,135.77L238.26,135.77L239.65,134.17L241.04,135.77L242.44,135.77L248.01,135.77L249.4,137.37L268.91,137.37L270.3,138.97L271.69,137.37L273.09,138.97L280.05,138.97L281.45,140.56L282.84,138.97L284.23,138.97L285.63,138.97L287.02,140.56L288.41,140.56L289.81,138.97L291.2,140.56L292.59,140.56L298.17,140.56L299.56,142.16L319.07,142.16L320.46,143.76L321.85,142.16L323.25,142.16L324.64,143.76L326.03,143.76L341.36,143.76L342.75,145.36L363.65,145.36L365.05,146.95L377.59,146.95L378.98,148.55L381.77,148.55L383.16,146.95L385.95,146.95L387.34,148.55L406.85,148.55L408.24,150.15L427.74,150.15L429.14,151.74L445.86,151.74L447.25,153.34L459.79,153.34L461.18,154.94L483.48,154.94L484.87,156.54L498.8,156.54L500.2,158.13L501.59,156.54L502.98,158.13L521.1,158.13L522.49,159.73L537.82,159.73L539.21,161.33L558.72,161.33L560.11,162.93L574.04,162.93L575.44,164.52L594.94,164.52L596.33,166.12L606.09,166.12L607.48,167.72L608.87,166.12L610.27,167.72L611.66,166.12L613.05,167.72L626.99,167.72L628.38,169.32L640.92,169.32L642.31,170.91L660.43,170.91L661.82,172.51L666,172.51" style="fill: rgb(31, 118, 180); fill-opacity: 0.1; stroke-width: 0;"></path></g></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,127.79L11.15,127.79L12.54,126.19L13.93,127.79L15.33,126.19L16.72,127.79L18.11,127.79L19.51,129.38L20.9,127.79L23.69,127.79L25.08,129.38L26.47,129.38L27.87,127.79L29.26,127.79L30.65,129.38L32.05,127.79L33.44,129.38L55.73,129.38L57.13,127.79L58.52,129.38L59.91,127.79L61.31,129.38L62.7,129.38L64.09,127.79L65.49,129.38L66.88,127.79L68.27,127.79L69.67,127.79L71.06,129.38L72.45,127.79L73.85,129.38L96.14,129.38L97.53,130.98L98.92,129.38L100.32,129.38L105.89,129.38L107.28,130.98L108.68,130.98L110.07,132.58L140.72,132.58L142.12,134.17L143.51,132.58L144.9,134.17L149.08,134.17L150.48,135.77L151.87,134.17L153.26,134.17L163.02,134.17L164.41,135.77L165.8,135.77L167.2,134.17L168.59,134.17L169.98,135.77L171.38,135.77L172.77,134.17L179.74,134.17L181.13,135.77L232.68,135.77L234.08,134.17L235.47,135.77L236.86,135.77L238.26,135.77L239.65,134.17L241.04,135.77L242.44,135.77L248.01,135.77L249.4,137.37L268.91,137.37L270.3,138.97L271.69,137.37L273.09,138.97L280.05,138.97L281.45,140.56L282.84,138.97L284.23,138.97L285.63,138.97L287.02,140.56L288.41,140.56L289.81,138.97L291.2,140.56L292.59,140.56L298.17,140.56L299.56,142.16L319.07,142.16L320.46,143.76L321.85,142.16L323.25,142.16L324.64,143.76L326.03,143.76L341.36,143.76L342.75,145.36L363.65,145.36L365.05,146.95L377.59,146.95L378.98,148.55L381.77,148.55L383.16,146.95L385.95,146.95L387.34,148.55L406.85,148.55L408.24,150.15L427.74,150.15L429.14,151.74L445.86,151.74L447.25,153.34L459.79,153.34L461.18,154.94L483.48,154.94L484.87,156.54L498.8,156.54L500.2,158.13L501.59,156.54L502.98,158.13L521.1,158.13L522.49,159.73L537.82,159.73L539.21,161.33L558.72,161.33L560.11,162.93L574.04,162.93L575.44,164.52L594.94,164.52L596.33,166.12L606.09,166.12L607.48,167.72L608.87,166.12L610.27,167.72L611.66,166.12L613.05,167.72L626.99,167.72L628.38,169.32L640.92,169.32L642.31,170.91L660.43,170.91L661.82,172.51L666,172.51" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(31, 119, 180); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracec26cbe" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"><path class="point" transform="translate(666,172.51)" d="M4,0A4,4 0 1,1 0,-4A4,4 0 0,1 4,0Z" style="opacity: 1; stroke-width: 0px; fill: rgb(0, 0, 0); fill-opacity: 1;"></path></g><g class="text"></g></g><g class="trace scatter tracef1f075" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,183.69L666,183.69" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter trace4659fe" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,94.24L666,94.24" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracedcaac5" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,83.06L666,83.06" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracec01baf" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,15.97L666,15.97" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter tracec0c3ba" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,222.03L666,222.03" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 3px, 3px; stroke-width: 1px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g><g class="trace scatter trace87e1a1" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="183.69" data-unformatted="Langport to Muchelney (7.30m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Langport to Muchelney (7.30m)</text></g></g></g><g class="trace scatter trace470108" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="94.24" data-unformatted="Muchelney to Long Load (7.86m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Muchelney to Long Load (7.86m)</text></g></g></g><g class="trace scatter trace5cfc67" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="83.06" data-unformatted="Muchelney to Thorney (7.93m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Muchelney to Thorney (7.93m)</text></g></g></g><g class="trace scatter trace2ce85a" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="15.97" data-unformatted="Property flooding (8.35m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Property flooding (8.35m)</text></g></g></g><g class="trace scatter trace8e36d5" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"></g><g class="points"></g><g class="text"><g class="textpoint" transform="translate(0,-2.5)"><text x="0" y="222.03" data-unformatted="Top of normal range (7.06m)" data-math="N" text-anchor="start" style="font-family: Inter, sans-serif; font-size: 10px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">Top of normal range (7.06m)</text></g></g></g><g class="trace scatter trace0595e5" style="stroke-miterlimit: 2; opacity: 1;"><g class="fills"></g><g class="errorbars"></g><g class="lines"><path class="js-line" d="M0,172.51L666,172.51" style="vector-effect: non-scaling-stroke; fill: none; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-width: 2px; opacity: 1;"></path></g><g class="points"></g><g class="text"></g></g></g></g><g class="overplot"></g><path class="xlines-above crisp" d="M0,0" style="fill: none;"></path><path class="ylines-above crisp" d="M0,0" style="fill: none;"></path><g class="overlines-above"></g><g class="xaxislayer-above"><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-08" data-math="N" transform="translate(36.23,0)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">2024-12-08</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-09" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(169.98,0)">2024-12-09</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-10" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(303.74,0)">2024-12-10</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-11" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(437.5,0)">2024-12-11</text></g><g class="xtick"><text text-anchor="middle" x="0" y="262" data-unformatted="2024-12-12" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(571.26,0)">2024-12-12</text></g></g><g class="yaxislayer-above"><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="7.00m" data-math="N" transform="translate(0,243.61)" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;">7.00m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="7.50m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,163.74)">7.50m</text></g><g class="ytick"><text text-anchor="start" x="667" y="3.8499999999999996" data-unformatted="8.00m" data-math="N" style="font-family: Inter, sans-serif; font-size: 11px; fill: rgb(68, 68, 68); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,83.88)">8.00m</text></g></g><g class="overaxes-above"></g></g></g><g class="polarlayer"></g><g class="smithlayer"></g><g class="ternarylayer"></g><g class="geolayer"></g><g class="funnelarealayer"></g><g class="pielayer"></g><g class="iciclelayer"></g><g class="treemaplayer"></g><g class="sunburstlayer"></g><g class="glimages"></g></svg><div class="gl-container"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280"><defs id="topdefs-1be805"><g class="clips"></g></defs><g class="indicatorlayer"></g><g class="layer-above"><g class="imagelayer"></g><g class="shapelayer"></g></g><g class="selectionlayer"></g><g class="infolayer"><g class="g-gtitle"></g><g class="g-xtitle"></g><g class="g-ytitle"></g><g class="annotation" data-index="0" style="opacity: 1;"><g class="annotation-text-g" transform="rotate(0,644,162.51)"><g class="cursor-pointer" transform="translate(590,153)"><rect class="bg" x="0.5" y="0.5" width="107" height="18" style="stroke-width: 1px; stroke: rgb(0, 0, 0); stroke-opacity: 1; fill: rgb(255, 255, 255); fill-opacity: 1;"></rect><text class="annotation-text" text-anchor="middle" data-unformatted="7.37m (17:00 UTC)" data-math="N" x="54" y="14" style="font-family: Inter, sans-serif; font-size: 12px; fill: rgb(0, 0, 0); fill-opacity: 1; white-space: pre;">7.37m (17:00 UTC)</text></g></g><g class="annotation-arrow-g" style="opacity: 1;"><path d="M653,171.51L666,184.51" style="stroke-width: 2px; stroke: rgb(0, 0, 0); stroke-opacity: 1; stroke-dasharray: 0px, 0px, 18.3848px, 18.3848px;"></path><path d="M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z" transform="translate(666,184.50999450683594)scale(2)" style="fill: rgb(0, 0, 0); stroke-width: 0;"></path></g></g></g><g class="menulayer"></g><g class="zoomlayer"></g></svg><div class="modebar-container" style="position: absolute; top: 0px; right: 0px; width: 100%;"></div><svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="280"><g class="hoverlayer"></g></svg></div></div></div></div>
    </div>

    <footer>
        <a href="mailto:[email protected]">feedback</a> | 
        <a href="https://github.com/bede/levelslevels">code</a> | <a href="https://github.com/bede/levelslevels/commits/main/">changelog</a> | <a href="https://check-for-flooding.service.gov.uk/target-area/112WAFYPM">flood alert</a>
    </footer>

    <script type="text/javascript" crossorigin="anonymous" src="https://eu-assets.i.posthog.com/static/web-vitals.js?v=1.198.0"></script><script>
        // JavaScript code

        const SOURCES = [
            {
                name: "Long Load Main Drain",
                url: "https://check-for-flooding.service.gov.uk/station-csv/3379",
                elementId: "long-load",
                datumOffset: 5,
                roads: [
                    {
                        name: "Langport to Muchelney",
                        amberThreshold: 7.30,
                        link: "https://www.somerset.gov.uk/roads-travel-and-parking/emergency-road-closure-gates/",
                        markerPosition: [51.0266797, -2.8174208]
                    },
                    {
                        name: "Muchelney to Long Load",
                        amberThreshold: 7.86,
                        link: "",
                        markerPosition: [51.009468, -2.793615]
                    },
                    {
                        name: "Muchelney to Thorney",
                        amberThreshold: 7.93,
                        link: "",
                        markerPosition: [51.0132813, -2.8149388]
                    }
                ],
                thresholds: [
                    { name: "Property flooding", value: 8.35 },
                    { name: "Top of normal range", value: 7.06 }
                ],
                showOnOverlay: true
            },
            {
                name: "West Moor Drain",
                url: "https://check-for-flooding.service.gov.uk/station-csv/3381",
                elementId: "west-moor",
                datumOffset: 5.185,
                roads: [
                    {
                        name: "Hambridge to Burrow",
                        amberThreshold: 7.70,
                        link: "",
                        markerPosition: [50.9856215, -2.8500948]
                    }
                ],
                thresholds: [
                    { name: "Top of normal range", value: 6.645 }
                ],
                showOnOverlay: true
            },
            {
                name: "Parrett at Gaw Bridge",
                url: "https://check-for-flooding.service.gov.uk/station-csv/3072",
                elementId: "gaw-bridge",
                datumOffset: 10,
                roads: [
                    {
                        name: "Kingsbury to Coat",
                        amberThreshold: 12.9,
                        link: "",
                        markerPosition: [50.9760122, -2.7934033]
                    }
                ],
                thresholds: [
                ],
                showOnOverlay: false
            },
            {
                name: "Isle at Midelney",
                url: "https://check-for-flooding.service.gov.uk/station-csv/3380",
                elementId: "midelney",
                datumOffset: 5.185,
                roads: [
                    {
                        name: "Hambridge to Curry Rivel",
                        amberThreshold: 8.55,
                        link: "",
                        markerPosition: [50.9952542, -2.8602064]
                    }
                ],
                thresholds: [
                    { name: "Top of normal range", value: 8.21 }
                ],
                showOnOverlay: false
            }
        ];

        // Colours
        const COLORS = {
            green: "#4CAF50",
            amber: "#FFC107",
            red: "#F44336"
        };

        // Global object to store latest readings
        const latestReadings = {};

        // Fetch data, create charts, and update road statuses
        async function fetchAndProcessData() {
            try {
                // Fetch data for all sources
                await Promise.all(SOURCES.map(async (source) => {
                    const parsedData = await fetchData(source);
                    const latestReading = parsedData[parsedData.length - 1];
                    latestReadings[source.elementId] = latestReading;
                    renderChart(parsedData, source);
                }));

                // Update road statuses
                updateRoadStatuses();

                // Render map
                renderMap();

                // Initialize tabs
                initializeTabs();

                // Resize the chart in the default active tab
                const defaultChartDiv = document.querySelector('.tab-content.active');
                if (defaultChartDiv) {
                    Plotly.Plots.resize(defaultChartDiv);
                }

            } catch (error) {
                console.error("Error:", error);
                alert("Failed to fetch and process data.");
            }
        }

        // Fetch data from cache or API
        async function fetchData(source) {
            const cacheKey = `waterLevelsCSV_${source.elementId}`;
            const cachedCSV = localStorage.getItem(cacheKey);
            const cachedTimestamp = localStorage.getItem(`${cacheKey}_timestamp`);
            const now = new Date().getTime();

            if (cachedCSV && cachedTimestamp && now - cachedTimestamp < 15 * 60 * 1000) {
                console.log(`Using cached data for ${source.name}`);
                return parseCSV(cachedCSV, source);
            }

            console.log(`Fetching new data for ${source.name}`);
            const response = await fetch(source.url, { cache: 'no-store' });
            if (!response.ok) throw new Error("Failed to fetch data");
            const csvData = await response.text();

            localStorage.setItem(cacheKey, csvData);
            localStorage.setItem(`${cacheKey}_timestamp`, now.toString());

            return parseCSV(csvData, source);
        }

        // Parse CSV data
        function parseCSV(csvData, source) {
            return csvData
                .trim()
                .split("\n")
                .slice(1)
                .map((row) => {
                    const [timestamp, height] = row.split(",");
                    return { timestamp, height: parseFloat(height) + source.datumOffset };
                });
        }

        // Update road statuses
        function updateRoadStatuses() {
            const roadStatusList = document.getElementById('road-status-list');
            roadStatusList.innerHTML = ''; // Clear existing list

            SOURCES.forEach(source => {
                // Only show roads on overlay if source.showOnOverlay is true
                if (!source.showOnOverlay) return;

                const sourceReading = latestReadings[source.elementId];
                if (sourceReading) {
                    source.roads.forEach(road => {
                        const status = determineStatus(sourceReading.height, road.amberThreshold);
                        
                        // Only proceed if status is amber or red
                        if (status.color === 'amber' || status.color === 'red') {
                            const li = document.createElement('li');
                            const circle = document.createElement('span');
                            circle.classList.add('circle', status.color);
                            li.appendChild(circle);

                            const text = document.createElement('span');
                            if (road.link) {
                                text.innerHTML = `<a href="${road.link}">${road.name}</a>: <strong>${status.message}</strong>`;
                            } else {
                                text.innerHTML = `${road.name}: <strong>${status.message}</strong>`;
                            }
                            li.appendChild(text);

                            roadStatusList.appendChild(li);
                        }
                    });
                }
            });
        }

        // Determine road status
        function determineStatus(height, amberThreshold) {
            const redThreshold = amberThreshold + 0.30; // Red threshold is 30cm above amber
            if (height >= redThreshold) {
                const diff = ((height - amberThreshold) * 100).toFixed(0); // Difference in cm
                return { color: 'red', message: `flood (${diff}cm)` };
            } else if (height >= amberThreshold) {
                const diff = ((height - amberThreshold) * 100).toFixed(0); // Difference in cm
                return { color: 'amber', message: `flood (${diff}cm)` };
            } else {
                const diff = ((height - amberThreshold) * 100).toFixed(0); // Difference in cm
                return { color: 'green', message: `clear (${diff}cm)` };
            }
        }

        function renderChart(parsedData, source) {
            const timestamps = parsedData.map(d => d.timestamp);
            const heights = parsedData.map(d => d.height);

            // Create threshold lines and labels for roads and additional thresholds
            const thresholds = [
                ...source.roads.map((road) => ({
                    name: road.name,
                    value: road.amberThreshold
                })),
                ...(source.thresholds || [])
            ];

            const thresholdLines = thresholds.map(threshold => ({
                x: [timestamps[0], timestamps[timestamps.length - 1]],
                y: [threshold.value, threshold.value],
                mode: "lines",
                name: threshold.name,
                line: { dash: "dot", width: 1, color: "black" },
                hoverinfo: "none"
            }));

            const thresholdLabels = thresholds.map((threshold) => ({
                x: [timestamps[0]],
                y: [threshold.value],
                mode: "text",
                text: [`${threshold.name} (${threshold.value.toFixed(2)}m)`],
                textposition: "top right",
                textfont: { family: "Inter, sans-serif", size: 10, color: "black" },
                showlegend: false,
                hoverinfo: "none"
            }));

            const waterLevelTrace = {
                x: timestamps,
                y: heights,
                mode: "lines",
                name: "",
                line: { color: "#1f77b4", width: 2 },
                fill: "tozeroy",
                fillcolor: "rgba(31, 118, 180, 0.1)"
            };

            const latestReading = parsedData[parsedData.length - 1];

            // Latest Reading Marker and Annotation
            const latestDate = new Date(latestReading.timestamp);
            const hours = latestDate.getUTCHours().toString().padStart(2, '0');
            const minutes = latestDate.getUTCMinutes().toString().padStart(2, '0');
            const timeString = `${hours}:${minutes} UTC`;

            const latestPointTrace = {
                x: [latestReading.timestamp],
                y: [latestReading.height],
                mode: "markers",
                marker: { color: "black", size: 8 },
                name: "Latest Reading",
                hoverinfo: "none"
            };

            const latestReadingAnnotation = {
                x: latestReading.timestamp,
                y: latestReading.height,
                xref: 'x',
                yref: 'y',
                text: `${latestReading.height.toFixed(2)}m (${timeString})`,
                showarrow: true,
                arrowhead: 6,
                ax: -22,
                ay: -22,
                font: { family: "Inter, sans-serif", size: 12, color: "black" },
                bordercolor: "black",
                borderwidth: 1,
                bgcolor: "#fff",
                opacity: 1.0
            };

            // Calculate dynamic y-axis range
            const dataMin = Math.min(...heights);
            const dataMax = Math.max(...heights);
            const thresholdValues = thresholds.map(t => t.value);
            const thresholdsMin = thresholdValues.length ? Math.min(...thresholdValues) : dataMin;
            const thresholdsMax = thresholdValues.length ? Math.max(...thresholdValues) : dataMax;

            const yPadding = 0.1;
            let yMin = Math.min(dataMin, thresholdsMin) - yPadding;
            let yMax = Math.max(dataMax, thresholdsMax) + yPadding;
            if (yMin < 0) yMin = 0;

            const layout = {
                xaxis: {
                    tickformat: "%Y-%m-%d",
                    showgrid: true,
                    title: "",
                    tickfont: { family: "Inter, sans-serif", size: 11 },
                    range: [timestamps[0], timestamps[timestamps.length - 1]]
                },
                yaxis: {
                    showgrid: true,
                    tickformat: ".2f",
                    ticksuffix: "m",
                    range: [yMin, yMax],
                    tickfont: { family: "Inter, sans-serif", size: 11 },
                    side: "right"
                },
                annotations: [latestReadingAnnotation],
                showlegend: false,
                font: { family: "Inter, sans-serif" },
                margin: { t: 12, b: 30, l: 0, r: 34 },
                autosize: true,
                dragmode: false
            };

            const currentLevelLine = {
                x: [timestamps[0], timestamps[timestamps.length - 1]],
                y: [latestReading.height, latestReading.height],
                mode: "lines",
                name: "Current Level",
                line: { width: 2, color: "black" },
                hoverinfo: "none"
            };

            // Create chart container
            const tabContents = document.getElementById('tab-contents');
            const chartDiv = document.createElement('div');
            chartDiv.id = `chart-${source.elementId}`;
            chartDiv.classList.add('chart', 'tab-content');
            tabContents.appendChild(chartDiv);

            Plotly.newPlot(
                `chart-${source.elementId}`,
                [waterLevelTrace, latestPointTrace, ...thresholdLines, ...thresholdLabels, currentLevelLine],
                layout,
                {
                    responsive: true,
                    displayModeBar: false,
                    scrollZoom: false
                }
            );

            // Create tab button
            const tabButtons = document.getElementById('tab-buttons');
            const tabButton = document.createElement('button');
            tabButton.classList.add('tab-button');
            tabButton.textContent = source.name;
            tabButton.dataset.target = `chart-${source.elementId}`;
            tabButtons.appendChild(tabButton);
        }

        // Initialize tabs
        function initializeTabs() {
            const tabButtons = document.querySelectorAll('.tab-button');
            const tabContents = document.querySelectorAll('.tab-content');

            // Set default active tab
            tabButtons[0].classList.add('active');
            tabContents[0].classList.add('active');
            Plotly.Plots.resize(tabContents[0]);

            tabButtons.forEach(button => {
                button.addEventListener('click', () => {
                    // Remove active class from all buttons and contents
                    tabButtons.forEach(btn => btn.classList.remove('active'));
                    tabContents.forEach(content => {
                        content.classList.remove('active');
                        content.style.display = 'none';
                    });

                    // Add active class to the clicked button and corresponding content
                    button.classList.add('active');
                    const targetContent = document.getElementById(button.dataset.target);
                    targetContent.classList.add('active');
                    targetContent.style.display = 'block';

                    // Resize Plotly chart in the active tab
                    Plotly.Plots.resize(targetContent);
                });
            });
        }

        // Render the map
        function renderMap() {
            const map = L.map('map', {
                attributionControl: false,
                scrollWheelZoom: false,
                boxZoom: false,
                keyboard: false,
                zoomControl: false
            }).setView([51.020, -2.82], 12);

            // Add OpenStreetMap tiles
            L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
                attribution:
                    "&copy; <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a> contributors"
            }).addTo(map);

            // Add zoom control to the left side
            L.control.zoom({
                position: 'bottomleft'
            }).addTo(map);

            // Add markers for each road
            SOURCES.forEach(source => {
                const sourceReading = latestReadings[source.elementId];
                if (sourceReading) {
                    source.roads.forEach(road => {
                        if (road.markerPosition) {
                            const status = determineStatus(sourceReading.height, road.amberThreshold);
                            addMarker(
                                map,
                                road.markerPosition,
                                road.name,
                                source.name,
                                status,
                                determineMarkerColor(sourceReading.height, road.amberThreshold)
                            );
                        }
                    });
                }
            });
        }

        // Add a marker to the map
        function addMarker(map, position, roadName, sourceName, status, color) {
            const popupContent = `
                <strong>${roadName}</strong><br>
                Tracks ${sourceName} level<br>
                Status: <strong>${status.message}</strong>
            `;
            L.marker(position, {
                icon: L.divIcon({
                    className: "custom-icon",
                    html: `<div style="background-color: ${color}; position: relative; top: -4px; left: -4px; width: 20px; height: 20px; border-radius: 50%;"></div>`
                })
            })
                .addTo(map)
                .bindPopup(popupContent);
        }

        // Determine marker color
        function determineMarkerColor(height, amberThreshold) {
            const redThreshold = amberThreshold + 0.30;
            if (height >= redThreshold) return COLORS.red;
            if (height >= amberThreshold) return COLORS.amber;
            return COLORS.green;
        }

        // Fetch and process data on page load
        window.onload = fetchAndProcessData;
    </script>


<svg id="js-plotly-tester" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position: absolute; left: -10000px; top: -10000px; width: 9000px; height: 9000px; z-index: 1;"><path class="js-reference-point" d="M0,0H1V1H0Z" style="stroke-width: 0; fill: black;"></path></svg></body></html>