floodmodeller-api 0.4.2.post1__py3-none-any.whl → 0.4.4__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.
- floodmodeller_api/__init__.py +8 -9
- floodmodeller_api/_base.py +169 -176
- floodmodeller_api/backup.py +273 -273
- floodmodeller_api/dat.py +889 -831
- floodmodeller_api/diff.py +136 -119
- floodmodeller_api/ied.py +302 -306
- floodmodeller_api/ief.py +553 -637
- floodmodeller_api/ief_flags.py +253 -253
- floodmodeller_api/inp.py +260 -266
- floodmodeller_api/libs/libifcoremd.dll +0 -0
- floodmodeller_api/libs/libifcoremt.so.5 +0 -0
- floodmodeller_api/libs/libifport.so.5 +0 -0
- floodmodeller_api/{libmmd.dll → libs/libimf.so} +0 -0
- floodmodeller_api/libs/libintlc.so.5 +0 -0
- floodmodeller_api/libs/libmmd.dll +0 -0
- floodmodeller_api/libs/libsvml.so +0 -0
- floodmodeller_api/libs/libzzn_read.so +0 -0
- floodmodeller_api/libs/zzn_read.dll +0 -0
- floodmodeller_api/logs/__init__.py +2 -2
- floodmodeller_api/logs/lf.py +364 -312
- floodmodeller_api/logs/lf_helpers.py +354 -352
- floodmodeller_api/logs/lf_params.py +643 -529
- floodmodeller_api/mapping.py +84 -0
- floodmodeller_api/test/__init__.py +4 -4
- floodmodeller_api/test/conftest.py +16 -8
- floodmodeller_api/test/test_backup.py +117 -117
- floodmodeller_api/test/test_conveyance.py +107 -0
- floodmodeller_api/test/test_dat.py +222 -92
- floodmodeller_api/test/test_data/All Units 4_6.DAT +1081 -1081
- floodmodeller_api/test/test_data/All Units 4_6.feb +1081 -1081
- floodmodeller_api/test/test_data/BRIDGE.DAT +926 -926
- floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.dat +36 -36
- floodmodeller_api/test/test_data/Culvert_Inlet_Outlet.feb +36 -36
- floodmodeller_api/test/test_data/DamBreakADI.xml +52 -52
- floodmodeller_api/test/test_data/DamBreakFAST.xml +58 -58
- floodmodeller_api/test/test_data/DamBreakFAST_dy.xml +53 -53
- floodmodeller_api/test/test_data/DamBreakTVD.xml +55 -55
- floodmodeller_api/test/test_data/DefenceBreach.xml +53 -53
- floodmodeller_api/test/test_data/DefenceBreachFAST.xml +60 -60
- floodmodeller_api/test/test_data/DefenceBreachFAST_dy.xml +55 -55
- floodmodeller_api/test/test_data/Domain1+2_QH.xml +76 -76
- floodmodeller_api/test/test_data/Domain1_H.xml +41 -41
- floodmodeller_api/test/test_data/Domain1_Q.xml +41 -41
- floodmodeller_api/test/test_data/Domain1_Q_FAST.xml +48 -48
- floodmodeller_api/test/test_data/Domain1_Q_FAST_dy.xml +48 -48
- floodmodeller_api/test/test_data/Domain1_Q_xml_expected.json +263 -0
- floodmodeller_api/test/test_data/Domain1_W.xml +41 -41
- floodmodeller_api/test/test_data/EX1.DAT +321 -321
- floodmodeller_api/test/test_data/EX1.ext +107 -107
- floodmodeller_api/test/test_data/EX1.feb +320 -320
- floodmodeller_api/test/test_data/EX1.gxy +107 -107
- floodmodeller_api/test/test_data/EX17.DAT +421 -422
- floodmodeller_api/test/test_data/EX17.ext +213 -213
- floodmodeller_api/test/test_data/EX17.feb +422 -422
- floodmodeller_api/test/test_data/EX18.DAT +375 -375
- floodmodeller_api/test/test_data/EX18_DAT_expected.json +3876 -0
- floodmodeller_api/test/test_data/EX2.DAT +302 -302
- floodmodeller_api/test/test_data/EX3.DAT +926 -926
- floodmodeller_api/test/test_data/EX3_DAT_expected.json +16235 -0
- floodmodeller_api/test/test_data/EX3_IEF_expected.json +61 -0
- floodmodeller_api/test/test_data/EX6.DAT +2084 -2084
- floodmodeller_api/test/test_data/EX6.ext +532 -532
- floodmodeller_api/test/test_data/EX6.feb +2084 -2084
- floodmodeller_api/test/test_data/EX6_DAT_expected.json +31647 -0
- floodmodeller_api/test/test_data/Event Data Example.DAT +336 -336
- floodmodeller_api/test/test_data/Event Data Example.ext +107 -107
- floodmodeller_api/test/test_data/Event Data Example.feb +336 -336
- floodmodeller_api/test/test_data/Linked1D2D.xml +52 -52
- floodmodeller_api/test/test_data/Linked1D2DFAST.xml +53 -53
- floodmodeller_api/test/test_data/Linked1D2DFAST_dy.xml +48 -48
- floodmodeller_api/test/test_data/Linked1D2D_xml_expected.json +313 -0
- floodmodeller_api/test/test_data/blockage.dat +50 -50
- floodmodeller_api/test/test_data/blockage.ext +45 -45
- floodmodeller_api/test/test_data/blockage.feb +9 -9
- floodmodeller_api/test/test_data/blockage.gxy +71 -71
- floodmodeller_api/test/test_data/conveyance_test.dat +165 -0
- floodmodeller_api/test/test_data/conveyance_test.feb +116 -0
- floodmodeller_api/test/test_data/conveyance_test.gxy +85 -0
- floodmodeller_api/test/test_data/defaultUnits.dat +127 -127
- floodmodeller_api/test/test_data/defaultUnits.ext +45 -45
- floodmodeller_api/test/test_data/defaultUnits.feb +9 -9
- floodmodeller_api/test/test_data/defaultUnits.fmpx +58 -58
- floodmodeller_api/test/test_data/defaultUnits.gxy +85 -85
- floodmodeller_api/test/test_data/ex3.ief +20 -20
- floodmodeller_api/test/test_data/ex3.lf1 +2800 -2800
- floodmodeller_api/test/test_data/ex4.DAT +1374 -1374
- floodmodeller_api/test/test_data/ex4_changed.DAT +1374 -1374
- floodmodeller_api/test/test_data/example1.inp +329 -329
- floodmodeller_api/test/test_data/example2.inp +158 -158
- floodmodeller_api/test/test_data/example3.inp +297 -297
- floodmodeller_api/test/test_data/example4.inp +388 -388
- floodmodeller_api/test/test_data/example5.inp +147 -147
- floodmodeller_api/test/test_data/example6.inp +154 -154
- floodmodeller_api/test/test_data/expected_conveyance.csv +60 -0
- floodmodeller_api/test/test_data/jump.dat +176 -176
- floodmodeller_api/test/test_data/network.dat +1374 -1374
- floodmodeller_api/test/test_data/network.ext +45 -45
- floodmodeller_api/test/test_data/network.exy +1 -1
- floodmodeller_api/test/test_data/network.feb +45 -45
- floodmodeller_api/test/test_data/network.ied +45 -45
- floodmodeller_api/test/test_data/network.ief +20 -20
- floodmodeller_api/test/test_data/network.inp +147 -147
- floodmodeller_api/test/test_data/network.pxy +57 -57
- floodmodeller_api/test/test_data/network.zzd +122 -122
- floodmodeller_api/test/test_data/network_dat_expected.json +21837 -0
- floodmodeller_api/test/test_data/network_from_tabularCSV.csv +87 -87
- floodmodeller_api/test/test_data/network_ied_expected.json +287 -0
- floodmodeller_api/test/test_data/rnweir.dat +9 -9
- floodmodeller_api/test/test_data/rnweir.ext +45 -45
- floodmodeller_api/test/test_data/rnweir.feb +9 -9
- floodmodeller_api/test/test_data/rnweir.gxy +45 -45
- floodmodeller_api/test/test_data/rnweir_default.dat +74 -74
- floodmodeller_api/test/test_data/rnweir_default.ext +45 -45
- floodmodeller_api/test/test_data/rnweir_default.feb +9 -9
- floodmodeller_api/test/test_data/rnweir_default.fmpx +58 -58
- floodmodeller_api/test/test_data/rnweir_default.gxy +53 -53
- floodmodeller_api/test/test_data/unit checks.dat +16 -16
- floodmodeller_api/test/test_ied.py +29 -29
- floodmodeller_api/test/test_ief.py +136 -24
- floodmodeller_api/test/test_inp.py +47 -48
- floodmodeller_api/test/test_json.py +114 -0
- floodmodeller_api/test/test_logs_lf.py +102 -51
- floodmodeller_api/test/test_tool.py +165 -152
- floodmodeller_api/test/test_toolbox_structure_log.py +234 -239
- floodmodeller_api/test/test_xml2d.py +151 -156
- floodmodeller_api/test/test_zzn.py +36 -34
- floodmodeller_api/to_from_json.py +230 -0
- floodmodeller_api/tool.py +332 -329
- floodmodeller_api/toolbox/__init__.py +5 -5
- floodmodeller_api/toolbox/example_tool.py +45 -45
- floodmodeller_api/toolbox/model_build/__init__.py +2 -2
- floodmodeller_api/toolbox/model_build/add_siltation_definition.py +100 -98
- floodmodeller_api/toolbox/model_build/structure_log/__init__.py +1 -1
- floodmodeller_api/toolbox/model_build/structure_log/structure_log.py +287 -289
- floodmodeller_api/toolbox/model_build/structure_log_definition.py +76 -76
- floodmodeller_api/units/__init__.py +10 -10
- floodmodeller_api/units/_base.py +214 -212
- floodmodeller_api/units/boundaries.py +467 -467
- floodmodeller_api/units/comment.py +52 -55
- floodmodeller_api/units/conduits.py +382 -402
- floodmodeller_api/units/conveyance.py +301 -0
- floodmodeller_api/units/helpers.py +123 -131
- floodmodeller_api/units/iic.py +107 -101
- floodmodeller_api/units/losses.py +305 -306
- floodmodeller_api/units/sections.py +465 -446
- floodmodeller_api/units/structures.py +1690 -1683
- floodmodeller_api/units/units.py +93 -104
- floodmodeller_api/units/unsupported.py +44 -44
- floodmodeller_api/units/variables.py +87 -89
- floodmodeller_api/urban1d/__init__.py +11 -11
- floodmodeller_api/urban1d/_base.py +188 -179
- floodmodeller_api/urban1d/conduits.py +93 -85
- floodmodeller_api/urban1d/general_parameters.py +58 -58
- floodmodeller_api/urban1d/junctions.py +81 -79
- floodmodeller_api/urban1d/losses.py +81 -74
- floodmodeller_api/urban1d/outfalls.py +114 -110
- floodmodeller_api/urban1d/raingauges.py +111 -111
- floodmodeller_api/urban1d/subsections.py +92 -98
- floodmodeller_api/urban1d/xsections.py +147 -144
- floodmodeller_api/util.py +119 -21
- floodmodeller_api/validation/parameters.py +660 -660
- floodmodeller_api/validation/urban_parameters.py +388 -404
- floodmodeller_api/validation/validation.py +110 -108
- floodmodeller_api/version.py +1 -1
- floodmodeller_api/xml2d.py +632 -673
- floodmodeller_api/xml2d_template.py +37 -37
- floodmodeller_api/zzn.py +414 -363
- {floodmodeller_api-0.4.2.post1.dist-info → floodmodeller_api-0.4.4.dist-info}/LICENSE.txt +13 -13
- {floodmodeller_api-0.4.2.post1.dist-info → floodmodeller_api-0.4.4.dist-info}/METADATA +85 -82
- floodmodeller_api-0.4.4.dist-info/RECORD +185 -0
- {floodmodeller_api-0.4.2.post1.dist-info → floodmodeller_api-0.4.4.dist-info}/WHEEL +1 -1
- floodmodeller_api/libifcoremd.dll +0 -0
- floodmodeller_api/test/test_data/EX3.bmp +0 -0
- floodmodeller_api/test/test_data/test_output.csv +0 -87
- floodmodeller_api/zzn_read.dll +0 -0
- floodmodeller_api-0.4.2.post1.dist-info/RECORD +0 -164
- {floodmodeller_api-0.4.2.post1.dist-info → floodmodeller_api-0.4.4.dist-info}/entry_points.txt +0 -0
- {floodmodeller_api-0.4.2.post1.dist-info → floodmodeller_api-0.4.4.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from .model_build import AddSiltation, StructureLog
|
|
2
|
-
|
|
3
|
-
# from .visualisation import ...
|
|
4
|
-
# from .model_review import ...
|
|
5
|
-
# from .results_analysis import ...
|
|
1
|
+
from .model_build import AddSiltation, StructureLog
|
|
2
|
+
|
|
3
|
+
# from .visualisation import ...
|
|
4
|
+
# from .model_review import ...
|
|
5
|
+
# from .results_analysis import ...
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# Import the FMTool and Parameter classes to define the tool and parameters
|
|
2
|
-
from floodmodeller_api.tool import FMTool, Parameter
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
# ------ Define function ----- #
|
|
6
|
-
# This is the funciton that should be run by the tool.
|
|
7
|
-
# In this case it is just a simple sum function but you can
|
|
8
|
-
# substitute any function in here.
|
|
9
|
-
def my_sum(a: float, b: float):
|
|
10
|
-
ab = a + b
|
|
11
|
-
print(ab)
|
|
12
|
-
return ab
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# ------ Create the Tool ------ #
|
|
16
|
-
class SumTool(FMTool):
|
|
17
|
-
# Define the name (required):
|
|
18
|
-
name = "Sum tool"
|
|
19
|
-
# Add the tool description (required)
|
|
20
|
-
description = "A basic tool to add two numbers together"
|
|
21
|
-
# Add the parameters (one per function argument):
|
|
22
|
-
parameters = [
|
|
23
|
-
# Add parameters using the Parameter class
|
|
24
|
-
Parameter(
|
|
25
|
-
name="a",
|
|
26
|
-
dtype=float,
|
|
27
|
-
description="the first number",
|
|
28
|
-
help_text="",
|
|
29
|
-
required=True,
|
|
30
|
-
),
|
|
31
|
-
Parameter(
|
|
32
|
-
name="b",
|
|
33
|
-
dtype=float,
|
|
34
|
-
description="the second number",
|
|
35
|
-
help_text="",
|
|
36
|
-
required=True,
|
|
37
|
-
),
|
|
38
|
-
]
|
|
39
|
-
# Add the function to run
|
|
40
|
-
tool_function = my_sum
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if __name__ == "__main__":
|
|
44
|
-
tool = SumTool()
|
|
45
|
-
tool.run_from_command_line()
|
|
1
|
+
# Import the FMTool and Parameter classes to define the tool and parameters
|
|
2
|
+
from floodmodeller_api.tool import FMTool, Parameter
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
# ------ Define function ----- #
|
|
6
|
+
# This is the funciton that should be run by the tool.
|
|
7
|
+
# In this case it is just a simple sum function but you can
|
|
8
|
+
# substitute any function in here.
|
|
9
|
+
def my_sum(a: float, b: float):
|
|
10
|
+
ab = a + b
|
|
11
|
+
print(ab)
|
|
12
|
+
return ab
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# ------ Create the Tool ------ #
|
|
16
|
+
class SumTool(FMTool):
|
|
17
|
+
# Define the name (required):
|
|
18
|
+
name = "Sum tool"
|
|
19
|
+
# Add the tool description (required)
|
|
20
|
+
description = "A basic tool to add two numbers together"
|
|
21
|
+
# Add the parameters (one per function argument):
|
|
22
|
+
parameters = [
|
|
23
|
+
# Add parameters using the Parameter class
|
|
24
|
+
Parameter(
|
|
25
|
+
name="a",
|
|
26
|
+
dtype=float,
|
|
27
|
+
description="the first number",
|
|
28
|
+
help_text="",
|
|
29
|
+
required=True,
|
|
30
|
+
),
|
|
31
|
+
Parameter(
|
|
32
|
+
name="b",
|
|
33
|
+
dtype=float,
|
|
34
|
+
description="the second number",
|
|
35
|
+
help_text="",
|
|
36
|
+
required=True,
|
|
37
|
+
),
|
|
38
|
+
]
|
|
39
|
+
# Add the function to run
|
|
40
|
+
tool_function = my_sum
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
if __name__ == "__main__":
|
|
44
|
+
tool = SumTool()
|
|
45
|
+
tool.run_from_command_line()
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
from .add_siltation_definition import AddSiltation
|
|
2
|
-
from .structure_log_definition import StructureLog
|
|
1
|
+
from .add_siltation_definition import AddSiltation
|
|
2
|
+
from .structure_log_definition import StructureLog
|
|
@@ -1,98 +1,100 @@
|
|
|
1
|
-
""" This function allows you to raise the minimum bed level 300mm across all sections in a DAT file (i.e siltation) """
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
from floodmodeller_api
|
|
7
|
-
from floodmodeller_api.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
AddSiltation
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
1
|
+
""" This function allows you to raise the minimum bed level 300mm across all sections in a DAT file (i.e siltation) """
|
|
2
|
+
|
|
3
|
+
# Import modules
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from floodmodeller_api import DAT
|
|
7
|
+
from floodmodeller_api.tool import FMTool, Parameter
|
|
8
|
+
from floodmodeller_api.units import RIVER
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# Define the function
|
|
12
|
+
def raise_section_bed_levels(dat_input: Path, dat_output: Path, siltation: float):
|
|
13
|
+
dat = DAT(dat_input) # Initialise DAT class
|
|
14
|
+
|
|
15
|
+
for _, section in dat.sections.items(): # iterate through all river sections
|
|
16
|
+
if not isinstance(section, RIVER):
|
|
17
|
+
# Skip any non river type units (e.g. interpolates)
|
|
18
|
+
continue
|
|
19
|
+
df = section.data # get section data
|
|
20
|
+
min_elevation = df["Y"].min() # get minimum cross section elevation
|
|
21
|
+
raised_bed = min_elevation + siltation # define new lowest bed level
|
|
22
|
+
df.loc[
|
|
23
|
+
df["Y"] < raised_bed,
|
|
24
|
+
"Y",
|
|
25
|
+
] = raised_bed # Raise any levels lower than this to the new lowest level
|
|
26
|
+
|
|
27
|
+
dat.save(dat_output) # save updates
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# Wrap the FMTool class
|
|
31
|
+
class AddSiltation(FMTool):
|
|
32
|
+
"""
|
|
33
|
+
This tool allows you to add a set amount of siltation to raise the minimum bed levels of all
|
|
34
|
+
river sections in a DAT file
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
dat_input (str): Path to the input DAT file
|
|
38
|
+
siltation (float): Amount of siltation to raise beds (in meters)
|
|
39
|
+
dat_output (str): Path to the output DAT file
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
**Usage**
|
|
43
|
+
|
|
44
|
+
To use this tool, you can either run it from the command line:
|
|
45
|
+
|
|
46
|
+
.. code::
|
|
47
|
+
|
|
48
|
+
fmapi-add_siltation --dat_input "<dat file path>" --siltation 0.3 --dat_output "<dat file output path>"
|
|
49
|
+
|
|
50
|
+
Or as a gui:
|
|
51
|
+
|
|
52
|
+
.. code::
|
|
53
|
+
|
|
54
|
+
fmapi-add_siltation gui
|
|
55
|
+
|
|
56
|
+
Or you can use it from your code:
|
|
57
|
+
|
|
58
|
+
.. code:: python
|
|
59
|
+
|
|
60
|
+
from floodmodeller_api.toolbox import AddSiltation
|
|
61
|
+
|
|
62
|
+
AddSiltation.run(
|
|
63
|
+
dat_input="path/to/dat.dat",
|
|
64
|
+
siltation=0.3,
|
|
65
|
+
dat_output="path/to/output_dat.dat",
|
|
66
|
+
)
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
name = "Add Siltation"
|
|
70
|
+
description = (
|
|
71
|
+
"Tool to add a set amount of siltation to raise bed levels of river sections in a DAT file"
|
|
72
|
+
)
|
|
73
|
+
parameters = [
|
|
74
|
+
Parameter(
|
|
75
|
+
name="dat_input",
|
|
76
|
+
dtype=str,
|
|
77
|
+
description="Path to input DAT file",
|
|
78
|
+
help_text="Path to input DAT file",
|
|
79
|
+
required=True,
|
|
80
|
+
),
|
|
81
|
+
Parameter(
|
|
82
|
+
name="dat_output",
|
|
83
|
+
dtype=str,
|
|
84
|
+
description="Path to output DAT file",
|
|
85
|
+
help_text="Path to output DAT file",
|
|
86
|
+
required=True,
|
|
87
|
+
),
|
|
88
|
+
Parameter(
|
|
89
|
+
name="siltation",
|
|
90
|
+
dtype=float,
|
|
91
|
+
description="Amount of siltation to raise beds (in meters)",
|
|
92
|
+
help_text="Amount of siltation to raise beds (in meters)",
|
|
93
|
+
required=True,
|
|
94
|
+
),
|
|
95
|
+
]
|
|
96
|
+
tool_function = raise_section_bed_levels
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def main():
|
|
100
|
+
AddSiltation().run_from_command_line()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
from .structure_log import StructureLogBuilder
|
|
1
|
+
from .structure_log import StructureLogBuilder
|