def carrier_consumption_max_constraint_rule(
    backend_model, carrier, node, tech, timestep
):
    """
    Set maximum carrier consumption for demand, storage, and transmission techs.

    .. container:: scrolling-wrapper

        .. math::

            \\boldsymbol{carrier_{con}}(loc::tech::carrier, timestep) \\geq
            -1 \\times energy_{cap}(loc::tech)
            \\times timestep\\_resolution(timestep)

    """
    carrier_con = backend_model.carrier_con[carrier, node, tech, timestep]
    timestep_resolution = backend_model.timestep_resolution[timestep]

    return carrier_con >= (
        -1 * backend_model.energy_cap[node, tech] * timestep_resolution
    )