pyrt.azimuth#

pyrt.azimuth(incidence_angles, emission_angles, phase_angles)[source]#

Construct azimuth angles from a set of incidence, emission, and phase angles.

Parameters:
  • incidence_angles (ArrayLike) – N-dimensional array of incidence (solar zenith) angles [degrees]. All values should be between 0 and 90.

  • emission_angles (ArrayLike) – N-dimensional array of emission (emergence) angles [degrees]. All values should be between 0 and 90.

  • phase_angles (ArrayLike) – N-dimensional array of phase angles [degrees]. All values should be between 0 and 180.

Returns:

N-dimensional array of azimuth angles [degrees].

Return type:

np.ndarray

Notes

This function can handle arrays of any shape, but all input arrays should have the same shape.

Examples

Create the azimuth angle from a scalar set of angles.

>>> import numpy as np
>>> import pyrt
>>> pyrt.azimuth(10, 15, 20)
array(75.09711684)

You can also input an N-dimensional set of angles. This may be useful for spacecraft observations, where each pixel in a 2D image has a unique set of incidence, emission, and phase angles.

>>> data_shape = (15, 20)
>>> incidence = np.ones(data_shape) * 10
>>> emission = np.ones(data_shape) * 15
>>> phase = np.ones(data_shape) * 20
>>> pyrt.azimuth(incidence, emission, phase).shape
(15, 20)