@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.
Files changed (120) hide show
  1. package/README.md +264 -0
  2. package/dist/README.md +264 -0
  3. package/dist/serial/README.md +264 -0
  4. package/dist/serial/swmmrs.d.ts +395 -0
  5. package/dist/serial/swmmrs.js +3169 -0
  6. package/dist/serial/swmmrs_bg.wasm +0 -0
  7. package/dist/snippets/swmmrs-parallel-5d1c71108133e81d/worker-pool/browser.js +98 -0
  8. package/dist/swmmrs.d.ts +422 -0
  9. package/dist/swmmrs.js +3330 -0
  10. package/dist/swmmrs_bg.wasm +0 -0
  11. package/index.d.ts +2 -0
  12. package/index.js +2 -0
  13. package/lib/swmmrs/client.d.ts +11 -0
  14. package/lib/swmmrs/client.d.ts.map +1 -0
  15. package/lib/swmmrs/client.js +82 -0
  16. package/lib/swmmrs/client.js.map +1 -0
  17. package/lib/swmmrs/enums.d.ts +41 -0
  18. package/lib/swmmrs/enums.d.ts.map +1 -0
  19. package/lib/swmmrs/enums.js +2 -0
  20. package/lib/swmmrs/enums.js.map +1 -0
  21. package/lib/swmmrs/exceptions.d.ts +98 -0
  22. package/lib/swmmrs/exceptions.d.ts.map +1 -0
  23. package/lib/swmmrs/exceptions.js +86 -0
  24. package/lib/swmmrs/exceptions.js.map +1 -0
  25. package/lib/swmmrs/index.d.ts +27 -0
  26. package/lib/swmmrs/index.d.ts.map +1 -0
  27. package/lib/swmmrs/index.js +13 -0
  28. package/lib/swmmrs/index.js.map +1 -0
  29. package/lib/swmmrs/objects/amm.d.ts +114 -0
  30. package/lib/swmmrs/objects/amm.d.ts.map +1 -0
  31. package/lib/swmmrs/objects/amm.js +19 -0
  32. package/lib/swmmrs/objects/amm.js.map +1 -0
  33. package/lib/swmmrs/objects/collections.d.ts +109 -0
  34. package/lib/swmmrs/objects/collections.d.ts.map +1 -0
  35. package/lib/swmmrs/objects/collections.js +158 -0
  36. package/lib/swmmrs/objects/collections.js.map +1 -0
  37. package/lib/swmmrs/objects/definitions.d.ts +215 -0
  38. package/lib/swmmrs/objects/definitions.d.ts.map +1 -0
  39. package/lib/swmmrs/objects/definitions.js +69 -0
  40. package/lib/swmmrs/objects/definitions.js.map +1 -0
  41. package/lib/swmmrs/objects/lids.d.ts +446 -0
  42. package/lib/swmmrs/objects/lids.d.ts.map +1 -0
  43. package/lib/swmmrs/objects/lids.js +90 -0
  44. package/lib/swmmrs/objects/lids.js.map +1 -0
  45. package/lib/swmmrs/objects/links.d.ts +615 -0
  46. package/lib/swmmrs/objects/links.d.ts.map +1 -0
  47. package/lib/swmmrs/objects/links.js +90 -0
  48. package/lib/swmmrs/objects/links.js.map +1 -0
  49. package/lib/swmmrs/objects/nodes.d.ts +494 -0
  50. package/lib/swmmrs/objects/nodes.d.ts.map +1 -0
  51. package/lib/swmmrs/objects/nodes.js +147 -0
  52. package/lib/swmmrs/objects/nodes.js.map +1 -0
  53. package/lib/swmmrs/objects/options.d.ts +112 -0
  54. package/lib/swmmrs/objects/options.d.ts.map +1 -0
  55. package/lib/swmmrs/objects/options.js +27 -0
  56. package/lib/swmmrs/objects/options.js.map +1 -0
  57. package/lib/swmmrs/objects/rtk.d.ts +82 -0
  58. package/lib/swmmrs/objects/rtk.d.ts.map +1 -0
  59. package/lib/swmmrs/objects/rtk.js +19 -0
  60. package/lib/swmmrs/objects/rtk.js.map +1 -0
  61. package/lib/swmmrs/objects/subcatchments.d.ts +575 -0
  62. package/lib/swmmrs/objects/subcatchments.d.ts.map +1 -0
  63. package/lib/swmmrs/objects/subcatchments.js +243 -0
  64. package/lib/swmmrs/objects/subcatchments.js.map +1 -0
  65. package/lib/swmmrs/output.d.ts +412 -0
  66. package/lib/swmmrs/output.d.ts.map +1 -0
  67. package/lib/swmmrs/output.js +507 -0
  68. package/lib/swmmrs/output.js.map +1 -0
  69. package/lib/swmmrs/protocol.d.ts +80 -0
  70. package/lib/swmmrs/protocol.d.ts.map +1 -0
  71. package/lib/swmmrs/protocol.js +2 -0
  72. package/lib/swmmrs/protocol.js.map +1 -0
  73. package/lib/swmmrs/runtime.d.ts +22 -0
  74. package/lib/swmmrs/runtime.d.ts.map +1 -0
  75. package/lib/swmmrs/runtime.js +146 -0
  76. package/lib/swmmrs/runtime.js.map +1 -0
  77. package/lib/swmmrs/scenarios.d.ts +41 -0
  78. package/lib/swmmrs/scenarios.d.ts.map +1 -0
  79. package/lib/swmmrs/scenarios.js +2 -0
  80. package/lib/swmmrs/scenarios.js.map +1 -0
  81. package/lib/swmmrs/simulation.d.ts +249 -0
  82. package/lib/swmmrs/simulation.d.ts.map +1 -0
  83. package/lib/swmmrs/simulation.js +415 -0
  84. package/lib/swmmrs/simulation.js.map +1 -0
  85. package/lib/swmmrs/snapshots.d.ts +192 -0
  86. package/lib/swmmrs/snapshots.d.ts.map +1 -0
  87. package/lib/swmmrs/snapshots.js +2 -0
  88. package/lib/swmmrs/snapshots.js.map +1 -0
  89. package/lib/swmmrs/types.d.ts +123 -0
  90. package/lib/swmmrs/types.d.ts.map +1 -0
  91. package/lib/swmmrs/types.js +2 -0
  92. package/lib/swmmrs/types.js.map +1 -0
  93. package/lib/swmmrs/worker.d.ts +2 -0
  94. package/lib/swmmrs/worker.d.ts.map +1 -0
  95. package/lib/swmmrs/worker.js +488 -0
  96. package/lib/swmmrs/worker.js.map +1 -0
  97. package/package.json +33 -0
  98. package/src/swmmrs/client.ts +76 -0
  99. package/src/swmmrs/enums.ts +73 -0
  100. package/src/swmmrs/exceptions.ts +120 -0
  101. package/src/swmmrs/index.ts +79 -0
  102. package/src/swmmrs/objects/amm.ts +113 -0
  103. package/src/swmmrs/objects/collections.ts +153 -0
  104. package/src/swmmrs/objects/definitions.ts +246 -0
  105. package/src/swmmrs/objects/lids.ts +487 -0
  106. package/src/swmmrs/objects/links.ts +626 -0
  107. package/src/swmmrs/objects/nodes.ts +504 -0
  108. package/src/swmmrs/objects/options.ts +114 -0
  109. package/src/swmmrs/objects/rtk.ts +79 -0
  110. package/src/swmmrs/objects/subcatchments.ts +650 -0
  111. package/src/swmmrs/output.ts +798 -0
  112. package/src/swmmrs/protocol.ts +62 -0
  113. package/src/swmmrs/runtime.ts +188 -0
  114. package/src/swmmrs/scenarios.ts +40 -0
  115. package/src/swmmrs/simulation.ts +406 -0
  116. package/src/swmmrs/snapshots.ts +199 -0
  117. package/src/swmmrs/types.ts +123 -0
  118. package/src/swmmrs/worker.ts +233 -0
  119. package/worker-node.js +142 -0
  120. package/worker.js +1 -0
@@ -0,0 +1,79 @@
1
+ import type { Call } from "../protocol.js";
2
+
3
+ /** One detached RTK short-, medium-, or long-response parameter set. */
4
+ export interface UnitHydrographResponse {
5
+ /** Fraction of rainfall converted to RDII. */
6
+ readonly rainfallFraction: number;
7
+ /** Time to peak in hours. */
8
+ readonly timeToPeakHours: number;
9
+ /** Recession-to-time-to-peak ratio. */
10
+ readonly recessionRatio: number;
11
+ /** Maximum initial abstraction depth in inches or millimetres. */
12
+ readonly maximumInitialAbstraction: number;
13
+ /** Initial abstraction recovery rate in rainfall-depth units per day. */
14
+ readonly initialAbstractionRecoveryRate: number;
15
+ /** Initial abstraction depth at start in inches or millimetres. */
16
+ readonly initialAbstractionAtStart: number;
17
+ }
18
+
19
+ /** One calendar month's named RTK responses. */
20
+ export interface UnitHydrographMonth {
21
+ /** Short-response parameters. */
22
+ readonly short: UnitHydrographResponse;
23
+ /** Medium-response parameters. */
24
+ readonly medium: UnitHydrographResponse;
25
+ /** Long-response parameters. */
26
+ readonly long: UnitHydrographResponse;
27
+ }
28
+
29
+ /** Complete January-through-December RTK response matrix. */
30
+ export interface UnitHydrographConfiguration {
31
+ /** Canonical rain-gage ID. */
32
+ readonly rainGage: string;
33
+ /** Exactly twelve monthly records, January through December. */
34
+ readonly monthlyResponses: readonly UnitHydrographMonth[];
35
+ }
36
+
37
+ /** Sparse RTK update. Omitted fields retain their current values. */
38
+ export interface UnitHydrographPatch {
39
+ /** Replacement rain-gage ID. */
40
+ rainGage?: string;
41
+ /** Replacement complete January-through-December array, exactly twelve entries. */
42
+ monthlyResponses?: readonly UnitHydrographMonth[];
43
+ }
44
+
45
+ /** Detached RTK RDII node assignment in native project units. IDs are canonical. */
46
+ export interface RdiiAssignment {
47
+ /** Canonical receiving node ID. */
48
+ readonly node: string;
49
+ /** Canonical RTK unit-hydrograph ID. */
50
+ readonly unitHydrograph: string;
51
+ /** Assigned land area in acres (US) or hectares (SI). */
52
+ readonly area: number;
53
+ }
54
+
55
+ export interface RtkOperations {
56
+ unitHydrographConfiguration: { args: [string]; result: UnitHydrographConfiguration };
57
+ configureUnitHydrograph: { args: [string, UnitHydrographPatch]; result: void };
58
+ rdiiAssignments: { args: []; result: readonly RdiiAssignment[] };
59
+ replaceRdiiAssignments: { args: [readonly RdiiAssignment[]]; result: void };
60
+ }
61
+
62
+ /** Editable RTK definition from `simulation.unitHydrographs`; node assignments are separate. */
63
+ export class UnitHydrograph {
64
+ /** Canonical configured hydrograph ID. */
65
+ readonly id: string;
66
+ readonly #call: Call;
67
+ private constructor(id: string, call: Call) { this.id = id; this.#call = call; Object.freeze(this); }
68
+ /** @internal */
69
+ static create(id: string, call: Call): UnitHydrograph { return new UnitHydrograph(id, call); }
70
+ /** Read the definition in any healthy owner state.
71
+ * @returns Detached rain-gage identity and complete twelve-month response matrix.
72
+ */
73
+ configuration(): Promise<UnitHydrographConfiguration> { return this.#call("unitHydrographConfiguration", this.id); }
74
+ /** Atomically update an RTK definition in `open` or `ended`; accepted edits return the owner to `open`.
75
+ * @param patch - Sparse fields; a monthly array replaces all twelve months.
76
+ * @returns Resolves after the complete patch is accepted.
77
+ */
78
+ configure(patch: UnitHydrographPatch): Promise<void> { return this.#call("configureUnitHydrograph", this.id, patch); }
79
+ }