skyscapes.physical_model.exojax.components.clouds#

Cloud opacity components.

Attributes#

Classes#

GrayCloud

Single-layer gray-scattering cloud.

NoCloud

Disable cloud opacity: zero contribution.

Module Contents#

skyscapes.physical_model.exojax.components.clouds.DEFAULT_CLOUD_SSA = 1.0#
skyscapes.physical_model.exojax.components.clouds.DEFAULT_CLOUD_ASYMMETRY_G = 0.85#
skyscapes.physical_model.exojax.components.clouds.DEFAULT_CLOUD_LOG_SIGMA = 0.3#
class skyscapes.physical_model.exojax.components.clouds.GrayCloud[source]#

Bases: skyscapes.physical_model.exojax.components.base.AbstractClouds

Single-layer gray-scattering cloud.

The total cloud scattering optical depth is distributed across layers via a Gaussian in log-pressure (softmax-normalised so the weights are well-defined even when the cloud pressure is far outside the layer grid – useful for ablation runs with log_opt_depth = -inf).

Wavelength-grey: the cloud’s cross-section is constant across the spectrum. A Mie cloud with composition-dependent scattering would be a separate component implementing the same contract.

Attributes (PyTree leaves, fittable):

log_pressure_bar: Log10 cloud-deck pressure [bar], shape (K,). log_opt_depth: Log10 of the vertically-integrated cloud

scattering optical depth, shape (K,).

Static attributes (configuration):

ssa: Single-scattering albedo (default 1.0, pure scattering). g: Asymmetry parameter (default 0.85, forward-peaked). log_sigma: Vertical-distribution width in log10(P) [dex].

log_pressure_bar: jaxtyping.Array#
log_opt_depth: jaxtyping.Array#
ssa: float#
g: float#
log_sigma: float#
compute(log_pressure_bar_scalar, log_opt_depth_scalar, pressure, n_nu)[source]#

Gray cloud contribution at a single pressure level.

Parameters:
  • log_pressure_bar_scalar (jaxtyping.Array)

  • log_opt_depth_scalar (jaxtyping.Array)

  • pressure (jaxtyping.Array)

  • n_nu (int)

Return type:

skyscapes.physical_model.exojax.components.base.Contribution

class skyscapes.physical_model.exojax.components.clouds.NoCloud[source]#

Bases: skyscapes.physical_model.exojax.components.base.AbstractClouds

Disable cloud opacity: zero contribution.

Equivalent to a GrayCloud with log_opt_depth = -inf but structurally explicit, so that isinstance(atm.clouds, NoCloud) documents intent in code that builds cloud-free atmospheres.

compute(log_pressure_bar_scalar, log_opt_depth_scalar, pressure, n_nu)[source]#

Return zero-everywhere cloud contribution.

log_pressure_bar_scalar and log_opt_depth_scalar are accepted for parity with GrayCloud but unused.

Parameters:
  • log_pressure_bar_scalar (jaxtyping.Array)

  • log_opt_depth_scalar (jaxtyping.Array)

  • pressure (jaxtyping.Array)

  • n_nu (int)

Return type:

skyscapes.physical_model.exojax.components.base.Contribution