POSEIDON.emission

Radiative transfer calculations for generating emission spectra.

Module Contents

Functions

planck_lambda_arr(T, wl)

Compute the Planck function spectral radiance for a range of model

planck_lambda_arr_GPU(T, wl, B_lambda)

GPU variant of the 'planck_lambda_arr' function.

emission_rad_transfer(T, dz, wl, kappa[, Gauss_quad])

Compute the emergent top-of-atmosphere flux from a planet or brown dwarf.

emission_rad_transfer_GPU(T, dz, wl, kappa[, Gauss_quad])

GPU variant of the 'emission_rad_transfer' function.

determine_photosphere_radii(dtau, r_low, wl[, ...])

Interpolate optical depth to find the radius corresponding to the

determine_photosphere_radii_GPU(tau_lambda, r_low, wl, ...)

GPU variant of the 'determine_photosphere_radii' function.

Attributes

cp

block

thread

POSEIDON.emission.cp
POSEIDON.emission.block
POSEIDON.emission.thread
POSEIDON.emission.planck_lambda_arr(T, wl)

Compute the Planck function spectral radiance for a range of model wavelengths and atmospheric temperatures.

Parameters:
  • T (np.array of float) – Array of temperatures in each atmospheric layer (K).

  • wl (np.array of float) – Wavelength grid (μm).

Returns:

Planck function spectral radiance as a function of layer temperature and wavelength in SI units (W/m^2/sr/m).

Return type:

B_lambda (2D np.array of float)

POSEIDON.emission.planck_lambda_arr_GPU(T, wl, B_lambda)

GPU variant of the ‘planck_lambda_arr’ function.

Compute the Planck function spectral radiance for a range of model wavelengths and atmospheric temperatures. :param T: Array of temperatures in each atmospheric layer (K). :type T: np.array of float :param wl: Wavelength grid (μm). :type wl: np.array of float

Returns:

Planck function spectral radiance as a function of layer temperature and wavelength in SI units (W/m^2/sr/m).

Return type:

B_lambda (2D np.array of float)

POSEIDON.emission.emission_rad_transfer(T, dz, wl, kappa, Gauss_quad=2)

Compute the emergent top-of-atmosphere flux from a planet or brown dwarf.

This function considers only pure thermal emission (i.e. no scattering).

Parameters:
  • T (np.array of float) – Temperatures in each atmospheric layer (K).

  • dz (np.array of float) – Vertical extent of each atmospheric layer (m).

  • wl (np.array of float) – Wavelength grid (μm).

  • kappa (2D np.array of float) – Extinction coefficient in each layer as a function of wavelength (m^-1).

  • Gauss_quad (int) – Gaussian quadrature order for integration over emitting surface (Options: 2 / 3).

Returns:

Spectral surface flux in SI units (W/m^2/sr/m).

Return type:

F (np.array of float)

POSEIDON.emission.emission_rad_transfer_GPU(T, dz, wl, kappa, Gauss_quad=2)

GPU variant of the ‘emission_rad_transfer’ function.

Compute the emergent top-of-atmosphere flux from a planet or brown dwarf.

This function considers only pure thermal emission (i.e. no scattering).

Parameters:
  • T (np.array of float) – Temperatures in each atmospheric layer (K).

  • dz (np.array of float) – Vertical extent of each atmospheric layer (m).

  • wl (np.array of float) – Wavelength grid (μm).

  • kappa (2D np.array of float) – Extinction coefficient in each layer as a function of wavelength (m^-1).

  • Gauss_quad (int) – Gaussian quadrature order for integration over emitting surface (Options: 2 / 3).

Returns:

Spectral surface flux in SI units (W/m^2/sr/m).

Return type:

F (np.array of float)

POSEIDON.emission.determine_photosphere_radii(dtau, r_low, wl, photosphere_tau=2 / 3)

Interpolate optical depth to find the radius corresponding to the photosphere (by default at tau = 2/3).

Parameters:
  • dtau (2D np.array of float) – Vertical optical depth across each layer (starting from the top of the atmosphere) as a function of layer and wavelength.

  • r_low (np.array of float) – Radius at the lower boundary of each layer (m).

  • wl (np.array of float) – Wavelength grid (μm).

  • photosphere_tau (float) – Optical depth to determine photosphere radius.

Returns:

Photosphere radius as a function of wavelength (m).

Return type:

R_p_eff (np.array of float)

POSEIDON.emission.determine_photosphere_radii_GPU(tau_lambda, r_low, wl, R_p_eff, photosphere_tau=2 / 3)

GPU variant of the ‘determine_photosphere_radii’ function.

Interpolate optical depth to find the radius corresponding to the photosphere (by default at tau = 2/3).

Parameters:
  • dtau (2D np.array of float) – Vertical optical depth across each layer (starting from the top of the atmosphere) as a function of layer and wavelength.

  • r_low (np.array of float) – Radius at the lower boundary of each layer (m).

  • wl (np.array of float) – Wavelength grid (μm).

  • photosphere_tau (float) – Optical depth to determine photosphere radius.

Returns:

Photosphere radius as a function of wavelength (m).

Return type:

R_p_eff (np.array of float)