forked from Riverscapes/pyBRAT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBDWS.pyt
118 lines (99 loc) · 3.81 KB
/
BDWS.pyt
1
2
3
4
5
6
7
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
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import arcpy
import bdwsRun
class Toolbox(object):
def __init__(self):
"""Define the toolbox (the name of the toolbox is the name of the
.pyt file)."""
self.label = "BDWS Toolbox"
self.alias = ""
# List of tool classes associated with this toolbox
self.tools = [BDWS_Run]
class BDWS_Run(object):
def __init__(self):
"""Define the tool (tool name is the name of the class)."""
self.label = "BDWS"
self.description = "Beaver Dam Water Storage (BDWS) is a collection of Python classes for estimating surface water and groundwater stored by beaver dams."
self.canRunInBackground = False
def getParameterInfo(self):
"""Define parameter definitions"""
param0 = arcpy.Parameter(
displayName="Select project folder",
name="projPath",
datatype="DEFolder",
parameterType="Required",
direction="Input")
param1 = arcpy.Parameter(
displayName="Select BRAT output",
name="in_network",
datatype="DEFeatureClass",
parameterType="Required",
direction="Input")
param1.filter.list = ["Polyline"]
param2 = arcpy.Parameter(
displayName="Select DEM inputs",
name="dem",
datatype="DERasterDataset",
parameterType="Required",
direction="Input")
param3 = arcpy.Parameter(
displayName="Input drainage area raster",
name="FlowAcc",
datatype="DERasterDataset",
parameterType="Required",
direction="Input")
param4 = arcpy.Parameter(
displayName="Input flow direction raster",
name="FlowDir",
datatype="DERasterDataset",
parameterType="Required",
direction="Input")
param5 = arcpy.Parameter(
displayName="Input Horizontal KFN",
name="horizontalKFN",
datatype="DERasterDataset",
parameterType="Optional",
direction="Input")
param6 = arcpy.Parameter(
displayName="Input Vertical KFN",
name="verticalKFN",
datatype="DERasterDataset",
parameterType="Optional",
direction="Input")
param7 = arcpy.Parameter(
displayName="Input Field Capacity Raster",
name="fieldCapacity",
datatype="DERasterDataset",
parameterType="Optional",
direction="Input")
param8 = arcpy.Parameter(
displayName="Modflow .exe file",
name="modflowexe",
datatype="DEFile",
parameterType="Optional",
direction="Input")
return [param0, param1, param2, param3, param4, param5, param6, param7, param8]
def isLicensed(self):
"""Set whether the tool is licensed to execute."""
return True
def updateParameters(self, parameters):
"""Modify the values and properties of parameters before internal
validation is performed. This method is called whenever a parameter
has been changed."""
return
def updateMessages(self, parameters):
"""Modify the messages created by internal validation for each tool
parameter. This method is called after internal validation."""
return
def execute(self, p, messages):
"""The source code of the tool."""
reload(bdwsRun)
bdwsRun.main(p[0].valueAsText,
p[1].valueAsText,
p[2].valueAsText,
p[3].valueAsText,
p[4].valueAsText,
p[5].valueAsText,
p[6].valueAsText,
p[7].valueAsText,
p[8].valueAsText)
return