direct_nk#

exo_skryer.opacity_cloud.direct_nk(state: Dict[str, Array], params: Dict[str, Array]) Tuple[Array, Array, Array][source]#

Compute cloud optical properties from retrieved refractive-index nodes.

This function retrieves node values describing the complex refractive index (n, k) as a function of wavelength, interpolates them onto the model wavelength grid, and computes wavelength-dependent optical properties using Mie/MADT scattering. The vertical profile is provided via q_c_lay in the state dictionary (computed separately by vert_cloud kernels).

Parameters:
statedict[str, ndarray]

Atmospheric state dictionary containing:

  • wlndarray, shape (nwl,)

    Wavelength grid in microns.

  • q_c_layndarray, shape (nlay,)

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

paramsdict[str, ndarray]

Parameter dictionary containing:

  • wl_node_0..`wl_node_12`float

    Wavelength nodes (microns).

  • n_0..`n_12`float

    Real refractive-index nodes.

  • log_10_k_0..`log_10_k_12`float

    Log₁₀ imaginary refractive-index nodes.

  • log_10_cld_rfloat

    Log₁₀ particle radius in microns.

  • cld_rhofloat

    Cloud bulk density in g cm⁻³.

Returns:
k_cldndarray, shape (nlay, nwl)

Cloud extinction coefficient in cm² g⁻¹.

ssandarray, shape (nlay, nwl)

Single-scattering albedo derived from (Q_sca / Q_ext).

gndarray, shape (nlay, nwl)

Asymmetry parameter (zeros in this implementation).