@swmmrs/swmmrs 0.1.0
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.
- package/README.md +264 -0
- package/dist/README.md +264 -0
- package/dist/serial/README.md +264 -0
- package/dist/serial/swmmrs.d.ts +395 -0
- package/dist/serial/swmmrs.js +3169 -0
- package/dist/serial/swmmrs_bg.wasm +0 -0
- package/dist/snippets/swmmrs-parallel-5d1c71108133e81d/worker-pool/browser.js +98 -0
- package/dist/swmmrs.d.ts +422 -0
- package/dist/swmmrs.js +3330 -0
- package/dist/swmmrs_bg.wasm +0 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/lib/swmmrs/client.d.ts +11 -0
- package/lib/swmmrs/client.d.ts.map +1 -0
- package/lib/swmmrs/client.js +82 -0
- package/lib/swmmrs/client.js.map +1 -0
- package/lib/swmmrs/enums.d.ts +41 -0
- package/lib/swmmrs/enums.d.ts.map +1 -0
- package/lib/swmmrs/enums.js +2 -0
- package/lib/swmmrs/enums.js.map +1 -0
- package/lib/swmmrs/exceptions.d.ts +98 -0
- package/lib/swmmrs/exceptions.d.ts.map +1 -0
- package/lib/swmmrs/exceptions.js +86 -0
- package/lib/swmmrs/exceptions.js.map +1 -0
- package/lib/swmmrs/index.d.ts +27 -0
- package/lib/swmmrs/index.d.ts.map +1 -0
- package/lib/swmmrs/index.js +13 -0
- package/lib/swmmrs/index.js.map +1 -0
- package/lib/swmmrs/objects/amm.d.ts +114 -0
- package/lib/swmmrs/objects/amm.d.ts.map +1 -0
- package/lib/swmmrs/objects/amm.js +19 -0
- package/lib/swmmrs/objects/amm.js.map +1 -0
- package/lib/swmmrs/objects/collections.d.ts +109 -0
- package/lib/swmmrs/objects/collections.d.ts.map +1 -0
- package/lib/swmmrs/objects/collections.js +158 -0
- package/lib/swmmrs/objects/collections.js.map +1 -0
- package/lib/swmmrs/objects/definitions.d.ts +215 -0
- package/lib/swmmrs/objects/definitions.d.ts.map +1 -0
- package/lib/swmmrs/objects/definitions.js +69 -0
- package/lib/swmmrs/objects/definitions.js.map +1 -0
- package/lib/swmmrs/objects/lids.d.ts +446 -0
- package/lib/swmmrs/objects/lids.d.ts.map +1 -0
- package/lib/swmmrs/objects/lids.js +90 -0
- package/lib/swmmrs/objects/lids.js.map +1 -0
- package/lib/swmmrs/objects/links.d.ts +615 -0
- package/lib/swmmrs/objects/links.d.ts.map +1 -0
- package/lib/swmmrs/objects/links.js +90 -0
- package/lib/swmmrs/objects/links.js.map +1 -0
- package/lib/swmmrs/objects/nodes.d.ts +494 -0
- package/lib/swmmrs/objects/nodes.d.ts.map +1 -0
- package/lib/swmmrs/objects/nodes.js +147 -0
- package/lib/swmmrs/objects/nodes.js.map +1 -0
- package/lib/swmmrs/objects/options.d.ts +112 -0
- package/lib/swmmrs/objects/options.d.ts.map +1 -0
- package/lib/swmmrs/objects/options.js +27 -0
- package/lib/swmmrs/objects/options.js.map +1 -0
- package/lib/swmmrs/objects/rtk.d.ts +82 -0
- package/lib/swmmrs/objects/rtk.d.ts.map +1 -0
- package/lib/swmmrs/objects/rtk.js +19 -0
- package/lib/swmmrs/objects/rtk.js.map +1 -0
- package/lib/swmmrs/objects/subcatchments.d.ts +575 -0
- package/lib/swmmrs/objects/subcatchments.d.ts.map +1 -0
- package/lib/swmmrs/objects/subcatchments.js +243 -0
- package/lib/swmmrs/objects/subcatchments.js.map +1 -0
- package/lib/swmmrs/output.d.ts +412 -0
- package/lib/swmmrs/output.d.ts.map +1 -0
- package/lib/swmmrs/output.js +507 -0
- package/lib/swmmrs/output.js.map +1 -0
- package/lib/swmmrs/protocol.d.ts +80 -0
- package/lib/swmmrs/protocol.d.ts.map +1 -0
- package/lib/swmmrs/protocol.js +2 -0
- package/lib/swmmrs/protocol.js.map +1 -0
- package/lib/swmmrs/runtime.d.ts +22 -0
- package/lib/swmmrs/runtime.d.ts.map +1 -0
- package/lib/swmmrs/runtime.js +146 -0
- package/lib/swmmrs/runtime.js.map +1 -0
- package/lib/swmmrs/scenarios.d.ts +41 -0
- package/lib/swmmrs/scenarios.d.ts.map +1 -0
- package/lib/swmmrs/scenarios.js +2 -0
- package/lib/swmmrs/scenarios.js.map +1 -0
- package/lib/swmmrs/simulation.d.ts +249 -0
- package/lib/swmmrs/simulation.d.ts.map +1 -0
- package/lib/swmmrs/simulation.js +415 -0
- package/lib/swmmrs/simulation.js.map +1 -0
- package/lib/swmmrs/snapshots.d.ts +192 -0
- package/lib/swmmrs/snapshots.d.ts.map +1 -0
- package/lib/swmmrs/snapshots.js +2 -0
- package/lib/swmmrs/snapshots.js.map +1 -0
- package/lib/swmmrs/types.d.ts +123 -0
- package/lib/swmmrs/types.d.ts.map +1 -0
- package/lib/swmmrs/types.js +2 -0
- package/lib/swmmrs/types.js.map +1 -0
- package/lib/swmmrs/worker.d.ts +2 -0
- package/lib/swmmrs/worker.d.ts.map +1 -0
- package/lib/swmmrs/worker.js +488 -0
- package/lib/swmmrs/worker.js.map +1 -0
- package/package.json +33 -0
- package/src/swmmrs/client.ts +76 -0
- package/src/swmmrs/enums.ts +73 -0
- package/src/swmmrs/exceptions.ts +120 -0
- package/src/swmmrs/index.ts +79 -0
- package/src/swmmrs/objects/amm.ts +113 -0
- package/src/swmmrs/objects/collections.ts +153 -0
- package/src/swmmrs/objects/definitions.ts +246 -0
- package/src/swmmrs/objects/lids.ts +487 -0
- package/src/swmmrs/objects/links.ts +626 -0
- package/src/swmmrs/objects/nodes.ts +504 -0
- package/src/swmmrs/objects/options.ts +114 -0
- package/src/swmmrs/objects/rtk.ts +79 -0
- package/src/swmmrs/objects/subcatchments.ts +650 -0
- package/src/swmmrs/output.ts +798 -0
- package/src/swmmrs/protocol.ts +62 -0
- package/src/swmmrs/runtime.ts +188 -0
- package/src/swmmrs/scenarios.ts +40 -0
- package/src/swmmrs/simulation.ts +406 -0
- package/src/swmmrs/snapshots.ts +199 -0
- package/src/swmmrs/types.ts +123 -0
- package/src/swmmrs/worker.ts +233 -0
- package/worker-node.js +142 -0
- package/worker.js +1 -0
|
@@ -0,0 +1,615 @@
|
|
|
1
|
+
import type { LinkResults } from "../snapshots.js";
|
|
2
|
+
import type { LinkKind, OrificeKind, WeirKind, RoadSurface, OutletHeadBasis, StandardCrossSectionShape } from "../enums.js";
|
|
3
|
+
export type { OrificeKind, WeirKind, RoadSurface, OutletHeadBasis, StandardCrossSectionShape, } from "../enums.js";
|
|
4
|
+
/** Power-law outlet rating in native project head/flow units. */
|
|
5
|
+
export interface FunctionalOutletRating {
|
|
6
|
+
/** Power-law rating discriminator. */
|
|
7
|
+
readonly kind: "functional";
|
|
8
|
+
/** Discharge coefficient in the rating's native units. */
|
|
9
|
+
readonly coefficient: number;
|
|
10
|
+
/** Head/depth exponent. */
|
|
11
|
+
readonly exponent: number;
|
|
12
|
+
/** Whether the rating uses depth or head difference. */
|
|
13
|
+
readonly headBasis: OutletHeadBasis;
|
|
14
|
+
}
|
|
15
|
+
/** Curve-based outlet rating using a configured curve identity. */
|
|
16
|
+
export interface TabularOutletRating {
|
|
17
|
+
/** Curve-based rating discriminator. */
|
|
18
|
+
readonly kind: "tabular";
|
|
19
|
+
/** Canonical rating-curve ID. */
|
|
20
|
+
readonly curve: string;
|
|
21
|
+
/** Whether the rating uses depth or head difference. */
|
|
22
|
+
readonly headBasis: OutletHeadBasis;
|
|
23
|
+
}
|
|
24
|
+
/** Functional or tabular outlet rating, discriminated by `kind`. */
|
|
25
|
+
export type OutletRating = FunctionalOutletRating | TabularOutletRating;
|
|
26
|
+
/** Replacement outlet rating; omitted head basis defaults to `depth`, not the previous declaration's value. */
|
|
27
|
+
export type OutletRatingPatch = {
|
|
28
|
+
/** Power-law rating discriminator. */
|
|
29
|
+
readonly kind: "functional";
|
|
30
|
+
/** {@inheritDoc FunctionalOutletRating.coefficient} */
|
|
31
|
+
readonly coefficient: number;
|
|
32
|
+
/** {@inheritDoc FunctionalOutletRating.exponent} */
|
|
33
|
+
readonly exponent: number;
|
|
34
|
+
/** Depth or head-difference basis; defaults to `depth`. */
|
|
35
|
+
readonly headBasis?: OutletHeadBasis;
|
|
36
|
+
} | {
|
|
37
|
+
/** Curve-based rating discriminator. */
|
|
38
|
+
readonly kind: "tabular";
|
|
39
|
+
/** {@inheritDoc TabularOutletRating.curve} */
|
|
40
|
+
readonly curve: string;
|
|
41
|
+
/** Depth or head-difference basis; defaults to `depth`. */
|
|
42
|
+
readonly headBasis?: OutletHeadBasis;
|
|
43
|
+
};
|
|
44
|
+
/** Circular conduit section. */
|
|
45
|
+
export interface CircularCrossSection {
|
|
46
|
+
/** Circular section discriminator. */
|
|
47
|
+
readonly kind: "circular";
|
|
48
|
+
/** Diameter in project length units (ft or m). */
|
|
49
|
+
readonly diameter: number;
|
|
50
|
+
}
|
|
51
|
+
/** Standard SWMM section; geometry interpretation depends on the shape. */
|
|
52
|
+
export interface StandardCrossSection {
|
|
53
|
+
/** Standard section discriminator. */
|
|
54
|
+
readonly kind: "standard";
|
|
55
|
+
/** Native standard shape name. */
|
|
56
|
+
readonly shape: StandardCrossSectionShape;
|
|
57
|
+
/** Four native geometry parameters; dimensional entries use project length units. */
|
|
58
|
+
readonly geometry: readonly [number, number, number, number];
|
|
59
|
+
/** Native culvert inlet-control code. */
|
|
60
|
+
readonly culvertCode: number;
|
|
61
|
+
}
|
|
62
|
+
/** Custom section backed by a configured shape. */
|
|
63
|
+
export interface CustomCrossSection {
|
|
64
|
+
/** Custom section discriminator. */
|
|
65
|
+
readonly kind: "custom";
|
|
66
|
+
/** Canonical custom-shape ID. */
|
|
67
|
+
readonly shape: string;
|
|
68
|
+
/** Full depth in project length units. */
|
|
69
|
+
readonly fullDepth: number;
|
|
70
|
+
/** Native culvert inlet-control code. */
|
|
71
|
+
readonly culvertCode: number;
|
|
72
|
+
}
|
|
73
|
+
/** Irregular section backed by a configured transect. */
|
|
74
|
+
export interface IrregularCrossSection {
|
|
75
|
+
/** Irregular section discriminator. */
|
|
76
|
+
readonly kind: "irregular";
|
|
77
|
+
/** Canonical transect ID. */
|
|
78
|
+
readonly transect: string;
|
|
79
|
+
/** Native culvert inlet-control code. */
|
|
80
|
+
readonly culvertCode: number;
|
|
81
|
+
}
|
|
82
|
+
/** Street section backed by a configured street definition. */
|
|
83
|
+
export interface StreetCrossSection {
|
|
84
|
+
/** Street section discriminator. */
|
|
85
|
+
readonly kind: "street";
|
|
86
|
+
/** Canonical street ID. */
|
|
87
|
+
readonly street: string;
|
|
88
|
+
/** Native culvert inlet-control code. */
|
|
89
|
+
readonly culvertCode: number;
|
|
90
|
+
}
|
|
91
|
+
/** Detached conduit section selected by `kind`; absent sections are represented by null on the containing record. */
|
|
92
|
+
export type CrossSection = CircularCrossSection | StandardCrossSection | CustomCrossSection | IrregularCrossSection | StreetCrossSection;
|
|
93
|
+
/** Replacement cross-section declaration. Non-circular variants accept an optional culvert code. */
|
|
94
|
+
export type CrossSectionPatch = Omit<CircularCrossSection, "culvertCode"> | (Omit<StandardCrossSection, "culvertCode"> & {
|
|
95
|
+
/** Native culvert inlet-control code; defaults to zero. */
|
|
96
|
+
readonly culvertCode?: number;
|
|
97
|
+
}) | (Omit<CustomCrossSection, "culvertCode"> & {
|
|
98
|
+
/** Native culvert inlet-control code; defaults to zero. */
|
|
99
|
+
readonly culvertCode?: number;
|
|
100
|
+
}) | (Omit<IrregularCrossSection, "culvertCode"> & {
|
|
101
|
+
/** Native culvert inlet-control code; defaults to zero. */
|
|
102
|
+
readonly culvertCode?: number;
|
|
103
|
+
}) | (Omit<StreetCrossSection, "culvertCode"> & {
|
|
104
|
+
/** Native culvert inlet-control code; defaults to zero. */
|
|
105
|
+
readonly culvertCode?: number;
|
|
106
|
+
});
|
|
107
|
+
/** Detached inlet placement; `link.inlet()` returns null when none is configured. */
|
|
108
|
+
export interface InletConfiguration {
|
|
109
|
+
/** Number of inlet units. */
|
|
110
|
+
readonly count: number;
|
|
111
|
+
/** Clogging percentage. */
|
|
112
|
+
readonly percentClogged: number;
|
|
113
|
+
/** Inlet flow limit in project flow units. */
|
|
114
|
+
readonly flowLimit: number;
|
|
115
|
+
/** Local depression in project length units. */
|
|
116
|
+
readonly localDepression: number;
|
|
117
|
+
/** Local width in project length units. */
|
|
118
|
+
readonly localWidth: number;
|
|
119
|
+
/** Canonical inlet-design ID. */
|
|
120
|
+
readonly design: string;
|
|
121
|
+
}
|
|
122
|
+
/** Sparse persistent inlet-control update; omission retains a value. */
|
|
123
|
+
export interface InletPatch {
|
|
124
|
+
/** {@inheritDoc InletConfiguration.percentClogged} */
|
|
125
|
+
readonly percentClogged?: number;
|
|
126
|
+
/** {@inheritDoc InletConfiguration.flowLimit} */
|
|
127
|
+
readonly flowLimit?: number;
|
|
128
|
+
}
|
|
129
|
+
/** Detached current inlet results. */
|
|
130
|
+
export interface InletResults {
|
|
131
|
+
/** Dimensionless inlet flow factor. */
|
|
132
|
+
readonly flowFactor: number;
|
|
133
|
+
/** Captured flow in project flow units. */
|
|
134
|
+
readonly capturedFlow: number;
|
|
135
|
+
/** Backflow in project flow units. */
|
|
136
|
+
readonly backflow: number;
|
|
137
|
+
/** Dimensionless backflow ratio. */
|
|
138
|
+
readonly backflowRatio: number;
|
|
139
|
+
}
|
|
140
|
+
/** Conduit-specific declarations. */
|
|
141
|
+
export interface ConduitConfiguration {
|
|
142
|
+
/** Conduit subtype discriminator. */
|
|
143
|
+
readonly kind: "conduit";
|
|
144
|
+
/** Conduit length in ft or m. */
|
|
145
|
+
readonly length: number;
|
|
146
|
+
/** Conduit roughness in native solver units. */
|
|
147
|
+
readonly roughness: number;
|
|
148
|
+
/** Number of parallel barrels. */
|
|
149
|
+
readonly barrels: number;
|
|
150
|
+
/** Cross-section declaration, or null. */
|
|
151
|
+
readonly crossSection: CrossSection | null;
|
|
152
|
+
}
|
|
153
|
+
/** Pump-specific declarations. */
|
|
154
|
+
export interface PumpConfiguration {
|
|
155
|
+
/** Pump subtype discriminator. */
|
|
156
|
+
readonly kind: "pump";
|
|
157
|
+
/** Canonical pump-curve ID, or null for ideal operation. */
|
|
158
|
+
readonly curve: string | null;
|
|
159
|
+
/** Initial dimensionless pump setting. */
|
|
160
|
+
readonly initialSetting: number;
|
|
161
|
+
/** Startup depth in ft or m. */
|
|
162
|
+
readonly startupDepth: number;
|
|
163
|
+
/** Shutoff depth in ft or m. */
|
|
164
|
+
readonly shutoffDepth: number;
|
|
165
|
+
}
|
|
166
|
+
/** Orifice-specific declarations. */
|
|
167
|
+
export interface OrificeConfiguration {
|
|
168
|
+
/** Orifice subtype discriminator. */
|
|
169
|
+
readonly kind: "orifice";
|
|
170
|
+
/** Side or bottom opening. */
|
|
171
|
+
readonly orificeKind: OrificeKind;
|
|
172
|
+
/** Native orifice discharge coefficient. */
|
|
173
|
+
readonly dischargeCoefficient: number;
|
|
174
|
+
/** Full opening time in hours. */
|
|
175
|
+
readonly openingTimeHours: number;
|
|
176
|
+
}
|
|
177
|
+
/** Weir-specific declarations. */
|
|
178
|
+
export interface WeirConfiguration {
|
|
179
|
+
/** Weir subtype discriminator. */
|
|
180
|
+
readonly kind: "weir";
|
|
181
|
+
/** Weir geometry. */
|
|
182
|
+
readonly weirKind: WeirKind;
|
|
183
|
+
/** Native weir discharge coefficient. */
|
|
184
|
+
readonly dischargeCoefficient: number;
|
|
185
|
+
/** Native end-discharge coefficient. */
|
|
186
|
+
readonly endDischargeCoefficient: number;
|
|
187
|
+
/** Number of end contractions. */
|
|
188
|
+
readonly endContractions: number;
|
|
189
|
+
/** Whether the weir may surcharge. */
|
|
190
|
+
readonly canSurcharge: boolean;
|
|
191
|
+
/** Roadway width in ft or m. */
|
|
192
|
+
readonly roadwayWidth: number;
|
|
193
|
+
/** Roadway surface classification. */
|
|
194
|
+
readonly roadwaySurface: RoadSurface;
|
|
195
|
+
/** Canonical coefficient-curve ID, or null. */
|
|
196
|
+
readonly coefficientCurve: string | null;
|
|
197
|
+
}
|
|
198
|
+
/** Outlet-specific declarations. */
|
|
199
|
+
export interface OutletConfiguration {
|
|
200
|
+
/** Outlet subtype discriminator. */
|
|
201
|
+
readonly kind: "outlet";
|
|
202
|
+
/** Functional or tabular rating. */
|
|
203
|
+
readonly rating: OutletRating;
|
|
204
|
+
}
|
|
205
|
+
/** Kind-tagged link declarations; configuring a subtype cannot change the link's family. */
|
|
206
|
+
export type LinkSubtypeConfiguration = ConduitConfiguration | PumpConfiguration | OrificeConfiguration | WeirConfiguration | OutletConfiguration;
|
|
207
|
+
/** Detached read-only common, subtype, cross-section, and inlet declarations. */
|
|
208
|
+
export interface LinkConfiguration {
|
|
209
|
+
/** Configured link family. */
|
|
210
|
+
readonly kind: LinkKind;
|
|
211
|
+
/** Object tag. */
|
|
212
|
+
readonly tag: string;
|
|
213
|
+
/** Canonical configured inlet-node ID. */
|
|
214
|
+
readonly inletNode: string;
|
|
215
|
+
/** Canonical configured outlet-node ID. */
|
|
216
|
+
readonly outletNode: string;
|
|
217
|
+
/** Solver direction relative to configured orientation. */
|
|
218
|
+
readonly flowDirection: number;
|
|
219
|
+
/** Conduit length in ft or m; null for other kinds. */
|
|
220
|
+
readonly length: number | null;
|
|
221
|
+
/** Conduit slope ratio; null for other kinds. */
|
|
222
|
+
readonly slope: number | null;
|
|
223
|
+
/** Full hydraulic depth in ft or m. */
|
|
224
|
+
readonly fullDepth: number;
|
|
225
|
+
/** Full-flow capacity in project flow units. */
|
|
226
|
+
readonly fullFlow: number;
|
|
227
|
+
/** Selection for detailed reporting. */
|
|
228
|
+
readonly includedInReport: boolean;
|
|
229
|
+
/** Inlet offset in project length units. */
|
|
230
|
+
readonly inletOffset: number;
|
|
231
|
+
/** Outlet offset in project length units. */
|
|
232
|
+
readonly outletOffset: number;
|
|
233
|
+
/** Initial flow in project flow units. */
|
|
234
|
+
readonly initialFlow: number;
|
|
235
|
+
/** Persistent flow limit in project flow units; set with {@link Link.setFlowLimit}. */
|
|
236
|
+
readonly flowLimit: number;
|
|
237
|
+
/** Dimensionless inlet loss coefficient. */
|
|
238
|
+
readonly inletLossCoefficient: number;
|
|
239
|
+
/** Dimensionless outlet loss coefficient. */
|
|
240
|
+
readonly outletLossCoefficient: number;
|
|
241
|
+
/** Dimensionless average loss coefficient. */
|
|
242
|
+
readonly averageLossCoefficient: number;
|
|
243
|
+
/** Seepage rate in in/h or mm/h. */
|
|
244
|
+
readonly seepageRate: number;
|
|
245
|
+
/** Flap-gate flag. */
|
|
246
|
+
readonly hasFlapGate: boolean;
|
|
247
|
+
/** Kind-tagged subtype record. */
|
|
248
|
+
readonly subtype: LinkSubtypeConfiguration;
|
|
249
|
+
/** Convenience alias for conduit declarations; null for other link families. */
|
|
250
|
+
readonly crossSection: CrossSection | null;
|
|
251
|
+
/** Inlet placement, or null when absent. */
|
|
252
|
+
readonly inlet: InletConfiguration | null;
|
|
253
|
+
}
|
|
254
|
+
/** Sparse conduit update; omitted fields retain their values. */
|
|
255
|
+
export interface ConduitPatch {
|
|
256
|
+
/** {@inheritDoc ConduitConfiguration.length} */
|
|
257
|
+
readonly length?: number;
|
|
258
|
+
/** {@inheritDoc ConduitConfiguration.roughness} */
|
|
259
|
+
readonly roughness?: number;
|
|
260
|
+
/** {@inheritDoc ConduitConfiguration.barrels} */
|
|
261
|
+
readonly barrels?: number;
|
|
262
|
+
}
|
|
263
|
+
/** Sparse pump update; omission retains a field. */
|
|
264
|
+
export interface PumpPatch {
|
|
265
|
+
/** Omit to preserve; null switches to ideal operation. */
|
|
266
|
+
readonly curve?: string | null;
|
|
267
|
+
/** {@inheritDoc PumpConfiguration.initialSetting} */
|
|
268
|
+
readonly initialSetting?: number;
|
|
269
|
+
/** {@inheritDoc PumpConfiguration.startupDepth} */
|
|
270
|
+
readonly startupDepth?: number;
|
|
271
|
+
/** {@inheritDoc PumpConfiguration.shutoffDepth} */
|
|
272
|
+
readonly shutoffDepth?: number;
|
|
273
|
+
}
|
|
274
|
+
/** Sparse orifice update; omission retains a field. */
|
|
275
|
+
export interface OrificePatch {
|
|
276
|
+
/** {@inheritDoc OrificeConfiguration.orificeKind} */
|
|
277
|
+
readonly orificeKind?: OrificeKind;
|
|
278
|
+
/** {@inheritDoc OrificeConfiguration.dischargeCoefficient} */
|
|
279
|
+
readonly dischargeCoefficient?: number;
|
|
280
|
+
/** {@inheritDoc OrificeConfiguration.openingTimeHours} */
|
|
281
|
+
readonly openingTimeHours?: number;
|
|
282
|
+
}
|
|
283
|
+
/** Sparse weir update; omission retains a field. */
|
|
284
|
+
export interface WeirPatch {
|
|
285
|
+
/** {@inheritDoc WeirConfiguration.weirKind} */
|
|
286
|
+
readonly weirKind?: WeirKind;
|
|
287
|
+
/** {@inheritDoc WeirConfiguration.dischargeCoefficient} */
|
|
288
|
+
readonly dischargeCoefficient?: number;
|
|
289
|
+
/** {@inheritDoc WeirConfiguration.endDischargeCoefficient} */
|
|
290
|
+
readonly endDischargeCoefficient?: number;
|
|
291
|
+
/** {@inheritDoc WeirConfiguration.endContractions} */
|
|
292
|
+
readonly endContractions?: number;
|
|
293
|
+
/** {@inheritDoc WeirConfiguration.canSurcharge} */
|
|
294
|
+
readonly canSurcharge?: boolean;
|
|
295
|
+
/** {@inheritDoc WeirConfiguration.roadwayWidth} */
|
|
296
|
+
readonly roadwayWidth?: number;
|
|
297
|
+
/** {@inheritDoc WeirConfiguration.roadwaySurface} */
|
|
298
|
+
readonly roadwaySurface?: RoadSurface;
|
|
299
|
+
/** Omit to preserve; null clears the optional coefficient curve. */
|
|
300
|
+
readonly coefficientCurve?: string | null;
|
|
301
|
+
}
|
|
302
|
+
/** Sparse outlet update; omission retains its rating. */
|
|
303
|
+
export interface OutletPatch {
|
|
304
|
+
/** Replacement rating declaration. */
|
|
305
|
+
readonly rating?: OutletRatingPatch;
|
|
306
|
+
}
|
|
307
|
+
/** Select the existing link family and patch only its writable subtype fields. */
|
|
308
|
+
export type LinkSubtypePatch = ({
|
|
309
|
+
/** Select an existing conduit. */
|
|
310
|
+
readonly kind: "conduit";
|
|
311
|
+
} & ConduitPatch) | ({
|
|
312
|
+
/** Select an existing pump. */
|
|
313
|
+
readonly kind: "pump";
|
|
314
|
+
} & PumpPatch) | ({
|
|
315
|
+
/** Select an existing orifice. */
|
|
316
|
+
readonly kind: "orifice";
|
|
317
|
+
} & OrificePatch) | ({
|
|
318
|
+
/** Select an existing weir. */
|
|
319
|
+
readonly kind: "weir";
|
|
320
|
+
} & WeirPatch) | ({
|
|
321
|
+
/** Select an existing outlet. */
|
|
322
|
+
readonly kind: "outlet";
|
|
323
|
+
} & OutletPatch);
|
|
324
|
+
/** Sparse atomic link declaration update. Omitted fields retain their values; derived fields are not writable. */
|
|
325
|
+
export interface LinkPatch {
|
|
326
|
+
/** {@inheritDoc LinkConfiguration.tag} */
|
|
327
|
+
readonly tag?: string;
|
|
328
|
+
/** {@inheritDoc LinkConfiguration.inletNode} */
|
|
329
|
+
readonly inletNode?: string;
|
|
330
|
+
/** {@inheritDoc LinkConfiguration.outletNode} */
|
|
331
|
+
readonly outletNode?: string;
|
|
332
|
+
/** {@inheritDoc LinkConfiguration.inletOffset} */
|
|
333
|
+
readonly inletOffset?: number;
|
|
334
|
+
/** {@inheritDoc LinkConfiguration.outletOffset} */
|
|
335
|
+
readonly outletOffset?: number;
|
|
336
|
+
/** {@inheritDoc LinkConfiguration.includedInReport} */
|
|
337
|
+
readonly includedInReport?: boolean;
|
|
338
|
+
/** {@inheritDoc LinkConfiguration.initialFlow} */
|
|
339
|
+
readonly initialFlow?: number;
|
|
340
|
+
/** {@inheritDoc LinkConfiguration.inletLossCoefficient} */
|
|
341
|
+
readonly inletLossCoefficient?: number;
|
|
342
|
+
/** {@inheritDoc LinkConfiguration.outletLossCoefficient} */
|
|
343
|
+
readonly outletLossCoefficient?: number;
|
|
344
|
+
/** {@inheritDoc LinkConfiguration.averageLossCoefficient} */
|
|
345
|
+
readonly averageLossCoefficient?: number;
|
|
346
|
+
/** {@inheritDoc LinkConfiguration.seepageRate} */
|
|
347
|
+
readonly seepageRate?: number;
|
|
348
|
+
/** {@inheritDoc LinkConfiguration.hasFlapGate} */
|
|
349
|
+
readonly hasFlapGate?: boolean;
|
|
350
|
+
/** Replacement conduit cross-section. */
|
|
351
|
+
readonly crossSection?: CrossSectionPatch;
|
|
352
|
+
/** Sparse kind-tagged subtype update; cannot change link family. */
|
|
353
|
+
readonly subtype?: LinkSubtypePatch;
|
|
354
|
+
}
|
|
355
|
+
/** Detached quality arrays in pollutant-ID order, using configured concentration/load units. */
|
|
356
|
+
export interface LinkQuality {
|
|
357
|
+
/** Canonical pollutant IDs defining array order. */
|
|
358
|
+
readonly pollutantIds: readonly string[];
|
|
359
|
+
/** Current link concentrations. */
|
|
360
|
+
readonly concentrations: readonly number[];
|
|
361
|
+
/** Current reactor concentrations. */
|
|
362
|
+
readonly reactorConcentrations: readonly number[];
|
|
363
|
+
/** Cumulative transported pollutant loads. */
|
|
364
|
+
readonly totalLoads: readonly number[];
|
|
365
|
+
}
|
|
366
|
+
/** Detached pollutant-major quality matrices: `[pollutantIndex][objectIndex]`, in configured units. */
|
|
367
|
+
export interface LinkQualitySnapshot {
|
|
368
|
+
/** Canonical link IDs defining inner-row order. */
|
|
369
|
+
readonly objectIds: readonly string[];
|
|
370
|
+
/** Canonical pollutant IDs defining outer-row order. */
|
|
371
|
+
readonly pollutantIds: readonly string[];
|
|
372
|
+
/** Pollutant-major matrices; each inner row follows objectIds. */
|
|
373
|
+
readonly concentrations: readonly (readonly number[])[];
|
|
374
|
+
/** Reactor concentrations in configured concentration units. */
|
|
375
|
+
readonly reactorConcentrations: readonly (readonly number[])[];
|
|
376
|
+
/** Transported loads in configured pollutant load units. */
|
|
377
|
+
readonly totalLoads: readonly (readonly number[])[];
|
|
378
|
+
}
|
|
379
|
+
/** Detached cumulative link statistics for the current run. */
|
|
380
|
+
export interface LinkStatistics {
|
|
381
|
+
/** Maximum flow in project flow units. */
|
|
382
|
+
readonly maximumFlow: number;
|
|
383
|
+
/** Timezone-free ModelTime string of maximum flow. */
|
|
384
|
+
readonly maximumFlowTime: string;
|
|
385
|
+
/** Maximum velocity in ft/s or m/s. */
|
|
386
|
+
readonly maximumVelocity: number;
|
|
387
|
+
/** Maximum depth in ft or m. */
|
|
388
|
+
readonly maximumDepth: number;
|
|
389
|
+
/** Maximum street fill fraction; null without a street section. */
|
|
390
|
+
readonly maximumStreetFillFraction: number | null;
|
|
391
|
+
/** Normal-flow duration in seconds. */
|
|
392
|
+
readonly timeNormalFlowSeconds: number;
|
|
393
|
+
/** Inlet-control duration in seconds. */
|
|
394
|
+
readonly timeInletControlSeconds: number;
|
|
395
|
+
/** Surcharge duration in seconds. */
|
|
396
|
+
readonly timeSurchargedSeconds: number;
|
|
397
|
+
/** Duration full at the upstream end, in seconds. */
|
|
398
|
+
readonly timeFullUpstreamSeconds: number;
|
|
399
|
+
/** Duration full at the downstream end, in seconds. */
|
|
400
|
+
readonly timeFullDownstreamSeconds: number;
|
|
401
|
+
/** Full-flow duration in seconds. */
|
|
402
|
+
readonly timeFullFlowSeconds: number;
|
|
403
|
+
/** Capacity-limited duration in seconds. */
|
|
404
|
+
readonly timeCapacityLimitedSeconds: number;
|
|
405
|
+
/** Seven seconds-valued durations: dry, upstream dry, downstream dry, subcritical, supercritical, upstream critical, downstream critical. */
|
|
406
|
+
readonly timeInFlowClassSeconds: readonly number[];
|
|
407
|
+
/** Courant-critical duration in seconds. */
|
|
408
|
+
readonly timeCourantCriticalSeconds: number;
|
|
409
|
+
/** Flow-reversal count. */
|
|
410
|
+
readonly flowTurns: number;
|
|
411
|
+
/** Flow-reversal sign. */
|
|
412
|
+
readonly flowTurnSign: number;
|
|
413
|
+
}
|
|
414
|
+
/** Detached pump-only cumulative statistics. */
|
|
415
|
+
export interface PumpStatistics {
|
|
416
|
+
/** Pump utilization time in seconds. */
|
|
417
|
+
readonly timeUtilizedSeconds: number;
|
|
418
|
+
/** Minimum pumped flow in project flow units. */
|
|
419
|
+
readonly minimumFlow: number;
|
|
420
|
+
/** Average pumped flow in project flow units. */
|
|
421
|
+
readonly averageFlow: number;
|
|
422
|
+
/** Maximum pumped flow in project flow units. */
|
|
423
|
+
readonly maximumFlow: number;
|
|
424
|
+
/** Pumped volume in project volume units. */
|
|
425
|
+
readonly pumpedVolume: number;
|
|
426
|
+
/** Energy consumed in native pump-report energy units. */
|
|
427
|
+
readonly energyConsumed: number;
|
|
428
|
+
/** Time below the pump curve in seconds. */
|
|
429
|
+
readonly offCurveLowSeconds: number;
|
|
430
|
+
/** Time above the pump curve in seconds. */
|
|
431
|
+
readonly offCurveHighSeconds: number;
|
|
432
|
+
/** Number of pump startups. */
|
|
433
|
+
readonly startupCount: number;
|
|
434
|
+
/** Number of statistical observation periods. */
|
|
435
|
+
readonly periodCount: number;
|
|
436
|
+
}
|
|
437
|
+
/** Detached cumulative columns in object-ID order; units match {@link LinkStatistics}. */
|
|
438
|
+
export interface LinkStatisticsSnapshot {
|
|
439
|
+
/** Canonical link IDs in requested order. */
|
|
440
|
+
readonly objectIds: readonly string[];
|
|
441
|
+
/** {@inheritDoc LinkStatistics.maximumFlow} */
|
|
442
|
+
readonly maximumFlow: readonly number[];
|
|
443
|
+
/** {@inheritDoc LinkStatistics.maximumFlowTime} */
|
|
444
|
+
readonly maximumFlowTime: readonly string[];
|
|
445
|
+
/** {@inheritDoc LinkStatistics.maximumVelocity} */
|
|
446
|
+
readonly maximumVelocity: readonly number[];
|
|
447
|
+
/** {@inheritDoc LinkStatistics.maximumDepth} */
|
|
448
|
+
readonly maximumDepth: readonly number[];
|
|
449
|
+
/** {@inheritDoc LinkStatistics.maximumStreetFillFraction} */
|
|
450
|
+
readonly maximumStreetFillFraction: readonly (number | null)[];
|
|
451
|
+
/** {@inheritDoc LinkStatistics.timeNormalFlowSeconds} */
|
|
452
|
+
readonly timeNormalFlowSeconds: readonly number[];
|
|
453
|
+
/** {@inheritDoc LinkStatistics.timeInletControlSeconds} */
|
|
454
|
+
readonly timeInletControlSeconds: readonly number[];
|
|
455
|
+
/** {@inheritDoc LinkStatistics.timeSurchargedSeconds} */
|
|
456
|
+
readonly timeSurchargedSeconds: readonly number[];
|
|
457
|
+
/** {@inheritDoc LinkStatistics.timeFullUpstreamSeconds} */
|
|
458
|
+
readonly timeFullUpstreamSeconds: readonly number[];
|
|
459
|
+
/** {@inheritDoc LinkStatistics.timeFullDownstreamSeconds} */
|
|
460
|
+
readonly timeFullDownstreamSeconds: readonly number[];
|
|
461
|
+
/** {@inheritDoc LinkStatistics.timeFullFlowSeconds} */
|
|
462
|
+
readonly timeFullFlowSeconds: readonly number[];
|
|
463
|
+
/** {@inheritDoc LinkStatistics.timeCapacityLimitedSeconds} */
|
|
464
|
+
readonly timeCapacityLimitedSeconds: readonly number[];
|
|
465
|
+
/** Object-major matrix: one row per link, seven durations in FlowClass order. */
|
|
466
|
+
readonly timeInFlowClassSeconds: readonly (readonly number[])[];
|
|
467
|
+
/** {@inheritDoc LinkStatistics.timeCourantCriticalSeconds} */
|
|
468
|
+
readonly timeCourantCriticalSeconds: readonly number[];
|
|
469
|
+
/** {@inheritDoc LinkStatistics.flowTurns} */
|
|
470
|
+
readonly flowTurns: readonly number[];
|
|
471
|
+
/** {@inheritDoc LinkStatistics.flowTurnSign} */
|
|
472
|
+
readonly flowTurnSign: readonly number[];
|
|
473
|
+
}
|
|
474
|
+
export interface LinkOperations {
|
|
475
|
+
linkConfiguration: {
|
|
476
|
+
args: [string];
|
|
477
|
+
result: LinkConfiguration;
|
|
478
|
+
};
|
|
479
|
+
configureLink: {
|
|
480
|
+
args: [string, LinkPatch];
|
|
481
|
+
result: void;
|
|
482
|
+
};
|
|
483
|
+
linkQuality: {
|
|
484
|
+
args: [string];
|
|
485
|
+
result: LinkQuality;
|
|
486
|
+
};
|
|
487
|
+
linkQualitySnapshot: {
|
|
488
|
+
args: [readonly string[] | undefined];
|
|
489
|
+
result: LinkQualitySnapshot;
|
|
490
|
+
};
|
|
491
|
+
overrideLinkPollutantConcentrations: {
|
|
492
|
+
args: [string, Record<string, number>];
|
|
493
|
+
result: void;
|
|
494
|
+
};
|
|
495
|
+
linkExternalPollutantMassFlux: {
|
|
496
|
+
args: [string];
|
|
497
|
+
result: Record<string, number>;
|
|
498
|
+
};
|
|
499
|
+
linkExternalPollutantMassFluxValue: {
|
|
500
|
+
args: [string, string];
|
|
501
|
+
result: number;
|
|
502
|
+
};
|
|
503
|
+
updateLinkExternalPollutantMassFlux: {
|
|
504
|
+
args: [string, Record<string, number>, boolean];
|
|
505
|
+
result: void;
|
|
506
|
+
};
|
|
507
|
+
setLinkFlowLimit: {
|
|
508
|
+
args: [string, number];
|
|
509
|
+
result: void;
|
|
510
|
+
};
|
|
511
|
+
linkStatistics: {
|
|
512
|
+
args: [string];
|
|
513
|
+
result: LinkStatistics;
|
|
514
|
+
};
|
|
515
|
+
pumpStatistics: {
|
|
516
|
+
args: [string];
|
|
517
|
+
result: PumpStatistics;
|
|
518
|
+
};
|
|
519
|
+
linkStatisticsSnapshot: {
|
|
520
|
+
args: [readonly string[] | undefined];
|
|
521
|
+
result: LinkStatisticsSnapshot;
|
|
522
|
+
};
|
|
523
|
+
linkInlet: {
|
|
524
|
+
args: [string];
|
|
525
|
+
result: InletConfiguration | null;
|
|
526
|
+
};
|
|
527
|
+
inletResults: {
|
|
528
|
+
args: [string];
|
|
529
|
+
result: InletResults | null;
|
|
530
|
+
};
|
|
531
|
+
updateInlet: {
|
|
532
|
+
args: [string, InletPatch];
|
|
533
|
+
result: void;
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
/** Owner-bound link from `simulation.links.get(id)`. No public subtype subclasses.
|
|
537
|
+
* Reads are detached; configuration is available in healthy states. Wrong-kind
|
|
538
|
+
* operations reject without changing the model. Statistics require an active run.
|
|
539
|
+
*/
|
|
540
|
+
export declare class Link {
|
|
541
|
+
#private;
|
|
542
|
+
/** Canonical configured link ID. */
|
|
543
|
+
readonly id: string;
|
|
544
|
+
private constructor();
|
|
545
|
+
/** Read hydraulics in `running`, `complete`, or `ended`.
|
|
546
|
+
* @returns Detached current link results.
|
|
547
|
+
*/
|
|
548
|
+
results(): Promise<LinkResults>;
|
|
549
|
+
/** Read common and kind-specific declarations in any healthy owner state.
|
|
550
|
+
* @returns Detached configuration, including cross-section and optional inlet.
|
|
551
|
+
*/
|
|
552
|
+
configuration(): Promise<LinkConfiguration>;
|
|
553
|
+
/** Atomically update declarations in `open` or `ended`; accepted writes return `ended` to `open`.
|
|
554
|
+
* @param patch - Sparse common/subtype fields; invalid fields or a wrong-kind subtype reject the whole patch.
|
|
555
|
+
* @returns Resolves after all fields are accepted.
|
|
556
|
+
*/
|
|
557
|
+
configure(patch: LinkPatch): Promise<void>;
|
|
558
|
+
/** Change the target opening or pump speed in `running`; native control rules may change it later.
|
|
559
|
+
* @param setting - Finite dimensionless factor. Non-pumps clamp to [0, 1]; pumps clamp at zero and may exceed one.
|
|
560
|
+
* @returns Resolves after setting the target.
|
|
561
|
+
*/
|
|
562
|
+
setTargetSetting(setting: number): Promise<void>;
|
|
563
|
+
/** Set a persistent flow limit in `open`, `running`, or `ended`.
|
|
564
|
+
* @param flowLimit - Limit in project flow units.
|
|
565
|
+
* @returns Resolves after the forcing is updated.
|
|
566
|
+
*/
|
|
567
|
+
setFlowLimit(flowLimit: number): Promise<void>;
|
|
568
|
+
/** Read quality in `running`, `complete`, or `ended`.
|
|
569
|
+
* @returns Detached pollutant-aligned concentrations and transported loads.
|
|
570
|
+
*/
|
|
571
|
+
quality(): Promise<LinkQuality>;
|
|
572
|
+
/** Queue sparse overrides for the next quality step in `running`; they expire after that step.
|
|
573
|
+
* @param values - Pollutant-ID concentration map in configured concentration units.
|
|
574
|
+
* @returns Resolves after valid IDs and concentrations are queued.
|
|
575
|
+
*/
|
|
576
|
+
overridePollutantConcentrations(values: Record<string, number>): Promise<void>;
|
|
577
|
+
/** Read persistent pollutant mass fluxes in `open`, `running`, or `ended`.
|
|
578
|
+
* @returns Pollutant-ID map in configured mass-flux units.
|
|
579
|
+
*/
|
|
580
|
+
externalPollutantMassFlux(): Promise<Record<string, number>>;
|
|
581
|
+
/** Read one persistent mass flux in `open`, `running`, or `ended`.
|
|
582
|
+
* @param pollutantId - Configured pollutant ID.
|
|
583
|
+
* @returns Value in configured pollutant mass-flux units; unknown IDs reject.
|
|
584
|
+
*/
|
|
585
|
+
externalPollutantMassFluxValue(pollutantId: string): Promise<number>;
|
|
586
|
+
/** Update persistent mass fluxes in `open`, `running`, or `ended`.
|
|
587
|
+
* Nonzero flux requires a non-dummy conduit; other kinds accept only an all-zero clear.
|
|
588
|
+
* @param values - Pollutant-ID map in configured mass-flux units.
|
|
589
|
+
* @param replace - Defaults to false: merge. True replaces the whole map, resetting omitted IDs to zero.
|
|
590
|
+
* @returns Resolves after the atomic update.
|
|
591
|
+
*/
|
|
592
|
+
updateExternalPollutantMassFlux(values: Record<string, number>, replace?: boolean): Promise<void>;
|
|
593
|
+
/** Read cumulative statistics in `running` or `complete`, before ending the run.
|
|
594
|
+
* @returns Detached link statistics.
|
|
595
|
+
*/
|
|
596
|
+
statistics(): Promise<LinkStatistics>;
|
|
597
|
+
/** Read pump-only cumulative statistics in `running` or `complete`.
|
|
598
|
+
* @returns Detached pump statistics; non-pump calls reject.
|
|
599
|
+
*/
|
|
600
|
+
pumpStatistics(): Promise<PumpStatistics>;
|
|
601
|
+
/** Read the inlet placement in any healthy owner state.
|
|
602
|
+
* @returns Detached inlet configuration, or null when absent.
|
|
603
|
+
*/
|
|
604
|
+
inlet(): Promise<InletConfiguration | null>;
|
|
605
|
+
/** Read inlet results in `running`, `complete`, or `ended`.
|
|
606
|
+
* @returns Detached current inlet values, or null when no inlet is configured.
|
|
607
|
+
*/
|
|
608
|
+
inletResults(): Promise<InletResults | null>;
|
|
609
|
+
/** Update persistent inlet controls in `open`, `running`, or `ended`.
|
|
610
|
+
* @param patch - Sparse clogging percentage and/or flow limit; omission retains a value.
|
|
611
|
+
* @returns Resolves after the update is accepted.
|
|
612
|
+
*/
|
|
613
|
+
updateInlet(patch: InletPatch): Promise<void>;
|
|
614
|
+
}
|
|
615
|
+
//# sourceMappingURL=links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/swmmrs/objects/links.ts"],"names":[],"mappings":"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"}
|