def __init__(self, new_text=None):
        if new_text:
            self.set_text(
                new_text
            )  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)
            self.subcatchment = ''
            """Subcatchment name"""

            self.aquifer = ''
            """Aquifer that supplies groundwater. None = no groundwater flow."""

            self.receiving_node = ''
            """Node that receives groundwater from the aquifer."""

            self.surface_elevation = ''
            """Elevation of ground surface for the subcatchment
                that lies above the aquifer (feet or meters)."""

            self.groundwater_flow_coefficient = ''
            """Value of A1 in the groundwater flow formula."""

            self.groundwater_flow_exponent = ''
            """Value of B1 in the groundwater flow formula."""

            self.surface_water_flow_coefficient = ''
            """Value of A2 in the groundwater flow formula."""

            self.surface_water_flow_exponent = ''
            """Value of B2 in the groundwater flow formula."""

            self.surface_gw_interaction_coefficient = ''
            """Value of A3 in the groundwater flow formula."""

            self.fixed_surface_water_depth = ''
            """Fixed depth of surface water at the receiving node (feet or meters)
                (set to zero if surface water depth will vary
                 as computed by flow routing).
                This value is used to compute HSW."""

            self.threshold_groundwater_elevation = ''
            """Groundwater elevation that must be reached before any flow occurs
                (feet or meters).
                Leave blank to use the receiving node's invert elevation."""

            self.bottom_elevation = ''
            """override bottom elevation aquifer parameter"""

            self.water_table_elevation = ''
            """override initial water table elevation aquifer parameter"""

            self.unsaturated_zone_moisture = ''
            """override initial upper moisture content aquifer parameter"""

            self.custom_lateral_flow_equation = ''
            """expression for lateral groundwater flow (to a node of the conveyance network)"""

            self.custom_deep_flow_equation = ''
            """expression for vertical loss to deep groundwater"""
Beispiel #2
0
    def __init__(self, new_text=None):
        Section.__init__(self)
        self.land_use_name = ""
        """land use name"""

        self.pollutant = ''
        """Pollutant name"""

        self.function = WashoffFunction.EXP
        """Choice of washoff function to use for the pollutant"""

        self.coefficient = '0.0'
        """Value of C1 in the exponential and rating curve formulas"""

        self.exponent = '0.0'
        """Exponent used in the exponential and rating curve washoff formulas"""

        self.cleaning_efficiency = '0.0'
        """Street cleaning removal efficiency (percent) for the pollutant"""

        self.bmp_efficiency = '0.0'
        """Removal efficiency (percent) associated with any Best Management Practice that might have been implemented"""

        if new_text:
            self.set_text(new_text)
    def __init__(self):
        Section.__init__(self)
        self.comment = ";;Interfacing Files"

        self.use_rainfall = None
        """Name of rainfall data file to use"""

        self.save_rainfall = None
        """Name of rainfall data file to save"""

        self.use_runoff = None
        """Name of runoff data file to use"""

        self.save_runoff = None
        """Name of runoff data file to save"""

        self.use_hotstart = None
        """Name of hot start data file to use"""

        self.save_hotstart = None
        """Name of hot start data file to save"""

        self.use_rdii = None
        """Name of RDII data file to use"""

        self.save_rdii = None
        """Name of RDII data file to save"""

        self.use_inflows = None
        """Name of inflows data file to use"""

        self.save_outflows = None
        """Name of outflows data file to save"""
    def __init__(self):
        Section.__init__(self)

        self.start_date = "1/1/2002"
        """Date when the simulation begins"""

        self.start_time = "0:00"
        """Time of day on the starting date when the simulation begins"""

        self.end_date = "1/1/2002"
        """Date when the simulation is to end"""

        self.end_time = "24:00"
        """Time of day on the ending date when the simulation will end"""

        self.report_start_date = "1/1/2002"
        """Date when reporting of results is to begin"""

        self.report_start_time = "0:00"
        """Time of day on the report starting date when reporting is to begin"""

        self.sweep_start = "1/1"
        """Day of the year (month/day) when street sweeping operations begin"""

        self.sweep_end = "12/31"
        """Day of the year (month/day) when street sweeping operations end"""

        self.dry_days = 0
        """Number of days with no rainfall prior to the start of the simulation"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.name = ''
            """name assigned to junction node"""

            self.elevation = ''
            """Invert elevation of the Node (feet or meters)"""

            self.max_depth = ''
            """Maximum depth of junction (i.e., from ground surface to invert)
                (feet or meters). If zero, then the distance from the invert to
                the top of the highest connecting link will be used.  (Ymax)"""

            self.initial_depth = ''
            """Depth of water at the junction at the start of the simulation
                (feet or meters) (Y0)"""

            self.surcharge_depth = ''
            """Additional depth of water beyond the maximum depth that is
                allowed before the junction floods (feet or meters).
                This parameter can be used to simulate bolted manhole covers
                or force main connections. (Ysur)"""

            self.ponded_area = ''
            """Area occupied by ponded water atop the junction after flooding
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(
                new_text
            )  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

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

            self.max_rate = ''
            """Maximum infiltration rate on Horton curve (in/hr or mm/hr)"""

            self.min_rate = ''
            """Minimum infiltration rate on Horton curve (in/hr or mm/hr)."""

            self.decay = ''
            """Decay rate constant of Horton curve (1/hr)."""

            self.dry_time = ''
            """Time it takes for fully saturated soil to dry (days)."""

            self.max_volume = ''
            """Maximum infiltration volume possible (in or mm)."""
Beispiel #7
0
    def __init__(self):
        Section.__init__(self)

        self.duration = "0"			            # hours:minutes
        """duration of the simulation; the default of zero runs a single period snapshot analysis."""

        self.hydraulic_timestep = "1:00"	    # hours:minutes
        """determines how often a new hydraulic state of the network is computed"""

        self.quality_timestep = "0:05"		    # hours:minutes
        """time step used to track changes in water quality throughout the network"""

        self.rule_timestep = "0:05" 		    # hours:minutes
        """ime step used to check for changes in system status due to activation of rule-based controls"""

        self.pattern_timestep = "1:00" 		    # hours:minutes
        """interval between time periods in all time patterns"""

        self.pattern_start = "0:00"	            # hours:minutes
        """time offset at which all patterns will start"""

        self.report_timestep = "1:00"		    # hours:minutes
        """time interval between which output results are reported"""

        self.report_start = "0:00"	            # hours:minutes
        """length of time into the simulation at which output results begin to be reported"""

        self.start_clocktime = "12 am"		    # hours:minutes AM/PM
        """time of day (e.g., 3:00 PM) at which the simulation begins"""

        self.statistic = StatisticOptions.NONE  # NONE/AVERAGED/MINIMUM/MAXIMUM/RANGE
        """determines what kind of statistical post-processing to do on simulation results"""
    def __init__(self):
        Section.__init__(self)

        self.input = False
        """Whether report includes a summary of the input data"""

        self.continuity = True
        """Whether to report continuity checks"""

        self.flow_stats = True
        """Whether to report summary flow statistics"""

        self.controls = False
        """Whether to list all control actions taken during a simulation"""

        self.subcatchments = Report.EMPTY_LIST
        """List of subcatchments whose results are to be reported, or ALL or NONE"""

        self.nodes = Report.EMPTY_LIST
        """List of nodes whose results are to be reported, or ALL or NONE"""

        self.links = Report.EMPTY_LIST
        """List of links whose results are to be reported, or ALL or NONE"""

        self.lids = Report.EMPTY_LIST
        """List of lid specifications whose results are to be reported.
Beispiel #9
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

            self.link = ''
            """name of the conduit, orifice, or weir this is a cross-section of."""

            self.shape = CrossSectionShape.NotSet
            """cross-section shape"""

            self.geometry1 = ''
            """float as str: full height of the cross-section (ft or m)"""

            self.geometry2 = ''
            """float as str: auxiliary parameters (width, side slopes, etc.)"""

            self.geometry3 = ''
            """float as str: auxiliary parameters (width, side slopes, etc.)"""

            self.geometry4 = ''
            """float as str: auxiliary parameters (width, side slopes, etc.)"""

            self.barrels = ''
            """float: number of barrels (i.e., number of parallel pipes of equal size, slope, and
            roughness) associated with a conduit (default is 1)."""

            self.culvert_code = ''
            """code number for the conduits inlet geometry if it is a culvert subject to possible inlet flow control"""

            self.curve = ''
            """str: associated Shape Curve ID that defines how width varies with depth."""
    def __init__(self):
        Section.__init__(self)

        self.start_date = "1/1/2002"
        """Date when the simulation begins"""

        self.start_time = "0:00"
        """Time of day on the starting date when the simulation begins"""

        self.end_date = "1/1/2002"
        """Date when the simulation is to end"""

        self.end_time = "24:00"
        """Time of day on the ending date when the simulation will end"""

        self.report_start_date = "1/1/2002"
        """Date when reporting of results is to begin"""

        self.report_start_time = "0:00"
        """Time of day on the report starting date when reporting is to begin"""

        self.sweep_start = "1/1"
        """Day of the year (month/day) when street sweeping operations begin"""

        self.sweep_end = "12/31"
        """Day of the year (month/day) when street sweeping operations end"""

        self.dry_days = 0
        """Number of days with no rainfall prior to the start of the simulation"""
    def __init__(self):
        Section.__init__(self)

        self.use_rainfall = None
        """Name of rainfall data file to use"""

        self.save_rainfall = None
        """Name of rainfall data file to save"""

        self.use_runoff = None
        """Name of runoff data file to use"""

        self.save_runoff = None
        """Name of runoff data file to save"""

        self.use_hotstart = None
        """Name of hot start data file to use"""

        self.save_hotstart = None
        """Name of hot start data file to save"""

        self.use_rdii = None
        """Name of RDII data file to use"""

        self.save_rdii = None
        """Name of RDII data file to save"""

        self.use_inflows = None
        """Name of inflows data file to use"""

        self.save_outflows = None
        """Name of outflows data file to save"""
    def __init__(self):
        Section.__init__(self)

        self.comment = ";;Reporting Options"

        self.input = False
        """Whether report includes a summary of the input data"""

        self.continuity = True
        """Whether to report continuity checks"""

        self.flow_stats = True
        """Whether to report summary flow statistics"""

        self.controls = False
        """Whether to list all control actions taken during a simulation"""

        self.subcatchments = Report.EMPTY_LIST
        """List of subcatchments whose results are to be reported, or ALL or NONE"""

        self.nodes = Report.EMPTY_LIST
        """List of nodes whose results are to be reported, or ALL or NONE"""

        self.links = Report.EMPTY_LIST
        """List of links whose results are to be reported, or ALL or NONE"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(
                new_text
            )  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

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

            self.timeseries = ''
            """str: Name of the time series describing how flow or constituent loading to this node varies with time."""

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

            self.format = DirectInflowType.CONCENTRATION
            """DirectInflowType: Type of data contained in constituent_timeseries, concentration or mass flow rate"""

            self.conversion_factor = '1.0'
            """float: Numerical factor used to convert the units of pollutant mass flow rate in constituent_timeseries
            into project mass units per second as specified in [POLLUTANTS]"""

            self.scale_factor = '1.0'
            """float: Scaling factor that multiplies the recorded time series values."""

            self.baseline = '0.0'
            """float: Constant baseline added to the time series values."""

            self.baseline_pattern = ''
            """str: ID of Time Pattern whose factors adjust the baseline inflow on an hourly, daily, or monthly basis"""
Beispiel #14
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)
            self.id = ''
            """node identifier/name"""

            self.elevation = "0.0"
            """Bottom elevation, ft (m)"""

            self.initial_level = "0.0"
            """Initial water level, ft (m)"""

            self.minimum_level = "0.0"
            """Minimum water level, ft (m)"""

            self.maximum_level = "0.0"
            """Maximum water level, ft (m)"""

            self.diameter = "0.0"
            """Nominal diameter, ft (m)"""

            self.minimum_volume = "0.0"
            """Minimum volume, cubic ft (cubic meters)"""

            self.volume_curve = ''
            """If a volume curve is supplied the diameter value can be any non-zero number"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

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

            self.timeseries = ''
            """str: Name of the time series describing how flow or constituent loading to this node varies with time."""

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

            self.format = DirectInflowType.CONCENTRATION
            """DirectInflowType: Type of data contained in constituent_timeseries, concentration or mass flow rate"""

            self.conversion_factor = '1.0'
            """float: Numerical factor used to convert the units of pollutant mass flow rate in constituent_timeseries
            into project mass units per second as specified in [POLLUTANTS]"""

            self.scale_factor = '1.0'
            """float: Scaling factor that multiplies the recorded time series values."""

            self.baseline = '0.0'
            """float: Constant baseline added to the time series values."""

            self.baseline_pattern = ''
            """str: ID of Time Pattern whose factors adjust the baseline inflow on an hourly, daily, or monthly basis"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.name = ''
            """name assigned to junction node"""

            self.elevation = ''
            """Invert elevation of the Node (feet or meters)"""

            self.max_depth = ''
            """Maximum depth of junction (i.e., from ground surface to invert)
                (feet or meters). If zero, then the distance from the invert to
                the top of the highest connecting link will be used.  (Ymax)"""

            self.initial_depth = ''
            """Depth of water at the junction at the start of the simulation
                (feet or meters) (Y0)"""

            self.surcharge_depth = ''
            """Additional depth of water beyond the maximum depth that is
                allowed before the junction floods (feet or meters).
                This parameter can be used to simulate bolted manhole covers
                or force main connections. (Ysur)"""

            self.ponded_area = ''
            """Area occupied by ponded water atop the junction after flooding
    def __init__(self):
        Section.__init__(self)

        self.id = "Unnamed"
        """Link Identifier/Name"""

        self.inlet_node = ''
        """Node on the inlet end of the Link"""

        self.outlet_node = ''
        """Node on the outlet end of the Link"""

        self.description = ''
        """Optional description of the Link"""

        self.tag = ''
        """Optional label used to categorize or classify the Link"""

        self.vertices = []  # list of Vertex
        """Coordinates of interior vertex points """

        self.report_flag = ''
        """Flag indicating whether an output report is desired for this link"""

        # TODO: sync this with STATUS section:
        self.initial_status = ''
        """initial status of a pipe, pump, or valve; can be a speed setting for a pump"""
Beispiel #18
0
    def __init__(self, new_text=None):
        if new_text:  # if initialization text is provided, call set_text, which will call __init__ with no new_text
            self.set_text(new_text)
        else:
            Section.__init__(self)
            self.land_use_name = ""
            """land use name"""

            self.pollutant = ''
            """str: Pollutant name"""

            self.function = BuildupFunction.POW
            """BuildupFunction: Type of buildup function to use for the pollutant"""

            self.rate_constant = '0.0'
            """float: Time constant that governs the rate of pollutant buildup"""

            self.power_sat_constant = '0.0'
            """float: Exponent C3 used in the Power buildup formula, or the half-saturation constant C2 used in the
                Saturation buildup formula"""

            self.max_buildup = '0.0'
            """float: Maximum buildup that can occur"""

            self.scaling_factor = '1.0'
            """float: Multiplier used to adjust the buildup rates listed in the time series"""

            self.timeseries = ''
            """str: ID of Time Series that contains buildup rates"""

            self.normalizer = Normalizer.AREA
            """Variable to which buildup is normalized on a per unit basis"""
    def __init__(self):
        Section.__init__(self)

        self.pagesize = ''
        """sets the number of lines written per page of the output report"""

        self.file = ''  # string
        """supplies the name of a file to which the output report will be written"""
        """don't write by default"""

        self.status = StatusWrite.NO  # YES/NO/FULL
        """determines whether a hydraulic status report should be generated"""

        self.summary = True  # YES/NO
        """determines whether a summary table of number of network components and key analysis options is generated"""

        self.energy = False  # YES/NO
        """determines if a table reporting average energy usage and cost for each pump is provided"""
        """don't write by default"""

        # self.nodes = []
        """identifies which nodes will be reported on. List individual IDs or use NONE or ALL"""

        # self.links = []
        """identifies which links will be reported on. List individual IDs or use NONE or ALL"""

        self.parameters = []  # list of strings
        """used to identify which nodes, links, and quantities are reported on"""
        """don't write if blank"""
Beispiel #20
0
    def __init__(self):
        Section.__init__(self)

        self.id = "Unnamed"
        """Link Identifier/Name"""

        self.inlet_node = ''
        """Node on the inlet end of the Link"""

        self.outlet_node = ''
        """Node on the outlet end of the Link"""

        self.description = ''
        """Optional description of the Link"""

        self.tag = ''
        """Optional label used to categorize or classify the Link"""

        self.vertices = []  # list of Vertex
        """Coordinates of interior vertex points """

        self.report_flag = ''
        """Flag indicating whether an output report is desired for this link"""

        # TODO: sync this with STATUS section:
        self.initial_status = ''
        """initial status of a pipe, pump, or valve; can be a speed setting for a pump"""
    def __init__(self):
        Section.__init__(self)

        self.duration = "0"			            # hours:minutes
        """duration of the simulation; the default of zero runs a single period snapshot analysis."""

        self.hydraulic_timestep = "1:00"	    # hours:minutes
        """determines how often a new hydraulic state of the network is computed"""

        self.quality_timestep = "0:05"		    # hours:minutes
        """time step used to track changes in water quality throughout the network"""

        self.rule_timestep = "0:05" 		    # hours:minutes
        """ime step used to check for changes in system status due to activation of rule-based controls"""

        self.pattern_timestep = "1:00" 		    # hours:minutes
        """interval between time periods in all time patterns"""

        self.pattern_start = "0:00"	            # hours:minutes
        """time offset at which all patterns will start"""

        self.report_timestep = "1:00"		    # hours:minutes
        """time interval between which output results are reported"""

        self.report_start = "0:00"	            # hours:minutes
        """length of time into the simulation at which output results begin to be reported"""

        self.start_clocktime = "12 am"		    # hours:minutes AM/PM
        """time of day (e.g., 3:00 PM) at which the simulation begins"""

        self.statistic = StatisticOptions.NONE  # NONE/AVERAGED/MINIMUM/MAXIMUM/RANGE
        """determines what kind of statistical post-processing to do on simulation results"""
Beispiel #22
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(
                new_text
            )  # set_text will call __init__ without new_text to do the initialization below
        else:
            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, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)
            self.subcatchment = ''
            """Subcatchment name"""

            self.aquifer = ''
            """Aquifer that supplies groundwater. None = no groundwater flow."""

            self.receiving_node = ''
            """Node that receives groundwater from the aquifer."""

            self.surface_elevation = ''
            """Elevation of ground surface for the subcatchment
                that lies above the aquifer (feet or meters)."""

            self.groundwater_flow_coefficient = ''
            """Value of A1 in the groundwater flow formula."""

            self.groundwater_flow_exponent = ''
            """Value of B1 in the groundwater flow formula."""

            self.surface_water_flow_coefficient = ''
            """Value of A2 in the groundwater flow formula."""

            self.surface_water_flow_exponent = ''
            """Value of B2 in the groundwater flow formula."""

            self.surface_gw_interaction_coefficient = ''
            """Value of A3 in the groundwater flow formula."""

            self.fixed_surface_water_depth = ''
            """Fixed depth of surface water at the receiving node (feet or meters)
                (set to zero if surface water depth will vary
                 as computed by flow routing).
                This value is used to compute HSW."""

            self.threshold_groundwater_elevation = ''
            """Groundwater elevation that must be reached before any flow occurs
                (feet or meters).
                Leave blank to use the receiving node's invert elevation."""

            self.bottom_elevation = ''
            """override bottom elevation aquifer parameter"""

            self.water_table_elevation = ''
            """override initial water table elevation aquifer parameter"""

            self.unsaturated_zone_moisture = ''
            """override initial upper moisture content aquifer parameter"""

            self.custom_lateral_flow_equation = ''
            """expression for lateral groundwater flow (to a node of the conveyance network)"""

            self.custom_deep_flow_equation = ''
            """expression for vertical loss to deep groundwater"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            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, subcatchment_name = '', land_use_name = '', percent_subcatchment_area = ''):
        Section.__init__(self)

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

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

        self.percent_subcatchment_area = percent_subcatchment_area
        """percent of subcatchment area covered by this land use"""
Beispiel #26
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.id = ''
            """Identifier of link whose initial status is being specified"""

            self.status = ''
            """Initial status of link"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.id = ''
            """Identifier of link whose initial status is being specified"""

            self.status = ''
            """Initial status of link"""
Beispiel #28
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.id = ''
            """elevation of junction"""

            self.initial_quality = '0.0'
            """concentration for chemicals, hours for water age, or percent for source tracing"""
    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"""
    def __init__(self):
        Section.__init__(self)

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

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

        self.units = ""      # "None"  # string
        self.offset = None   # (0.0, 0.0)  # real
        self.scaling = None  # (0.0, 0.0)  # real
    def __init__(self):
        Section.__init__(self)

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

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

        self.units = ""      # "None"  # string
        self.offset = None   # (0.0, 0.0)  # real
        self.scaling = None  # (0.0, 0.0)  # real
    def __init__(self):
        Section.__init__(self)

        self.flow_units = FlowUnits.GPM
        """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"""
    def __init__(self):
        Section.__init__(self)

        self.flow_units = FlowUnits.GPM
        """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 = 10
        """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"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            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 = 0
            """initial buildup of pollutant (lbs/acre or kg/hectare)"""
    def __init__(self):
        Section.__init__(self)
        self.dimensions = (0.0, 0.0, 10000.0, 10000.0)  # real
        """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 = "" 		                    # string
        """Name of the file that contains the backdrop image"""

        self.offset = (0.0, 0.0)                # (real, real)
        """Distance the upper-left corner of the backdrop image is offset from the map's bounding rectangle (X, Y)"""
Beispiel #36
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)"""
Beispiel #37
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)
            self.id = ''
            """node identifier/name"""

            self.total_head = "0.0"
            """Head is the hydraulic head (elevation + pressure head) of water in the reservoir"""

            self.head_pattern_id = ''
            """head pattern can be used to make the reservoir head vary with time"""
Beispiel #38
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"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            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 = 0
            """initial buildup of pollutant (lbs/acre or kg/hectare)"""
Beispiel #40
0
    def __init__(self, new_text=None):
        Section.__init__(self)

        self.curve_id = ''      # string
        """Curve ID Label"""

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

        self.curve_xy = []      # list of (x, y) tuples
        """X, Y Values"""

        if new_text:
            self.set_text(new_text)
Beispiel #41
0
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.id = ''
            """Identifier of node at this location"""

            self.x = '0.0'
            """east/west location coordinate"""

            self.y = '0.0'
            """north/south location coordinate"""
    def __init__(self,
                 subcatchment_name='',
                 land_use_name='',
                 percent_subcatchment_area=''):
        Section.__init__(self)

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

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

        self.percent_subcatchment_area = percent_subcatchment_area
        """percent of subcatchment area covered by this land use"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

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

            self.pollutant = ''
            """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.global_efficiency = "75"		# treat as string to preserve formatting
        """global default value of pumping efficiency for all pumps or efficiency curve ID (percent)"""

        self.global_price = 0.0		        # real
        """global default value of energy price for all pumps"""

        self.global_pattern = ""            # string
        """id of global default value of price pattern for all pumps"""

        self.demand_charge = 0.0		    # real
        """added cost per maximum kW usage during the simulation period"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

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

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

            self.sewershed_area = ''
            """float: area of the sewershed which contributes RDII to the node (acres or hectares)"""
    def __init__(self, new_text=None):
        Section.__init__(self)

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

        self.rain_gage_id = ''
        """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"""

        if new_text:
            self.set_text(new_text)
Beispiel #47
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"""
    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"""
Beispiel #49
0
    def __init__(self, new_text=None):
        Section.__init__(self)

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

        self.rain_gage_id = ''
        """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"""

        if new_text:
            self.set_text(new_text)
Beispiel #50
0
    def __init__(self, new_text=None):
        Section.__init__(self)
        self.land_use_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"""

        if new_text:
            self.set_text(new_text)
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)
        else:
            Section.__init__(self)

            self.x = '0.0'
            """east/west label centroid coordinate"""

            self.y = '0.0'
            """north/south label centroid coordinate"""

            self.label = ''
            """Text of label in double quotes"""

            self.anchor_node_id = ''  # string
            """ID label of an anchor node (optional)"""
    def __init__(self, new_text=None):
        if new_text:
            self.set_text(new_text)  # set_text will call __init__ without new_text to do the initialization below
        else:
            Section.__init__(self)

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

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

            self.average = ''
            """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"""