skyscapes.physical_model.exojax.components.scattering#

Scattering opacity components.

Classes#

RayleighScattering

Rayleigh scattering from tracked species + optional bulk residual.

NullScattering

Disable scattering entirely: contributes zero opacity.

Module Contents#

class skyscapes.physical_model.exojax.components.scattering.RayleighScattering[source]#

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

Rayleigh scattering from tracked species + optional bulk residual.

Iterates over the atmosphere’s species tuple plus the bulk gas (if present), computing each gas’s contribution from its own rayleigh_xs and molmass. The bulk gas’s mass-mixing ratio is computed dynamically as max(0, 1 - sum(tracked mmrs)).

To disable per-species Rayleigh while keeping the bulk: set the species’ rayleigh_xs to zeros. To disable scattering entirely: use NullScattering.

compute(species, bulk, gravity, rt_engine, n_layers, n_nu)[source]#

Sum tracked-species + bulk-gas Rayleigh contributions.

Bulk gas mmr is computed per-layer as max(0, 1 - sum(species profiles at this pressure)), so altitude variation of the tracked species translates into altitude variation of the bulk-gas residual.

Parameters:
Return type:

skyscapes.physical_model.exojax.components.base.Contribution

class skyscapes.physical_model.exojax.components.scattering.NullScattering[source]#

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

Disable scattering entirely: contributes zero opacity.

Useful for ablation studies (e.g. quantifying how much Rayleigh affects a retrieval) and for atmospheres where scattering is negligible.

compute(species, bulk, gravity, rt_engine, n_layers, n_nu)[source]#

Return zero-everywhere contribution.

Parameters:
Return type:

skyscapes.physical_model.exojax.components.base.Contribution