From cc7de134dc9f3425117a46049a6bfa9d72c19773 Mon Sep 17 00:00:00 2001
From: Joe Pater <02joepater06@gmail.com>
Date: Mon, 10 Mar 2025 12:39:33 +0000
Subject: [PATCH] Plotting changes

---
 diagrams.drawio | 516 ++++++++++++++++++++++++++++++++++++++++++++++++
 flood.py        |  12 +-
 2 files changed, 527 insertions(+), 1 deletion(-)
 create mode 100644 diagrams.drawio

diff --git a/diagrams.drawio b/diagrams.drawio
new file mode 100644
index 0000000..a797b89
--- /dev/null
+++ b/diagrams.drawio
@@ -0,0 +1,516 @@
+<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.0.16 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36" version="26.0.16">
+  <diagram name="Page-1" id="ns3onrHNIQr2ljXGaBcB">
+    <mxGraphModel dx="247" dy="146" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="4681" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="1nF5tneqOkAijIU8bpes-97" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.patternFillRect;fillStyle=grid;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;strokeColor=#FFFFFF;strokeWidth=0;perimeterSpacing=0;" vertex="1" parent="1">
+          <mxGeometry x="830" y="720" width="140" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-1" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="660" y="500" as="sourcePoint" />
+            <mxPoint x="840" y="350" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="710" y="490" />
+              <mxPoint x="780" y="370" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-3" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="750" y="520" as="sourcePoint" />
+            <mxPoint x="750" y="420" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-4" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="770" y="520" as="sourcePoint" />
+            <mxPoint x="770" y="397" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-5" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="640" y="420" as="sourcePoint" />
+            <mxPoint x="750" y="420" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-6" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="640" y="397" as="sourcePoint" />
+            <mxPoint x="768" y="397" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-7" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="640" y="520" as="sourcePoint" />
+            <mxPoint x="640" y="340" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-8" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="620" y="520" as="sourcePoint" />
+            <mxPoint x="880" y="520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-9" value="t" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
+          <mxGeometry x="610" y="328" width="30" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-10" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="852" y="523" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-11" value="s&lt;sub&gt;0&amp;nbsp;&lt;/sub&gt;&amp;nbsp;s&lt;sub&gt;1&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="732" y="513" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-13" value="t&lt;sub&gt;1&lt;/sub&gt;&lt;div&gt;t&lt;sub&gt;0&lt;/sub&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="601" y="393" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-14" value="A&lt;sub&gt;L&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="732" y="366" width="21" height="24" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-15" value="&lt;font&gt;A&lt;sub style=&quot;&quot;&gt;&lt;font style=&quot;&quot;&gt;R&lt;/font&gt;&lt;/sub&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="779" y="408" width="21" height="24" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-17" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1020" y="500" as="sourcePoint" />
+            <mxPoint x="1200" y="350" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="1070" y="490" />
+              <mxPoint x="1140" y="370" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-18" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1000" y="520" as="sourcePoint" />
+            <mxPoint x="1000" y="340" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-19" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="980" y="520" as="sourcePoint" />
+            <mxPoint x="1240" y="520" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-20" value="t" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
+          <mxGeometry x="970" y="328" width="30" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-21" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="1212" y="523" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-22" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1090" y="520" as="sourcePoint" />
+            <mxPoint x="1099" y="440" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-23" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1100" y="520" as="sourcePoint" />
+            <mxPoint x="1105" y="431" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-24" value="s&lt;sub&gt;R&lt;/sub&gt;&amp;nbsp; &amp;nbsp;s&lt;sub&gt;R&lt;/sub&gt;+ds&lt;sub&gt;R&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="1068" y="516" width="82" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-25" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1090" y="520" as="sourcePoint" />
+            <mxPoint x="1090" y="524" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-26" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1100" y="520" as="sourcePoint" />
+            <mxPoint x="1100" y="524" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-32" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=solid;fillColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="1097" y="439" width="3" height="3" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-34" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=solid;fillColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="1102.5" y="430" width="3" height="3" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-35" value="(s,t)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="1070" y="433" width="22" height="17" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-36" value="(s+ds,t+dt)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="1042.5" y="415" width="60" height="17" as="geometry" />
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-37" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="1144" y="470" as="sourcePoint" />
+            <mxPoint x="1102.5" y="442" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="1131" y="469" />
+              <mxPoint x="1118" y="445" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="LEMnLdt_SphYlaGVxQ8p-39" value="A&lt;sub&gt;R&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="1143" y="463" width="22" height="18" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-7" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="170" y="215" as="sourcePoint" />
+            <mxPoint x="140" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-8" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="188" y="179" as="sourcePoint" />
+            <mxPoint x="200" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-9" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="140" y="155" as="sourcePoint" />
+            <mxPoint x="200" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-10" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="300" y="285" as="sourcePoint" />
+            <mxPoint x="270" y="225" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-11" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="300" y="285" as="sourcePoint" />
+            <mxPoint x="330" y="225" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-12" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="270" y="225" as="sourcePoint" />
+            <mxPoint x="330" y="225" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-13" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="140" y="155" as="sourcePoint" />
+            <mxPoint x="270" y="225" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-14" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="170" y="215" as="sourcePoint" />
+            <mxPoint x="300" y="285" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-15" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="200" y="155" as="sourcePoint" />
+            <mxPoint x="330" y="225" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-16" value="" style="triangle;whiteSpace=wrap;html=1;rotation=90;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
+          <mxGeometry x="282" y="248" width="36.5" height="37" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-20" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="420" y="180" as="sourcePoint" />
+            <mxPoint x="560" y="250" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-21" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="420" y="150" as="sourcePoint" />
+            <mxPoint x="560" y="220" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-22" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="500" y="150" as="sourcePoint" />
+            <mxPoint x="420" y="150" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-23" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="560" y="250" as="sourcePoint" />
+            <mxPoint x="560" y="220" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-24" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="420" y="180" as="sourcePoint" />
+            <mxPoint x="420" y="150" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-25" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.arc;startAngle=0.75;endAngle=0.8230906902633023;rotation=-180;" vertex="1" parent="1">
+          <mxGeometry x="370" y="100" width="100" height="100" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-26" value="α" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="470" y="160" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-27" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="415" y="190" as="sourcePoint" />
+            <mxPoint x="555" y="260" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-28" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="527" y="250" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-33" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="480" y="195" as="sourcePoint" />
+            <mxPoint x="450" y="195" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-34" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="480" y="205" as="sourcePoint" />
+            <mxPoint x="470" y="205" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-35" value="δh" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="480" y="190" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-36" value="δs" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="437" y="216" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-38" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="440" y="215" as="sourcePoint" />
+            <mxPoint x="450" y="195" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-39" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="460" y="225" as="sourcePoint" />
+            <mxPoint x="470" y="205" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-40" value="" style="curved=1;endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="278" y="249" as="sourcePoint" />
+            <mxPoint x="323" y="251" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="287" y="273" />
+              <mxPoint x="301" y="296" />
+              <mxPoint x="314" y="275" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-41" value="&lt;font face=&quot;Courier New&quot;&gt;l(A)&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="316" y="270" width="31" height="19" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-42" value="A" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="294.75" y="252" width="11" height="16" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-43" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="510" y="225" as="sourcePoint" />
+            <mxPoint x="510" y="177" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-44" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="520" y="230" as="sourcePoint" />
+            <mxPoint x="520" y="180" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-45" value="dx" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="504" y="160" width="23" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-46" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="320" y="640" as="sourcePoint" />
+            <mxPoint x="320" y="480" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-48" value="" style="endArrow=classic;html=1;rounded=0;endFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="230" y="630" as="sourcePoint" />
+            <mxPoint x="410" y="630" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-51" value="y" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
+          <mxGeometry x="325" y="470" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-52" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="320" y="580" as="sourcePoint" />
+            <mxPoint x="380" y="580" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-53" value="w(y)/2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
+          <mxGeometry x="325" y="559.5" width="39" height="18" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-55" value="x" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
+          <mxGeometry x="410" y="620" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-56" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="388" y="583.5" as="sourcePoint" />
+            <mxPoint x="400" y="556" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-59" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="380" y="580" as="sourcePoint" />
+            <mxPoint x="393" y="586" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-60" value="dl" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
+          <mxGeometry x="395" y="563" width="23" height="23" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-61" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;strokeColor=#FF0000;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="240" y="520" as="sourcePoint" />
+            <mxPoint x="300" y="630" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="260" y="600" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-62" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;strokeColor=#FF0000;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="400" y="520" as="sourcePoint" />
+            <mxPoint x="340" y="630" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="380" y="600" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-63" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="300" y="630" as="sourcePoint" />
+            <mxPoint x="340" y="630" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-64" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="391" y="552" as="sourcePoint" />
+            <mxPoint x="404" y="557" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-67" value="" style="rounded=0;whiteSpace=wrap;html=1;gradientColor=#FFFFFF;fillColor=#0000FF;strokeColor=none;" vertex="1" parent="1">
+          <mxGeometry x="250" y="540" width="140" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-68" value="h" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="323.75" y="523" width="15.5" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-69" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="840" y="800" as="sourcePoint" />
+            <mxPoint x="960" y="800" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-70" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="850" y="810" as="sourcePoint" />
+            <mxPoint x="850" y="730" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-71" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="850" y="790" as="sourcePoint" />
+            <mxPoint x="880" y="790" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-72" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="880" y="750" as="sourcePoint" />
+            <mxPoint x="910" y="750" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-74" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="910" y="770" as="sourcePoint" />
+            <mxPoint x="940" y="770" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-77" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="878" y="748" width="4" height="4" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-78" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="908" y="768" width="4" height="4" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-79" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF0000;strokeColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="908" y="748" width="4" height="4" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-80" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF0000;strokeColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="878" y="788" width="4" height="4" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-81" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF0000;strokeColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="938" y="768" width="4" height="4" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-82" value="" style="endArrow=classicThin;html=1;rounded=0;endFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="880" y="770" as="sourcePoint" />
+            <mxPoint x="898" y="769.92" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-83" value="" style="endArrow=classicThin;html=1;rounded=0;endFill=1;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="910" y="760.08" as="sourcePoint" />
+            <mxPoint x="928" y="760" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-87" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="879.93" y="775" as="sourcePoint" />
+            <mxPoint x="880" y="765" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-88" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="909.93" y="765" as="sourcePoint" />
+            <mxPoint x="910" y="755" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-89" value="Q(A&lt;sub&gt;i-1&lt;/sub&gt;)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="879" y="752" width="28" height="18" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-90" value="Q(A&lt;sub&gt;i&lt;/sub&gt;)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="916" y="745" width="28" height="18" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-91" value="A&lt;sub&gt;i-1&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="855" y="778" width="20" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-92" value="A&lt;sub&gt;i&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="886" y="738" width="20" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-93" value="A&lt;sub&gt;i+1&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#FF0000;" vertex="1" parent="1">
+          <mxGeometry x="914" y="772" width="20" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-95" value="A" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="836" y="719.5" width="12" height="15" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-96" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="950" y="804" width="9" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-98" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="910" y="805" as="sourcePoint" />
+            <mxPoint x="910" y="800" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-99" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="880" y="805" as="sourcePoint" />
+            <mxPoint x="880" y="800" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-100" value="s&lt;sub&gt;i&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="906" y="804" width="9" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-101" value="s&lt;sub&gt;i-1&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="873" y="804" width="17" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-102" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="940" y="805" as="sourcePoint" />
+            <mxPoint x="940" y="800" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="1nF5tneqOkAijIU8bpes-103" value="s&lt;sub&gt;i+1&lt;/sub&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1">
+          <mxGeometry x="936" y="804" width="9" height="10" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/flood.py b/flood.py
index 75c3b23..d6c0db9 100644
--- a/flood.py
+++ b/flood.py
@@ -299,7 +299,7 @@ def main():
     #print("u(A) = ")
     #pprint(u)
     
-    Q = (A_sym*u).subs([("g", 9.81), ("alpha", 0.001), ("f", 0.05), (a, 100)])
+    Q = (A_sym*u).subs([("g", 9.81), ("alpha", 0.001), ("f", 0.05), (a, 500)])
 
     delta_x = 0.5
     L = 300
@@ -334,8 +334,18 @@ def main():
     t = [i*delta_t for i in range(int(T/delta_t))]
     
     c_sln = godunov_solve(Q_lamb, A_init_data, A_inflow, delta_x, t)
+
+    n_xticks = 21
+    n_tticks = 11
+    x_ticks = [int(i*L/delta_x/(n_xticks-1)) for i in range(n_xticks)]
+    x_tick_labels = [delta_x*i for i in x_ticks]
+    t_ticks = [int(i*T/delta_t/(n_tticks-1)) for i in range(n_tticks)]
+    t_tick_labels = [delta_t*i for i in t_ticks]
     
+    plt.colorbar(plt.pcolor(c_sln))
     ax1.imshow(c_sln, origin="lower", aspect="auto")
+    ax1.set_xticks(x_ticks, x_tick_labels)
+    ax1.set_yticks(t_ticks, t_tick_labels)
 
     plt.show()
 
-- 
GitLab