def find_production_volume_by_id(dataset, uuid):
    """Find production volume in ``dataset`` with id ``uuid``.

    Raises ``ValueError`` if ``uuid`` not found in dataset, or if the found exchange does not have a production volume."""
    for exc in dataset['exchanges']:
        if exc['id'] == uuid:
            if 'production volume' not in exc:
                raise ValueError("Referenced exchange does not have a prod. volume")
            return exc['production volume']
    raise ValueError("Exchange id {} not found in dataset".format(uuid))