sky_image

pyrt.observation.sky_image(incidence, beam_azimuth, emission, azimuth)[source]

Create an instance of Angles from a typical sky image—that is, a single incidence and beam azimuth angle are known, and the observational geometry defines a 1D array of emission and azimuth angles.

Parameters
  • incidence (float) – Incidence (solar zenith) angle [degrees]. Value must be between 0 and 90.

  • beam_azimuth (float) – Azimuth angle of the incident beam [degrees]. Value must be between 0 and 360.

  • emission (ArrayLike) – Emission (emergence) angle [degrees]. All values must be between 0 and 180.

  • azimuth (ArrayLike) – Azimuthal angle [degrees]. All values must be between 0 and 360.

Raises
  • TypeError – Raised if any values in the input arrays are nonnumerical.

  • ValueError – Raised if any values of the input arrays are outside their mathematically valid range, or if the inputs do not have the same beam measurement shape.

Return type

pyrt.observation.Angles

Examples

Create an instance of Angles for a (3, 5) sky image with a single incident beam.

>>> import numpy as np
>>> from pyrt.observation import sky_image
>>> incidence = 30
>>> beam_azimuth = 40
>>> emission = np.linspace(30, 60, num=3)
>>> azimuth = np.linspace(20, 50, num=5)
>>> sky_image(incidence, beam_azimuth, emission, azimuth)
Angles:
   mu0 = [0.8660254]
   phi0 = [40]
   mu = [[0.8660254  0.70710678 0.5       ]]
   phi = [[20.  27.5 35.  42.5 50. ]]