eradiate.scenes.geometry.PlaneParallelGeometry#

class eradiate.scenes.geometry.PlaneParallelGeometry(toa_altitude=<Quantity(120.0, 'kilometer')>, ground_altitude=<Quantity(0.0, 'kilometer')>, zgrid=None, width=<Quantity(1000000.0, 'kilometer')>)[source]#

Bases: SceneGeometry

Plane parallel geometry.

A plane parallel atmosphere is translation-invariant in the X and Y directions. However, Eradiate represents it with a finite 3D geometry consisting of a cuboid. By default, the cuboid’s size is computed automatically; however, it can also be forced by assigning a value to the width field.

Parameters:
  • toa_altitude (float or quantity, default: 120 km) – Top-of-atmosphere level altitude. Unit-enabled field (default: ucc["length"]).

  • ground_altitude (float or quantity, default: 0 km) – Baseline ground altitude. Unit-enabled field (default: ucc["length"]).

  • zgrid (ZGrid, quantity or ndarray, optional) – The altitude mesh on which the radiative properties of heterogeneous atmosphere components are evaluated. If unset, a default grid with one layer per 100 m (or 10 layers if the atmosphere object height is less than 100 m) is used.

  • width (quantity or float, default: 1,000,000 km) – Cuboid shape width.

Fields:
  • toa_altitude (pint.Quantity) – Top-of-atmosphere level altitude.

  • ground_altitude (pint.Quantity) – Baseline ground altitude.

  • zgrid (ZGrid) – The altitude mesh on which the radiative properties of heterogeneous atmosphere components are evaluated.

  • width (quantity) – Cuboid shape width.

classmethod convert(value)#

Attempt conversion of a value to a SceneGeometry subtype.

Parameters:

value – Value to attempt conversion of. If a dictionary is passed, its "type" key is used to route its other entries as keyword arguments to the appropriate subtype’s constructor. If a string is passed, this method calls itself with the parameter {"type": value}.

Returns:

result – If value is a dictionary, the constructed SceneGeometry instance is returned. Otherwise, value is returned.

Raises:

ValueError – A dictionary was passed but the requested type is unknown.

property atmosphere_shape#

Stencil of the participating medium representing the atmosphere.

Type:

Shape

property atmosphere_volume_to_world#

Mitsuba transform mapping volume texture coordinates to world coordinates for heterogeneous atmosphere components.

Type:

mi.ScalarTransform4f

property surface_shape#

Shape representing the surface.

Type:

Shape