Page actions
instrument / verified-clean
Solar Position (Sun Az/Alt)
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Earth & Space (astronomy, orbital mechanics, meteorology, geology, geodesy, oceanography)
- Tranche
- tranche-6
- Evidence ID
- t6-030
- Ledger rows
- 1
No ledger note is attached.
Review findings
The claimed NOAA low-precision method is broadly appropriate for ordinary Sun azimuth/altitude and solar-noon estimates, but the specification is incomplete enough that exact verification requires review of the equations, conventions, leap-year behavior, and refraction policy.
Formula and scope findings
- The specification names the NOAA algorithm but does not provide the exact equations or NOAA variant, including the day-angle definition, leap-year handling, azimuth convention, and atmospheric-refraction treatment.
- The engine is listed as "lookup table" even though the instrument is described as an algorithmic pure-JS calculation; this is an implementation mismatch unless the table is generated deterministically from the NOAA equations.
- Azimuth convention is unspecified. The test vectors assume degrees clockwise from true north, matching the common NOAA convention.
- Altitude is unspecified as geometric or apparent altitude. The vectors assume unrefracted geometric altitude; near-horizon results will differ from NOAA apparent-altitude output if refraction is enabled.
- Solar-noon output requires a defined clock-time convention and precision. The vectors assume local civil time and solar noon = 720 - (equation of time + 4*longitude - 60*time-zone-offset) minutes.
Unit assumptions
- Latitude and longitude are decimal degrees, with north and east positive and west negative.
- Time-zone offset is hours east of UTC; daylight-saving time must be included explicitly, such as UTC-4 or UTC+11.
- Input time is local civil clock time in the stated time zone.
- Azimuth is degrees clockwise from true north; altitude is degrees above the geometric horizon.
- Longitude correction uses 4 minutes per degree, and the equation of time is in minutes.
- The calculations use the common NOAA fractional-year angle gamma = 2*pi/365 * (day_of_year - 1 + (UTC-hour - 12)/24), with the displayed examples evaluated at the stated local time after conversion to UTC.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
The geographic-pole case exposes an undefined physical azimuth that a naive atan2 implementation can silently convert into an arbitrary numeric angle. The longitude-sign probe also exposes a convention-sensitive result if west-positive and east-positive longitude conventions are mixed.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"date": "2024-01-01",
"time": "12:00:00",
"latitude_deg": 0,
"longitude_deg": 0,
"timezone": "UTC"
},
"expected_outputs": {
"azimuth_deg": 178.3,
"altitude_deg": 66.94,
"solar_noon_local": "12:02:54"
},
"working": "UTC hour = 12. Day 1 gives gamma = 2*pi/365*(0 + 0) = 0. EOT = 229.18*(0.000075 + 0.001868 - 0.014615) = -2.904 minutes. Declination = 0.006918 - 0.399912 - 0.006758 - 0.002697 = -0.402449 rad = -23.06 deg. Time offset = EOT + 4*longitude - 60*timezone = -2.904 + 0 - 0 = -2.904 min. True solar time = 720 - 2.904 = 717.096 min. Hour angle = 717.096/4 - 180 = -0.726 deg. cos(zenith) = sin(0)*sin(-23.06) + cos(0)*cos(-23.06)*cos(-0.726) = 0.9200, so altitude = asin(0.9200) = 66.94 deg. NOAA azimuth = atan2(sin(-0.726), cos(-0.726)*sin(0) - tan(-23.06)*cos(0)) + 180 = 178.30 deg. Solar noon = 720 - (-2.904) = 722.904 min = 12:02:54."
}Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche6/tranche6-results.jsonBOUNDARY_HAZARD_CATALOG.json