EPANET  2.1
text.h
1 /*
2 ****************************************************
3 
4  String Constants for EPANET Program
5 
6 VERSION: 2.00
7 DATE: 5/8/00
8  10/25/00
9  8/15/07 (2.00.11)
10  2/14/08 (2.00.12)
11 AUTHOR: L. Rossman
12  US EPA - NRMRL
13 
14 ****************************************************
15 */
16 /* ------------ Keyword Dictionary ---------- */
17 #ifndef TEXT_H
18 #define TEXT_H
19 
20 #define w_USE "USE"
21 #define w_SAVE "SAVE"
22 
23 #define w_NONE "NONE"
24 #define w_ALL "ALL"
25 
26 #define w_CHEM "CHEM"
27 #define w_AGE "AGE"
28 #define w_TRACE "TRACE"
29 
30 #define w_SYSTEM "SYST"
31 #define w_JUNC "Junc"
32 #define w_RESERV "Reser"
33 #define w_TANK "Tank"
34 #define w_CV "CV"
35 #define w_PIPE "Pipe"
36 #define w_PUMP "Pump"
37 #define w_VALVE "Valve"
38 #define w_PRV "PRV"
39 #define w_PSV "PSV"
40 #define w_PBV "PBV"
41 #define w_FCV "FCV"
42 #define w_TCV "TCV"
43 #define w_GPV "GPV"
44 
45 #define w_OPEN "OPEN"
46 #define w_CLOSED "CLOSED"
47 #define w_ACTIVE "ACTIVE"
48 #define w_TIME "TIME"
49 #define w_ABOVE "ABOVE"
50 #define w_BELOW "BELOW"
51 #define w_PRECISION "PREC"
52 #define w_IS "IS"
53 #define w_NOT "NOT"
54 
55 #define w_ADD "ADD"
56 #define w_MULTIPLY "MULT"
57 
58 #define w_LIMITING "LIMIT"
59 #define w_ORDER "ORDER"
60 #define w_GLOBAL "GLOB"
61 #define w_BULK "BULK"
62 #define w_WALL "WALL"
63 
64 #define w_PAGE "PAGE"
65 #define w_STATUS "STATUS"
66 #define w_SUMMARY "SUMM"
67 #define w_MESSAGES "MESS"
68 #define w_ENERGY "ENER"
69 #define w_NODE "NODE"
70 #define w_LINK "LINK"
71 #define w_FILE "FILE"
72 #define w_YES "YES"
73 #define w_NO "NO"
74 #define w_FULL "FULL"
75 
76 #define w_HW "H-W"
77 #define w_DW "D-W"
78 #define w_CM "C-M"
79 
80 #define w_CFS "CFS"
81 #define w_GPM "GPM"
82 #define w_MGD "MGD"
83 #define w_IMGD "IMGD"
84 #define w_AFD "AFD"
85 #define w_LPS "LPS"
86 #define w_LPM "LPM"
87 #define w_MLD "MLD"
88 #define w_CMH "CMH"
89 #define w_CMD "CMD"
90 #define w_SI "SI"
91 
92 #define w_PSI "PSI"
93 #define w_KPA "KPA"
94 #define w_METERS "METERS"
95 
96 #define w_ELEV "ELEV"
97 #define w_DEMAND "DEMA"
98 #define w_HEAD "HEAD"
99 #define w_PRESSURE "PRES"
100 #define w_QUALITY "QUAL"
101 
102 #define w_DIAM "DIAM"
103 #define w_FLOW "FLOW"
104 #define w_ROUGHNESS "ROUG"
105 #define w_VELOCITY "VELO"
106 #define w_HEADLOSS "HEADL"
107 #define w_SETTING "SETT"
108 #define w_POWER "POWE"
109 #define w_VOLUME "VOLU"
110 #define w_CLOCKTIME "CLOCKTIME"
111 #define w_FILLTIME "FILL"
112 #define w_DRAINTIME "DRAI"
113 #define w_GRADE "GRADE"
114 #define w_LEVEL "LEVEL"
115 
116 #define w_DURATION "DURA"
117 #define w_HYDRAULIC "HYDR"
118 #define w_MINIMUM "MINI"
119 #define w_PATTERN "PATT"
120 #define w_REPORT "REPO"
121 #define w_START "STAR"
122 
123 #define w_UNITS "UNIT"
124 #define w_MAP "MAP"
125 #define w_VERIFY "VERI"
126 #define w_VISCOSITY "VISC"
127 #define w_DIFFUSIVITY "DIFF"
128 #define w_SPECGRAV "SPEC"
129 #define w_TRIALS "TRIAL"
130 #define w_ACCURACY "ACCU"
131 #define w_SEGMENTS "SEGM"
132 #define w_TOLERANCE "TOLER"
133 #define w_EMITTER "EMIT"
134 
135 #define w_PRICE "PRICE"
136 #define w_DMNDCHARGE "DEMAN"
137 
138 #define w_HTOL "HTOL"
139 #define w_QTOL "QTOL"
140 #define w_RQTOL "RQTOL"
141 #define w_CHECKFREQ "CHECKFREQ"
142 #define w_MAXCHECK "MAXCHECK"
143 #define w_DAMPLIMIT "DAMPLIMIT" //(2.00.12 - LR)
144 
145 #define w_SECONDS "SEC"
146 #define w_MINUTES "MIN"
147 #define w_HOURS "HOU"
148 #define w_DAYS "DAY"
149 #define w_AM "AM"
150 #define w_PM "PM"
151 
152 #define w_CONCEN "CONCEN"
153 #define w_MASS "MASS"
154 #define w_SETPOINT "SETPOINT"
155 #define w_FLOWPACED "FLOWPACED"
156 
157 #define w_PATTERN "PATT"
158 #define w_CURVE "CURV"
159 
160 #define w_EFFIC "EFFI"
161 #define w_HEAD "HEAD"
162 #define w_POWER "POWE"
163 #define w_SPEED "SPEE"
164 
165 #define w_MIXED "MIXED"
166 #define w_2COMP "2COMP"
167 #define w_FIFO "FIFO"
168 #define w_LIFO "LIFO"
169 
170 #define w_STATISTIC "STAT"
171 #define w_AVG "AVERAGE"
172 #define w_MIN "MINIMUM"
173 #define w_MAX "MAXIMUM"
174 #define w_RANGE "RANGE"
175 
176 #define w_UNBALANCED "UNBA"
177 #define w_STOP "STOP"
178 #define w_CONTINUE "CONT"
179 
180 #define w_RULE "RULE"
181 #define w_IF "IF"
182 #define w_AND "AND"
183 #define w_OR "OR"
184 #define w_THEN "THEN"
185 #define w_ELSE "ELSE"
186 #define w_PRIORITY "PRIO"
187 
188 /* ---------Input Section Names ---------- */
189 #define s_TITLE "[TITL"
190 #define s_JUNCTIONS "[JUNC"
191 #define s_RESERVOIRS "[RESE"
192 #define s_TANKS "[TANK"
193 #define s_PIPES "[PIPE"
194 #define s_PUMPS "[PUMP"
195 #define s_VALVES "[VALV"
196 #define s_CONTROLS "[CONT"
197 #define s_RULES "[RULE"
198 #define s_DEMANDS "[DEMA"
199 #define s_SOURCES "[SOUR"
200 #define s_EMITTERS "[EMIT"
201 #define s_PATTERNS "[PATT"
202 #define s_CURVES "[CURV"
203 #define s_QUALITY "[QUAL"
204 #define s_STATUS "[STAT"
205 #define s_ROUGHNESS "[ROUG"
206 #define s_ENERGY "[ENER"
207 #define s_REACTIONS "[REAC"
208 #define s_MIXING "[MIXI"
209 #define s_REPORT "[REPO"
210 #define s_TIMES "[TIME"
211 #define s_OPTIONS "[OPTI"
212 #define s_COORDS "[COOR"
213 #define s_VERTICES "[VERT"
214 #define s_LABELS "[LABE"
215 #define s_BACKDROP "[BACK"
216 #define s_TAGS "[TAGS"
217 #define s_END "[END"
218 
219 /* ---------------- Units ---------------- */
220 /*** Limit units to MAXID or less characters ***/
221 #define u_CFS "cfs"
222 #define u_GPM "gpm"
223 #define u_AFD "a-f/d"
224 #define u_MGD "mgd"
225 #define u_IMGD "Imgd"
226 #define u_LPS "L/s"
227 #define u_LPM "Lpm"
228 #define u_CMH "m3/h"
229 #define u_CMD "m3/d"
230 #define u_MLD "ML/d"
231 #define u_MGperL "mg/L"
232 #define u_UGperL "ug/L"
233 #define u_HOURS "hrs"
234 #define u_MINUTES "min"
235 #define u_PERCENT "% from"
236 #define u_METERS "m"
237 #define u_MMETERS "mm"
238 #define u_MperSEC "m/s"
239 #define u_SQMperSEC "sq m/sec"
240 #define u_per1000M "/1000m"
241 #define u_KW "kw"
242 #define u_FEET "ft"
243 #define u_INCHES "in"
244 #define u_PSI "psi"
245 #define u_KPA "kPa"
246 #define u_FTperSEC "fps"
247 #define u_SQFTperSEC "sq ft/sec"
248 #define u_per1000FT "/1000ft"
249 #define u_HP "hp"
250 
251 /* -------------- Curve Types ----------------- */
252 #define c_HEADLOSS "HEADLOSS"
253 #define c_PUMP "PUMP"
254 #define c_EFFIC "EFFIC"
255 #define c_VOLUME "VOLUME"
256 
257 /* ------------------ Text Phrases ------------------- */
258 #define t_ABOVE "above"
259 #define t_BELOW "below"
260 #define t_HW "Hazen-Williams"
261 #define t_DW "Darcy-Weisbach"
262 #define t_CM "Chezy-Manning"
263 #define t_CHEMICAL "Chemical"
264 #define t_XHEAD "closed because cannot deliver head"
265 #define t_TEMPCLOSED "temporarily closed"
266 #define t_CLOSED "closed"
267 #define t_OPEN "open"
268 #define t_ACTIVE "active"
269 #define t_XFLOW "open but exceeds maximum flow"
270 #define t_XFCV "open but cannot deliver flow"
271 #define t_XPRESSURE "open but cannot deliver pressure"
272 #define t_FILLING "filling"
273 #define t_EMPTYING "emptying"
274 
275 #define t_ELEV "Elevation"
276 #define t_DEMAND "Demand"
277 #define t_HEAD "Head"
278 #define t_PRESSURE "Pressure"
279 #define t_QUALITY "Quality"
280 #define t_LENGTH "Length"
281 #define t_DIAM "Diameter"
282 #define t_FLOW "Flow"
283 #define t_VELOCITY "Velocity"
284 #define t_HEADLOSS "Headloss"
285 #define t_LINKQUAL "Quality"
286 #define t_LINKSTATUS "State"
287 #define t_SETTING "Setting"
288 #define t_REACTRATE "Reaction"
289 #define t_FRICTION "F-Factor"
290 
291 #define t_NODEID "Node"
292 #define t_LINKID "Link"
293 #define t_PERDAY "/day"
294 
295 #define t_JUNCTION "Junction"
296 #define t_RESERVOIR "Reservoir"
297 #define t_TANK "Tank"
298 #define t_PIPE "Pipe"
299 #define t_PUMP "Pump"
300 #define t_VALVE "Valve"
301 #define t_CONTROL "Control"
302 #define t_RULE "Rule"
303 #define t_DEMANDFOR "Demand for Node"
304 #define t_SOURCE "Source"
305 #define t_EMITTER "Emitter"
306 #define t_PATTERN "Pattern"
307 #define t_CURVE "Curve"
308 #define t_STATUS "Status"
309 #define t_ROUGHNESS "Roughness"
310 #define t_ENERGY "Energy"
311 #define t_REACTION "Reaction"
312 #define t_MIXING "Mixing"
313 #define t_REPORT "Report"
314 #define t_TIME "Times"
315 #define t_OPTION "Options"
316 #define t_RULES_SECT "[RULES] section"
317 #define t_HALTED " EXECUTION HALTED."
318 #define t_FUNCCALL "function call"
319 #define t_CONTINUED " (continued)"
320 #define t_perM3 " /m3"
321 #define t_perMGAL "/Mgal"
322 #define t_DIFFER "DIFFERENTIAL"
323 
324 
325 /* ------------------ Format Messages ------------------*/
326 #define LOGO1 \
327 "******************************************************************"
328 #define LOGO2 \
329 "* E P A N E T *"
330 #define LOGO3 \
331 "* Hydraulic and Water Quality *"
332 #define LOGO4 \
333 "* Analysis for Pipe Networks *"
334 #define LOGO5 \
335 "* Version %d.%d *"
336 #define LOGO6 \
337 "******************************************************************"
338 #define FMT01 "\n... EPANET Version %d.%d\n"
339 #define FMT02 "\n o Retrieving network data"
340 #define FMT03 "\n Correct syntax is:\n epanet <input file> <output file>\n"
341 #define FMT04 "\n Cannot use duplicate file names."
342 #define FMT05 "\n Cannot open input file "
343 #define FMT06 "\n Cannot open report file "
344 #define FMT07 "\n Cannot open output file "
345 #define FMT08 "\n Cannot open temporary output file"
346 #define FMT09 "\n\n... EPANET completed.\n"
347 #define FMT10 "\n\n... EPANET completed. There are warnings.\n"
348 #define FMT11 "\n\n... EPANET completed. There are errors.\n"
349 #define FMT14 "\n o Computing hydraulics at hour "
350 #define FMT15 "\n o Computing water quality at hour "
351 #define FMT16 "\n o Transferring results to file"
352 #define FMT17 "\n o Writing output report to "
353 #define FMT18 " Page 1 "
354 #define FMT19 " Input Data File ................... %s"
355 #define FMT20 " Number of Junctions................ %-d"
356 #define FMT21a " Number of Reservoirs............... %-d"
357 #define FMT21b " Number of Tanks ................... %-d"
358 #define FMT22 " Number of Pipes ................... %-d"
359 #define FMT23 " Number of Pumps ................... %-d"
360 #define FMT24 " Number of Valves .................. %-d"
361 #define FMT25 " Headloss Formula .................. %s"
362 #define FMT26 " Hydraulic Timestep ................ %-.2f %s"
363 #define FMT27 " Hydraulic Accuracy ................ %-.6f"
364 
365 #define FMT27a " Status Check Frequency ............ %-d" //(2.00.12 - LR)
366 #define FMT27b " Maximum Trials Checked ............ %-d" //(2.00.12 - LR)
367 #define FMT27c " Damping Limit Threshold ........... %-.6f" //(2.00.12 - LR)
368 
369 #define FMT28 " Maximum Trials .................... %-d"
370 #define FMT29 " Quality Analysis .................. None"
371 #define FMT30 " Quality Analysis .................. %s"
372 #define FMT31 " Quality Analysis .................. Trace From Node %s"
373 #define FMT32 " Quality Analysis .................. Age"
374 #define FMT33 " Water Quality Time Step ........... %-.2f min"
375 #define FMT34 " Water Quality Tolerance ........... %-.2f %s"
376 #define FMT36 " Specific Gravity .................. %-.2f"
377 #define FMT37a " Relative Kinematic Viscosity ...... %-.2f"
378 #define FMT37b " Relative Chemical Diffusivity ..... %-.2f"
379 #define FMT38 " Demand Multiplier ................. %-.2f"
380 #define FMT39 " Total Duration .................... %-.2f %s"
381 #define FMT40 " Reporting Criteria:"
382 #define FMT41 " No Nodes"
383 #define FMT42 " All Nodes"
384 #define FMT43 " Selected Nodes"
385 #define FMT44 " No Links"
386 #define FMT45 " All Links"
387 #define FMT46 " Selected Links"
388 #define FMT47 " with %s below %-.2f %s"
389 #define FMT48 " with %s above %-.2f %s"
390 
391 /* ---------- Status Report Format Strings ------------ */
392 #define FMT49 "Hydraulic Status:"
393 
394 /*** Updated 6/24/02 ***/
395 #define FMT50 "%10s: Tank %s is %s at %-.2f %s"
396 #define FMT51 "%10s: Reservoir %s is %s"
397 #define FMT52 "%10s: %s %s %s"
398 #define FMT53 "%10s: %s %s changed from %s to %s"
399 #define FMT54 "%10s: %s %s changed by %s %s control"
400 #define FMT55 "%10s: %s %s changed by timer control"
401 #define FMT56 " %s %s setting changed to %-.2f"
402 #define FMT57 " %s %s switched from %s to %s"
403 #define FMT58 "%10s: Balanced after %-d trials"
404 #define FMT59 "%10s: Unbalanced after %-d trials (flow change = %-.6f)"
405 
406 #define FMT60a " Max. flow imbalance is %.4f %s at Node %s" //(2.00.12 - LR)
407 #define FMT60b " Max. head imbalance is %.4f %s at Link %s" //(2.00.12 - LR)
408 
409 #define FMT61 "%10s: Valve %s caused ill-conditioning"
410 #define FMT62 "%10s: System ill-conditioned at node %s"
411 #define FMT63 "%10s: %s %s changed by rule %s"
412 #define FMT64 "%10s: Balancing the network:"
413 #define FMT65 " Trial %2d: relative flow change = %-.6f"
414 /*** End of update ***/
415 
416 /* -------------------- Energy Report Table ------------------- */
417 #define FMT71 "Energy Usage:"
418 #define FMT72 \
419  " Usage Avg. Kw-hr Avg. Peak Cost"
420 #define FMT73 \
421  "Pump Factor Effic. %s Kw Kw /day"
422 #define FMT74 "%38s Demand Charge: %9.2f"
423 #define FMT75 "%38s Total Cost: %9.2f"
424 
425 /* -------------------- Node Report Table --------------------- */
426 #define FMT76 "%s Node Results:"
427 #define FMT77 "Node Results:"
428 #define FMT78 "Node Results at %s hrs:"
429 
430 /* -------------------- Link Report Table --------------------- */
431 #define FMT79 "%s Link Results:"
432 #define FMT80 "Link Results:"
433 #define FMT81 "Link Results at %s hrs:"
434 #define FMT82 "\n\f\n Page %-d %60.60s\n"
435 
436 /* ------------------- Progress Messages ---------------------- */
437 #define FMT100 "Retrieving network data..."
438 #define FMT101 "Computing hydraulics at hour %s"
439 #define FMT102 "Computing water quality at hour %s"
440 #define FMT103 "Saving results to file..."
441 #define FMT104 "Analysis begun %s"
442 #define FMT105 "Analysis ended %s"
443 
444 /*------------------- Error Messages --------------------*/
445 #define ERR101 "System Error 101: insufficient memory available."
446 #define ERR102 "System Error 102: no network data available."
447 #define ERR103 "System Error 103: hydraulics not initialized."
448 #define ERR104 "System Error 104: no hydraulics for water quality analysis."
449 #define ERR105 "System Error 105: water quality not initialized."
450 #define ERR106 "System Error 106: no results saved to report on."
451 #define ERR107 "System Error 107: hydraulics supplied from external file."
452 #define ERR108 "System Error 108: cannot use external file while hydraulics solver is active."
453 #define ERR109 "System Error 109: cannot change time parameter when solver is active."
454 #define ERR110 "System Error 110: cannot solve network hydraulic equations."
455 #define ERR120 "System Error 120: cannot solve water quality transport equations."
456 
457 #define ERR200 "Input Error 200: one or more errors in input file."
458 #define ERR201 \
459  "Input Error 201: syntax error in following line of [%s] section:"
460 #define ERR202 "Input Error 202: %s %s contains illegal numeric value."
461 #define ERR203 "Input Error 203: %s %s refers to undefined node."
462 #define ERR204 "Input Error 204: %s %s refers to undefined link."
463 #define ERR205 "Input Error 205: %s %s refers to undefined time pattern."
464 #define ERR206 "Input Error 206: %s %s refers to undefined curve."
465 #define ERR207 "Input Error 207: %s %s attempts to control a CV."
466 
467 #define ERR208 "Input Error 208: %s specified for undefined Node %s."
468 #define ERR209 "Input Error 209: illegal %s value for Node %s."
469 #define ERR210 "Input Error 210: %s specified for undefined Link %s."
470 #define ERR211 "Input Error 211: illegal %s value for Link %s."
471 #define ERR212 "Input Error 212: trace node %.0s %s is undefined."
472 #define ERR213 "Input Error 213: illegal option value in [%s] section:"
473 #define ERR214 \
474  "Input Error 214: following line of [%s] section contains too many characters:"
475 #define ERR215 "Input Error 215: %s %s is a duplicate ID."
476 #define ERR216 "Input Error 216: %s data specified for undefined Pump %s."
477 #define ERR217 "Input Error 217: invalid %s data for Pump %s."
478 #define ERR219 "Input Error 219: %s %s illegally connected to a tank."
479 #define ERR220 "Input Error 220: %s %s illegally connected to another valve."
480 
481 /*** Updated on 10/25/00 ***/
482 #define ERR222 "Input Error 222: %s %s has same start and end nodes."
483 
484 #define ERR223 "Input Error 223: not enough nodes in network"
485 #define ERR224 "Input Error 224: no tanks or reservoirs in network."
486 #define ERR225 "Input Error 225: invalid lower/upper levels for Tank %s."
487 #define ERR226 "Input Error 226: no head curve supplied for Pump %s."
488 #define ERR227 "Input Error 227: invalid head curve for Pump %s."
489 #define ERR230 "Input Error 230: Curve %s has nonincreasing x-values."
490 #define ERR233 "Input Error 233: Node %s is unconnected."
491 #define ERR240 "Input Error 240: %s %s refers to undefined source."
492 #define ERR241 "Input Error 241: %s %s refers to undefined control."
493 #define ERR250 "Input Error 250: function call contains invalid format."
494 #define ERR251 "Input Error 251: function call contains invalid parameter code."
495 
496 #define ERR253 "Input Error 253: Function call error - No such demand category index."
497 #define ERR254 "Input Error 254: Function call error - Node have no coordinates."
498 #define ERR255 "Input Error 255: Function call error - Coordinates were not loaded."
499 
500 #define ERR301 "File Error 301: identical file names."
501 #define ERR302 "File Error 302: cannot open input file."
502 #define ERR303 "File Error 303: cannot open report file."
503 #define ERR304 "File Error 304: cannot open binary output file."
504 #define ERR305 "File Error 305: cannot open hydraulics file."
505 #define ERR306 "File Error 306: hydraulics file does not match network data."
506 #define ERR307 "File Error 307: cannot read hydraulics file."
507 #define ERR308 "File Error 308: cannot save results to file."
508 #define ERR309 "File Error 309: cannot save results to report file."
509 
510 #define ERR401 "Sync Error 401: Qstep is not dividable by Hstep. Can't sync."
511 
512 #define R_ERR201 "Input Error 201: syntax error in following line of "
513 #define R_ERR202 "Input Error 202: illegal numeric value in following line of "
514 #define R_ERR203 "Input Error 203: undefined node in following line of "
515 #define R_ERR204 "Input Error 204: undefined link in following line of "
516 #define R_ERR207 "Input Error 207: attempt to control a CV in following line of "
517 
518 #define R_ERR221 "Input Error 221: mis-placed clause in following line of "
519 
520 /*-------------------- Specific Warning Messages -------------------------*/
521 #define WARN01 "WARNING: System unbalanced at %s hrs."
522 #define WARN02 \
523 "WARNING: Maximum trials exceeded at %s hrs. System may be unstable."
524 #define WARN03a "WARNING: Node %s disconnected at %s hrs"
525 #define WARN03b "WARNING: %d additional nodes disconnected at %s hrs"
526 #define WARN03c "WARNING: System disconnected because of Link %s"
527 #define WARN04 "WARNING: Pump %s %s at %s hrs."
528 #define WARN05 "WARNING: %s %s %s at %s hrs."
529 #define WARN06 "WARNING: Negative pressures at %s hrs."
530 
531 /*-------------------- General Warning Messages -------------------------*/
532 #define WARN1 "WARNING: System hydraulically unbalanced."
533 #define WARN2 "WARNING: System may be hydraulically unstable."
534 #define WARN3 "WARNING: System disconnected."
535 #define WARN4 "WARNING: Pumps cannot deliver enough flow or head."
536 #define WARN5 "WARNING: Valves cannot deliver enough flow."
537 #define WARN6 "WARNING: System has negative pressures."
538 
539 #endif