petitRADTRANS.chemistry.clouds
==============================

.. py:module:: petitRADTRANS.chemistry.clouds

.. autoapi-nested-parse::

   This file allows the calculation of equilibrium cloud abundances and base pressures



Attributes
----------

.. autoapisummary::

   petitRADTRANS.chemistry.clouds.__metals
   petitRADTRANS.chemistry.clouds.__elemental_abundances
   petitRADTRANS.chemistry.clouds.__molar_masses


Functions
---------

.. autoapisummary::

   petitRADTRANS.chemistry.clouds.__get_species_molar_mass
   petitRADTRANS.chemistry.clouds.setup_clouds
   petitRADTRANS.chemistry.clouds.setup_simple_clouds_hazes
   petitRADTRANS.chemistry.clouds.cloud_dict
   petitRADTRANS.chemistry.clouds.get_fseds
   petitRADTRANS.chemistry.clouds.get_bhans
   petitRADTRANS.chemistry.clouds.return_cloud_mass_fraction
   petitRADTRANS.chemistry.clouds.simple_cdf
   petitRADTRANS.chemistry.clouds.simple_cdf_free
   petitRADTRANS.chemistry.clouds.return_x_fe
   petitRADTRANS.chemistry.clouds.return_x_mgsio3
   petitRADTRANS.chemistry.clouds.return_x_mg2sio4
   petitRADTRANS.chemistry.clouds.return_x_mgfesio4
   petitRADTRANS.chemistry.clouds.return_x_sio
   petitRADTRANS.chemistry.clouds.return_x_na2s
   petitRADTRANS.chemistry.clouds.return_x_kcl
   petitRADTRANS.chemistry.clouds.return_t_cond_fe
   petitRADTRANS.chemistry.clouds.return_t_cond_fe_l
   petitRADTRANS.chemistry.clouds.return_t_cond_fe_comb
   petitRADTRANS.chemistry.clouds.return_t_cond_fe_free
   petitRADTRANS.chemistry.clouds.return_t_cond_fe_l_free
   petitRADTRANS.chemistry.clouds.return_t_cond_fe_comb_free
   petitRADTRANS.chemistry.clouds.return_t_cond_mgsio3
   petitRADTRANS.chemistry.clouds.return_t_cond_mg2sio4
   petitRADTRANS.chemistry.clouds.return_t_cond_mgsio3_free
   petitRADTRANS.chemistry.clouds.return_t_cond_mg2sio4_free
   petitRADTRANS.chemistry.clouds.return_t_cond_na2s
   petitRADTRANS.chemistry.clouds.return_t_cond_na2s_free
   petitRADTRANS.chemistry.clouds.return_t_cond_kcl
   petitRADTRANS.chemistry.clouds.return_t_cond_kcl_free
   petitRADTRANS.chemistry.clouds.return_t_cond_sio
   petitRADTRANS.chemistry.clouds.return_t_cond_sio_free
   petitRADTRANS.chemistry.clouds.simple_cdf_fe
   petitRADTRANS.chemistry.clouds.simple_cdf_fe_free
   petitRADTRANS.chemistry.clouds.simple_cdf_mgsio3
   petitRADTRANS.chemistry.clouds.simple_cdf_mgsio3_free
   petitRADTRANS.chemistry.clouds.simple_cdf_mg2sio4
   petitRADTRANS.chemistry.clouds.simple_cdf_mg2sio4_free
   petitRADTRANS.chemistry.clouds.simple_cdf_na2s
   petitRADTRANS.chemistry.clouds.simple_cdf_na2s_free
   petitRADTRANS.chemistry.clouds.simple_cdf_kcl
   petitRADTRANS.chemistry.clouds.simple_cdf_kcl_free
   petitRADTRANS.chemistry.clouds.simple_cdf_sio
   petitRADTRANS.chemistry.clouds.simple_cdf_sio_free


Module Contents
---------------

.. py:data:: __metals
   :value: ['C', 'N', 'O', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'K', 'Ca', 'Ti', 'V', 'Fe', 'Ni']


.. py:data:: __elemental_abundances

.. py:data:: __molar_masses

.. py:function:: __get_species_molar_mass(species)

.. py:function:: setup_clouds(pressures, parameters, cloud_species)

   This function provides the set of cloud parameters used in
   petitRADTRANS. This will be some combination of atmospheric
   parameters (fsed and Kzz), distribution descriptions (log normal or hansen)
   and the cloud particle radius. Fsed and the particle radii can be provided
   on a per-cloud basis.

   Args:
       pressures : np.ndarray
           The pressure array used to provide the atmospheric grid
       parameters : dict
           The dictionary of parameters passed to the model function. Should contain:
                *  fsed : sedimentation parameter - can be unique to each cloud type
               One of:
                 *  sigma_lnorm : Width of cloud particle size distribution (log normal)
                 *  b_hans : Width of cloud particle size distribution (hansen)
               One of:
                 *  log_cloud_radius_* : Central particle radius (typically computed with fsed and Kzz)
                 *  log_kzz : Vertical mixing parameter
       cloud_species : list
           A list of the names of each of the cloud species used in the atmosphere.

   Returns:
       sigma_lnorm : float, None
           The width of a log normal particle size distribution.
       fseds : dict, None
           The sedimentation fraction for each cloud species in the atmosphere.
       kzz : np.ndarray, None
           The vertical mixing parameter.
       b_hans : float, None
           The width of a hansen particle size distribution.
       radii : dict, None
           The central radius of the particle size distribution.
       distribution : string
           Either "lognormal" or "hansen" - tells pRT which distribution to use.


.. py:function:: setup_simple_clouds_hazes(parameters)

   Setup clouds for transmission spectrum

   Args:
       parameters (dict): dictionary of atmospheric parameters


.. py:function:: cloud_dict(parameters, parameter_name, cloud_species, shape=0)

   This is a generic method to create a dictionary of
   parameters values for a given cloud parameterization, testing if
   the parameter should be filled on a per-species basis or
   if each cloud species should have the same value.


.. py:function:: get_fseds(parameters, cloud_species)

   This function checks to see if the fsed values are input on a per-cloud basis
   or only as a single value, and returns the dictionary providing the fsed values
   for each cloud, or None, if no cloud is used.


.. py:function:: get_bhans(parameters, cloud_species, shape=0)

   This function checks to see if the bhans values are input on a per-cloud basis
   or only as a single value, and returns the dictionary providing the fsed values
   for each cloud, or None, if no cloud is used.


.. py:function:: return_cloud_mass_fraction(name, metallicity, co_ratio)

.. py:function:: simple_cdf(name, press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_free(name, press, temp, metallicity, mfrac, mmw=2.33)

.. py:function:: return_x_fe(metallicity, co_ratio)

.. py:function:: return_x_mgsio3(metallicity, co_ratio)

.. py:function:: return_x_mg2sio4(metallicity, co_ratio)

.. py:function:: return_x_mgfesio4(metallicity, co_ratio)

.. py:function:: return_x_sio(metallicity, co_ratio)

.. py:function:: return_x_na2s(metallicity, co_ratio)

.. py:function:: return_x_kcl(metallicity, co_ratio)

.. py:function:: return_t_cond_fe(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_fe_l(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_fe_comb(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_fe_free(x_fe, mmw=2.33)

.. py:function:: return_t_cond_fe_l_free(x_fe, mmw=2.33)

.. py:function:: return_t_cond_fe_comb_free(x_fe, mmw=2.33)

.. py:function:: return_t_cond_mgsio3(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_mg2sio4(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_mgsio3_free(x_mgsio3, mmw=2.33)

.. py:function:: return_t_cond_mg2sio4_free(x_mg2sio4, mmw=2.33)

.. py:function:: return_t_cond_na2s(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_na2s_free(x_na2s, mmw=2.33)

.. py:function:: return_t_cond_kcl(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_kcl_free(x_kcl, mmw=2.33)

.. py:function:: return_t_cond_sio(metallicity, co_ratio, mmw=2.33)

.. py:function:: return_t_cond_sio_free(x_sio, mmw=2.33)

.. py:function:: simple_cdf_fe(press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_fe_free(press, temp, x_fe, mmw=2.33)

.. py:function:: simple_cdf_mgsio3(press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_mgsio3_free(press, temp, x_mgsio3, mmw=2.33)

.. py:function:: simple_cdf_mg2sio4(press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_mg2sio4_free(press, temp, x_mg2sio4, mmw=2.33)

.. py:function:: simple_cdf_na2s(press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_na2s_free(press, temp, x_na2s, mmw=2.33)

.. py:function:: simple_cdf_kcl(press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_kcl_free(press, temp, x_kcl, mmw=2.33)

.. py:function:: simple_cdf_sio(press, temp, metallicity, co_ratio, mmw=2.33)

.. py:function:: simple_cdf_sio_free(press, temp, x_sio, mmw=2.33)

