def METHOD_NAME(blk):
    """
    General method for costing surface discharge. Capital cost is based on
    construction and pipe costs.
    """
    t0 = blk.flowsheet().time.first()
    # Get parameter dict from database
    parameter_dict = blk.unit_model.config.database.get_unit_operation_parameters(
        blk.unit_model._tech_type, subtype=blk.unit_model.config.process_subtype
    )
    # Get costing parameter sub-block for this technology
    A, B, pipe_cost_basis, ref_state = blk.unit_model._get_tech_parameters(
        blk,
        parameter_dict,
        blk.unit_model.config.process_subtype,
        [
            "capital_a_parameter",
            "capital_b_parameter",
            "pipe_cost_basis",
            "reference_state",
        ],
    )
    # Add cost variable and constraint
    blk.capital_cost = pyo.Var(
        initialize=1,
        units=blk.config.flowsheet_costing_block.base_currency,
        bounds=(0, None),
        doc="Capital cost of unit operation",
    )
    expr = pyo.units.convert(
        A
        * pyo.units.convert(
            blk.unit_model.properties[t0].flow_vol / ref_state,
            to_units=pyo.units.dimensionless,
        )
        ** B,
        to_units=blk.config.flowsheet_costing_block.base_currency,
    ) + pyo.units.convert(
        pipe_cost_basis
        * blk.unit_model.pipe_distance[t0]
        * blk.unit_model.pipe_diameter[t0],
        to_units=blk.config.flowsheet_costing_block.base_currency,
    )
    blk.unit_model._add_cost_factor(
        blk, parameter_dict["capital_cost"]["cost_factor"]
    )
    blk.capital_cost_constraint = pyo.Constraint(
        expr=blk.capital_cost == blk.cost_factor * expr
    )
    # Register flows
    blk.config.flowsheet_costing_block.cost_flow(
        blk.unit_model.electricity[t0], "electricity"
    )