Tuesday, January 17, 2023

SWMM 5.2.2 Underdrain System (part of Storage Layer) Code

 

Variable NameTypeDescription
coeffdoubleunderdrain flow coefficient (in/hr or mm/hr)
expondoubleunderdrain head exponent (for in or mm)
offsetdoubleoffset height of underdrain (ft)
delaydoublerain barrel drain delay time (sec)
hOpendoublehead when drain opens (ft)
hClosedoublehead when drain closes (ft)
qCurveintcurve controlling flow rate (optional)

This code defines a struct called TDrainLayer, which represents an underdrain system as part of a storage layer. The struct contains several variables:

  • coeff: a double representing the underdrain flow coefficient, in units of in/hr or mm/hr.
  • expon: a double representing the underdrain head exponent, used to calculate the head loss through the underdrain.
  • offset: a double representing the offset height of the underdrain, in feet.
  • delay: a double that represents the delay time for the rain barrel drain, in seconds.
  • hOpen: a double representing the head at which the drain opens, in feet.
  • hClose: a double representing the head at which the drain closes, in feet.
  • qCurve: an integer that represents the curve controlling the flow rate of the underdrain. This is optional and may not be used in all cases.

The struct is used to store information about the underdrain system, which can then be used in various calculations and simulations related to the storage layer.





// Underdrain System (part of Storage Layer) typedef struct { double coeff; // underdrain flow coeff. (in/hr or mm/hr) double expon; // underdrain head exponent (for in or mm) double offset; // offset height of underdrain (ft) double delay; // rain barrel drain delay time (sec) double hOpen; // head when drain opens (ft) double hClose; // head when drain closes (ft) int qCurve; // curve controlling flow rate (optional) } TDrainLayer;

Monday, January 16, 2023

Runge-Kutta 2nd order method (RK2), also known as the Midpoint Method

The Runge-Kutta 2nd order method (RK2), also known as the midpoint method, is a numerical method for solving ordinary differential equations (ODEs). The basic idea behind this method is to approximate the solution of the ODE at discrete time steps, using a local polynomial approximation of the solution.

The method begins by approximating the solution at the current time step using the initial value and the derivative of the solution at that point, which is given by the ODE. The next step is to calculate the estimate of the solution at the midpoint between the current and next time steps, this is done by using the initial value and the derivative evaluated at the current time step .

The next approximate solution is then calculated by taking a weighted average of the estimates. The weights used in this average are determined by the specific RK method being used.

The RK2 method is a second-order method, meaning that it can achieve an accuracy of O(h^2), where h is the size of the time step. However, the RK2 method is less computationally expensive than higher-order methods like the RK4 method, which is a fourth-order method with an accuracy of O(h^4).

The explicit form of RK2 method is as follows:

y(tn+1) = y(tn) + h * f(tn + h/2, y(tn) + (h/2)*f(tn, y(tn)))

where y is the function to be solved, h is the step size and f(tn, y(tn)) is the derivative of the function.

It's important to note that RK2 method is not always the best choice for solving ODEs, especially if high accuracy is needed or stiff ODEs. The choice of numerical method depends on the specific problem being solved and the desired level of accuracy.

All RK Methods


Runge-Kutta methods are a family of iterative methods for solving ordinary differential equations (ODEs) with a given initial value. The basic idea behind these methods is to approximate the solution of the ODE at discrete time steps, using a local polynomial approximation of the solution.

The most common method in this family is the fourth-order Runge-Kutta (RK4) method, which uses four estimates of the solution at different points within a time step to compute the next approximate solution. The method begins by approximating the solution at the current time step using the initial value and the derivative of the solution at that point, which is given by the ODE.

The first estimate of the solution at the next time step is calculated using the initial value and the derivative evaluated at the current time step. The second estimate is calculated using the initial value and the derivative evaluated at the midpoint between the current and next time steps. The third and fourth estimates are calculated in a similar manner, using the derivative evaluated at other points within the time step.

These four estimates are then used to compute the next approximate solution, by taking a weighted average of the estimates. The weights used in this average are determined by the specific RK method being used.

The RK4 method is a fourth-order method, meaning that it can achieve an accuracy of O(h^4), where h is the size of the time step. However, the RK4 method is more computationally expensive than lower-order methods like the Euler method, which is a first-order method with an accuracy of O(h).

There are other Runge Kutta Methods like RK2, RK3, RK4, RK5 and so on. It's important to note that RK methods are not always the best choice for solving ODEs. The choice of numerical method depends on the specific problem being solved and the desired level of accuracy.

External Source


https://www.researchgate.net/figure/Illustration-of-numerical-discretization-methods-a-FE-b-RK2-c-RK4-and-d-AB2_fig1_332343636

Illustration of numerical discretization methods: (a) FE, (b) RK2, (c) RK4, and (d) AB2 Figure 1(b) shows the application of RK2 method where Predictor and Corrector are the points of the function at each sample based on Equations (4) and (5). From this perspective, the RK2 method can also be considered as a hybrid method with switching factor is equal to one. This mechanism can be seen from Equations (4) and (5) where the the predictor 'measures' value and then the corrector update the values and this switching continues for the complete ODE function. It is obvious that the main challenge with this approach is the high effort for computation is required even the accuracy is improved. The reduced speed calculation due to the finding the solution is the main hindrance of adaption the method in real-time control system.

Illustration of numerical discretization methods: (a) FE, (b) RK2, (c) RK4, and (d) AB2 Figure 1(b) shows the application of RK2 method where Predictor and Corrector are the points of the function at each sample based on Equations (4) and (5). From this perspective, the RK2 method can also be considered as a hybrid method with switching factor is equal to one. This mechanism can be seen from Equations (4) and (5) where the the predictor 'measures' value and then the corrector update the values and this switching continues for the complete ODE function. It is obvious that the main challenge with this approach is the high effort for computation is required even the accuracy is improved. The reduced speed calculation due to the finding the solution is the main hindrance of adaption the method in real-time control system.

Sunday, January 15, 2023

SWMM 5.2.2 Code for LID Function getEvapRates

This code is for calculating evaporation rates for a low impact development (LID) unit, specifically for the surface layer, pavement, soil, and storage layer. It takes in the volumes/areas of water in each layer (surfaceVol, paveVol, soilVol, and storageVol) as well as the fraction of the surface layer that is pervious (pervFrac) as inputs. It also uses a global variable EvapRate. The function first calculates the available evaporation rate and then calculates the evaporation rate for each layer using the MIN and MAX functions to ensure the evaporation rate does not exceed the available evaporation rate or the volume of water in the layer. The evaporation rate for the surface layer is multiplied by the fraction of the surface layer that is pervious. If the SurfaceInfil variable is greater than zero, the evaporation rates for the pavement, soil, and storage layers are set to zero. The code also uses Tstep variable to convert the rate to total volume over the current time step. The output of this function is updating the member variable SurfaceEvap, PaveEvap, SoilEvap, and StorageEvap and doesn't return any value.

void getEvapRates(double surfaceVol, double paveVol, double soilVol,
    double storageVol, double pervFrac)
//
//  Purpose: computes surface, pavement, soil, and storage evaporation rates.
//  Input:   surfaceVol = volume/area of ponded water on surface layer (ft)
//           paveVol    = volume/area of water in pavement pores (ft)
//           soilVol    = volume/area of water in soil (or pavement) pores (ft)
//           storageVol = volume/area of water in storage layer (ft)
//           pervFrac   = fraction of surface layer that is pervious
//  Output:  none
//
{
    double availEvap;

    //... surface evaporation flux
    availEvap = EvapRate;
    SurfaceEvap = MIN(availEvap, surfaceVol/Tstep);
    SurfaceEvap = MAX(0.0, SurfaceEvap);
    availEvap = MAX(0.0, (availEvap - SurfaceEvap));
    availEvap *= pervFrac;

    //... no subsurface evap if water is infiltrating
    if ( SurfaceInfil > 0.0 )
    {
        PaveEvap = 0.0;
        SoilEvap = 0.0;
        StorageEvap = 0.0;
    }
    else
    {
        //... pavement evaporation flux
        PaveEvap = MIN(availEvap, paveVol / Tstep);
        availEvap = MAX(0.0, (availEvap - PaveEvap));

        //... soil evaporation flux
        SoilEvap = MIN(availEvap, soilVol / Tstep);
        availEvap = MAX(0.0, (availEvap - SoilEvap));

        //... storage evaporation flux
        StorageEvap = MIN(availEvap, storageVol / Tstep);
    }
}

}

SWMM 5.2.2 Function for LID getSurfaceOverflowRate

 This code is for calculating the surface overflow rate from a low impact development (LID) unit. It takes in the surface depth of water stored in the surface layer as an input, and returns the overflow rate in cubic feet per second. It calculates the overflow rate by first determining the difference between the surface depth and the LID unit's surface layer thickness. If this difference is less than or equal to zero, the function returns zero, indicating no overflow. Otherwise, it sets the surface depth to the surface layer thickness, and calculates the overflow rate as the difference times the void fraction of the surface layer divided by the time step (Tstep).


double getSurfaceOverflowRate(double* surfaceDepth) // // Purpose: finds surface overflow rate from a LID unit. // Input: surfaceDepth = depth of water stored in surface layer (ft) // Output: returns the overflow rate (ft/s) // { double delta = *surfaceDepth - theLidProc->surface.thickness; if ( delta <= 0.0 ) return 0.0; *surfaceDepth = theLidProc->surface.thickness; return delta * theLidProc->surface.voidFrac / Tstep; }

SWMM 5.2.2 Function for LID updateWaterBalance

 This code is for updating the water balance for a low impact development (LID) unit. It takes in several input parameters such as inflow, evaporation, infiltration, surface flow, drain flow, and storage. It then calculates the volume of water treated, and updates the water balance object for the LID unit with the inflow, evaporation, infiltration, surface flow, drain flow, and final volume of water stored in the unit. The time step (Tstep) is used to convert the rates to total volumes for the current time step. The output of this function is updating the member variables of the passed in LID unit and doesn't return any value.

void updateWaterBalance(TLidUnit *lidUnit, double inflow, double evap, double infil, double surfFlow, double drainFlow, double storage) // // Purpose: updates components of the water mass balance for a LID unit // over the current time step. // Input: lidUnit = a particular LID unit // inflow = runon + rainfall to the LID unit (ft/s) // evap = evaporation rate from the unit (ft/s) // infil = infiltration out the bottom of the unit (ft/s) // surfFlow = surface runoff from the unit (ft/s) // drainFlow = underdrain flow from the unit // storage = volume of water stored in the unit (ft) // Output: none // { lidUnit->volTreated += inflow * Tstep; lidUnit->waterBalance.inflow += inflow * Tstep; lidUnit->waterBalance.evap += evap * Tstep; lidUnit->waterBalance.infil += infil * Tstep; lidUnit->waterBalance.surfFlow += surfFlow * Tstep; lidUnit->waterBalance.drainFlow += drainFlow * Tstep; lidUnit->waterBalance.finalVol = storage; }

ICM SWMM Land Use Variable Names for SQL and Ruby Scripts

     The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes for land use within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_land_use">
<group name="Land use definition">
id
</group>
<group name="Land use properties">
washoff
build_up
sweep_interval
sweep_removal
last_sweep
</group>
<group import_group="gen_prop"/>
<group import_group="user_prop"/>
</table>

ICM SWMM Pollutant Variable Names for SQL and Ruby Scripts

     The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of a pollutant within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_pollutant">
<group name="Pollutant definition">
id
units
</group>
<group name="Pollutant properties">
rainfall_conc
groundwater_conc
rdii_conc
dwf_conc
init_conc
decay_coeff
snow_build_up
co-pollutant
co-fraction
</group>
<group import_group="gen_prop"/>
<group import_group="user_prop"/>





ICM SWMM Spatial Rain Variable Names for SQL and Ruby Scripts

 The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes for spatial rain within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_spatial_rain_source">
<group name="Spatial rain source definition">
id
source_type
stream_or_category
priority
start_time
end_time
</group>
<group import_group="gen_prop"/>
<group import_group="user_prop"/>
</table>
<table name="sw_spatial_rain_zone">
<group name="Spatial rain zone definition">
id
area
</group>
<group import_group="gen_prop"/>
<group import_group="user_prop"/>

ICM SWMM Subcatchment Variable Names for SQL and Ruby Scripts

     The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used toVV simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of a Subcatchment within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_subcatchment">
<group name="Subcatchment definition">
subcatchment_id
raingauge_id
sw_drains_to
outlet_id
area
x
y
width
catchment_slope
percent_impervious
area_average_rain
runoff_model_type
</group>
<group name="Subareas">
roughness_impervious
roughness_pervious
storage_impervious
storage_pervious
percent_no_storage
route_to
percent_routed
</group>
<group name="SCS Runoff">
time_of_concentration
hydraulic_length
shape_factor
initial_abstraction_type
initial_abstraction
initial_abstraction_factor
</group>
<group name="Infiltration">
infiltration
soil
</group>
<group name="Non-soil infiltration">
initial_infiltration
limiting_infiltration
decay_factor
max_infiltration_volume
average_capillary_suction
saturated_hydraulic_conductivity
initial_moisture_deficit
curve_number
drying_time
</group>
<group name="Groundwater">
<field menu="sw_aquifer">aquifer_id
aquifer_node_id
elevation
groundwater_coefficient
groundwater_exponent
surface_coefficient
surface_exponent
surface_groundwater_coefficient
surface_depth
groundwater_threshold
aquifer_elevation
aquifer_initial_groundwater
aquifer_initial_moisture_content
lateral_gwf_equation
deep_gwf_equation
</group>
<group name="Snow pack">
<field menu="sw_snowpack">snow_pack_id
</group>
<group name="LID controls">
<field menu="sw_sub_suds">suds_controls
</group>
<group name="Land uses">
coverages
</group>
<group name="Initial buildup">
loadings
curb_length
</group>
<group name="Patterns">
n_perv_pattern
dstore_pattern
infil_pattern

A midjourney AI imaginary anamorphic water pipe is a type of pipe used in various water management systems.

 A midjourney AI imaginary anamorphic water pipe is a type of pipe used in various water management systems. It is designed to be adaptable for different purposes such as drainage, green infrastructure, water distribution, and sanitary and stormwater systems. The pipe is imagined to be controlled by artificial intelligence, which allows for efficient and effective management of water flow and distribution. The term "anamorphic" refers to the ability of the pipe to change shape or form, which is useful in situations where the pipe needs to be adjusted or repositioned to meet specific needs or requirements. Overall, using AI in this type of pipe would allow for greater precision and control in water management systems.


 

ICM SWMM Snow Pack Variable Names for SQL and Ruby Scripts

    The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of a snowpack within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_snow_pack">
<group name="Snow pack definition">
id
</group>
<group name="Plowable snow pack">
plow_min_melt
plow_max_melt
plow_base_temp
plow_free_water
plow_snow_depth
plow_initial_free_water
fraction_plowable
</group>
<group name="Impervious snow pack">
imp_min_melt
imp_max_melt
imp_base_temp
imp_free_water
imp_snow_depth
imp_initial_free_water
imp_100_cover
</group>
<group name="Pervious snow pack">
perv_min_melt
perv_max_melt
perv_base_temp
perv_free_water
perv_snow_depth
perv_initial_free_water
perv_100_cover
</group>
<group name="Snow removal">
plow_depth
out_of_watershed
to_impervious
to_pervious
to_immediate_melt
to_subcatchment
subcatchment_id


Saturday, January 14, 2023

ICM SWMM Pump Variable Names for SQL and Ruby Scripts

    The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of a Pump within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_pump">
<group name="Pump definition">
id
us_node_id
ds_node_id
branch_id
</group>
<group name="Pump properties">
ideal
<field menu="sw_pumpcurve">pump_curve
start_up_depth
shut_off_depth
initial_status


ICM SWMM Outlet Variable Names for SQL and Ruby Scripts

    The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of an outlet link within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_outlet">

<group name="Outlet definition">
id
us_node_id
ds_node_id
branch_id
</group>
<group name="Outlet properties">
start_level
flap_gate
rating_curve_type
<field menu="sw_curve_rating">head_discharge_id
discharge_coefficient
discharge_exponent

ICM SWMM Weir Variable Names for SQL and Ruby Scripts

   The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of a weir within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.


<table name="sw_weir">
<group name="Weir definition">
id
us_node_id
ds_node_id
link_type
branch_id
</group>
<group name="Weir properties">
crest
weir_height
weir_width
left_slope
right_slope
var_dis_coeff
discharge_coeff
sideflow_discharge_coeff
<field menu="sw_curve_weir">weir_curve
secondary_discharge_coeff
flap_gate
end_contractions
allows_surcharge
width
surface

ICM SWMM Orifice Variable Names for SQL and Ruby Scripts

  The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of an orifice within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_orifice">
<group name="Orifice definition">
id
us_node_id
ds_node_id
link_type
branch_id
</group>
<group name="Orifice properties">
shape
orifice_height
orifice_width
invert
discharge_coeff
flap_gate
time_to_open

ICM SWMM Aquifer Variable Names for SQL and Ruby Scripts

 The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.


The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of an aquifer within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.

<table name="sw_aquifer">

<group name="Aquifer definition">
id
</group>
<group name="Aquifer properties">
soil_porosity
soil_wilting_point
soil_field_capacity
conductivity
conductivity_slope
tension_slope
evapotranspiration_fraction
evapotranspiration_depth
seepage_rate
elevation
initial_groundwater
initial_moisture_content
time_pattern_id

ICM SWMM Node Variable Names for SQL and Ruby Scripts

The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

These variable names are used to represent the different attributes of a node within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.


<table name="sw_node">

<group name="Node definition">

node_id

node_type

</group>

<group name="Node location">

x

y

</group>

<group name="Node properties">

invert_elevation

ground_level

maximum_depth

initial_depth

surcharge_depth

ponded_area

treatment

unit_hydrograph_area

<field menu="sw_uh_group">unit_hydrograph_id

flood_type

flooding_discharge_coeff

</group>

<group name="Direct inflows">

inflow_baseline

inflow_scaling

inflow_pattern

pollutant_inflows

</group>

<group name="DWF">

base_flow

bf_pattern_1

bf_pattern_2

bf_pattern_3

bf_pattern_4

pollutant_dwf

additional_dwf

</group>

<group name="Storage properties">

storage_type

<field menu="sw_curve_storage">storage_curve

functional_coefficient

functional_constant

functional_exponent

evaporation_factor

conductivity

initial_moisture_deficit

suction_head

</group>

<group name="Outfall properties">

outfall_type

flap_gate

route_subcatchment

fixed_stage

<field menu="sw_curve_tidal">tidal_curve_id

ICM SWMM Conduit Variable Names for SQL and Ruby Scripts

The file "opwrowobjectlayoutswmm.xml" is a data file used by the Integrated Urban Water Management Model (ICM) software. The ICM software is used to simulate and analyze the performance of stormwater management systems, including the design and operation of stormwater collection and conveyance systems.

The file "opwrowobjectlayoutswmm.xml" contains variable names specific to the SWMM (Storm Water Management Model) conduit feature in the ICM software. These variable names are used in SQL and Ruby scripts, which are programming languages used to manipulate and analyze the data generated by the ICM software.

The variable names in this file include the definition of the conduit, such as the id, us_node_id, ds_node_id and branch_id, as well as the conduit properties, such as the length, shape, shape_curve, transect, horiz_ellipse_size_code, vert_ellipse_size_code, arch_material, arch_concrete_size_code, arch_steel_half_size_code, arch_steel_inch_size_code, arch_plate_18_size_code, arch_plate_31_size_code, conduit_height, conduit_width, number_of_barrels, roughness_HW, roughness_DW, top_radius, left_slope, right_slope, triangle_height, bottom_radius, shape_exponent, us_invert, ds_invert, us_headloss_coeff, ds_headloss_coeff, Mannings_N, bottom_mannings_N, roughness_depth_threshold, initial_flow, max_flow, sediment_depth, av_headloss_coeff, seepage_rate, flap_gate, culvert_code.

These variable names are used to represent the different attributes of a conduit within the ICM software and the SQL and Ruby scripts allow users to access and manipulate that data in a variety of ways.


                    <table name="sw_conduit">
                    <group name="Conduit definition">
id us_node_id ds_node_id branch_id </group> <group name="Conduit properties"> length shape <field menu="sw_shape">shape_curve <field menu="sw_transect">transect horiz_ellipse_size_code vert_ellipse_size_code arch_material arch_concrete_size_code arch_steel_half_size_code arch_steel_inch_size_code arch_plate_18_size_code arch_plate_31_size_code conduit_height conduit_width number_of_barrels roughness_HW roughness_DW top_radius left_slope right_slope triangle_height bottom_radius shape_exponent us_invert ds_invert us_headloss_coeff ds_headloss_coeff Mannings_N bottom_mannings_N roughness_depth_threshold initial_flow max_flow sediment_depth av_headloss_coeff seepage_rate flap_gate culvert_code

The Goal of SWMM5 Input Files

 🌟 SWMM5 (Storm Water Management Model 5) is a widely used urban hydrology and hydraulic modeling software developed by the United States E...