Evaporation Pond (ZO)

Model Type

This unit model is formulated as a single-input, double-output model form. See documentation for single-input, double-output Helper Methods.

Electricity Consumption

Electricity consumption is calculated using the constant_intensity helper function. See documentation for Helper Methods for Electricity Demand.

Costing Method

Costing is calculated using the cost_evaporation_pond method in the zero-order costing package. See documentation for the zero-order costing package.

Additional Variables

Description

Variable Name

Units

Air temperature

air_temperature

K

Daily solar radiation incident

solar_radiation

mJ/m**2

Pond dike height

dike_height

ft

Factor to adjust evaporation rate of pure water

evaporation_rate_adj_factor

None

Evaporation rate calculation parameter A

evap_rate_calc_a_parameter

mm/d

Evaporation rate calculation parameter B

evap_rate_calc_b_parameter

m**2/mJ

Evaporation rate calculation parameter C

evap_rate_calc_c_parameter

m**2/mJ

Adjusted area calculation parameter A

adj_area_calc_a_parameter

acre

Adjusted area calculation parameter B

adj_area_calc_b_parameter

None

Pond area needed based on evaporation rate

area

acre

Adjusted pond area needed

adj_area

acre

Calculated evaporation rate of pure water

evaporation_rate_pure

mm/d

Pure water evaporation rate adjusted for salinity

evaporation_rate_salt

gal/acre/min

Additional Constraints

Description

Constraint Name

Evaporation rate of pure water constraint

evap_rate_pure_constraint

Adjusted evaporation rate for salinity constraint

evap_rate_salt_constraint

Base area constraint

area_constraint

Adjusted area constraint

area_adj_constraint

Class Documentation

This module contains a zero-order representation of an evaporation pond unit model.

class watertap.unit_models.zero_order.evaporation_pond_zo.EvaporationPondZO(*args, **kwds)
Parameters
  • rule (function) – A rule function or None. Default rule calls build().

  • concrete (bool) – If True, make this a toplevel model. Default - False.

  • ctype (class) – Pyomo ctype of the block. Default - pyomo.environ.Block

  • default (dict) –

    Default ProcessBlockData config

    Keys
    dynamic

    All zero-order models are steady-state only

    has_holdup

    Zero order models do not include holdup

    property_package

    Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}

    property_package_args

    A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: {see property package for documentation.}

    database

    An instance of a WaterTAP Database to use for parameters.

    process_subtype

    Process subtype to use when looking up parameters from database.

  • initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.

  • idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.

Returns

(EvaporationPondZO) New instance

class watertap.unit_models.zero_order.evaporation_pond_zo.EvaporationPondZOData(component)[source]

Zero-Order model for a evaporation pond unit.

build()[source]

General build method for UnitModelBlockData. This method calls a number of sub-methods which automate the construction of expected attributes of unit models.

Inheriting models should call super().build.

Parameters

None

Returns

None