# Copyright (C) 2018  Charlie Hoy <charlie.hoy@ligo.org> This program is free
# software; you can redistribute it and/or modify it under the terms of the GNU
# General Public License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 51
# Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.


from pesummary import conf
from astropy import cosmology as cosmo
COSMOLOGY = [conf.cosmology]


def get_cosmology():
    """Return the cosmology that is being used
    """
    return COSMOLOGY[0]


def set_cosmology(cosmology="Planck15"):
    """Set the cosmology to be used

    Parameters
    ----------
    cosmology: str
        name of a known Astropy cosmology
    """
    if isinstance(cosmology, str):
        COSMOLOGY = [cosmo.__dict__[cosmology]]
    else:
        raise NotImplementedError(
            "Currently only known astropy cosmologies can be passed. This "
            "includes for example 'Planck13' or 'Planck15'."
        )
