petitRADTRANS.temperature_profiles.gradient
===========================================

.. py:module:: petitRADTRANS.temperature_profiles.gradient


Functions
---------

.. autoapisummary::

   petitRADTRANS.temperature_profiles.gradient.zhang_2023_temperature_profile


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

.. py:function:: zhang_2023_temperature_profile(pressures: jax.typing.ArrayLike, num_layer: int, layer_pt_slopes: jax.typing.ArrayLike, t_bottom: float, top_of_atmosphere_pressure: float = -3, bottom_of_atmosphere_pressure: float = 3) -> jax.Array

   This function takes the temperature gradient at a set number of spline points and interpolates a temperature
   profile as a function of pressure. Based on the method described in Zhang et al. (2023).

   Args:
       pressures: The pressure array in bar.
       num_layer: The number of layers. Default for covering 10^3 to 10^-3 bar as in Zhang 2023 is 6.
           To cover 10^3 to 10^-6 bar 10 is recommended.
       layer_pt_slopes: The temperature gradient (d(ln T) / d(ln P)) at the spline points.
       t_bottom: The temperature at the bottom of the atmosphere.
       top_of_atmosphere_pressure: Minimum atmospheric pressure in log bar. If the pressure array extends
           beyond this value, the temperature structure at lower pressures will be isothermal.
       bottom_of_atmosphere_pressure: Maximum atmospheric pressure in log bar.

   Returns:
       The temperature profile in K.


