eradiate.scenes.atmosphere.AbstractHeterogeneousAtmosphere#

class eradiate.scenes.atmosphere.AbstractHeterogeneousAtmosphere(id='atmosphere', geometry=None, scale=None)[source]#

Bases: eradiate.scenes.atmosphere._core.Atmosphere, abc.ABC

Heterogeneous atmosphere base class. This class defines the basic interface common to all heterogeneous atmosphere models.

Parameters
  • id (str, optional, default: "atmosphere") – User-defined object identifier.

  • geometry (AtmosphereGeometry or dict or str, optional, default: None) – Parameters defining the basic geometry of the atmosphere.

  • scale (float, optional, default: None) – If set, the extinction coefficient is scaled by the corresponding amount during computation.

Fields
  • id (str or None) – User-defined object identifier.

  • geometry (AtmosphereGeometry or None) – Parameters defining the basic geometry of the atmosphere.

  • scale (float or None) – If set, the extinction coefficient is scaled by the corresponding amount during computation.

abstract eval_mfp(ctx)#

Compute a typical scattering mean free path. This rough estimate can be used e.g. to compute a distance guaranteeing that the medium can be considered optically thick.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

mfp (quantity) – Mean free path estimate.

abstract eval_radprops(spectral_ctx, optional_fields=False)[source]#

Return a dataset that holds the radiative properties profile of this atmospheric model.

Parameters
  • spectral_ctx (SpectralContext) – A spectral context data structure containing relevant spectral parameters (e.g. wavelength in monochromatic mode, bin and quadrature point index in CKD mode).

  • optional_fields (bool, optional, default: False) – If True, export optional fields, not required for scene construction but useful for analysis and debugging.

Returns

Dataset – Radiative properties profile dataset.

eval_shape(ctx)#

Return the shape enclosing the atmosphere’s volume.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

shape (CuboidShape or SphereShape) – Computed shape used as the medium stencil for kernel dictionary generation.

kernel_dict(ctx)#

Return a dictionary suitable for kernel scene configuration.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

KernelDict – Kernel dictionary which can be loaded as a Mitsuba object.

kernel_media(ctx)[source]#

Return medium plugin specifications only.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

kernel_dict (KernelDict) – A kernel dictionary containing all the media attached to the atmosphere.

abstract kernel_phase(ctx)#

Return phase function plugin specifications only.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

kernel_dict (KernelDict) – A kernel dictionary containing all the phase functions attached to the atmosphere.

kernel_shapes(ctx)#

Return shape plugin specifications only.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

kernel_dict (KernelDict) – A kernel dictionary containing all the shapes attached to the atmosphere.

kernel_width_plane_parallel(ctx)#

When using a plane parallel geometry, compute the size of the cuboid shape enclosing the participating medium representing the atmosphere.

Parameters

ctx (KernelDictContext) – A context data structure containing parameters relevant for kernel dictionary generation.

Returns

width (quantity) – Computed cuboid width, eval to 10 / self.eval_mfp(ctx) if ` self.geometry.width` is set to AUTO, self.geometry.width otherwise.

Raises

ValueError – When a geometry other than PlaneParallelGeometry is used.

update()[source]#

Update internal state.

abstract property bottom#

Atmosphere bottom altitude.

Type

pint.Quantity

property height#

Atmosphere height.

Type

pint.Quantity

property id_medium#

Kernel dictionary key of the atmosphere’s medium object.

Type

str

property id_phase#

Kernel dictionary key of the atmosphere’s phase function object.

Type

str

property id_shape#

Kernel dictionary key of the atmosphere’s shape object.

Type

str

abstract property top#

Atmosphere top altitude.

Type

pint.Quantity