Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

Moonrise/Moonset Estimator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: VERIFIED_CLEANLifecycle: verified-clean

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-7
Evidence ID
t7-016
Ledger rows
1

No ledger note is attached.

Review findings

The estimator concept is scientifically reasonable for a low-precision product, but the specification is not reproducible as written. Define the exact Meeus series and epoch, geocentric/topocentric convention, horizon correction, longitude sign, time zone, date rollover behavior, and no-event behavior before implementation approval.

Formula and scope findings

  • The claimed method is broadly appropriate, but no explicit equations, epoch, lunar orbital-element coefficients, or series truncation are supplied, so the implementation cannot be fully verified from the specification alone.
  • A standard horizon-crossing calculation should use cos(H0) = [sin(h0) - sin(latitude)sin(declination)] / [cos(latitude)cos(declination)], with h0 including refraction, lunar semidiameter, and horizontal parallax. The specification does not state which horizon correction convention is used.
  • For lunar events, h0 is not the solar value -0.833 degrees. Using refraction = 0.5667 degrees, lunar semidiameter = 0.2725 degrees, and horizontal parallax = 0.9507 degrees gives the geocentric altitude threshold h0 = -0.5667 - 0.2725 + 0.9507 = +0.1115 degrees.
  • The specification does not state whether the ephemeris is geocentric or topocentric, whether lunar parallax is modeled dynamically, or whether atmospheric refraction is fixed or variable.
  • The specification does not define the sidereal-time conversion needed to turn hour angle into time. These vectors assume GMST at 00:00 UTC plus 360.9856473 degrees per UTC day.
  • The phrase 'Meeus simplified' is insufficiently precise: Meeus Chapter 47 contains multiple accuracy levels and correction terms. The exact abbreviated series must be identified.

Unit assumptions

  • Latitude, longitude, right ascension, declination, hour angle, and altitude are in degrees; longitude is positive east.
  • Date is an ISO calendar date and all returned times in these vectors are UTC.
  • The input date's 00:00 UTC is the ephemeris epoch for the supplied GMST and lunar right ascension/declination values.
  • The adopted event altitude is h0 = -refraction - lunar semidiameter + horizontal parallax, with all three angles in degrees.
  • The sidereal rotation rate is 360.9856473 degrees per UTC day, or 15.0402353 degrees per hour.
  • Right ascension is expressed in degrees rather than hours; if an implementation accepts hours, it must multiply RA by 15 before using the formulas.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The estimator reaches an undefined division at latitude 90 degrees and must reject that input. Its output is also convention-sensitive because the specification does not state whether longitude is east-positive or west-positive; the same numeric longitude 30 produces substantially different times.

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": {
    "lat_deg": 0,
    "lon_deg": 0,
    "date": "2025-01-01",
    "gmst0_deg": 0,
    "lunar_ra_deg": 180.12986,
    "lunar_dec_deg": 0
  },
  "expected_outputs": {
    "moonrise_utc": "06:00:00",
    "moonset_utc": "17:57:11"
  },
  "reference_data": {
    "refraction_deg": 0.5667,
    "lunar_semidiameter_deg": 0.2725,
    "lunar_horizontal_parallax_deg": 0.9507,
    "sidereal_rate_deg_per_utc_day": 360.9856473,
    "source_convention": "Refraction, lunar semidiameter, and lunar horizontal parallax: widely tabulated standard values; sidereal rate: IAU/Meeus standard convention"
  },
  "working": "1. Horizon threshold: h0 = -0.5667 - 0.2725 + 0.9507 = +0.1115 degrees. 2. At latitude 0 degrees and declination 0 degrees: cos(H0) = sin(0.1115)/(cos(0)cos(0)) = 0.00194604, so H0 = arccos(0.00194604) = 89.88845 degrees. 3. Sidereal rate per hour = 360.9856473/24 = 15.0402353 degrees/hour. 4. Rise hour angle is -H0. UTC rise = [-89.88845 - 0 - 0 + 180.12986]/15.0402353 = 90.24141/15.0402353 = 6.00000 hours = 06:00:00 UTC. 5. Set hour angle is +H0. UTC set = [89.88845 - 0 - 0 + 180.12986]/15.0402353 = 270.01831/15.0402353 = 17.95306 hours. 0.95306 x 60 = 57.1836 minutes, so moonset = 17:57:11 UTC. This vector uses the exact widely tabulated entries 0.9507 degrees horizontal parallax and 0.2725 degrees lunar semidiameter."
}

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_CLEAN
  • evidence-tranche7/tranche7-results.json
  • BOUNDARY_HAZARD_CATALOG.json