compute_cloud_opacity#

exo_skryer.opacity_cloud.compute_cloud_opacity(state: Dict[str, Array], params: Dict[str, Array], opacity_scheme: str = 'none') Tuple[Array, Array, Array][source]#

Main landing function for cloud opacity calculation.

This function dispatches to specific cloud opacity schemes based on the opacity_scheme parameter. It expects the vertical cloud profile (q_c_lay) to already be present in the state dictionary (computed by vert_cloud kernels).

Parameters:
statedict[str, ndarray]

Atmospheric state dictionary containing:

  • wlndarray, shape (nwl,)

    Wavelength grid in microns.

  • p_layndarray, shape (nlay,)

    Layer pressures in dyne cm⁻².

  • q_c_layndarray, shape (nlay,)

    Cloud mass mixing ratio per layer (from vert_cloud kernel).

  • nlayint

    Number of atmospheric layers.

  • nwlint

    Number of wavelength points.

paramsdict[str, ndarray]

Parameter dictionary containing scheme-specific parameters. Required parameters depend on the chosen opacity_scheme.

opacity_schemestr, optional

Cloud opacity scheme identifier. Options:

  • "none" or "zero": No cloud opacity (default)

  • "grey_const": Wavelength-independent grey opacity in every layer

  • "grey_profile": Wavelength-independent grey opacity masked by q_c_lay

  • "direct_nk": Retrieved refractive index with Mie/MADT scattering

  • "F18": Fisher & Heng (2018) empirical model

  • "madt_rayleigh": Mie/MADT blend using cached n,k on master grid

  • "lxmie": Full Lorenz-Mie (LX-MIE) using cached n,k on master grid

  • "powerlaw": Grey + power-law wavelength dependence

Returns:
k_cldndarray, shape (nlay, nwl)

Cloud extinction coefficient in cm² g⁻¹.

ssandarray, shape (nlay, nwl)

Single-scattering albedo (Q_sca / Q_ext).

gndarray, shape (nlay, nwl)

Asymmetry parameter for scattering phase function.