ningshuxia
6 天以前 e372b432b52bedf58b7d3bd80bd679ae9c3cecb3
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
/** @file epanet2_enums.h
*/
/*
 ******************************************************************************
 Project:      OWA EPANET
 Version:      2.2
 Module:       epanet2_enums.h
 Description:  enumerations of symbolic constants used by the API functions
 Authors:      see AUTHORS
 Copyright:    see AUTHORS
 License:      see LICENSE
 Last Updated: 11/06/2019
 ******************************************************************************
*/
 
 
#ifndef EPANET2_ENUMS_H
#define EPANET2_ENUMS_H
 
 
// --- Define the EPANET toolkit constants
 
/// Size Limts
/**
Limits on the size of character arrays used to store ID names
and text messages.
*/
typedef enum {
  EN_MAXID   = 31,     //!< Max. # characters in ID name
  EN_MAXMSG  = 255     //!< Max. # characters in message text
} EN_SizeLimits;
 
/// Node properties
/**
These node properties are used with @ref EN_getnodevalue and @ref EN_setnodevalue.
Those marked as read only are computed values that can only be retrieved.
*/
typedef enum {
  EN_ELEVATION    = 0, //!< Elevation
  EN_BASEDEMAND   = 1, //!< Primary demand baseline value
  EN_PATTERN      = 2, //!< Primary demand time pattern index
  EN_EMITTER      = 3, //!< Emitter flow coefficient
  EN_INITQUAL     = 4, //!< Initial quality
  EN_SOURCEQUAL   = 5, //!< Quality source strength
  EN_SOURCEPAT    = 6, //!< Quality source pattern index
  EN_SOURCETYPE   = 7, //!< Quality source type (see @ref EN_SourceType)
  EN_TANKLEVEL    = 8, //!< Current computed tank water level (read only)
  EN_DEMAND       = 9, //!< Current computed demand (read only)
  EN_HEAD         = 10, //!< Current computed hydraulic head (read only)
  EN_PRESSURE     = 11, //!< Current computed pressure (read only)
  EN_QUALITY      = 12, //!< Current computed quality (read only)
  EN_SOURCEMASS   = 13, //!< Current computed quality source mass inflow (read only)
  EN_INITVOLUME   = 14, //!< Tank initial volume (read only)
  EN_MIXMODEL     = 15, //!< Tank mixing model (see @ref EN_MixingModel)
  EN_MIXZONEVOL   = 16, //!< Tank mixing zone volume (read only)
  EN_TANKDIAM     = 17, //!< Tank diameter
  EN_MINVOLUME    = 18, //!< Tank minimum volume
  EN_VOLCURVE     = 19, //!< Tank volume curve index
  EN_MINLEVEL     = 20, //!< Tank minimum level
  EN_MAXLEVEL     = 21, //!< Tank maximum level
  EN_MIXFRACTION  = 22, //!< Tank mixing fraction
  EN_TANK_KBULK   = 23, //!< Tank bulk decay coefficient
  EN_TANKVOLUME   = 24, //!< Current computed tank volume (read only)
  EN_MAXVOLUME    = 25, //!< Tank maximum volume (read only)
  EN_CANOVERFLOW  = 26, //!< Tank can overflow (= 1) or not (= 0)
  EN_DEMANDDEFICIT = 27 //!< Amount that full demand is reduced under PDA (read only)
} EN_NodeProperty;
 
/// Link properties
/**
These link properties are used with @ref EN_getlinkvalue and @ref EN_setlinkvalue.
Those marked as read only are computed values that can only be retrieved.
*/
typedef enum {
  EN_DIAMETER     = 0,  //!< Pipe/valve diameter
  EN_LENGTH       = 1,  //!< Pipe length
  EN_ROUGHNESS    = 2,  //!< Pipe roughness coefficient
  EN_MINORLOSS    = 3,  //!< Pipe/valve minor loss coefficient
  EN_INITSTATUS   = 4,  //!< Initial status (see @ref EN_LinkStatusType)
  EN_INITSETTING  = 5,  //!< Initial pump speed or valve setting
  EN_KBULK        = 6,  //!< Bulk chemical reaction coefficient
  EN_KWALL        = 7,  //!< Pipe wall chemical reaction coefficient
  EN_FLOW         = 8,  //!< Current computed flow rate (read only)
  EN_VELOCITY     = 9,  //!< Current computed flow velocity (read only)
  EN_HEADLOSS     = 10, //!< Current computed head loss (read only)
  EN_STATUS       = 11, //!< Current link status (see @ref EN_LinkStatusType)
  EN_SETTING      = 12, //!< Current link setting
  EN_ENERGY       = 13, //!< Current computed pump energy usage (read only)
  EN_LINKQUAL     = 14, //!< Current computed link quality (read only)
  EN_LINKPATTERN  = 15, //!< Pump speed time pattern index
  EN_PUMP_STATE   = 16, //!< Current computed pump state (read only) (see @ref EN_PumpStateType)
  EN_PUMP_EFFIC   = 17, //!< Current computed pump efficiency (read only)
  EN_PUMP_POWER   = 18, //!< Pump constant power rating
  EN_PUMP_HCURVE  = 19, //!< Pump head v. flow curve index
  EN_PUMP_ECURVE  = 20, //!< Pump efficiency v. flow curve index
  EN_PUMP_ECOST   = 21, //!< Pump average energy price
  EN_PUMP_EPAT    = 22  //!< Pump energy price time pattern index
} EN_LinkProperty;
 
/// Time parameters
/**
These time-related options are used with @ref EN_gettimeparam and@ref EN_settimeparam.
All times are expressed in seconds The parameters marked as read only are
computed values that can only be retrieved.
*/
typedef enum {
  EN_DURATION     = 0,  //!< Total simulation duration
  EN_HYDSTEP      = 1,  //!< Hydraulic time step
  EN_QUALSTEP     = 2,  //!< Water quality time step
  EN_PATTERNSTEP  = 3,  //!< Time pattern period
  EN_PATTERNSTART = 4,  //!< Time when time patterns begin
  EN_REPORTSTEP   = 5,  //!< Reporting time step
  EN_REPORTSTART  = 6,  //!< Time when reporting starts
  EN_RULESTEP     = 7,  //!< Rule-based control evaluation time step
  EN_STATISTIC    = 8,  //!< Reporting statistic code (see @ref EN_StatisticType)
  EN_PERIODS      = 9,  //!< Number of reporting time periods (read only)
  EN_STARTTIME    = 10, //!< Simulation starting time of day
  EN_HTIME        = 11, //!< Elapsed time of current hydraulic solution (read only)
  EN_QTIME        = 12, //!< Elapsed time of current quality solution (read only)
  EN_HALTFLAG     = 13, //!< Flag indicating if the simulation was halted (read only)
  EN_NEXTEVENT    = 14, //!< Shortest time until a tank becomes empty or full (read only)
  EN_NEXTEVENTTANK = 15  //!< Index of tank with shortest time to become empty or full (read only)
} EN_TimeParameter;
 
/// Analysis convergence statistics
/**
These statistics report the convergence criteria for the most current hydraulic analysis
and the cumulative water quality mass balance error at the current simulation time. They
can be retrieved with @ref EN_getstatistic.
*/
typedef enum {
  EN_ITERATIONS      = 0, //!< Number of hydraulic iterations taken
  EN_RELATIVEERROR   = 1, //!< Sum of link flow changes / sum of link flows
  EN_MAXHEADERROR    = 2, //!< Largest head loss error for links
  EN_MAXFLOWCHANGE   = 3, //!< Largest flow change in links
  EN_MASSBALANCE     = 4, //!< Cumulative water quality mass balance ratio
  EN_DEFICIENTNODES  = 5, //!< Number of pressure deficient nodes
  EN_DEMANDREDUCTION = 6  //!< % demand reduction at pressure deficient nodes
} EN_AnalysisStatistic;
 
/// Types of network objects
/**
The types of objects that comprise a network model.
*/
typedef enum {
    EN_NODE    = 0,     //!< Nodes
    EN_LINK    = 1,     //!< Links
    EN_TIMEPAT = 2,     //!< Time patterns
    EN_CURVE   = 3,     //!< Data curves
    EN_CONTROL = 4,     //!< Simple controls
    EN_RULE    = 5      //!< Control rules
} EN_ObjectType;
 
/// Types of objects to count
/**
These options tell @ref EN_getcount which type of object to count.
*/
typedef enum {
  EN_NODECOUNT    = 0,  //!< Number of nodes (junctions + tanks + reservoirs)
  EN_TANKCOUNT    = 1,  //!< Number of tanks and reservoirs
  EN_LINKCOUNT    = 2,  //!< Number of links (pipes + pumps + valves)
  EN_PATCOUNT     = 3,  //!< Number of time patterns
  EN_CURVECOUNT   = 4,  //!< Number of data curves
  EN_CONTROLCOUNT = 5,  //!< Number of simple controls
  EN_RULECOUNT    = 6   //!< Number of rule-based controls
} EN_CountType;
 
/// Node Types
/**
These are the different types of nodes that can be returned by calling @ref EN_getnodetype.
*/
typedef enum {
  EN_JUNCTION    = 0,   //!< Junction node
  EN_RESERVOIR   = 1,   //!< Reservoir node
  EN_TANK        = 2    //!< Storage tank node
} EN_NodeType;
 
/// Link types
/**
These are the different types of links that can be returned by calling @ref EN_getlinktype.
*/
typedef enum {
  EN_CVPIPE       = 0,  //!< Pipe with check valve
  EN_PIPE         = 1,  //!< Pipe
  EN_PUMP         = 2,  //!< Pump
  EN_PRV          = 3,  //!< Pressure reducing valve
  EN_PSV          = 4,  //!< Pressure sustaining valve
  EN_PBV          = 5,  //!< Pressure breaker valve
  EN_FCV          = 6,  //!< Flow control valve
  EN_TCV          = 7,  //!< Throttle control valve
  EN_GPV          = 8   //!< General purpose valve
} EN_LinkType;
 
/// Link status
/**
One of these values is returned when @ref EN_getlinkvalue is used to retrieve a link's
initial status ( \b EN_INITSTATUS ) or its current status ( \b EN_STATUS ). These options are
also used with @ref EN_setlinkvalue to set values for these same properties.
*/
typedef enum {
  EN_CLOSED       = 0,
  EN_OPEN         = 1
} EN_LinkStatusType;
 
/// Pump states
/**
One of these codes is returned when @ref EN_getlinkvalue is used to retrieve a pump's
current operating state ( \b EN_PUMP_STATE ). \b EN_PUMP_XHEAD indicates that the pump has been
shut down because it is being asked to deliver more than its shutoff head. \b EN_PUMP_XFLOW
indicates that the pump is being asked to deliver more than its maximum flow.
*/
typedef enum {
  EN_PUMP_XHEAD   = 0,  //!< Pump closed - cannot supply head
  EN_PUMP_CLOSED  = 2,  //!< Pump closed
  EN_PUMP_OPEN    = 3,  //!< Pump open
  EN_PUMP_XFLOW   = 5   //!< Pump open - cannot supply flow
} EN_PumpStateType;
 
/// Types of water quality analyses
/**
These are the different types of water quality analyses that EPANET can run. They
are used with @ref EN_getqualinfo, @ref EN_getqualtype, and @ref EN_setqualtype.
*/
typedef enum {
  EN_NONE        = 0,   //!< No quality analysis
  EN_CHEM        = 1,   //!< Chemical fate and transport
  EN_AGE         = 2,   //!< Water age analysis
  EN_TRACE       = 3    //!< Source tracing analysis
} EN_QualityType;
 
/// Water quality source types
/**
These are the different types of external water quality sources that can be assigned
to a node's \b EN_SOURCETYPE property as used by @ref EN_getnodevalue and @ref EN_setnodevalue.
*/
typedef enum {
  EN_CONCEN      = 0,   //!< Sets the concentration of external inflow entering a node
  EN_MASS        = 1,   //!< Injects a given mass/minute into a node
  EN_SETPOINT    = 2,   //!< Sets the concentration leaving a node to a given value
  EN_FLOWPACED   = 3    //!< Adds a given value to the concentration leaving a node
} EN_SourceType;
 
/// Head loss formulas
/**
The available choices for the \b EN_HEADLOSSFORM option in @ref EN_getoption and
@ref EN_setoption. They are also used for the head loss type argument in @ref EN_init.
Each head loss formula uses a different type of roughness coefficient ( \b EN_ROUGHNESS )
that can be set with @ref EN_setlinkvalue.
*/
typedef enum {
  EN_HW          = 0,   //!< Hazen-Williams
  EN_DW          = 1,   //!< Darcy-Weisbach
  EN_CM          = 2    //!< Chezy-Manning
} EN_HeadLossType;
 
/// Flow units
/**
These choices for flow units are used with @ref EN_getflowunits and @ref EN_setflowunits.
They are also used for the flow units type argument in @ref EN_init. If flow units are
expressed in US Customary units ( \b EN_CFS through \b EN_AFD ) then all other quantities are
in US Customary units. Otherwise they are in metric units.
*/
typedef enum {
  EN_CFS         = 0,   //!< Cubic feet per second
  EN_GPM         = 1,   //!< Gallons per minute
  EN_MGD         = 2,   //!< Million gallons per day
  EN_IMGD        = 3,   //!< Imperial million gallons per day
  EN_AFD         = 4,   //!< Acre-feet per day
  EN_LPS         = 5,   //!< Liters per second
  EN_LPM         = 6,   //!< Liters per minute
  EN_MLD         = 7,   //!< Million liters per day
  EN_CMH         = 8,   //!< Cubic meters per hour
  EN_CMD         = 9    //!< Cubic meters per day
} EN_FlowUnits;
 
/// Demand models
/**
These choices for modeling consumer demands are used with @ref EN_getdemandmodel
and @ref EN_setdemandmodel.
 
A demand driven analysis requires that a junction's full demand be supplied
in each time period independent of how much pressure is available. A pressure
driven analysis makes demand be a power function of pressure, up to the point
where the full demand is met.
*/
typedef enum {
  EN_DDA         = 0,   //!< Demand driven analysis
  EN_PDA         = 1    //!< Pressure driven analysis
} EN_DemandModel;
 
/// Simulation options
/**
These constants identify the hydraulic and water quality simulation options
that are applied on a network-wide basis. They are accessed using the
@ref EN_getoption and @ref EN_setoption functions.
*/
typedef enum {
  EN_TRIALS         = 0,  //!< Maximum trials allowed for hydraulic convergence
  EN_ACCURACY       = 1,  //!< Total normalized flow change for hydraulic convergence
  EN_TOLERANCE      = 2,  //!< Water quality tolerance
  EN_EMITEXPON      = 3,  //!< Exponent in emitter discharge formula
  EN_DEMANDMULT     = 4,  //!< Global demand multiplier
  EN_HEADERROR      = 5,  //!< Maximum head loss error for hydraulic convergence
  EN_FLOWCHANGE     = 6,  //!< Maximum flow change for hydraulic convergence
  EN_HEADLOSSFORM   = 7,  //!< Head loss formula (see @ref EN_HeadLossType)
  EN_GLOBALEFFIC    = 8,  //!< Global pump efficiency (percent)
  EN_GLOBALPRICE    = 9,  //!< Global energy price per KWH
  EN_GLOBALPATTERN  = 10, //!< Index of a global energy price pattern
  EN_DEMANDCHARGE   = 11,  //!< Energy charge per max. KW usage
  EN_SP_GRAVITY     = 12, //!< Specific gravity
  EN_SP_VISCOS      = 13, //!< Specific viscosity (relative to water at 20 deg C)
  EN_UNBALANCED     = 14, //!< Extra trials allowed if hydraulics don't converge
  EN_CHECKFREQ      = 15, //!< Frequency of hydraulic status checks
  EN_MAXCHECK       = 16, //!< Maximum trials for status checking
  EN_DAMPLIMIT      = 17, //!< Accuracy level where solution damping begins
  EN_SP_DIFFUS      = 18, //!< Specific diffusivity (relative to chlorine at 20 deg C)
  EN_BULKORDER      = 19, //!< Bulk water reaction order for pipes
  EN_WALLORDER      = 20, //!< Wall reaction order for pipes (either 0 or 1)
  EN_TANKORDER      = 21, //!< Bulk water reaction order for tanks
  EN_CONCENLIMIT    = 22  //!< Limiting concentration for growth reactions
} EN_Option;
 
/// Simple control types
/**
These are the different types of simple (single statement) controls that can be applied
to network links. They are used as an argument to @ref EN_addcontrol,@ref EN_getcontrol,
and @ref EN_setcontrol.
*/
typedef enum {
  EN_LOWLEVEL    = 0,   //!< Act when pressure or tank level drops below a setpoint
  EN_HILEVEL     = 1,   //!< Act when pressure or tank level rises above a setpoint
  EN_TIMER       = 2,   //!< Act at a prescribed elapsed amount of time
  EN_TIMEOFDAY   = 3    //!< Act at a particular time of day
} EN_ControlType;
 
/// Reporting statistic choices
/**
These options determine what kind of statistical post-processing should be done on
the time series of simulation results generated before they are reported using
@ref EN_report. An option can be chosen by using \b STATISTIC _option_ as the argument
to @ref EN_setreport.
*/
typedef enum {
  EN_SERIES      = 0,   //!< Report all time series points
  EN_AVERAGE     = 1,   //!< Report average value over simulation period
  EN_MINIMUM     = 2,   //!< Report minimum value over simulation period
  EN_MAXIMUM     = 3,   //!< Report maximum value over simulation period
  EN_RANGE       = 4    //!< Report maximum - minimum over simulation period
} EN_StatisticType;
 
/// Tank mixing models
/**
These are the different types of models that describe water quality mixing in storage tanks.
The choice of model is accessed with the \b EN_MIXMODEL property of a Tank node using
@ref EN_getnodevalue and @ref EN_setnodevalue.
*/
typedef enum {
  EN_MIX1        = 0,   //!< Complete mix model
  EN_MIX2        = 1,   //!< 2-compartment model
  EN_FIFO        = 2,   //!< First in, first out model
  EN_LIFO        = 3    //!< Last in, first out model
} EN_MixingModel;
 
/// Hydraulic initialization options
/**
These options are used to initialize a new hydraulic analysis when @ref EN_initH is called.
*/
typedef enum {
  EN_NOSAVE        = 0,  //!< Don't save hydraulics; don't re-initialize flows
  EN_SAVE          = 1,  //!< Save hydraulics to file, don't re-initialize flows
  EN_INITFLOW      = 10, //!< Don't save hydraulics; re-initialize flows
  EN_SAVE_AND_INIT = 11  //!< Save hydraulics; re-initialize flows
} EN_InitHydOption;
 
/// Types of pump curves
/**
@ref EN_getpumptype returns one of these values when it is called.
*/
typedef enum {
  EN_CONST_HP    = 0,   //!< Constant horsepower
  EN_POWER_FUNC  = 1,   //!< Power function
  EN_CUSTOM      = 2,   //!< User-defined custom curve
  EN_NOCURVE     = 3    //!< No curve
} EN_PumpType;
 
/// Types of data curves
/**
These are the different types of physical relationships that a data curve can
represent as returned by calling @ref EN_getcurvetype.
*/
typedef enum {
  EN_VOLUME_CURVE  = 0,   //!< Tank volume v. depth curve
  EN_PUMP_CURVE    = 1,   //!< Pump head v. flow curve
  EN_EFFIC_CURVE   = 2,   //!< Pump efficiency v. flow curve
  EN_HLOSS_CURVE   = 3,   //!< Valve head loss v. flow curve
  EN_GENERIC_CURVE = 4    //!< Generic curve
} EN_CurveType;
 
/// Deletion action codes
/**
These codes are used in @ref EN_deletenode and @ref EN_deletelink to indicate what action
should be taken if the node or link being deleted appears in any simple or rule-based
controls or if a deleted node has any links connected to it.
*/
typedef enum {
  EN_UNCONDITIONAL = 0, //!< Delete all controls and connecing links
  EN_CONDITIONAL   = 1  //!< Cancel object deletion if it appears in controls or has connecting links
} EN_ActionCodeType;
 
/// Status reporting levels
/**
These choices specify the level of status reporting written to a project's report
file during a hydraulic analysis. The level is set using the @ref EN_setstatusreport function.
*/
typedef enum {
  EN_NO_REPORT = 0,     //!< No status reporting
  EN_NORMAL_REPORT = 1, //!< Normal level of status reporting
  EN_FULL_REPORT = 2    //!< Full level of status reporting
} EN_StatusReport;
 
/// Network objects used in rule-based controls
typedef enum {
  EN_R_NODE      = 6,   //!< Clause refers to a node
  EN_R_LINK      = 7,   //!< Clause refers to a link
  EN_R_SYSTEM    = 8    //!< Clause refers to a system parameter (e.g., time)
} EN_RuleObject;
 
/// Object variables used in rule-based controls
typedef enum {
  EN_R_DEMAND    = 0,   //!< Nodal demand
  EN_R_HEAD      = 1,   //!< Nodal hydraulic head
  EN_R_GRADE     = 2,   //!< Nodal hydraulic grade
  EN_R_LEVEL     = 3,   //!< Tank water level
  EN_R_PRESSURE  = 4,   //!< Nodal pressure
  EN_R_FLOW      = 5,   //!< Link flow rate
  EN_R_STATUS    = 6,   //!< Link status
  EN_R_SETTING   = 7,   //!< Link setting
  EN_R_POWER     = 8,   //!< Pump power output
  EN_R_TIME      = 9,   //!< Elapsed simulation time
  EN_R_CLOCKTIME = 10,  //!< Time of day
  EN_R_FILLTIME  = 11,  //!< Time to fill a tank
  EN_R_DRAINTIME = 12   //!< Time to drain a tank
} EN_RuleVariable;
 
/// Comparison operators used in rule-based controls
typedef enum {
  EN_R_EQ        = 0,   //!< Equal to
  EN_R_NE        = 1,   //!< Not equal
  EN_R_LE        = 2,   //!< Less than or equal to
  EN_R_GE        = 3,   //!< Greater than or equal to
  EN_R_LT        = 4,   //!< Less than
  EN_R_GT        = 5,   //!< Greater than
  EN_R_IS        = 6,   //!< Is equal to
  EN_R_NOT       = 7,   //!< Is not equal to
  EN_R_BELOW     = 8,   //!< Is below
  EN_R_ABOVE     = 9    //!< Is above
} EN_RuleOperator;
 
/// Link status codes used in rule-based controls
typedef enum {
  EN_R_IS_OPEN   = 1,   //!< Link is open
  EN_R_IS_CLOSED = 2,   //!< Link is closed
  EN_R_IS_ACTIVE = 3    //!< Control valve is active
} EN_RuleStatus;
 
#define EN_MISSING -1.E10  //!< Missing value indicator
 
#endif //EPANET2_ENUMS_H