Glossary update: surface/solar zenith/azimuth angles, and others
Is your feature request related to a problem? Please describe. Some longer definitions and conventions are being removed from parameter descriptions in #2311
Describe the solution you'd like Migrate definitions and conventions over to the nomenclature page
See thread below for examples.
Additional context Let's agree on some definitions here, then I'll add them to the glossary. Note: some conventions (e.g. angle ranges or irradiance limits) might be function specific. Related discussion/comments: Issue #1421, comment in #1421, Comment in #2311, #2284
Original definitions from irradiance.py with some suggested modifications from me.
surface_tilt
Surface tilt angle, must be >=0° and <=180°. The surface tilt angle describes
the inclination of the PV panel and is defined as degrees from the horizontal
such that a surface facing up would have a surface tilt of 0°, and one facing
the horizon would be 90°. [°]
surface_azimuth
Surface azimuth angle, must be >=0° and <=360°. This angle describes the
horizontal orientation of the PV panel relative to a reference direction, and
the convention is defined as degrees east (clockwise) of north. For example,
North = 0°, South=180° East = 90°, West = 270°. [°]
solar_zenith
Apparent (refraction-corrected) zenith angle, must be ≥0° and ≤180°. The solar
zenith angle describes the position of the sun relative to the vertical and is
defined as the angle between the sun’s rays and a vector pointing straight up from
the observer. [°]
solar_azimuth
Solar azimuth angle, must be ≥0° and ≤360°. The solar azimuth angle describes
the sun’s position along the horizon and is defined as degrees east (clockwise)
of north. For example, North = 0°, East = 90°, South = 180°, West = 270°. [°]
Some of these would be new definitions, some of these exist in the glossary but need to be updated with more detail. There are others. We can update this list...
A couple suggestions:
surface_azimuth: remove "for example", as that could be interpreted as indicating that the user could choose another convention if they like. Also make clear that east of north is pvlib's convention, and other tools use different conventions.solar_zenith: add something likeThis is the complement of :term:`solar_elevation`.
Is this open issue relevant, https://github.com/pvlib/pvlib-python/issues/1976?
I've updated the nomenclature page with comprehensive definitions for solar angles and related terms. The key changes include:
-
Added detailed definitions with angle ranges and conventions:
solar_zenith: Added range constraints (>=0 and <=180) and relationship to elevation anglesolar_azimuth: Added range constraints (>=0 and <=360) and directional conventionsapparent_zenith: Added range constraints and explanation of refraction effectsapparent_elevation: Added new entry with range constraints and relationship to apparent_zenith
-
Enhanced existing angle definitions:
aoi: Added range constraints and explanation of values when sun is behind surfaceaoi_projection: Added explanation of negative values and usage notessurface_azimuth: Added range constraints and clarified that the east-of-north convention is specifically pvlib's conventionsurface_tilt: Added range constraints
-
Added cross-references between related terms:
- Used
:term:directive to linksolar_zenithwithsolar_elevation - Explained complement relationships (e.g., zenith = 90 - elevation)
- Used
-
Added coordinate system conventions:
latitude: Added sign conventionslongitude: Added sign conventions
The changes maintain consistency with the codebase's implementation while providing clearer documentation for users.