Skip to content

Commit

Permalink
deploy: 5cf4492
Browse files Browse the repository at this point in the history
  • Loading branch information
visr committed Apr 9, 2024
1 parent 133cc0b commit 4607ec8
Show file tree
Hide file tree
Showing 8 changed files with 286 additions and 240 deletions.
412 changes: 215 additions & 197 deletions build/index.html

Large diffs are not rendered by default.

50 changes: 25 additions & 25 deletions core/allocation.html
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ <h2 data-number="4.3" class="anchored" data-anchor-id="the-optimization-constrai
<section id="example" class="level2" data-number="4.4">
<h2 data-number="4.4" class="anchored" data-anchor-id="example"><span class="header-section-number">4.4</span> Example</h2>
<p>The following is an example of an optimization problem for the example shown <a href="../python/examples.html#model-with-allocation-user-demand">here</a>:</p>
<div id="53d4396b" class="cell" data-execution_count="1">
<div id="eea1151f" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Ribasim</span></span>
Expand All @@ -590,49 +590,49 @@ <h2 data-number="4.4" class="anchored" data-anchor-id="example"><span class="hea
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="fu">println</span>(p.allocation.allocation_models[<span class="fl">1</span>].problem)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Min F_abs_user_demand[UserDemand #3] + F_abs_user_demand[UserDemand #6] + F_abs_user_demand[UserDemand #13] + F_abs_level_demand[Basin #2] + F_abs_level_demand[Basin #12] + F_abs_level_demand[Basin #5]
<pre><code>Min F_abs_user_demand[UserDemand #13] + F_abs_user_demand[UserDemand #3] + F_abs_user_demand[UserDemand #6] + F_abs_level_demand[Basin #5] + F_abs_level_demand[Basin #12] + F_abs_level_demand[Basin #2]
Subject to
abs_positive_user_demand[UserDemand #13] : -F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_positive_user_demand[UserDemand #3] : -F[(Basin #2, UserDemand #3)] + F_abs_user_demand[UserDemand #3] ≥ 0
abs_positive_user_demand[UserDemand #6] : -F[(Basin #5, UserDemand #6)] + F_abs_user_demand[UserDemand #6] ≥ 0
abs_positive_user_demand[UserDemand #13] : -F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_negative_user_demand[UserDemand #13] : F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_negative_user_demand[UserDemand #3] : F[(Basin #2, UserDemand #3)] + F_abs_user_demand[UserDemand #3] ≥ 0
abs_negative_user_demand[UserDemand #6] : F[(Basin #5, UserDemand #6)] + F_abs_user_demand[UserDemand #6] ≥ 0
abs_negative_user_demand[UserDemand #13] : F[(Basin #12, UserDemand #13)] + F_abs_user_demand[UserDemand #13] ≥ 0
abs_positive_basin[Basin #2] : -F_basin_in[Basin #2] + F_abs_level_demand[Basin #2] ≥ 0
abs_positive_basin[Basin #12] : -F_basin_in[Basin #12] + F_abs_level_demand[Basin #12] ≥ 0
abs_positive_basin[Basin #5] : -F_basin_in[Basin #5] + F_abs_level_demand[Basin #5] ≥ 0
abs_negative_basin[Basin #2] : F_basin_in[Basin #2] + F_abs_level_demand[Basin #2] ≥ 0
abs_negative_basin[Basin #12] : F_basin_in[Basin #12] + F_abs_level_demand[Basin #12] ≥ 0
abs_positive_basin[Basin #12] : -F_basin_in[Basin #12] + F_abs_level_demand[Basin #12] ≥ 0
abs_positive_basin[Basin #2] : -F_basin_in[Basin #2] + F_abs_level_demand[Basin #2] ≥ 0
abs_negative_basin[Basin #5] : F_basin_in[Basin #5] + F_abs_level_demand[Basin #5] ≥ 0
F[(TabulatedRatingCurve #7, Basin #12)] ≥ 0
F[(UserDemand #3, Basin #2)] ≥ 0
abs_negative_basin[Basin #12] : F_basin_in[Basin #12] + F_abs_level_demand[Basin #12] ≥ 0
abs_negative_basin[Basin #2] : F_basin_in[Basin #2] + F_abs_level_demand[Basin #2] ≥ 0
F[(UserDemand #13, Terminal #10)] ≥ 0
F[(Basin #5, UserDemand #6)] ≥ 0
F[(Basin #5, TabulatedRatingCurve #7)] ≥ 0
F[(Basin #12, UserDemand #13)] ≥ 0
F[(FlowBoundary #1, Basin #2)] ≥ 0
F[(UserDemand #3, Basin #2)] ≥ 0
F[(Basin #2, Basin #5)] ≥ 0
F[(Basin #5, Basin #2)] ≥ 0
F[(Basin #2, UserDemand #3)] ≥ 0
F[(Basin #5, TabulatedRatingCurve #7)] ≥ 0
F[(UserDemand #6, Basin #5)] ≥ 0
F[(Basin #5, Basin #2)] ≥ 0
F[(TabulatedRatingCurve #7, Terminal #10)] ≥ 0
F[(UserDemand #13, Terminal #10)] ≥ 0
F[(Basin #12, UserDemand #13)] ≥ 0
F_basin_in[Basin #2] ≥ 0
F_basin_in[Basin #12] ≥ 0
F[(TabulatedRatingCurve #7, Basin #12)] ≥ 0
F_basin_in[Basin #5] ≥ 0
F_basin_out[Basin #2] ≥ 0
F_basin_out[Basin #12] ≥ 0
F_basin_in[Basin #12] ≥ 0
F_basin_in[Basin #2] ≥ 0
F_basin_out[Basin #5] ≥ 0
F_basin_out[Basin #12] ≥ 0
F_basin_out[Basin #2] ≥ 0
source[(FlowBoundary #1, Basin #2)] : F[(FlowBoundary #1, Basin #2)] ≤ 1
F[(UserDemand #13, Terminal #10)] ≤ 0
F[(UserDemand #3, Basin #2)] ≤ 0
F[(UserDemand #6, Basin #5)] ≤ 0
F[(UserDemand #13, Terminal #10)] ≤ 0
fractional_flow[(TabulatedRatingCurve #7, Basin #12)] : F[(TabulatedRatingCurve #7, Basin #12)] - 0.4 F[(Basin #5, TabulatedRatingCurve #7)] ≤ 0
basin_outflow[Basin #2] : F_basin_out[Basin #2] ≤ 0
basin_outflow[Basin #12] : F_basin_out[Basin #12] ≤ 0
fractional_flow[(TabulatedRatingCurve #7, Basin #12)] : -0.4 F[(Basin #5, TabulatedRatingCurve #7)] + F[(TabulatedRatingCurve #7, Basin #12)] ≤ 0
basin_outflow[Basin #5] : F_basin_out[Basin #5] ≤ 0
flow_conservation_basin[Basin #2] : -F[(UserDemand #3, Basin #2)] - F[(FlowBoundary #1, Basin #2)] + F[(Basin #2, Basin #5)] - F[(Basin #5, Basin #2)] + F[(Basin #2, UserDemand #3)] + F_basin_in[Basin #2] - F_basin_out[Basin #2] = 0
flow_conservation_basin[Basin #12] : -F[(TabulatedRatingCurve #7, Basin #12)] + F[(Basin #12, UserDemand #13)] + F_basin_in[Basin #12] - F_basin_out[Basin #12] = 0
flow_conservation_basin[Basin #5] : F[(Basin #5, UserDemand #6)] - F[(Basin #2, Basin #5)] + F[(Basin #5, Basin #2)] + F[(Basin #5, TabulatedRatingCurve #7)] - F[(UserDemand #6, Basin #5)] + F_basin_in[Basin #5] - F_basin_out[Basin #5] = 0
basin_outflow[Basin #12] : F_basin_out[Basin #12] ≤ 0
basin_outflow[Basin #2] : F_basin_out[Basin #2] ≤ 0
flow_conservation_basin[Basin #5] : F[(Basin #5, UserDemand #6)] + F[(Basin #5, TabulatedRatingCurve #7)] - F[(Basin #2, Basin #5)] - F[(UserDemand #6, Basin #5)] + F[(Basin #5, Basin #2)] + F_basin_in[Basin #5] - F_basin_out[Basin #5] = 0
flow_conservation_basin[Basin #12] : F[(Basin #12, UserDemand #13)] - F[(TabulatedRatingCurve #7, Basin #12)] + F_basin_in[Basin #12] - F_basin_out[Basin #12] = 0
flow_conservation_basin[Basin #2] : -F[(FlowBoundary #1, Basin #2)] - F[(UserDemand #3, Basin #2)] + F[(Basin #2, Basin #5)] + F[(Basin #2, UserDemand #3)] - F[(Basin #5, Basin #2)] + F_basin_in[Basin #2] - F_basin_out[Basin #2] = 0
</code></pre>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions core/equations.html
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ <h2 data-number="2.1" class="anchored" data-anchor-id="sec-reduction_factor"><sp
\end{cases}
\end{align}\]</span></p>
<p>Here <span class="math inline">\(p &gt; 0\)</span> is the threshold value which determines the interval <span class="math inline">\([0,p]\)</span> of the smooth transition between <span class="math inline">\(0\)</span> and <span class="math inline">\(1\)</span>, see the plot below.</p>
<div id="d2aee519" class="cell" data-execution_count="1">
<div id="a77373fb" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> numpy <span class="im">as</span> np</span>
Expand Down Expand Up @@ -475,7 +475,7 @@ <h2 data-number="2.1" class="anchored" data-anchor-id="sec-reduction_factor"><sp

invalid escape sequence '\p'

/tmp/ipykernel_5182/665069857.py:31: SyntaxWarning:
/tmp/ipykernel_5125/665069857.py:31: SyntaxWarning:

invalid escape sequence '\p'
</code></pre>
Expand Down
42 changes: 35 additions & 7 deletions core/usage.html
Original file line number Diff line number Diff line change
Expand Up @@ -2082,11 +2082,14 @@ <h1 data-number="20"><span class="header-section-number">20</span> Results</h1>
<h2 data-number="20.1" class="anchored" data-anchor-id="basin---basin.arrow"><span class="header-section-number">20.1</span> Basin - <code>basin.arrow</code></h2>
<p>The Basin table contains:</p>
<ul>
<li>Results of the storage and level of each basin, which are instantaneous values;</li>
<li>Results of the vertical fluxes on each basin, which are mean values over the <code>saveat</code> intervals. In the time column the start of the period is indicated.</li>
<li>The final state of the model is not part of this file, and will be placed in a separate output state file in the future.</li>
<li>Results of the storage and level of each Basin, which are instantaneous values;</li>
<li>Results of the fluxes on each Basin, which are mean values over the <code>saveat</code> intervals. In the time column the start of the period is indicated.</li>
<li>The initial condition is written to the file, but the final state is not. It will be placed in a separate output state file in the future.</li>
<li>The <code>inflow_rate</code> and <code>outflow_rate</code> are the sum of the flows from other nodes into and out of the Basin respectively. The actual flows determine in which term they are counted, not the edge direction.</li>
<li>The <code>storage_rate</code> is flow that adds to the storage in the Basin, increasing the water level. In the equations below this number is split out into two non-negative numbers, <code>storage_increase</code> and <code>storage_decrease</code>.</li>
<li>The <code>balance_error</code> is the difference of all Basin inflows (<code>total_inflow</code>) and outflows (<code>total_outflow</code>), that is (<code>inflow_rate</code> + <code>precipitation</code> + <code>drainage</code> - <code>storage_increase</code>) - (<code>outflow_rate</code> + <code>evaporation</code> + <code>infiltration</code> - <code>storage_decrease</code>). It can be used to check if the numerical error when solving the water balance is sufficiently small.</li>
<li>The <code>relative_error</code> is the fraction of the <code>balance_error</code> over the mean of the <code>total_inflow</code> and <code>total_outflow</code>.</li>
</ul>
<p>The initial condition is also written to the file.</p>
<table class="table">
<thead>
<tr class="header">
Expand Down Expand Up @@ -2117,25 +2120,50 @@ <h2 data-number="20.1" class="anchored" data-anchor-id="basin---basin.arrow"><sp
<td><span class="math inline">\(m\)</span></td>
</tr>
<tr class="odd">
<td>precipitation</td>
<td>inflow_rate</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="even">
<td>evaporation</td>
<td>outflow_rate</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="odd">
<td>drainage</td>
<td>storage_rate</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="even">
<td>precipitation</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="odd">
<td>evaporation</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="even">
<td>drainage</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="odd">
<td>infiltration</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="even">
<td>balance_error</td>
<td>Float64</td>
<td><span class="math inline">\(m^3 s^{-1}\)</span></td>
</tr>
<tr class="odd">
<td>relative_error</td>
<td>Float64</td>
<td>-</td>
</tr>
</tbody>
</table>
<p>The table is sorted by time, and per time it is sorted by <code>node_id</code>.</p>
Expand Down
4 changes: 2 additions & 2 deletions core/validation.html
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ <h1 class="title">Validation</h1>
<section id="connectivity" class="level1" data-number="1">
<h1 data-number="1"><span class="header-section-number">1</span> Connectivity</h1>
<p>In the table below, each column shows which node types are allowed to be downstream (or ‘down-control’) of the node type at the top of the column.</p>
<div id="927929ac" class="cell" data-execution_count="1">
<div id="b08914d4" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">Ribasim</span></span>
Expand Down Expand Up @@ -546,7 +546,7 @@ <h1 data-number="1"><span class="header-section-number">1</span> Connectivity</h
<section id="neighbor-amounts" class="level1" data-number="2">
<h1 data-number="2"><span class="header-section-number">2</span> Neighbor amounts</h1>
<p>The table below shows for each node type between which bounds the amount of in- and outneighbors must be, for both flow and control edges.</p>
<div id="622ead20" class="cell" data-execution_count="2">
<div id="29ab1192" class="cell" data-execution_count="2">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>flow_in_min <span class="op">=</span> <span class="fu">Vector</span><span class="dt">{String}</span>()</span>
Expand Down
Binary file modified python/examples_files/figure-html/cell-59-output-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion python/test-models.html
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ <h1 class="title">Test models</h1>


<p>Ribasim developers use the following models in their testbench and in order to test new features.</p>
<div id="67ca03eb" class="cell" data-execution_count="1">
<div id="dd0bdadc" class="cell" data-execution_count="1">
<details class="code-fold">
<summary>Code</summary>
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> ribasim_testmodels</span>
Expand Down
Loading

0 comments on commit 4607ec8

Please sign in to comment.