def density_of_sky_fibers(margin=1.5):
    """Use positioner patrol size to determine sky fiber density for DESI.

    Parameters
    ----------
    margin : :class:`float`, optional, defaults to 1.5
        Factor of extra sky positions to generate. So, for margin=10, 10x as
        many sky positions as the default requirements will be generated.

    Returns
    -------
    :class:`float`
        The density of sky fibers to generate in per sq. deg.
    """
    # ADM the patrol radius of a DESI positioner (in sq. deg.)
    patrol_radius = 6.4/60./60.

    # ADM hardcode the number of options per positioner
    options = 2.
    nskies = margin*options/patrol_radius

    return nskies