Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.

Commit 97979d2

Browse files
authored
Merge pull request #323 from Dewberry/feature-release/v0.10.0
Feature release/v0.10.0
2 parents ab5e624 + 0d9463c commit 97979d2

File tree

93 files changed

+2759
-598
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+2759
-598
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ tests/ras-data/PatuxentRiver/submodels
175175
tests/ras-data/winooski/submodels
176176

177177
/ripple1d/models/
178-
.vscode/settings.json
178+
.vscode
179179
mip_models
180180
tests/ras-data/Baxter/submodels/
181181
ripple1d/tests/
@@ -188,3 +188,4 @@ py312/
188188
venv3/
189189
*huey.jsonld
190190
*flask.jsonld
191+
tests/conflation_tests/**/source_model.conflation*

docs/source/api_reference.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ API Reference
44
.. toctree::
55
:maxdepth: 2
66

7-
api/ripple1d
7+
api/modules

docs/source/endpoints/conflate_model.rst

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,183 @@ conflate_model
99

1010
.. autofunction:: ripple1d.ops.ras_conflate.conflate_model
1111
:no-index:
12+
13+
********************
14+
Conflation Behavior
15+
********************
16+
17+
Below are several examples depicting how a HEC-RAS model would be conflated to
18+
the National Water Model (NWM) network.
19+
20+
**Conflation Test A**
21+
22+
.. image:: ../images/conflation_tests/test_a.jpg
23+
:width: 800
24+
:alt: test a
25+
:align: center
26+
27+
28+
In this scenario a single HEC-RAS source model is split into four sub models.
29+
The sub model for each NWM reach contains all intersecting RAS ross-sections
30+
plus one downstream. The downstream cross-section thus matches the upstream-most
31+
cross-section of the next downstream sub model (multi-colored sections in the
32+
third panel), creating a seamless FIM.
33+
34+
Reach 4 does not have any intersecting HEC-RAS cross-sections, however, it is
35+
sandwiched by two NWM reaches with sub models. In this situation, the NWM reach
36+
is marked as "eclipsed".
37+
38+
**Conflation Test B**
39+
40+
.. image:: ../images/conflation_tests/test_b.jpg
41+
:width: 800
42+
:alt: test b
43+
:align: center
44+
45+
46+
This scenario mimics a HEC-RAS model with multiple reaches (only mainstem shown).
47+
Since the HEC-RAS reaches are contained within a single NWM reach, the sub model
48+
is created by joining all HEC-RAS cross-sections together.
49+
50+
**Conflation Test C**
51+
52+
.. image:: ../images/conflation_tests/test_c.jpg
53+
:width: 800
54+
:alt: test c
55+
:align: center
56+
57+
58+
This scenario shows that multiple NWM reaches may be eclipsed in sequence.
59+
60+
**Conflation Test D**
61+
62+
.. image:: ../images/conflation_tests/test_d.jpg
63+
:width: 800
64+
:alt: test d
65+
:align: center
66+
67+
68+
When the next downstream reach of a model would be a junction, the sub model
69+
takes the first cross-section downstream of the junction as its downstream limit.
70+
71+
**Conflation Test D**
72+
73+
.. image:: ../images/conflation_tests/test_d.jpg
74+
:width: 800
75+
:alt: test d
76+
:align: center
77+
78+
79+
When the next downstream reach of a model would be a junction, the sub model
80+
takes the first cross-section downstream of the junction as its downstream limit.
81+
82+
**Conflation Test E**
83+
84+
.. image:: ../images/conflation_tests/test_e.jpg
85+
:width: 800
86+
:alt: test e
87+
:align: center
88+
89+
90+
Similarly to Test E, when two HEC-RAS reaches confluence, the sub models will
91+
share a downstream cross-section with the most upstream cross-section of the
92+
downstream model (shared between three models).
93+
94+
**Conflation Test F**
95+
96+
.. image:: ../images/conflation_tests/test_f.jpg
97+
:width: 800
98+
:alt: test f
99+
:align: center
100+
101+
102+
Same as Test E.
103+
104+
**Conflation Test G**
105+
106+
.. image:: ../images/conflation_tests/test_g.jpg
107+
:width: 800
108+
:alt: test g
109+
:align: center
110+
111+
112+
A sub model may traverse both an eclipsed reach and a confluence to find the
113+
next downstream cross-section.
114+
115+
**Conflation Test H**
116+
117+
.. image:: ../images/conflation_tests/test_h.jpg
118+
:width: 800
119+
:alt: test h
120+
:align: center
121+
122+
123+
Same as Test G but with the eclipsed reach downstream of the confluence.
124+
125+
**Conflation Test I**
126+
127+
.. image:: ../images/conflation_tests/test_i.jpg
128+
:width: 800
129+
:alt: test i
130+
:align: center
131+
132+
133+
In this test, the confluences between the NWM and HEC-RAS are not aligned. The
134+
NWM confluence is upstream of a cross-section on one of the tributary HEC-RAS
135+
reaches. Further complicating the setup, NWM reach 3 intersects cross-sections
136+
along the confluencing HEC-RAS reach.
137+
138+
After ripple1d completes initial conflation, if it finds that the HEC-RAS model
139+
has been conflated with a NWM confluence (i.e., a NWM reach has both children)
140+
present in the conflation.json, it will force both tributary sub models to
141+
have a downstream cross-section at the first section downstream of the HEC-RAS
142+
junction and the downstream sub model to have an upstream cross-section at that
143+
section.
144+
145+
**Conflation Test J**
146+
147+
.. image:: ../images/conflation_tests/test_j.jpg
148+
:width: 800
149+
:alt: test j
150+
:align: center
151+
152+
153+
This test was created in response to `github issue #311 <https://github.com/Dewberry/ripple1d/issues/311>`_.
154+
This scenario verifies that NWM reaches will not conflate to nearby HEC-RAS
155+
models that to not overlap the reach extents.
156+
157+
**Conflation Test K**
158+
159+
.. image:: ../images/conflation_tests/test_k.jpg
160+
:width: 800
161+
:alt: test k
162+
:align: center
163+
164+
165+
See description of Test J. This complex confluence geometry is still locked
166+
such that the sub models will be on their appropriate tributary and contain the
167+
first cross-section downstream of the junction as their shared cross-section.
168+
169+
**Conflation Test L**
170+
171+
.. image:: ../images/conflation_tests/test_l.jpg
172+
:width: 800
173+
:alt: test l
174+
:align: center
175+
176+
177+
In this example, the HEC-RAS model does not contain a junction. Sub model 3
178+
will therefore not share a cross-section with 1 and 2.
179+
180+
**Conflation Test M**
181+
182+
.. image:: ../images/conflation_tests/test_m.jpg
183+
:width: 800
184+
:alt: test m
185+
:align: center
186+
187+
188+
In this scenario, a first order NWM reach only intersects some of the HEC-RAS
189+
cross-sections. When additional cross-sections are available upstream of a
190+
first order tributary, ripple1d will extend one cross-section upstream of the
191+
last cross-section to provide complete reach coverage.

docs/source/endpoints/create_ras_terrain.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ create_ras_terrain
1111
:no-index:
1212

1313

14-
**Terrain Agreement:**
14+
********************
15+
Terrain Agreement
16+
********************
1517

1618
Terrain agreement metrics are written to either a json file with suffix
1719
".terrain_agreement.json" or a sqlite database with suffix
@@ -108,7 +110,7 @@ following schema:
108110
and the database will have the following schema:
109111

110112
.. table:: SQLite database schema
111-
:widths: 5 20 20 1 700
113+
:widths: 5 20 20 1 700
112114

113115
+-------+-----------------------------------------+----------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
114116
| type | name | tbl_name | rootpage | sql |
323 KB
Loading
322 KB
Loading
320 KB
Loading
322 KB
Loading
1.05 MB
Loading
405 KB
Loading

0 commit comments

Comments
 (0)