Page actions
instrument mechanism / verified-clean
Haversine Sunrise-Azimuth Bearing (great circle course) mechanism
The inspectable method record for Haversine Sunrise-Azimuth Bearing (great circle course), kept separate from implementation and qualification.
Model scope
The specification cannot honestly advertise both initial and final bearing: only initial bearing is defined by the supplied formula. Add a separate final-bearing formula, specify degree/radian input and output units, define normalization and spherical-Earth assumptions, and remove or rename the unsupported sunrise-azimuth claim.
- The supplied formula is the standard initial great-circle bearing formula only; it does not compute the claimed final bearing.
- The instrument name claims sunrise azimuth, but no sunrise or solar-position formula is supplied.
- The formula is spherical, not an ellipsoidal geodesic bearing formula; the spherical-Earth approximation must be disclosed.
- The formula is not a haversine formula. Haversine is normally used for great-circle distance, whereas this formula computes an initial bearing.
- The output angle must be normalized explicitly, conventionally to [0,360) degrees or [0,2π) radians; the formula alone can return negative angles.
Units and conventions
- lat1, lon1, lat2, and lon2 must be angular coordinates, with all trigonometric arguments and Δλ converted to radians before evaluation.
- Reported bearings are assumed clockwise from true north and normalized to [0,360) degrees.
- The supplied formula computes initial bearing as atan2(y,x).
- Final bearing would require an additional calculation, such as final=(initial bearing from point 2 to point 1 + 180) mod 360.
- A spherical Earth is assumed; no ellipsoid or datum is specified.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"lat1": 0,
"lon1": 0,
"lat2": 0,
"lon2": 90,
"coordinate_units": "degrees"
},
"expected_outputs": {
"initial_bearing_deg": 90,
"final_bearing_deg": 90
},
"working": "Δλ=90°=π/2; φ1=φ2=0°=0 rad. y=sin(π/2)·cos(0)=1·1=1. x=cos(0)·sin(0)−sin(0)·cos(0)·cos(π/2)=0−0=0. θ=atan2(1,0)=π/2=90°. For the final bearing, reverse the route: bearing(0°,90°→0°,0°)=270°, then (270°+180°) mod 360°=90°."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
Coincident points produce atan2(0,0), so both bearings are undefined and must be rejected. The specification also leaves longitude sign, angular units, bearing normalization, and the final-bearing derivation implicit, creating convention-dependent outputs if those conventions are not fixed.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche5/tranche5-results.jsonBOUNDARY_HAZARD_CATALOG.json