def __init__(self):
        Section.__init__(self)

        self.name = "Unnamed"
        """str: Name assigned to this Unit Hydrograph group"""

        self.rain_gage_name = ''
        """str: Name of the rain gage that supplies rainfall data to the unit hydrographs in the group"""

        self.value = []
        """UnitHydrographEntry: each active combination of parameters for this unit hydrograph"""
    def __init__(self):
        Section.__init__(self)

        ## Name of the Subcatchment defined in [SUBCATCHMENTS] where this loading occurs
        self.subcatchment_name = "None"

        ## Name of a pollutant
        self.pollutant_name = "None"

        ## Initial buildup of pollutant (lbs/acre or kg/hectare)
        self.initial_buildup = '0'
Exemplo n.º 3
0
    def __init__(self):
        Section.__init__(self)

        ## Curve name/ID/Label
        self.name = "Unnamed"  # string

        ## Curve type
        self.curve_type = CurveType.PUMP1

        ## X, Y Values
        self.curve_xy = []  # list of (x, y) tuples
Exemplo n.º 4
0
    def __init__(self):
        Section.__init__(self)

        self.name = "Unnamed"      # string
        """Curve name/ID/Label"""

        self.curve_type = CurveType.PUMP1
        """Curve type"""

        self.curve_xy = []      # list of (x, y) tuples
        """X, Y Values"""
Exemplo n.º 5
0
    def __init__(self):
        Section.__init__(self)

        ## Pattern name
        self.name = ""

        ## Pattern description
        self.description = ""

        ## Array of multipliers for this pattern
        self.multipliers = []
Exemplo n.º 6
0
    def __init__(self):
        Section.__init__(self)

        self.node = ''
        """str: name of node where external inflow enters."""

        self.hydrograph_group = "None"
        """str: name of an RDII unit hydrograph group specified in the [HYDROGRAPHS] section"""

        self.sewershed_area = '0'
        """float: area of the sewershed which contributes RDII to the node (acres or hectares)"""
Exemplo n.º 7
0
    def __init__(self):
        Section.__init__(self)

        self.subcatchment_name = ''
        """Name of the Subcatchment defined in [SUBCATCHMENTS] where this loading occurs"""

        self.pollutant_name = ''
        """Name of a pollutant"""

        self.initial_buildup = ''
        """Initial buildup of pollutant (lbs/acre or kg/hectare)"""
Exemplo n.º 8
0
    def __init__(self):
        Section.__init__(self)

        self.node = "None"
        """str: name of node where external inflow enters."""

        self.pollutant = "None"
        """Name of pollutant receiving treatment"""

        self.function = ''
        """str: mathematical function expressing treatment result in terms of pollutant concentrations,
    def __init__(self):
        Section.__init__(self)

        self.hydraulics = HydraulicsOptions()
        """HydraulicsOptions: Hydraulics options"""

        self.quality = QualityOptions()
        """QualityOptions: Water quality options"""

        self.map = ""
        """str: Name of a file containing coordinates of the network's nodes, not written if not set"""
Exemplo n.º 10
0
    def __init__(self):
        Section.__init__(self)

        ## str: name of node where external inflow enters.
        self.node = "None"

        ## Name of pollutant receiving treatment
        self.pollutant = "None"

        ## str: mathematical function expressing treatment result in terms of pollutant concentrations,
        ## pollutant removals, and other standard variables. Starts with C for concentration or R for removal.
        self.function = ''
    def __init__(self):
        Section.__init__(self)

        ## provides the X and Y coordinates of the lower-left and upper-right corners of the maps bounding rectangle
        self.dimensions = (0.0, 0.0, 0.0, 0.0)  # real

        ## name of the file that contains the backdrop image
        self.file = ""  # string

        self.units = ""  # "None"  # string
        self.offset = None  # (0.0, 0.0)  # real
        self.scaling = None  # (0.0, 0.0)  # real
Exemplo n.º 12
0
    def __init__(self):
        Section.__init__(self)

        self.name = ''
        """User-assigned name."""

        self.porosity = ''
        """Volume of voids / total soil volume (volumetric fraction)."""

        self.wilting_point = ''
        """Soil moisture content at which plants cannot survive
            (volumetric fraction). """

        self.field_capacity = ''
        """Soil moisture content after all free water has drained off
            (volumetric fraction)."""

        self.conductivity = ''
        """Soil's saturated hydraulic conductivity (in/hr or mm/hr)."""

        self.conductivity_slope = ''
        """Average slope of log(conductivity) versus soil moisture deficit
            (porosity minus moisture content) curve (unitless)."""

        self.tension_slope = ''
        """Average slope of soil tension versus soil moisture content curve
            (inches or mm)."""

        self.upper_evaporation_fraction = ''
        """Fraction of total evaporation available for evapotranspiration
            in the upper unsaturated zone."""

        self.lower_evaporation_depth = ''
        """Maximum depth into the lower saturated zone over which
            evapotranspiration can occur (ft or m)."""

        self.lower_groundwater_loss_rate = ''
        """Rate of percolation from saturated zone to deep groundwater (in/hr or mm/hr)."""

        self.bottom_elevation = ''
        """Elevation of the bottom of the aquifer (ft or m)."""

        self.water_table_elevation = ''
        """Elevation of the water table in the aquifer
            at the start of the simulation (ft or m)."""

        self.unsaturated_zone_moisture = ''
        """Moisture content of the unsaturated upper zone of the aquifer
            at the start of the simulation (volumetric fraction)
            (cannot exceed soil porosity)."""

        self.upper_evaporation_pattern = ''
        """ID of monthly pattern of adjustments to upper evaporation fraction (optional)"""
    def __init__(self):
        Section.__init__(self)

        self.flow_units = FlowUnits.CFS
        """FlowUnits: units in use for flow values"""

        self.head_loss = HeadLoss.H_W
        """HeadLoss: formula to use for computing head loss"""

        self.specific_gravity = 1.0
        """Ratio of the density of the fluid being modeled to that of water at 4 deg. C"""

        self.viscosity = 1.0
        """Kinematic viscosity of the fluid being modeled relative to that of water at 20 deg. C"""

        self.maximum_trials = 40
        """Maximum number of trials used to solve network hydraulics at each hydraulic time step of a simulation"""

        self.accuracy = 0.001
        """Prescribes the convergence criterion that determines when a hydraulic solution has been reached"""

        self.unbalanced = Unbalanced.STOP
        """Determines what happens if a hydraulic solution cannot be reached within the prescribed number of TRIALS"""

        self.unbalanced_continue = ''
        """If continuing after n trials, continue this many more trials with links held fixed"""

        self.default_pattern = "1"
        """Default demand pattern to be applied to all junctions where no demand pattern was specified"""

        self.demand_multiplier = 1.0
        """Used to adjust the values of baseline demands for all junctions and all demand categories"""

        self.emitter_exponent = 0.5
        """Specifies the power to which the pressure is raised when computing the flow issuing from an emitter"""

        self.check_frequency = 2
        """Undocumented"""

        self.max_check = 10
        """Undocumented"""

        self.damp_limit = 0.0
        """Undocumented"""

        self.hydraulics = Hydraulics.SAVE
        """Either SAVE the current hydraulics solution to a file or USE a previously saved hydraulics solution"""
        """By default do not write this line"""

        self.hydraulics_file = ""
        """Hydraulics file to either use or save"""
        """By default do not write this line"""
Exemplo n.º 14
0
    def __init__(self):
        Section.__init__(self)
        self.name = ""
        """Name assigned to the land use"""

        self.street_sweeping_interval = ''
        """Days between street sweeping within the land use"""

        self.street_sweeping_availability = ''
        """Fraction of the buildup of all pollutants that is available for removal by sweeping"""

        self.last_swept = ''
        """Number of days since last swept at the start of the simulation"""
Exemplo n.º 15
0
    def __init__(self):
        Section.__init__(self)
        self.name = ''  # string
        """Curve name/ID/Label"""

        self.description = ''  # string
        """Curve description"""

        self.curve_type = CurveType.UNSET  # PUMP, EFFICIENCY, VOLUME, or HEADLOSS
        """CurveType: Type of Curve"""

        self.curve_xy = []  # list of (x, y) tuples
        """X, Y Values"""
Exemplo n.º 16
0
    def __init__(self):
        Section.__init__(self)
        self.dimensions = ("0.0", "0.0", "10000.0", "10000.0")  # lst:X_Southwest, Y_Southwest, X_northeast, Y_northeast
        """X and Y coordinates of the lower-left and upper-right corners of the map's bounding rectangle"""

        self.units = BackdropUnits.NONE			# FEET/METERS/DEGREES/NONE
        """specifies the units that the map's dimensions are given in"""

        self.file = '' 		                    # str
        """Name of the file that contains the backdrop image"""

        self.offset = ("0.0", "0.0")            # lst of str (X_offset, Y_offset)
        """Distance the upper-left corner of the backdrop image is offset from the map's bounding rectangle (X, Y)"""
Exemplo n.º 17
0
    def __init__(self):
        Section.__init__(self)

        self.temperature = []
        """monthly temperature adjustments as plus or minus degrees F (degrees C)"""

        self.evaporation = []
        """monthly evaporation adjustments as plus or minus in/day (mm/day)"""

        self.rainfall = []
        """monthly rain adjustments as multipliers applied to precipitation rate"""

        self.soil_conductivity = []
        """monthly soil_conductivity adjustments as multipliers applied to soil hydraulic conductivity"""
Exemplo n.º 18
0
    def __init__(self):
        Section.__init__(self)

        self.junction_name = ''
        """Junction this demand applies to"""

        self.base_demand = "0.0"  # real, stored as string
        """Base demand (flow units)"""

        self.demand_pattern = ''  # string
        """Demand pattern ID (optional)"""

        self.category = ''  # string
        """Name of demand category preceded by a semicolon (optional)"""
    def __init__(self):
        Section.__init__(self)

        ## Pattern name
        self.name = "Unnamed"

        ## Pattern type
        self.pattern_type = PatternType.MONTHLY

        ## Pattern description
        self.description = ''

        ## Array of multipliers for this pattern
        self.multipliers = []
Exemplo n.º 20
0
    def __init__(self):
        Section.__init__(self)

        self.subcatchment = ''
        """Subcatchment name"""

        self.curve_number = None
        """SCS Curve Number"""

        self.hydraulic_conductivity = ''
        """Soil saturated hydraulic conductivity (no longer used for curve number infiltration)."""

        self.dry_days = ''
        """Time it takes for fully saturated soil to dry (days)."""
    def __init__(self):
        Section.__init__(self)

        ## How the inertial terms in the Saint Venant momentum equation
        ## will be handled under dynamic wave flow routing
        self.inertial_damping = InertialDamping.PARTIAL

        ## Which condition is checked to determine if flow in a conduit
        ## is supercritical and should thus be limited to the normal flow
        self.normal_flow_limited = NormalFlowLimited.BOTH

        ## Establishes whether the Hazen-Williams (H-W) or the Darcy-Weisbach (D-W) equation will be used to
        ## compute friction losses for pressurized flow in conduits that have been assigned a Circular Force
        ## Main cross-section shape. The default is H-W.
        self.force_main_equation = ForceMainEquation.H_W

        ## The EXTRAN method continues to use the traditional Surcharge Algorithm to update the head at surcharged nodes.
        ## The new SLOT option attaches a Preissmann Slot to closed conduits flowing more than 98.5% full that eliminates
        ## the need to switch to the Surcharge Algorithm for surcharged nodes.
        self.surcharge_method = SurchargeMethod.EXTRAN

        ## Time step, in seconds, used to lengthen conduits under
        ## dynamic wave routing, so that they meet the
        ## Courant stability criterion under full-flow conditions
        self.lengthening_step = '0'

        ## Safety factor applied to a variable time step computed for each
        ## time period under dynamic wave flow routing
        self.variable_step = '0.75'

        ## Minimum surface area used at nodes when computing
        ## changes in water depth under dynamic wave routing
        self.min_surface_area = '12.557'

        ## The maximum number of trials allowed during a time step to reach convergence
        ## when updating hydraulic heads at the conveyance system's nodes. The default value is 8.
        self.max_trials = '8'

        ## Difference in computed head at each node between successive trials below
        ## which the flow solution for the current time step is assumed to have converged.
        ## The default tolerance is 0.005 ft (0.0015 m).
        self.head_tolerance = '0.005'

        ## Smallest time step allowed when variable time steps are used for dynamic
        ## wave flow routing. The default value is 0.5 seconds.
        self.minimum_step = '0.5'

        ## Number of parallel computing threads to use for dynamic wave flow routing
        ## on machines equipped with multi-core processors.
        self.threads = '1'
Exemplo n.º 22
0
    def __init__(self):
        Section.__init__(self)

        self.node = "None"
        """str: name of node where external inflow enters."""

        self.constituent = "FLOW"
        """str: Name of constituent (pollutant) or FLOW"""

        self.average = '0.0'
        """str: Average (or baseline) value of the dry weather inflow of the constituent in the relevant units"""

        self.time_patterns = []
        """str: ID of time pattern used to allow the dry weather flow to vary in a periodic fashion"""
    def __init__(self):
        Section.__init__(self)

        ## Subcatchment name
        self.subcatchment = "None"

        ## Soil capillary suction (in or mm).
        self.suction = '0.0'

        ## Soil saturated hydraulic conductivity (in/hr or mm/hr).
        self.hydraulic_conductivity = '0.0'

        ## Initial soil moisture deficit (volume of voids / total volume).
        self.initial_moisture_deficit = '0.0'
    def __init__(self):
        Section.__init__(self)

        ## Subcatchment name
        self.subcatchment = "None"

        ## SCS Curve Number
        self.curve_number = "None"

        ## Soil saturated hydraulic conductivity (no longer used for curve number infiltration).
        self.hydraulic_conductivity = '0'

        ## Time it takes for fully saturated soil to dry (days).
        self.dry_days = '0.0'
    def __init__(self,
                 subcatchment_name='',
                 land_use_name='',
                 percent_subcatchment_area=''):
        Section.__init__(self)

        ## Name of the Subcatchment defined in [SUBCATCHMENTS] where this coverage occurs
        self.subcatchment_name = subcatchment_name

        ## land use name from [LANDUSE] of this coverage
        self.land_use_name = land_use_name

        ## percent of subcatchment area covered by this land use
        self.percent_subcatchment_area = percent_subcatchment_area
Exemplo n.º 26
0
    def __init__(self):
        Section.__init__(self)

        self.name = "Unnamed"
        """Pattern name"""

        self.pattern_type = PatternType.MONTHLY
        """Pattern type"""

        self.description = ''
        """Pattern description"""

        self.multipliers = []
        """Array of multipliers for this pattern"""
Exemplo n.º 27
0
    def __init__(self):
        Section.__init__(self)

        self.dimensions = (0.0, 0.0, 0.0, 0.0)  # real
        """
        Coordinates of the map extent:
        X1 lower-left X coordinate of full map extent
        Y1 lower-left Y coordinate of full map extent
        X2 upper-right X coordinate of full map extent
        Y2 upper-right Y coordinate of full map extent
        """

        self.units = MapUnits.NONE
        """map units"""
Exemplo n.º 28
0
    def __init__(self):
        Section.__init__(self)

        self.name = ''
        """Transect Name"""

        self.n_left = '0'  # Manning's n of left overbank portion of channel. Use 0 if no change from previous NC line.
        self.n_right = '0'  # Manning's n of right overbank portion of channel. Use 0 if no change from previous NC line.
        self.n_channel = '0'  # Manning's n of main channel portion of channel. Use 0 if no change from previous NC line.
        self.overbank_left = '0'  # station position which ends the left overbank portion of the channel (ft or m).
        self.overbank_right = '0'  # station position which begins the right overbank portion of the channel (ft or m).
        self.stations_modifier = '0'  # factor by which distances between stations should be multiplied to increase (or decrease) the width of the channel (enter 0 if not applicable).
        self.elevations_modifier = '0'  # amount added (or subtracted) from the elevation of each station (ft or m).
        self.meander_modifier = '0'  # the ratio of the length of a meandering main channel to the length of the overbank area that surrounds it (use 0 if not applicable).
        self.stations = []  # list of (station, elevation) pairs
Exemplo n.º 29
0
    def __init__(self):
        Section.__init__(self)

        ## Junction this demand applies to
        self.junction_name = ''

        ## Base demand (flow units)
        self.base_demand = "0.0"     # real, stored as string

        ## Demand pattern ID (optional)
        self.demand_pattern = ''     # string
        self.demand_pattern_object = None

        ## Name of demand category preceded by a semicolon (optional)
        self.category = ''           # string
Exemplo n.º 30
0
    def __init__(self):
        Section.__init__(self)

        self.name = ""

        ## start date
        self.start_date = "01/01/1900"

        ## start time
        self.start_time = "00:00"

        ## end date
        self.end_date = "12/31/2000"

        ## end time
        self.end_time = "23:00"