eradiate.scenes.geometry.SphericalShellGeometry#

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

Bases: SceneGeometry

Spherical shell geometry.

A spherical shell atmosphere has a spherical symmetry. Eradiate represents it with a finite 3D geometry consisting of a sphere. By default, the sphere’s radius is set equal to Earth’s radius.

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.

  • planet_radius (quantity or float, default: EARTH_RADIUS) – Planet radius. Defaults to Earth’s radius.

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.

  • planet_radius (quantity) – Planet radius.

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_rmin#

Value for the rmin parameter of the sphericalcoordsvolume plugin describing the volume data in the spherical shell geometry.

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