B
    d              
   @   s  d dl Z d dlZd dlmZ d dlmZ d dlmZ ddl	m
Z
 ddlmZmZmZ dge
j Zd	d
giZxe
jD ]Zee
eZed dkreed ed ed ed eed ejeed dZdZeeed e_n
ed ee je ee qrW [[[G dd deZdS )    N)units)AstropyDeprecationWarning)ScienceState   )
parameters)	CosmologyFlatLambdaCDM	LambdaCDMdefault_cosmology*ZscipyZ	cosmologyr   ZH0ZOm0Tcmb0Neffm_nuOb0)r   r   r   namer   z1{} instance of FlatLambdaCDM cosmology

(from {})	referencez6Please open a PR for your added cosmology realization.c               @   s,   e Zd ZdZdZedd Zedd ZdS )r
   a~  
    The default cosmology to use.  To change it::

        >>> from astropy.cosmology import default_cosmology, WMAP7
        >>> with default_cosmology.set(WMAP7):
        ...     # WMAP7 cosmology in effect
        ...     pass

    Or, you may use a string::

        >>> with default_cosmology.set('WMAP7'):
        ...     # WMAP7 cosmology in effect
        ...     pass
    Planck18c             C   sR   | dkrd}n@yt tjt | }W n* tk
rL   d| tj}t|Y nX |S )z4 Return a cosmology instance from a string.
        Z
no_defaultNz-Unknown cosmology '{}'. Valid cosmologies:
{})	getattrsysmodules__name__AttributeErrorformatr   	available
ValueError)argcosmos r   k/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/astropy/cosmology/realizations.pyget_cosmology_from_stringR   s    
z+default_cosmology.get_cosmology_from_stringc             C   sT   |d krd}t |tr:|dkr0t| dt | |S t |trH|S tdd S )Nr   ZPlanck18_arXiv_v2z3 is deprecated in astropy 4.2, use Planck18 insteadz9default_cosmology must be a string or Cosmology instance.)
isinstancestrwarningswarnr   r    r   	TypeError)clsvaluer   r   r   validateb   s    


zdefault_cosmology.validateN)	r   
__module____qualname____doc___valuestaticmethodr    classmethodr(   r   r   r   r   r
   @   s   ) r   r#   Zastropyr   uZastropy.utils.exceptionsr   Zastropy.utils.stater    r   corer   r   r	   r   __all__Z__doctest_requires__keyr   parZQuantityZeVr   Zdocstrr   r+   r$   setattrr   r   r
   r   r   r   r   <module>   s2   


