OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
globals.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// globals.h
3//
4// Project: EPA SWMM5
5// Version: 5.2
6// Date: 11/01/21 (Build 5.2.0)
7// Author: L. Rossman
8//
9// Global Variables
10//
11// Update History
12// ==============
13// Build 5.1.004:
14// - Ignore RDII option added.
15// Build 5.1.007:
16// - Monthly climate variable adjustments added.
17// Build 5.1.008:
18// - Number of parallel threads for dynamic wave routing added.
19// - Minimum dynamic wave routing variable time step added.
20// Build 5.1.011:
21// - Changed WarningCode to Warnings (# warnings issued)
22// - Added error message text as a variable.
23// - Added elapsed simulation time (in decimal days) variable.
24// - Added variables associated with detailed routing events.
25// Build 5.1.012:
26// - InSteadyState variable made local to routing_execute in routing.c.
27// Build 5.1.013:
28// - CrownCutoff and RuleStep added as analysis option variables.
29// Build 5.1.015:
30// - Fixes bug in summary statistics when Report Start date > Start Date.
31// Build 5.2.0:
32// - Support for relative file names added.
33// - Support for writing multiple output hotstart files for given times
34// Build 5.3.0:
35// - Implemented option to save multiple hotstart files at different times
36//-----------------------------------------------------------------------------
37
38#ifndef GLOBALS_H
39#define GLOBALS_H
40
41
43 Finp, // Input file
44 Fout, // Output file
45 Frpt, // Report file
46 Fclimate, // Climate file
47 Frain, // Rainfall file
48 Frunoff, // Runoff file
49 Frdii, // RDII inflow file
50 FhotstartInput, // Hot start input file
51 *FhotstartOutputs, // Hot start output files
52 Finflows, // Inflows routing file
53 Foutflows; // Outflows routing file
54
55EXTERN long
56 Nperiods, // Number of reporting periods
57 TotalStepCount, // Total routing steps used
58 ReportStepCount, // Reporting routing steps used
59 NonConvergeCount; // Number of non-converging steps
60
61EXTERN char
62 Msg[MAXMSG+1], // Text of output message
63 ErrorMsg[MAXMSG+1], // Text of error message
64 Title[MAXTITLE][MAXMSG+1],// Project title
65 TempDir[MAXFNAME+1], // Temporary file directory
66 InpDir[MAXFNAME+1]; // Input file directory
67
69 RptFlags; // Reporting options
70
71EXTERN int
72 Nobjects[MAX_OBJ_TYPES], // Number of each object type
73 Nnodes[MAX_NODE_TYPES], // Number of each node sub-type
74 Nlinks[MAX_LINK_TYPES], // Number of each link sub-type
75 UnitSystem, // Unit system
76 FlowUnits, // Flow units
77 InfilModel, // Infiltration method
78 RouteModel, // Flow routing method
79 ForceMainEqn, // Flow equation for force mains
80 LinkOffsets, // Link offset convention
81 SurchargeMethod, // EXTRAN or SLOT method
82 AllowPonding, // Allow water to pond at nodes
83 InertDamping, // Degree of inertial damping
84 NormalFlowLtd, // Normal flow limited
85 SlopeWeighting, // Use slope weighting
86 Compatibility, // SWMM 5/3/4 compatibility
87 SkipSteadyState, // Skip over steady state periods
88 IgnoreRainfall, // Ignore rainfall/runoff
89 IgnoreRDII, // Ignore RDII
90 IgnoreSnowmelt, // Ignore snowmelt
91 IgnoreGwater, // Ignore groundwater
92 IgnoreRouting, // Ignore flow routing
93 IgnoreQuality, // Ignore water quality
94 ErrorCode, // Error code number
95 Warnings, // Number of warning messages
96 WetStep, // Runoff wet time step (sec)
97 DryStep, // Runoff dry time step (sec)
98 ReportStep, // Reporting time step (sec)
99 RuleStep, // Rule evaluation time step (sec)
100 SweepStart, // Day of year when sweeping starts
101 SweepEnd, // Day of year when sweeping ends
102 MaxTrials, // Max. trials for DW routing
103 NumThreads, // Number of parallel threads used
104 NumEvents; // Number of detailed events
105
106EXTERN double
107 RouteStep, // Routing time step (sec)
108 MinRouteStep, // Minimum variable time step (sec)
109 LengtheningStep, // Time step for lengthening (sec)
110 StartDryDays, // Antecedent dry days
111 CourantFactor, // Courant time step factor
112 MinSurfArea, // Minimum nodal surface area
113 MinSlope, // Minimum conduit slope
114 RunoffError, // Runoff continuity error
115 GwaterError, // Groundwater continuity error
116 FlowError, // Flow routing error
117 QualError, // Quality routing error
118 HeadTol, // DW routing head tolerance (ft)
119 SysFlowTol, // Tolerance for steady system flow
120 LatFlowTol, // Tolerance for steady nodal inflow
121 CrownCutoff; // Fractional pipe crown cutoff
122
124 StartDate, // Starting date
125 StartTime, // Starting time
126 StartDateTime, // Starting Date+Time
127 EndDate, // Ending date
128 EndTime, // Ending time
129 EndDateTime, // Ending Date+Time
130 ReportStartDate, // Report start date
131 ReportStartTime, // Report start time
132 ReportStart; // Report start Date+Time
133
134EXTERN double
135 ReportTime, // Current reporting time (msec)
136 OldRunoffTime, // Previous runoff time (msec)
137 NewRunoffTime, // Current runoff time (msec)
138 OldRoutingTime, // Previous routing time (msec)
139 NewRoutingTime, // Current routing time (msec)
140 TotalDuration, // Simulation duration (msec)
141 ElapsedTime; // Current elapsed time (days)
142
143EXTERN TTemp Temp; // Temperature data
144EXTERN TEvap Evap; // Evaporation data
145EXTERN TWind Wind; // Wind speed data
146EXTERN TSnow Snow; // Snow melt data
147EXTERN TAdjust Adjust; // Climate adjustments
148
149EXTERN TSnowmelt* Snowmelt; // Array of snow melt objects
150EXTERN TGage* Gage; // Array of rain gages
151EXTERN TSubcatch* Subcatch; // Array of subcatchments
152EXTERN TAquifer* Aquifer; // Array of groundwater aquifers
153EXTERN TUnitHyd* UnitHyd; // Array of unit hydrographs
154EXTERN TNode* Node; // Array of nodes
155EXTERN TOutfall* Outfall; // Array of outfall nodes
156EXTERN TDivider* Divider; // Array of divider nodes
157EXTERN TStorage* Storage; // Array of storage nodes
158EXTERN TLink* Link; // Array of links
159EXTERN TConduit* Conduit; // Array of conduit links
160EXTERN TPump* Pump; // Array of pump links
161EXTERN TOrifice* Orifice; // Array of orifice links
162EXTERN TWeir* Weir; // Array of weir links
163EXTERN TOutlet* Outlet; // Array of outlet device links
164EXTERN TPollut* Pollut; // Array of pollutants
165EXTERN TLanduse* Landuse; // Array of landuses
166EXTERN TPattern* Pattern; // Array of time patterns
167EXTERN TTable* Curve; // Array of curve tables
168EXTERN TTable* Tseries; // Array of time series tables
169EXTERN TTransect* Transect; // Array of transect data
170EXTERN TStreet* Street; // Array of defined Street cross-sections
171EXTERN TShape* Shape; // Array of custom conduit shapes
172EXTERN TEvent* Event; // Array of routing events
173
174
175#endif //GLOBALS_H
double DateTime
Type for storing date and time values.
Definition datetime.h:29
EXTERN double CourantFactor
Definition globals.h:111
EXTERN double NewRoutingTime
Definition globals.h:139
EXTERN int IgnoreRDII
Definition globals.h:89
EXTERN double GwaterError
Definition globals.h:115
EXTERN int DryStep
Definition globals.h:97
EXTERN int Nnodes[MAX_NODE_TYPES]
Definition globals.h:73
EXTERN TStorage * Storage
Definition globals.h:157
EXTERN TSubcatch * Subcatch
Definition globals.h:151
EXTERN DateTime ReportStart
Definition globals.h:132
EXTERN TAdjust Adjust
Definition globals.h:147
EXTERN TPump * Pump
Definition globals.h:160
EXTERN TSnow Snow
Definition globals.h:146
EXTERN int IgnoreRainfall
Definition globals.h:88
EXTERN char Msg[MAXMSG+1]
Definition globals.h:62
EXTERN int InertDamping
Definition globals.h:83
EXTERN double RunoffError
Definition globals.h:114
EXTERN double LatFlowTol
Definition globals.h:120
EXTERN int ForceMainEqn
Definition globals.h:79
EXTERN double OldRoutingTime
Definition globals.h:138
EXTERN double FlowError
Definition globals.h:116
EXTERN int IgnoreGwater
Definition globals.h:91
EXTERN int Nlinks[MAX_LINK_TYPES]
Definition globals.h:74
EXTERN long NonConvergeCount
Definition globals.h:59
EXTERN int Nobjects[MAX_OBJ_TYPES]
Definition globals.h:72
EXTERN TFile * FhotstartOutputs
Definition globals.h:51
EXTERN double MinSlope
Definition globals.h:113
EXTERN int WetStep
Definition globals.h:96
EXTERN TFile Finflows
Definition globals.h:52
EXTERN int IgnoreQuality
Definition globals.h:93
EXTERN TFile Frdii
Definition globals.h:49
EXTERN double OldRunoffTime
Definition globals.h:136
EXTERN TFile FhotstartInput
Definition globals.h:50
EXTERN int FlowUnits
Definition globals.h:76
EXTERN double SysFlowTol
Definition globals.h:119
EXTERN double MinRouteStep
Definition globals.h:108
EXTERN TEvap Evap
Definition globals.h:144
EXTERN TFile Finp
Definition globals.h:43
EXTERN int InfilModel
Definition globals.h:77
EXTERN int IgnoreSnowmelt
Definition globals.h:90
EXTERN int MaxTrials
Definition globals.h:102
EXTERN TPollut * Pollut
Definition globals.h:164
EXTERN double CrownCutoff
Definition globals.h:121
EXTERN TWeir * Weir
Definition globals.h:162
EXTERN int Warnings
Definition globals.h:95
EXTERN int RouteModel
Definition globals.h:78
EXTERN DateTime StartDate
Definition globals.h:124
EXTERN DateTime EndTime
Definition globals.h:128
EXTERN double ElapsedTime
Definition globals.h:141
EXTERN TOrifice * Orifice
Definition globals.h:161
EXTERN TOutfall * Outfall
Definition globals.h:155
EXTERN TDivider * Divider
Definition globals.h:156
EXTERN TShape * Shape
Definition globals.h:171
EXTERN int SkipSteadyState
Definition globals.h:87
EXTERN TGage * Gage
Definition globals.h:150
EXTERN TFile Fclimate
Definition globals.h:46
EXTERN int RuleStep
Definition globals.h:99
EXTERN char TempDir[MAXFNAME+1]
Definition globals.h:65
EXTERN double QualError
Definition globals.h:117
EXTERN TFile Frunoff
Definition globals.h:48
EXTERN int ErrorCode
Definition globals.h:94
EXTERN TOutlet * Outlet
Definition globals.h:163
EXTERN int NormalFlowLtd
Definition globals.h:84
EXTERN DateTime EndDate
Definition globals.h:127
EXTERN long Nperiods
Definition globals.h:56
EXTERN long TotalStepCount
Definition globals.h:57
EXTERN int SweepEnd
Definition globals.h:101
EXTERN char InpDir[MAXFNAME+1]
Definition globals.h:66
EXTERN double ReportTime
Definition globals.h:135
EXTERN TSnowmelt * Snowmelt
Definition globals.h:149
EXTERN TNode * Node
Definition globals.h:154
EXTERN int SurchargeMethod
Definition globals.h:81
EXTERN DateTime StartDateTime
Definition globals.h:126
EXTERN TFile Fout
Definition globals.h:44
EXTERN int SweepStart
Definition globals.h:100
EXTERN TRptFlags RptFlags
Definition globals.h:69
EXTERN int AllowPonding
Definition globals.h:82
EXTERN double TotalDuration
Definition globals.h:140
EXTERN DateTime ReportStartTime
Definition globals.h:131
EXTERN int LinkOffsets
Definition globals.h:80
EXTERN TFile Frain
Definition globals.h:47
EXTERN DateTime ReportStartDate
Definition globals.h:130
EXTERN double NewRunoffTime
Definition globals.h:137
EXTERN TTemp Temp
Definition globals.h:143
EXTERN TAquifer * Aquifer
Definition globals.h:152
EXTERN TEvent * Event
Definition globals.h:172
EXTERN int ReportStep
Definition globals.h:98
EXTERN TStreet * Street
Definition globals.h:170
EXTERN TLanduse * Landuse
Definition globals.h:165
EXTERN DateTime StartTime
Definition globals.h:125
EXTERN DateTime EndDateTime
Definition globals.h:129
EXTERN double MinSurfArea
Definition globals.h:112
EXTERN TPattern * Pattern
Definition globals.h:166
EXTERN TTransect * Transect
Definition globals.h:169
EXTERN long ReportStepCount
Definition globals.h:58
EXTERN int Compatibility
Definition globals.h:86
EXTERN double StartDryDays
Definition globals.h:110
EXTERN TLink * Link
Definition globals.h:158
EXTERN char ErrorMsg[MAXMSG+1]
Definition globals.h:63
EXTERN int SlopeWeighting
Definition globals.h:85
EXTERN int NumEvents
Definition globals.h:104
EXTERN double LengtheningStep
Definition globals.h:109
EXTERN double HeadTol
Definition globals.h:118
EXTERN TTable * Tseries
Definition globals.h:168
EXTERN TConduit * Conduit
Definition globals.h:159
EXTERN TWind Wind
Definition globals.h:145
EXTERN TTable * Curve
Definition globals.h:167
EXTERN double RouteStep
Definition globals.h:107
EXTERN int IgnoreRouting
Definition globals.h:92
EXTERN int NumThreads
Definition globals.h:103
EXTERN TUnitHyd * UnitHyd
Definition globals.h:153
EXTERN TFile Foutflows
Definition globals.h:53
EXTERN char Title[MAXTITLE][MAXMSG+1]
Definition globals.h:64
EXTERN TFile Frpt
Definition globals.h:45
EXTERN int UnitSystem
Definition globals.h:75
#define MAX_NODE_TYPES
Maximum number of node types.
Definition enums.h:98
#define MAX_LINK_TYPES
Maximum number of link types.
Definition enums.h:120
@ MAX_OBJ_TYPES
Maximum number of object types.
Definition enums.h:91
#define MAXTITLE
Maximum number of title lines.
Definition consts.h:58
#define MAXMSG
Maximum number of characters in a message.
Definition consts.h:64
#define MAXFNAME
Maximum number of characters in a file name.
Definition consts.h:76
#define EXTERN
Definition headers.h:15
Definition objects.h:220
Definition objects.h:243
Definition objects.h:722
Definition objects.h:577
Definition objects.h:204
Definition objects.h:234
Definition objects.h:82
Definition objects.h:124
Definition objects.h:852
Definition objects.h:501
Definition objects.h:762
Definition objects.h:544
Definition objects.h:799
Definition objects.h:429
Definition objects.h:810
Definition objects.h:747
Definition objects.h:865
Definition objects.h:657
Definition objects.h:190
Definition objects.h:311
Definition objects.h:559
Definition objects.h:637
Definition objects.h:383
Definition objects.h:105
Definition objects.h:160
Definition objects.h:615
Definition objects.h:477
Definition objects.h:779
Definition objects.h:179