@@ -107,55 +107,124 @@ export const outputDataWords = {
107
107
// Despite this being the only property of a pollut, it should still
108
108
// be an array to match the object structure of links, nodes, and areas.
109
109
//
110
- export const outputDataUnitsWords = {
111
- SUBCATCH : [
112
- { US : ( ) => 'in/hr' , SI : ( ) => 'mm/hr' } ,
113
- { US : ( ) => 'inches' , SI : ( ) => 'mm' } ,
114
- { US : ( ) => 'in/day' , SI : ( ) => 'mm/day' } ,
115
- { US : ( ) => 'in/hr' , SI : ( ) => 'mm/hr' } ,
116
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
117
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
118
- { US : ( ) => 'feet' , SI : ( ) => 'meters' } ,
119
- { US : ( ) => 'unitless' , SI : ( ) => 'unitless' } ,
120
- { US : ( d :number ) => { return QualUnitsWords [ d ] } , SI : ( d :number ) => { return QualUnitsWords [ d ] } }
110
+ interface OutputDataUnit {
111
+ [ resultType : string ] : OutputDataUnitFunction ;
112
+ }
113
+
114
+ interface OutputDataUnitFunction {
115
+ ( d : number ) : string ;
116
+ }
117
+
118
+ interface OutputDataUnitType {
119
+ [ unitSystem : number ] : OutputDataUnit ;
120
+ }
121
+
122
+ interface OutputDataUnitsWords {
123
+ [ objectType : string ] : OutputDataUnitType ;
124
+ }
125
+
126
+
127
+ export const outputDataUnitsWords : OutputDataUnitsWords = {
128
+ 'SUBCATCH' : [
129
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
130
+ { 'US' : ( ) => 'inches' , 'SI' : ( ) => 'mm' } ,
131
+ { 'US' : ( ) => 'in/day' , 'SI' : ( ) => 'mm/day' } ,
132
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
133
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
134
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
135
+ { 'US' : ( ) => 'feet' , 'SI' : ( ) => 'meters' } ,
136
+ { 'US' : ( ) => 'unitless' , 'SI' : ( ) => 'unitless' } ,
137
+ { 'US' : ( d ) => { return QualUnitsWords [ d ] } , 'SI' : ( d ) => { return QualUnitsWords [ d ] } }
138
+ ] ,
139
+ 'NODE' : [
140
+ { 'US' : ( ) => 'feet' , 'SI' : ( ) => 'meters' } ,
141
+ { 'US' : ( ) => 'feet' , 'SI' :( ) => 'meters' } ,
142
+ { 'US' : ( ) => 'ft^3' , 'SI' : ( ) => 'm^3' } ,
143
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
144
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
145
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } }
146
+ ] ,
147
+ 'LINK' : [
148
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
149
+ { 'US' : ( ) => 'feet' , 'SI' : ( ) => 'meters' } ,
150
+ { 'US' : ( ) => 'ft/s' , 'SI' : ( ) => 'm/s' } ,
151
+ { 'US' : ( ) => 'ft^3' , 'SI' : ( ) => 'm^3' } ,
152
+ { 'US' : ( ) => 'unitless' , 'SI' : ( ) => 'unitless' } ,
153
+ { 'US' : ( d ) => { return QualUnitsWords [ d ] } , 'SI' : ( d ) => { return QualUnitsWords [ d ] } }
154
+ ] ,
155
+ 'SYS' : [
156
+ { 'US' : ( ) => 'F' , 'SI' : ( ) => 'C' } ,
157
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
158
+ { 'US' : ( ) => 'inches' , 'SI' : ( ) => 'mm' } ,
159
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
160
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
161
+
162
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
163
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
164
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
165
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
166
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
167
+
168
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
169
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
170
+ { 'US' : ( ) => 'ft^3' , 'SI' : ( ) => 'm^3' } ,
171
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
172
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' }
121
173
] ,
122
- NODE : [
123
- { US : ( ) => 'feet' , SI : ( ) => 'meters' } ,
124
- { US : ( ) => 'feet' , SI :( ) => 'meters' } ,
125
- { US : ( ) => 'ft^3' , SI : ( ) => 'm^3' } ,
126
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
127
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
128
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } }
174
+ ///////////////////////////////////////////////////////////////////////////////////
175
+ // The previous unit return functions are being deprecated to reduce the number
176
+ // of calling strings. The following are intended to replace the previous functions:
177
+ ////////////////////////////////////////////////////////////////////////////////////
178
+ 'SUBCATCHMENT_RESULTS' : [
179
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
180
+ { 'US' : ( ) => 'inches' , 'SI' : ( ) => 'mm' } ,
181
+ { 'US' : ( ) => 'in/day' , 'SI' : ( ) => 'mm/day' } ,
182
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
183
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
184
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
185
+ { 'US' : ( ) => 'feet' , 'SI' : ( ) => 'meters' } ,
186
+ { 'US' : ( ) => 'unitless' , 'SI' : ( ) => 'unitless' } ,
187
+ { 'US' : ( d ) => { return QualUnitsWords [ d ] } , 'SI' : ( d ) => { return QualUnitsWords [ d ] } }
129
188
] ,
130
- LINK : [
131
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
132
- { US : ( ) => 'feet' , SI : ( ) => 'meters' } ,
133
- { US : ( ) => 'ft/s' , SI : ( ) => 'm/s' } ,
134
- { US : ( ) => 'ft^3' , SI : ( ) => 'm^3' } ,
135
- { US : ( ) => 'unitless' , SI : ( ) => 'unitless' } ,
136
- { US : ( d :number ) => { return QualUnitsWords [ d ] } , SI : ( d :number ) => { return QualUnitsWords [ d ] } }
189
+ 'NODE_RESULTS' : [
190
+ { 'US' : ( ) => 'feet' , 'SI' : ( ) => 'meters' } ,
191
+ { 'US' : ( ) => 'feet' , 'SI' :( ) => 'meters' } ,
192
+ { 'US' : ( ) => 'ft^3' , 'SI' : ( ) => 'm^3' } ,
193
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
194
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
195
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } }
196
+ ] ,
197
+ 'LINK_RESULTS' : [
198
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
199
+ { 'US' : ( ) => 'feet' , 'SI' : ( ) => 'meters' } ,
200
+ { 'US' : ( ) => 'ft/s' , 'SI' : ( ) => 'm/s' } ,
201
+ { 'US' : ( ) => 'ft^3' , 'SI' : ( ) => 'm^3' } ,
202
+ { 'US' : ( ) => 'unitless' , 'SI' : ( ) => 'unitless' } ,
203
+ { 'US' : ( d ) => { return QualUnitsWords [ d ] } , 'SI' : ( d ) => { return QualUnitsWords [ d ] } }
204
+ ] ,
205
+ 'SYS_RESULTS' : [
206
+ { 'US' : ( ) => 'F' , 'SI' : ( ) => 'C' } ,
207
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
208
+ { 'US' : ( ) => 'inches' , 'SI' : ( ) => 'mm' } ,
209
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
210
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
211
+
212
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
213
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
214
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
215
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
216
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
217
+
218
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
219
+ { 'US' : ( d ) => { return FlowUnitWords [ d ] } , 'SI' : ( d ) => { return FlowUnitWords [ d ] } } ,
220
+ { 'US' : ( ) => 'ft^3' , 'SI' : ( ) => 'm^3' } ,
221
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' } ,
222
+ { 'US' : ( ) => 'in/hr' , 'SI' : ( ) => 'mm/hr' }
137
223
] ,
138
- SYS : [
139
- { US : ( ) => 'F' , SI : ( ) => 'C' } ,
140
- { US : ( ) => 'in/hr' , SI : ( ) => 'mm/hr' } ,
141
- { US : ( ) => 'inches' , SI : ( ) => 'mm' } ,
142
- { US : ( ) => 'in/hr' , SI : ( ) => 'mm/hr' } ,
143
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
144
-
145
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
146
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
147
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
148
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
149
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
150
-
151
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
152
- { US : ( d :number ) => { return FlowUnitWords [ d ] } , SI : ( d :number ) => { return FlowUnitWords [ d ] } } ,
153
- { US : ( ) => 'ft^3' , SI : ( ) => 'm^3' } ,
154
- { US : ( ) => 'in/hr' , SI : ( ) => 'mm/hr' } ,
155
- { US : ( ) => 'in/hr' , SI : ( ) => 'mm/hr' }
156
- ]
157
224
}
158
225
226
+
227
+
159
228
// Analysis Option Keywords
160
229
var w_FLOW_UNITS = "FLOW_UNITS"
161
230
var w_INFIL_MODEL = "INFILTRATION"
@@ -608,7 +677,7 @@ export const EvapTypeWords = [ w_CONSTANT, w_MONTHLY, w_TIMESERIES,
608
677
export const FileTypeWords = [ w_RAINFALL , w_RUNOFF , w_HOTSTART , w_RDII ,
609
678
w_INFLOWS , w_OUTFLOWS , '' ]
610
679
export const FileModeWords = [ w_NO , w_SCRATCH , w_USE , w_SAVE , '' ]
611
- export const FlowUnitWords = [ w_CFS , w_GPM , w_MGD , w_CMS , w_LPS , w_MLD , '' ]
680
+ export const FlowUnitWords : string [ ] = [ w_CFS , w_GPM , w_MGD , w_CMS , w_LPS , w_MLD , '' ]
612
681
export const ForceMainEqnWords = [ w_H_W , w_D_W , '' ]
613
682
export const GageDataWords = [ w_TIMESERIES , w_FILE , '' ]
614
683
export const InfilModelWords = [ w_HORTON , w_MOD_HORTON , w_GREEN_AMPT ,
0 commit comments