floodmodeller-api 0.4.2__py3-none-any.whl → 0.4.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. floodmodeller_api/__init__.py +8 -9
  2. floodmodeller_api/_base.py +184 -176
  3. floodmodeller_api/backup.py +273 -273
  4. floodmodeller_api/dat.py +909 -838
  5. floodmodeller_api/diff.py +136 -119
  6. floodmodeller_api/ied.py +307 -311
  7. floodmodeller_api/ief.py +647 -646
  8. floodmodeller_api/ief_flags.py +253 -253
  9. floodmodeller_api/inp.py +266 -268
  10. floodmodeller_api/libs/libifcoremd.dll +0 -0
  11. floodmodeller_api/libs/libifcoremt.so.5 +0 -0
  12. floodmodeller_api/libs/libifport.so.5 +0 -0
  13. floodmodeller_api/{libmmd.dll → libs/libimf.so} +0 -0
  14. floodmodeller_api/libs/libintlc.so.5 +0 -0
  15. floodmodeller_api/libs/libmmd.dll +0 -0
  16. floodmodeller_api/libs/libsvml.so +0 -0
  17. floodmodeller_api/libs/libzzn_read.so +0 -0
  18. floodmodeller_api/libs/zzn_read.dll +0 -0
  19. floodmodeller_api/logs/__init__.py +2 -2
  20. floodmodeller_api/logs/lf.py +320 -314
  21. floodmodeller_api/logs/lf_helpers.py +354 -346
  22. floodmodeller_api/logs/lf_params.py +643 -529
  23. floodmodeller_api/mapping.py +84 -0
  24. floodmodeller_api/test/__init__.py +4 -4
  25. floodmodeller_api/test/conftest.py +9 -8
  26. floodmodeller_api/test/test_backup.py +117 -117
  27. floodmodeller_api/test/test_dat.py +221 -92
  28. floodmodeller_api/test/test_data/All Units 4_6.DAT +1081 -1081
  29. floodmodeller_api/test/test_data/All Units 4_6.feb +1081 -1081
  30. floodmodeller_api/test/test_data/BRIDGE.DAT +926 -926
  31. floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.dat +36 -36
  32. floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.feb +36 -36
  33. floodmodeller_api/test/test_data/DamBreakADI.xml +52 -52
  34. floodmodeller_api/test/test_data/DamBreakFAST.xml +58 -58
  35. floodmodeller_api/test/test_data/DamBreakFAST_dy.xml +53 -53
  36. floodmodeller_api/test/test_data/DamBreakTVD.xml +55 -55
  37. floodmodeller_api/test/test_data/DefenceBreach.xml +53 -53
  38. floodmodeller_api/test/test_data/DefenceBreachFAST.xml +60 -60
  39. floodmodeller_api/test/test_data/DefenceBreachFAST_dy.xml +55 -55
  40. floodmodeller_api/test/test_data/Domain1+2_QH.xml +76 -76
  41. floodmodeller_api/test/test_data/Domain1_H.xml +41 -41
  42. floodmodeller_api/test/test_data/Domain1_Q.xml +41 -41
  43. floodmodeller_api/test/test_data/Domain1_Q_FAST.xml +48 -48
  44. floodmodeller_api/test/test_data/Domain1_Q_FAST_dy.xml +48 -48
  45. floodmodeller_api/test/test_data/Domain1_Q_xml_expected.json +263 -0
  46. floodmodeller_api/test/test_data/Domain1_W.xml +41 -41
  47. floodmodeller_api/test/test_data/EX1.DAT +321 -321
  48. floodmodeller_api/test/test_data/EX1.ext +107 -107
  49. floodmodeller_api/test/test_data/EX1.feb +320 -320
  50. floodmodeller_api/test/test_data/EX1.gxy +107 -107
  51. floodmodeller_api/test/test_data/EX17.DAT +421 -422
  52. floodmodeller_api/test/test_data/EX17.ext +213 -213
  53. floodmodeller_api/test/test_data/EX17.feb +422 -422
  54. floodmodeller_api/test/test_data/EX18.DAT +375 -375
  55. floodmodeller_api/test/test_data/EX18_DAT_expected.json +3876 -0
  56. floodmodeller_api/test/test_data/EX2.DAT +302 -302
  57. floodmodeller_api/test/test_data/EX3.DAT +926 -926
  58. floodmodeller_api/test/test_data/EX3_DAT_expected.json +16235 -0
  59. floodmodeller_api/test/test_data/EX3_IEF_expected.json +61 -0
  60. floodmodeller_api/test/test_data/EX6.DAT +2084 -2084
  61. floodmodeller_api/test/test_data/EX6.ext +532 -532
  62. floodmodeller_api/test/test_data/EX6.feb +2084 -2084
  63. floodmodeller_api/test/test_data/EX6_DAT_expected.json +31647 -0
  64. floodmodeller_api/test/test_data/Event Data Example.DAT +336 -336
  65. floodmodeller_api/test/test_data/Event Data Example.ext +107 -107
  66. floodmodeller_api/test/test_data/Event Data Example.feb +336 -336
  67. floodmodeller_api/test/test_data/Linked1D2D.xml +52 -52
  68. floodmodeller_api/test/test_data/Linked1D2DFAST.xml +53 -53
  69. floodmodeller_api/test/test_data/Linked1D2DFAST_dy.xml +48 -48
  70. floodmodeller_api/test/test_data/Linked1D2D_xml_expected.json +313 -0
  71. floodmodeller_api/test/test_data/blockage.dat +50 -50
  72. floodmodeller_api/test/test_data/blockage.ext +45 -45
  73. floodmodeller_api/test/test_data/blockage.feb +9 -9
  74. floodmodeller_api/test/test_data/blockage.gxy +71 -71
  75. floodmodeller_api/test/test_data/defaultUnits.dat +127 -127
  76. floodmodeller_api/test/test_data/defaultUnits.ext +45 -45
  77. floodmodeller_api/test/test_data/defaultUnits.feb +9 -9
  78. floodmodeller_api/test/test_data/defaultUnits.fmpx +58 -58
  79. floodmodeller_api/test/test_data/defaultUnits.gxy +85 -85
  80. floodmodeller_api/test/test_data/ex3.ief +20 -20
  81. floodmodeller_api/test/test_data/ex3.lf1 +2800 -2800
  82. floodmodeller_api/test/test_data/ex4.DAT +1374 -1374
  83. floodmodeller_api/test/test_data/ex4_changed.DAT +1374 -1374
  84. floodmodeller_api/test/test_data/example1.inp +329 -329
  85. floodmodeller_api/test/test_data/example2.inp +158 -158
  86. floodmodeller_api/test/test_data/example3.inp +297 -297
  87. floodmodeller_api/test/test_data/example4.inp +388 -388
  88. floodmodeller_api/test/test_data/example5.inp +147 -147
  89. floodmodeller_api/test/test_data/example6.inp +154 -154
  90. floodmodeller_api/test/test_data/jump.dat +176 -176
  91. floodmodeller_api/test/test_data/network.dat +1374 -1374
  92. floodmodeller_api/test/test_data/network.ext +45 -45
  93. floodmodeller_api/test/test_data/network.exy +1 -1
  94. floodmodeller_api/test/test_data/network.feb +45 -45
  95. floodmodeller_api/test/test_data/network.ied +45 -45
  96. floodmodeller_api/test/test_data/network.ief +20 -20
  97. floodmodeller_api/test/test_data/network.inp +147 -147
  98. floodmodeller_api/test/test_data/network.pxy +57 -57
  99. floodmodeller_api/test/test_data/network.zzd +122 -122
  100. floodmodeller_api/test/test_data/network_dat_expected.json +21837 -0
  101. floodmodeller_api/test/test_data/network_from_tabularCSV.csv +87 -87
  102. floodmodeller_api/test/test_data/network_ied_expected.json +287 -0
  103. floodmodeller_api/test/test_data/rnweir.dat +9 -9
  104. floodmodeller_api/test/test_data/rnweir.ext +45 -45
  105. floodmodeller_api/test/test_data/rnweir.feb +9 -9
  106. floodmodeller_api/test/test_data/rnweir.gxy +45 -45
  107. floodmodeller_api/test/test_data/rnweir_default.dat +74 -74
  108. floodmodeller_api/test/test_data/rnweir_default.ext +45 -45
  109. floodmodeller_api/test/test_data/rnweir_default.feb +9 -9
  110. floodmodeller_api/test/test_data/rnweir_default.fmpx +58 -58
  111. floodmodeller_api/test/test_data/rnweir_default.gxy +53 -53
  112. floodmodeller_api/test/test_data/unit checks.dat +16 -16
  113. floodmodeller_api/test/test_ied.py +29 -29
  114. floodmodeller_api/test/test_ief.py +125 -24
  115. floodmodeller_api/test/test_inp.py +47 -48
  116. floodmodeller_api/test/test_json.py +114 -0
  117. floodmodeller_api/test/test_logs_lf.py +48 -51
  118. floodmodeller_api/test/test_tool.py +165 -154
  119. floodmodeller_api/test/test_toolbox_structure_log.py +234 -239
  120. floodmodeller_api/test/test_xml2d.py +151 -156
  121. floodmodeller_api/test/test_zzn.py +36 -34
  122. floodmodeller_api/to_from_json.py +218 -0
  123. floodmodeller_api/tool.py +332 -330
  124. floodmodeller_api/toolbox/__init__.py +5 -5
  125. floodmodeller_api/toolbox/example_tool.py +45 -45
  126. floodmodeller_api/toolbox/model_build/__init__.py +2 -2
  127. floodmodeller_api/toolbox/model_build/add_siltation_definition.py +100 -94
  128. floodmodeller_api/toolbox/model_build/structure_log/__init__.py +1 -1
  129. floodmodeller_api/toolbox/model_build/structure_log/structure_log.py +287 -289
  130. floodmodeller_api/toolbox/model_build/structure_log_definition.py +76 -72
  131. floodmodeller_api/units/__init__.py +10 -10
  132. floodmodeller_api/units/_base.py +214 -209
  133. floodmodeller_api/units/boundaries.py +467 -469
  134. floodmodeller_api/units/comment.py +52 -55
  135. floodmodeller_api/units/conduits.py +382 -403
  136. floodmodeller_api/units/helpers.py +123 -132
  137. floodmodeller_api/units/iic.py +107 -101
  138. floodmodeller_api/units/losses.py +305 -308
  139. floodmodeller_api/units/sections.py +444 -445
  140. floodmodeller_api/units/structures.py +1690 -1684
  141. floodmodeller_api/units/units.py +93 -102
  142. floodmodeller_api/units/unsupported.py +44 -44
  143. floodmodeller_api/units/variables.py +87 -89
  144. floodmodeller_api/urban1d/__init__.py +11 -11
  145. floodmodeller_api/urban1d/_base.py +188 -177
  146. floodmodeller_api/urban1d/conduits.py +93 -85
  147. floodmodeller_api/urban1d/general_parameters.py +58 -58
  148. floodmodeller_api/urban1d/junctions.py +81 -79
  149. floodmodeller_api/urban1d/losses.py +81 -74
  150. floodmodeller_api/urban1d/outfalls.py +114 -107
  151. floodmodeller_api/urban1d/raingauges.py +111 -108
  152. floodmodeller_api/urban1d/subsections.py +92 -93
  153. floodmodeller_api/urban1d/xsections.py +147 -141
  154. floodmodeller_api/util.py +77 -21
  155. floodmodeller_api/validation/parameters.py +660 -660
  156. floodmodeller_api/validation/urban_parameters.py +388 -404
  157. floodmodeller_api/validation/validation.py +110 -112
  158. floodmodeller_api/version.py +1 -1
  159. floodmodeller_api/xml2d.py +688 -684
  160. floodmodeller_api/xml2d_template.py +37 -37
  161. floodmodeller_api/zzn.py +387 -365
  162. {floodmodeller_api-0.4.2.dist-info → floodmodeller_api-0.4.3.dist-info}/LICENSE.txt +13 -13
  163. {floodmodeller_api-0.4.2.dist-info → floodmodeller_api-0.4.3.dist-info}/METADATA +82 -82
  164. floodmodeller_api-0.4.3.dist-info/RECORD +179 -0
  165. {floodmodeller_api-0.4.2.dist-info → floodmodeller_api-0.4.3.dist-info}/WHEEL +1 -1
  166. floodmodeller_api-0.4.3.dist-info/entry_points.txt +3 -0
  167. floodmodeller_api/libifcoremd.dll +0 -0
  168. floodmodeller_api/test/test_data/EX3.bmp +0 -0
  169. floodmodeller_api/test/test_data/test_output.csv +0 -87
  170. floodmodeller_api/zzn_read.dll +0 -0
  171. floodmodeller_api-0.4.2.data/scripts/fmapi-add_siltation.bat +0 -2
  172. floodmodeller_api-0.4.2.data/scripts/fmapi-add_siltation.py +0 -3
  173. floodmodeller_api-0.4.2.data/scripts/fmapi-structure_log.bat +0 -2
  174. floodmodeller_api-0.4.2.data/scripts/fmapi-structure_log.py +0 -3
  175. floodmodeller_api-0.4.2.data/scripts/fmapi-toolbox.bat +0 -2
  176. floodmodeller_api-0.4.2.data/scripts/fmapi-toolbox.py +0 -41
  177. floodmodeller_api-0.4.2.dist-info/RECORD +0 -169
  178. {floodmodeller_api-0.4.2.dist-info → floodmodeller_api-0.4.3.dist-info}/top_level.txt +0 -0
@@ -1,660 +1,660 @@
1
- """
2
- Flood Modeller Python API
3
- Copyright (C) 2023 Jacobs U.K. Limited
4
-
5
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License
6
- as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
7
-
8
- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
9
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
-
11
- You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
12
-
13
- If you have any query about this program or this License, please contact us at support@floodmodeller.com or write to the following
14
- address: Jacobs UK Limited, Flood Modeller, Cottons Centre, Cottons Lane, London, SE1 2QG, United Kingdom.
15
- """
16
-
17
- parameter_options = {
18
- "name": {
19
- "type": "string-length",
20
- "max_length": 12,
21
- },
22
- "timeunit": {
23
- "type": "type-value-match",
24
- "options": (
25
- (float, int),
26
- [
27
- "SECONDS",
28
- "MINUTES",
29
- "HOURS",
30
- "DAYS",
31
- "WEEKS",
32
- "FORTNIGHTS",
33
- "MONTHS",
34
- "MONTH",
35
- "LUNAR MONTHS",
36
- "QUARTERS",
37
- "YEARS",
38
- "DECADES",
39
- "DATES",
40
- "MULTIPLIER",
41
- ],
42
- ),
43
- },
44
- "timeoffset": {
45
- "type": "type-match",
46
- "options": (float, int),
47
- },
48
- "timedatamultiplier": {
49
- "type": "type-match",
50
- "options": (float, int),
51
- },
52
- "flowmultiplier": {
53
- "type": "type-match",
54
- "options": (float, int),
55
- },
56
- "minflow": {
57
- "type": "type-match",
58
- "options": (float, int),
59
- },
60
- "extendmethod": {
61
- "type": "value-match",
62
- "options": ["EXTEND", "NOEXTEND", "REPEAT"],
63
- },
64
- "interpmethod": {
65
- "type": "value-match",
66
- "options": ["LINEAR", "SPLINE"],
67
- },
68
- "ds_label": {
69
- "type": "string-length",
70
- "max_length": 12,
71
- },
72
- "us_reference_label": {
73
- "type": "string-length",
74
- "max_length": 12,
75
- },
76
- "ds_reference_label": {
77
- "type": "string-length",
78
- "max_length": 12,
79
- },
80
- "constriction_label": {
81
- "type": "string-length",
82
- "max_length": 12,
83
- },
84
- "spill": {
85
- "type": "string-length",
86
- "max_length": 12,
87
- },
88
- "spill1": {
89
- "type": "string-length",
90
- "max_length": 12,
91
- },
92
- "spill2": {
93
- "type": "string-length",
94
- "max_length": 12,
95
- },
96
- "lat1": {
97
- "type": "string-length",
98
- "max_length": 12,
99
- },
100
- "lat2": {
101
- "type": "string-length",
102
- "max_length": 12,
103
- },
104
- "lat3": {
105
- "type": "string-length",
106
- "max_length": 12,
107
- },
108
- "lat4": {
109
- "type": "string-length",
110
- "max_length": 12,
111
- },
112
- "dist_to_next": {
113
- "type": "type-match",
114
- "options": (float, int),
115
- },
116
- "slope": {
117
- "type": "type-match",
118
- "options": (float, int),
119
- },
120
- "density": {
121
- "type": "type-match",
122
- "options": (float, int),
123
- },
124
- "remote_label": {
125
- "type": "string-length",
126
- "max_length": 12,
127
- },
128
- "us_remote_label": {
129
- "type": "string-length",
130
- "max_length": 12,
131
- },
132
- "ds_remote_label": {
133
- "type": "string-length",
134
- "max_length": 12,
135
- },
136
- "br_type": {
137
- "type": "value-match",
138
- "options": ["ARCH", "USBPR1978", "PIERLOSS"],
139
- },
140
- "calibration_coefficient": {
141
- "type": "type-match",
142
- "options": (float, int),
143
- },
144
- "skew": {
145
- "type": "type-match",
146
- "options": (float, int),
147
- },
148
- "bridge_width_dual": {
149
- "type": "type-match",
150
- "options": (float, int),
151
- },
152
- "bridge_dist_dual": {
153
- "type": "type-match",
154
- "options": (float, int),
155
- },
156
- "orifice_lower_transition_dist": {
157
- "type": "type-match",
158
- "options": (float, int),
159
- },
160
- "orifice_upper_transition_dist": {
161
- "type": "type-match",
162
- "options": (float, int),
163
- },
164
- "orifice_discharge_coefficient": {
165
- "type": "type-match",
166
- "options": (float, int),
167
- },
168
- "orifice_flow": {
169
- "type": "type-match",
170
- "options": (bool),
171
- },
172
- "specify_piers": {
173
- "type": "type-match",
174
- "options": (bool),
175
- },
176
- "abutment_type": {
177
- "type": "value-match",
178
- "options": ["3", "2", "1", 3, 2, 1],
179
- },
180
- "abutment_alignment": {
181
- "type": "value-match",
182
- "options": ["ALIGNED", "SKEW"],
183
- },
184
- "total_pier_width": {
185
- "type": "type-match",
186
- "options": (float, int),
187
- },
188
- "npiers": {
189
- "type": "type-match",
190
- "options": (int),
191
- },
192
- "pier_use_calibration_coeff": {
193
- "type": "type-match",
194
- "options": (bool),
195
- },
196
- "pier_calibration_coeff": {
197
- "type": "type-match",
198
- "options": (float, int),
199
- },
200
- "pier_shape": {
201
- "type": "value-match",
202
- "options": ["RECTANGLE", "CYLINDER", "SQUARE", "I-BEAM"],
203
- },
204
- # Pier_faces is an optional parameters
205
- "pier_faces": {
206
- "type": "value-match",
207
- "options": ["", "STREAMLINE", "SEMICIRCLE", "TRIANGLE", "DIAPHRAGM"],
208
- },
209
- "soffit_shape": {
210
- "type": "value-match",
211
- "options": ["FLAT", "ARCH"],
212
- },
213
- "c_type": {
214
- "type": "value-match",
215
- "options": ["RECTANGULAR", "CIRCULAR"],
216
- },
217
- "friction_eq": {
218
- "type": "value-match",
219
- "options": ["MANNING", "COLEBROOK-WHITE"],
220
- },
221
- "invert": {
222
- "type": "type-match",
223
- "options": (float, int),
224
- },
225
- "diameter": {
226
- "type": "type-match",
227
- "options": (float, int),
228
- },
229
- "width": {
230
- "type": "type-match",
231
- "options": (float, int),
232
- },
233
- "height": {
234
- "type": "type-match",
235
- "options": (float, int),
236
- },
237
- "bottom_slot_dist": {
238
- "type": "type-match",
239
- "options": (float, int),
240
- },
241
- "bottom_slot_depth": {
242
- "type": "type-match",
243
- "options": (float, int),
244
- },
245
- "top_slot_dist": {
246
- "type": "type-match",
247
- "options": (float, int),
248
- },
249
- "top_slot_depth": {
250
- "type": "type-match",
251
- "options": (float, int),
252
- },
253
- "friction_below_axis": {
254
- "type": "type-match",
255
- "options": (float, int),
256
- },
257
- "friction_above_axis": {
258
- "type": "type-match",
259
- "options": (float, int),
260
- },
261
- "use_bottom_slot": {
262
- "type": "value-match",
263
- "options": ["ON", "OFF", "GLOBAL"],
264
- },
265
- "use_top_slot": {
266
- "type": "value-match",
267
- "options": ["ON", "OFF", "GLOBAL"],
268
- },
269
- "friction_on_invert": {
270
- "type": "type-match",
271
- "options": (float, int),
272
- },
273
- "friction_on_walls": {
274
- "type": "type-match",
275
- "options": (float, int),
276
- },
277
- "friction_on_soffit": {
278
- "type": "type-match",
279
- "options": (float, int),
280
- },
281
- "equation": {
282
- "type": "type-match",
283
- "options": (str),
284
- },
285
- "elevation_invert": {
286
- "type": "type-match",
287
- "options": (float, int),
288
- },
289
- "height_springing": {
290
- "type": "type-match",
291
- "options": (float, int),
292
- },
293
- "height_crown": {
294
- "type": "type-match",
295
- "options": (float, int),
296
- },
297
- "easting": {
298
- "type": "type-match",
299
- "options": (float, int),
300
- },
301
- "northing": {
302
- "type": "type-match",
303
- "options": (float, int),
304
- },
305
- "time_delay": {
306
- "type": "type-match",
307
- "options": (float, int),
308
- },
309
- "timestep": {
310
- "type": "type-match",
311
- "options": (float, int),
312
- },
313
- "scale_value": {
314
- "type": "type-match",
315
- "options": (float, int),
316
- },
317
- "sim_type": {
318
- "type": "value-match",
319
- "options": ["", "FULL", "PFONLY", "BFONLY"],
320
- },
321
- "scale_method": {
322
- "type": "value-match",
323
- "options": ["PEAKVALUE", "SCALEFACT"],
324
- },
325
- "boundary_type": {
326
- "type": "value-match",
327
- "options": ["HYDROGRAPH", "HYETOGRAPH"],
328
- },
329
- "scale_type": {
330
- "type": "value-match",
331
- "options": ["FULL", "RUNOFF"],
332
- },
333
- "allow_override": {
334
- "type": "value-match",
335
- "options": ["", "OVERRIDE", "NOOVERRIDE"],
336
- },
337
- "area": {
338
- "type": "type-match",
339
- "options": (float, int),
340
- },
341
- "urbext": {
342
- "type": "type-match",
343
- "options": (float),
344
- },
345
- "saar": {
346
- "type": "type-match",
347
- "options": (float, int),
348
- },
349
- "season": {
350
- "type": "value-match",
351
- "options": ["DEFAULT", "SUMMER", "WINTER"],
352
- },
353
- "calc_source": {
354
- "type": "value-match",
355
- "options": ["DLL", "REPORT"],
356
- },
357
- "storm_area": {
358
- "type": "type-match",
359
- "options": (float, int),
360
- },
361
- "storm_duration": {
362
- "type": "type-match",
363
- "options": (float, int),
364
- },
365
- "arf_method": {
366
- "type": "value-match",
367
- "options": ["USER", "DESIGN"],
368
- },
369
- "observed_rainfall_depth": {
370
- "type": "type-match",
371
- "options": (float, int),
372
- },
373
- "return_period": {
374
- "type": "type-match",
375
- "options": (float, int),
376
- },
377
- "arf": {
378
- "type": "type-match",
379
- "options": (float, int),
380
- },
381
- "ddf_c": {
382
- "type": "type-match",
383
- "options": (float, int),
384
- },
385
- "ddf_d1": {
386
- "type": "type-match",
387
- "options": (float, int),
388
- },
389
- "ddf_d2": {
390
- "type": "type-match",
391
- "options": (float, int),
392
- },
393
- "ddf_d3": {
394
- "type": "type-match",
395
- "options": (float, int),
396
- },
397
- "ddf_e": {
398
- "type": "type-match",
399
- "options": (float, int),
400
- },
401
- "ddf_f": {
402
- "type": "type-match",
403
- "options": (float, int),
404
- },
405
- "weir_flow_coefficient": {
406
- "type": "value-range",
407
- "options": (0.4, 3.0),
408
- },
409
- "under_gate_flow": {
410
- "type": "value-range",
411
- "options": (0.4, 3.0),
412
- },
413
- "over_gate_flow": {
414
- "type": "value-range",
415
- "options": (0.4, 3.0),
416
- },
417
- "weir_breadth": {
418
- "type": "type-match",
419
- "options": (float, int),
420
- },
421
- "crest_elevation": {
422
- "type": "type-match",
423
- "options": (float, int),
424
- },
425
- "gate_height_or_chord": {
426
- "type": "type-match",
427
- "options": (float, int),
428
- },
429
- "weir_length": {
430
- "type": "type-match",
431
- "options": (float, int),
432
- },
433
- "us_weir_height": {
434
- "type": "type-match",
435
- "options": (float, int),
436
- },
437
- "ds_weir_height": {
438
- "type": "type-match",
439
- "options": (float, int),
440
- },
441
- "discharge_coefficeient": {
442
- "type": "type-match",
443
- "options": (float, int),
444
- },
445
- "exponent": {
446
- "type": "type-match",
447
- "options": (float, int),
448
- },
449
- "bias_factor": {
450
- "type": "type-match",
451
- "options": (float, int),
452
- },
453
- "modular_limits": {
454
- "type": "dict-match",
455
- "options": {
456
- "weir_flow": {
457
- "type": "value-range",
458
- "options": (0.0, 1.0),
459
- },
460
- "under_gate_flow": {
461
- "type": "value-range",
462
- "options": (0.0, 1.0),
463
- },
464
- "over_gate_flow": {
465
- "type": "value-range",
466
- "options": (0.0, 1.0),
467
- },
468
- },
469
- },
470
- "ngates": {
471
- "type": "type-match",
472
- "options": (int),
473
- },
474
- "rules": {
475
- "type": "list-dict-match",
476
- "options": {
477
- "name": {
478
- "type": "type-match",
479
- "options": (str),
480
- },
481
- "logic": {
482
- "type": "end-value-match",
483
- "options": ["END", "ENDIF"],
484
- },
485
- },
486
- },
487
- "varrules": {
488
- "type": "list-dict-match",
489
- "options": {
490
- "name": {
491
- "type": "type-match",
492
- "options": (str),
493
- },
494
- "logic": {
495
- "type": "end-value-match",
496
- "options": ["END", "ENDIF"],
497
- },
498
- },
499
- },
500
- "use_degrees": {
501
- "type": "type-match",
502
- "options": (bool),
503
- },
504
- "allow_free_flow_under": {
505
- "type": "type-match",
506
- "options": (bool),
507
- },
508
- "pivot_height": {
509
- "type": "type-match",
510
- "options": (float, int),
511
- },
512
- "gate_radius": {
513
- "type": "type-match",
514
- "options": (float, int),
515
- },
516
- "flapped": {
517
- "type": "type-match",
518
- "options": (bool),
519
- },
520
- "soffit": {
521
- "type": "type-match",
522
- "options": (float, int),
523
- },
524
- "bore_area": {
525
- "type": "type-match",
526
- "options": (float, int),
527
- },
528
- "upstream_sill": {
529
- "type": "type-match",
530
- "options": (float, int),
531
- },
532
- "downstream_sill": {
533
- "type": "type-match",
534
- "options": (float, int),
535
- },
536
- "weir_flow": {
537
- "type": "type-match",
538
- "options": (float, int),
539
- },
540
- "surcharged_flow": {
541
- "type": "type-match",
542
- "options": (float, int),
543
- },
544
- "modular_limit": {
545
- "type": "type-match",
546
- "options": (float, int),
547
- },
548
- "shape": {
549
- "type": "value-match",
550
- "options": ["RECTANGLE", "CIRCULAR"],
551
- },
552
- "weir_coefficient": {
553
- "type": "type-match",
554
- "options": (float, int),
555
- },
556
- "inlet_loss": {
557
- "type": "type-match",
558
- "options": (float, int),
559
- },
560
- "outlet_loss": {
561
- "type": "type-match",
562
- "options": (float, int),
563
- },
564
- "loss_coefficient": {
565
- "type": "type-match",
566
- "options": (float, int),
567
- },
568
- "headloss_type": {
569
- "type": "value-match",
570
- "options": ["TOTAL", "STATIC"],
571
- },
572
- "reverse_flow_mode": {
573
- "type": "value-match",
574
- "options": [0, "CALCULATED", "ZERO"],
575
- },
576
- "type_code": {
577
- "type": "value-match",
578
- "options": ["A", "B", "C"],
579
- },
580
- "k": {
581
- "type": "type-match",
582
- "options": (float, int),
583
- },
584
- "m": {
585
- "type": "type-match",
586
- "options": (float, int),
587
- },
588
- "c": {
589
- "type": "type-match",
590
- "options": (float, int),
591
- },
592
- "y": {
593
- "type": "type-match",
594
- "options": (float, int),
595
- },
596
- "ki": {
597
- "type": "type-match",
598
- "options": (float, int),
599
- },
600
- "screen_width": {
601
- "type": "type-match",
602
- "options": (float, int),
603
- },
604
- "bar_proportion": {
605
- "type": "value-range",
606
- "options": (0.0, 1.0),
607
- },
608
- "debris_proportion": {
609
- "type": "value-range",
610
- "options": (0.0, 1.0),
611
- },
612
- "velocity_coefficient": {
613
- "type": "type-match",
614
- "options": (float, int),
615
- },
616
- "weir_elevation": {
617
- "type": "type-match",
618
- "options": (float, int),
619
- },
620
- "upstream_crest_height": {
621
- "type": "type-match",
622
- "options": (float, int),
623
- },
624
- "downstream_crest_height": {
625
- "type": "type-match",
626
- "options": (float, int),
627
- },
628
- "coriolis_coefficient": {
629
- "type": "type-match",
630
- "options": (float, int),
631
- },
632
- "v_slope": {
633
- "type": "type-match",
634
- "options": (float, int),
635
- },
636
- "side_slope": {
637
- "type": "type-match",
638
- "options": (float, int),
639
- },
640
- "ds_face_slope": {
641
- "type": "value-match",
642
- "options": [2, 5],
643
- },
644
- "bank_top_elevation": {
645
- "type": "type-match",
646
- "options": (float, int),
647
- },
648
- "num_pairs": {
649
- "type": "type-match",
650
- "options": (float, int),
651
- },
652
- "runoff_factor": {
653
- "type": "type-match",
654
- "options": (float, int),
655
- },
656
- "bed_level_drop": {
657
- "type": "type-match",
658
- "options": (float, int),
659
- },
660
- }
1
+ """
2
+ Flood Modeller Python API
3
+ Copyright (C) 2024 Jacobs U.K. Limited
4
+
5
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License
6
+ as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
7
+
8
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
9
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
+
11
+ You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
12
+
13
+ If you have any query about this program or this License, please contact us at support@floodmodeller.com or write to the following
14
+ address: Jacobs UK Limited, Flood Modeller, Cottons Centre, Cottons Lane, London, SE1 2QG, United Kingdom.
15
+ """
16
+
17
+ parameter_options = {
18
+ "name": {
19
+ "type": "string-length",
20
+ "max_length": 12,
21
+ },
22
+ "timeunit": {
23
+ "type": "type-value-match",
24
+ "options": (
25
+ (float, int),
26
+ [
27
+ "SECONDS",
28
+ "MINUTES",
29
+ "HOURS",
30
+ "DAYS",
31
+ "WEEKS",
32
+ "FORTNIGHTS",
33
+ "MONTHS",
34
+ "MONTH",
35
+ "LUNAR MONTHS",
36
+ "QUARTERS",
37
+ "YEARS",
38
+ "DECADES",
39
+ "DATES",
40
+ "MULTIPLIER",
41
+ ],
42
+ ),
43
+ },
44
+ "timeoffset": {
45
+ "type": "type-match",
46
+ "options": (float, int),
47
+ },
48
+ "timedatamultiplier": {
49
+ "type": "type-match",
50
+ "options": (float, int),
51
+ },
52
+ "flowmultiplier": {
53
+ "type": "type-match",
54
+ "options": (float, int),
55
+ },
56
+ "minflow": {
57
+ "type": "type-match",
58
+ "options": (float, int),
59
+ },
60
+ "extendmethod": {
61
+ "type": "value-match",
62
+ "options": ["EXTEND", "NOEXTEND", "REPEAT"],
63
+ },
64
+ "interpmethod": {
65
+ "type": "value-match",
66
+ "options": ["LINEAR", "SPLINE"],
67
+ },
68
+ "ds_label": {
69
+ "type": "string-length",
70
+ "max_length": 12,
71
+ },
72
+ "us_reference_label": {
73
+ "type": "string-length",
74
+ "max_length": 12,
75
+ },
76
+ "ds_reference_label": {
77
+ "type": "string-length",
78
+ "max_length": 12,
79
+ },
80
+ "constriction_label": {
81
+ "type": "string-length",
82
+ "max_length": 12,
83
+ },
84
+ "spill": {
85
+ "type": "string-length",
86
+ "max_length": 12,
87
+ },
88
+ "spill1": {
89
+ "type": "string-length",
90
+ "max_length": 12,
91
+ },
92
+ "spill2": {
93
+ "type": "string-length",
94
+ "max_length": 12,
95
+ },
96
+ "lat1": {
97
+ "type": "string-length",
98
+ "max_length": 12,
99
+ },
100
+ "lat2": {
101
+ "type": "string-length",
102
+ "max_length": 12,
103
+ },
104
+ "lat3": {
105
+ "type": "string-length",
106
+ "max_length": 12,
107
+ },
108
+ "lat4": {
109
+ "type": "string-length",
110
+ "max_length": 12,
111
+ },
112
+ "dist_to_next": {
113
+ "type": "type-match",
114
+ "options": (float, int),
115
+ },
116
+ "slope": {
117
+ "type": "type-match",
118
+ "options": (float, int),
119
+ },
120
+ "density": {
121
+ "type": "type-match",
122
+ "options": (float, int),
123
+ },
124
+ "remote_label": {
125
+ "type": "string-length",
126
+ "max_length": 12,
127
+ },
128
+ "us_remote_label": {
129
+ "type": "string-length",
130
+ "max_length": 12,
131
+ },
132
+ "ds_remote_label": {
133
+ "type": "string-length",
134
+ "max_length": 12,
135
+ },
136
+ "br_type": {
137
+ "type": "value-match",
138
+ "options": ["ARCH", "USBPR1978", "PIERLOSS"],
139
+ },
140
+ "calibration_coefficient": {
141
+ "type": "type-match",
142
+ "options": (float, int),
143
+ },
144
+ "skew": {
145
+ "type": "type-match",
146
+ "options": (float, int),
147
+ },
148
+ "bridge_width_dual": {
149
+ "type": "type-match",
150
+ "options": (float, int),
151
+ },
152
+ "bridge_dist_dual": {
153
+ "type": "type-match",
154
+ "options": (float, int),
155
+ },
156
+ "orifice_lower_transition_dist": {
157
+ "type": "type-match",
158
+ "options": (float, int),
159
+ },
160
+ "orifice_upper_transition_dist": {
161
+ "type": "type-match",
162
+ "options": (float, int),
163
+ },
164
+ "orifice_discharge_coefficient": {
165
+ "type": "type-match",
166
+ "options": (float, int),
167
+ },
168
+ "orifice_flow": {
169
+ "type": "type-match",
170
+ "options": (bool),
171
+ },
172
+ "specify_piers": {
173
+ "type": "type-match",
174
+ "options": (bool),
175
+ },
176
+ "abutment_type": {
177
+ "type": "value-match",
178
+ "options": ["3", "2", "1", 3, 2, 1],
179
+ },
180
+ "abutment_alignment": {
181
+ "type": "value-match",
182
+ "options": ["ALIGNED", "SKEW"],
183
+ },
184
+ "total_pier_width": {
185
+ "type": "type-match",
186
+ "options": (float, int),
187
+ },
188
+ "npiers": {
189
+ "type": "type-match",
190
+ "options": (int),
191
+ },
192
+ "pier_use_calibration_coeff": {
193
+ "type": "type-match",
194
+ "options": (bool),
195
+ },
196
+ "pier_calibration_coeff": {
197
+ "type": "type-match",
198
+ "options": (float, int),
199
+ },
200
+ "pier_shape": {
201
+ "type": "value-match",
202
+ "options": ["RECTANGLE", "CYLINDER", "SQUARE", "I-BEAM"],
203
+ },
204
+ # Pier_faces is an optional parameters
205
+ "pier_faces": {
206
+ "type": "value-match",
207
+ "options": ["", "STREAMLINE", "SEMICIRCLE", "TRIANGLE", "DIAPHRAGM"],
208
+ },
209
+ "soffit_shape": {
210
+ "type": "value-match",
211
+ "options": ["FLAT", "ARCH"],
212
+ },
213
+ "c_type": {
214
+ "type": "value-match",
215
+ "options": ["RECTANGULAR", "CIRCULAR"],
216
+ },
217
+ "friction_eq": {
218
+ "type": "value-match",
219
+ "options": ["MANNING", "COLEBROOK-WHITE"],
220
+ },
221
+ "invert": {
222
+ "type": "type-match",
223
+ "options": (float, int),
224
+ },
225
+ "diameter": {
226
+ "type": "type-match",
227
+ "options": (float, int),
228
+ },
229
+ "width": {
230
+ "type": "type-match",
231
+ "options": (float, int),
232
+ },
233
+ "height": {
234
+ "type": "type-match",
235
+ "options": (float, int),
236
+ },
237
+ "bottom_slot_dist": {
238
+ "type": "type-match",
239
+ "options": (float, int),
240
+ },
241
+ "bottom_slot_depth": {
242
+ "type": "type-match",
243
+ "options": (float, int),
244
+ },
245
+ "top_slot_dist": {
246
+ "type": "type-match",
247
+ "options": (float, int),
248
+ },
249
+ "top_slot_depth": {
250
+ "type": "type-match",
251
+ "options": (float, int),
252
+ },
253
+ "friction_below_axis": {
254
+ "type": "type-match",
255
+ "options": (float, int),
256
+ },
257
+ "friction_above_axis": {
258
+ "type": "type-match",
259
+ "options": (float, int),
260
+ },
261
+ "use_bottom_slot": {
262
+ "type": "value-match",
263
+ "options": ["ON", "OFF", "GLOBAL"],
264
+ },
265
+ "use_top_slot": {
266
+ "type": "value-match",
267
+ "options": ["ON", "OFF", "GLOBAL"],
268
+ },
269
+ "friction_on_invert": {
270
+ "type": "type-match",
271
+ "options": (float, int),
272
+ },
273
+ "friction_on_walls": {
274
+ "type": "type-match",
275
+ "options": (float, int),
276
+ },
277
+ "friction_on_soffit": {
278
+ "type": "type-match",
279
+ "options": (float, int),
280
+ },
281
+ "equation": {
282
+ "type": "type-match",
283
+ "options": (str),
284
+ },
285
+ "elevation_invert": {
286
+ "type": "type-match",
287
+ "options": (float, int),
288
+ },
289
+ "height_springing": {
290
+ "type": "type-match",
291
+ "options": (float, int),
292
+ },
293
+ "height_crown": {
294
+ "type": "type-match",
295
+ "options": (float, int),
296
+ },
297
+ "easting": {
298
+ "type": "type-match",
299
+ "options": (float, int),
300
+ },
301
+ "northing": {
302
+ "type": "type-match",
303
+ "options": (float, int),
304
+ },
305
+ "time_delay": {
306
+ "type": "type-match",
307
+ "options": (float, int),
308
+ },
309
+ "timestep": {
310
+ "type": "type-match",
311
+ "options": (float, int),
312
+ },
313
+ "scale_value": {
314
+ "type": "type-match",
315
+ "options": (float, int),
316
+ },
317
+ "sim_type": {
318
+ "type": "value-match",
319
+ "options": ["", "FULL", "PFONLY", "BFONLY"],
320
+ },
321
+ "scale_method": {
322
+ "type": "value-match",
323
+ "options": ["PEAKVALUE", "SCALEFACT"],
324
+ },
325
+ "boundary_type": {
326
+ "type": "value-match",
327
+ "options": ["HYDROGRAPH", "HYETOGRAPH"],
328
+ },
329
+ "scale_type": {
330
+ "type": "value-match",
331
+ "options": ["FULL", "RUNOFF"],
332
+ },
333
+ "allow_override": {
334
+ "type": "value-match",
335
+ "options": ["", "OVERRIDE", "NOOVERRIDE"],
336
+ },
337
+ "area": {
338
+ "type": "type-match",
339
+ "options": (float, int),
340
+ },
341
+ "urbext": {
342
+ "type": "type-match",
343
+ "options": (float),
344
+ },
345
+ "saar": {
346
+ "type": "type-match",
347
+ "options": (float, int),
348
+ },
349
+ "season": {
350
+ "type": "value-match",
351
+ "options": ["DEFAULT", "SUMMER", "WINTER"],
352
+ },
353
+ "calc_source": {
354
+ "type": "value-match",
355
+ "options": ["DLL", "REPORT"],
356
+ },
357
+ "storm_area": {
358
+ "type": "type-match",
359
+ "options": (float, int),
360
+ },
361
+ "storm_duration": {
362
+ "type": "type-match",
363
+ "options": (float, int),
364
+ },
365
+ "arf_method": {
366
+ "type": "value-match",
367
+ "options": ["USER", "DESIGN"],
368
+ },
369
+ "observed_rainfall_depth": {
370
+ "type": "type-match",
371
+ "options": (float, int),
372
+ },
373
+ "return_period": {
374
+ "type": "type-match",
375
+ "options": (float, int),
376
+ },
377
+ "arf": {
378
+ "type": "type-match",
379
+ "options": (float, int),
380
+ },
381
+ "ddf_c": {
382
+ "type": "type-match",
383
+ "options": (float, int),
384
+ },
385
+ "ddf_d1": {
386
+ "type": "type-match",
387
+ "options": (float, int),
388
+ },
389
+ "ddf_d2": {
390
+ "type": "type-match",
391
+ "options": (float, int),
392
+ },
393
+ "ddf_d3": {
394
+ "type": "type-match",
395
+ "options": (float, int),
396
+ },
397
+ "ddf_e": {
398
+ "type": "type-match",
399
+ "options": (float, int),
400
+ },
401
+ "ddf_f": {
402
+ "type": "type-match",
403
+ "options": (float, int),
404
+ },
405
+ "weir_flow_coefficient": {
406
+ "type": "value-range",
407
+ "options": (0.4, 3.0),
408
+ },
409
+ "under_gate_flow": {
410
+ "type": "value-range",
411
+ "options": (0.4, 3.0),
412
+ },
413
+ "over_gate_flow": {
414
+ "type": "value-range",
415
+ "options": (0.4, 3.0),
416
+ },
417
+ "weir_breadth": {
418
+ "type": "type-match",
419
+ "options": (float, int),
420
+ },
421
+ "crest_elevation": {
422
+ "type": "type-match",
423
+ "options": (float, int),
424
+ },
425
+ "gate_height_or_chord": {
426
+ "type": "type-match",
427
+ "options": (float, int),
428
+ },
429
+ "weir_length": {
430
+ "type": "type-match",
431
+ "options": (float, int),
432
+ },
433
+ "us_weir_height": {
434
+ "type": "type-match",
435
+ "options": (float, int),
436
+ },
437
+ "ds_weir_height": {
438
+ "type": "type-match",
439
+ "options": (float, int),
440
+ },
441
+ "discharge_coefficeient": {
442
+ "type": "type-match",
443
+ "options": (float, int),
444
+ },
445
+ "exponent": {
446
+ "type": "type-match",
447
+ "options": (float, int),
448
+ },
449
+ "bias_factor": {
450
+ "type": "type-match",
451
+ "options": (float, int),
452
+ },
453
+ "modular_limits": {
454
+ "type": "dict-match",
455
+ "options": {
456
+ "weir_flow": {
457
+ "type": "value-range",
458
+ "options": (0.0, 1.0),
459
+ },
460
+ "under_gate_flow": {
461
+ "type": "value-range",
462
+ "options": (0.0, 1.0),
463
+ },
464
+ "over_gate_flow": {
465
+ "type": "value-range",
466
+ "options": (0.0, 1.0),
467
+ },
468
+ },
469
+ },
470
+ "ngates": {
471
+ "type": "type-match",
472
+ "options": (int),
473
+ },
474
+ "rules": {
475
+ "type": "list-dict-match",
476
+ "options": {
477
+ "name": {
478
+ "type": "type-match",
479
+ "options": (str),
480
+ },
481
+ "logic": {
482
+ "type": "end-value-match",
483
+ "options": ["END", "ENDIF"],
484
+ },
485
+ },
486
+ },
487
+ "varrules": {
488
+ "type": "list-dict-match",
489
+ "options": {
490
+ "name": {
491
+ "type": "type-match",
492
+ "options": (str),
493
+ },
494
+ "logic": {
495
+ "type": "end-value-match",
496
+ "options": ["END", "ENDIF"],
497
+ },
498
+ },
499
+ },
500
+ "use_degrees": {
501
+ "type": "type-match",
502
+ "options": (bool),
503
+ },
504
+ "allow_free_flow_under": {
505
+ "type": "type-match",
506
+ "options": (bool),
507
+ },
508
+ "pivot_height": {
509
+ "type": "type-match",
510
+ "options": (float, int),
511
+ },
512
+ "gate_radius": {
513
+ "type": "type-match",
514
+ "options": (float, int),
515
+ },
516
+ "flapped": {
517
+ "type": "type-match",
518
+ "options": (bool),
519
+ },
520
+ "soffit": {
521
+ "type": "type-match",
522
+ "options": (float, int),
523
+ },
524
+ "bore_area": {
525
+ "type": "type-match",
526
+ "options": (float, int),
527
+ },
528
+ "upstream_sill": {
529
+ "type": "type-match",
530
+ "options": (float, int),
531
+ },
532
+ "downstream_sill": {
533
+ "type": "type-match",
534
+ "options": (float, int),
535
+ },
536
+ "weir_flow": {
537
+ "type": "type-match",
538
+ "options": (float, int),
539
+ },
540
+ "surcharged_flow": {
541
+ "type": "type-match",
542
+ "options": (float, int),
543
+ },
544
+ "modular_limit": {
545
+ "type": "type-match",
546
+ "options": (float, int),
547
+ },
548
+ "shape": {
549
+ "type": "value-match",
550
+ "options": ["RECTANGLE", "CIRCULAR"],
551
+ },
552
+ "weir_coefficient": {
553
+ "type": "type-match",
554
+ "options": (float, int),
555
+ },
556
+ "inlet_loss": {
557
+ "type": "type-match",
558
+ "options": (float, int),
559
+ },
560
+ "outlet_loss": {
561
+ "type": "type-match",
562
+ "options": (float, int),
563
+ },
564
+ "loss_coefficient": {
565
+ "type": "type-match",
566
+ "options": (float, int),
567
+ },
568
+ "headloss_type": {
569
+ "type": "value-match",
570
+ "options": ["TOTAL", "STATIC"],
571
+ },
572
+ "reverse_flow_mode": {
573
+ "type": "value-match",
574
+ "options": [0, "CALCULATED", "ZERO"],
575
+ },
576
+ "type_code": {
577
+ "type": "value-match",
578
+ "options": ["A", "B", "C"],
579
+ },
580
+ "k": {
581
+ "type": "type-match",
582
+ "options": (float, int),
583
+ },
584
+ "m": {
585
+ "type": "type-match",
586
+ "options": (float, int),
587
+ },
588
+ "c": {
589
+ "type": "type-match",
590
+ "options": (float, int),
591
+ },
592
+ "y": {
593
+ "type": "type-match",
594
+ "options": (float, int),
595
+ },
596
+ "ki": {
597
+ "type": "type-match",
598
+ "options": (float, int),
599
+ },
600
+ "screen_width": {
601
+ "type": "type-match",
602
+ "options": (float, int),
603
+ },
604
+ "bar_proportion": {
605
+ "type": "value-range",
606
+ "options": (0.0, 1.0),
607
+ },
608
+ "debris_proportion": {
609
+ "type": "value-range",
610
+ "options": (0.0, 1.0),
611
+ },
612
+ "velocity_coefficient": {
613
+ "type": "type-match",
614
+ "options": (float, int),
615
+ },
616
+ "weir_elevation": {
617
+ "type": "type-match",
618
+ "options": (float, int),
619
+ },
620
+ "upstream_crest_height": {
621
+ "type": "type-match",
622
+ "options": (float, int),
623
+ },
624
+ "downstream_crest_height": {
625
+ "type": "type-match",
626
+ "options": (float, int),
627
+ },
628
+ "coriolis_coefficient": {
629
+ "type": "type-match",
630
+ "options": (float, int),
631
+ },
632
+ "v_slope": {
633
+ "type": "type-match",
634
+ "options": (float, int),
635
+ },
636
+ "side_slope": {
637
+ "type": "type-match",
638
+ "options": (float, int),
639
+ },
640
+ "ds_face_slope": {
641
+ "type": "value-match",
642
+ "options": [2, 5],
643
+ },
644
+ "bank_top_elevation": {
645
+ "type": "type-match",
646
+ "options": (float, int),
647
+ },
648
+ "num_pairs": {
649
+ "type": "type-match",
650
+ "options": (float, int),
651
+ },
652
+ "runoff_factor": {
653
+ "type": "type-match",
654
+ "options": (float, int),
655
+ },
656
+ "bed_level_drop": {
657
+ "type": "type-match",
658
+ "options": (float, int),
659
+ },
660
+ }