Geometry#
Provides functions around the satellite’s viewing geometry.
- xvamp.geometry.geometry_from_central_angle(central_angle, height_terrain, height_platform)[source]#
Calculate the geometric (in vacuum) range, look angle, and incidence angle from the central angle and the law of cosines.
- Parameters:
central_angle (
Quantity|float|ndarray[floating]) – Central angle(s) of the platform in [rad], if not aQuantity.height_terrain (
Quantity|float|ndarray[floating]) – Height(s) of the terrain relative to the mean planet radius in [km], if not aQuantity.height_platform (
Quantity|float|ndarray[floating]) – Height(s) of the platform relative to the mean planet radius in [km], if not aQuantity.
- Return type:
- Returns:
geometric_range – Geometric range from the platform to the surface [km].
geometric_look_angle – Geometric look angle from the platform to the surface [rad].
geometric_incidence_angle – Geometric incidence angle from the surface to the platform [rad].
- xvamp.geometry.get_brightness_temperature(altitude, temperature, refraction, absorption, look_angle, surface_brightness)[source]#
Calculate the brightness temperature of the planet from an assumed surface brightness as well as the temperature, refraction, and absorption profiles (across their entirety, i.e., assuming that the surface is the first and the platform is the last altitude array element, respectively). Assumes a scatter-free medium and follows Section 6-6.4 of Ulaby and Long [2013].
- Parameters:
altitude (
Quantity) – Altitude values of the profilestemperature (
Quantity) – Temperature profilerefraction (
Quantity) – Refraction profileabsorption (
Quantity) – Absorption coefficient profilelook_angle (
Quantity) – Observer anglesurface_brightness (
Quantity) – Assumed surface brightness temperature
- Return type:
- Returns:
Brightness temperature
- xvamp.geometry.get_cross_track_displacement(look_angle, central_angle, height_terrain, height_platform)[source]#
Calculate the cross-track displacement between a given central angle and one derived from a look angle assuming vacuum propagation.
- Parameters:
look_angle (
Quantity|float|ndarray[floating]) – Look angle(s) of the instrument in [rad], if not aQuantitycentral_angle (
Quantity|float|ndarray[floating]) – Central angle(s) of the platform in [rad], if not aQuantity.height_terrain (
Quantity|float|ndarray[floating]) – Height(s) of the terrain relative to the mean planet radius in [km], if not aQuantity.height_platform (
Quantity|float|ndarray[floating]) – Height(s) of the platform relative to the mean planet radius in [km], if not aQuantity.
- Return type:
- Returns:
Distance along the spherical planet between the true point on the ground and the point if the look angle went through vacuum
- xvamp.geometry.get_sza(lst, lat)[source]#
Calculate the solar zenith angle.
- Parameters:
- Return type:
- Returns:
Solar zenith angle [rad]
Note
Formula is from Keating et al. [1985], eq.(8). Assumes that the orbital tilt is approximately 0°.
- xvamp.geometry.height_to_radius(height, planet_radius=VENUS_RADIUS, unit=u.km)[source]#
Add a planetary radius to a height and return the radius as a
astropy.units.Quantity.- Parameters:
- Return type:
- Returns:
Equivalent radius of the height input