OcalEN Validation Report

Scientific lunar calculator - current measured state.

Generated . Page rendered live from on-disk fixtures and the test catalogue. No synthetic numbers. Methodology: https://www.ocalendario.com.br/calculadora-lunar-cientifica/methodology.

1. Scope of the claim

OcalEN's scientific lunar calculator is a new tool. The standards it implements (IAU 2006, IERS 2010, DE440, IAU 2000A, GUM 100:2008, CCSDS 502.0-B-3) are the same standards used by operational reference services. What is currently measured against those services is summarised below; what is pending is listed under "pending baselines" with the planned coverage and the procedure to populate.

This page never invents numbers. If a baseline has zero samples, that is what the page says.

2. Test suite results (static catalogue)

The static catalogue mirrors the methodology Section 12.8 table. The catalogue is updated when the underlying tests change; it is not re-executed at page render. To re-run any test locally, invoke the file shown in the second column:

php /lua/calculadora-lunar/<file>
Test categoryFileCoverageStatusWhat it proves
Parameter audit test_param_audit.php 17 / 17 documented inputs PASS every documented input affects the output
Phase regression (clip-level) test_phase0_regression.php 3 / 3 known events PASS principal-phase identification at clip-level epochs
Toggle matrix test_phase11_toggle_matrix.php 30 / 30 model toggles PASS each engine toggle produces a distinct numerical output
Engine extension test_phase24_engine_extension.php 67 / 67 internal contracts PASS NPB matrix, state vectors, uncertainty propagation, monthly ephemeris
JPL Horizons smoke test_phase11_jpl_horizons.php 2 samples (Phase 11 smoke fixture) PASS (wide tolerance) smoke comparison only; not a precision baseline
JPL Horizons regression baseline test_phase26_horizons_baseline.php 240 / planned 200 to 1000 PARTIAL sub-arcsec precision when populated

3. Numerical residuals

Aggregated p50 / p95 / max residuals against external references are produced by the consumer test runners. They appear in this section once the underlying baseline has at least one sample. Until then, the relevant rows say "not yet measured" and refer to the schema document for the planned tolerance.

3.1 Measured harness baselines (322 rows vs JPL Horizons, geometric-distance convention)

Measured on 2026-07-17T05:02:47Z with the official harness (benchmark/harness.php), after the 2026-07 review-and-bug-fix pass. Each mode is the full apparent chain of that ephemeris.

Metriclite (p95 / max)full (p95 / max)de440 (p95 / max)
Moon RA (arcsec) 5.62 / 10.3 0.702 / 1.93 0.346 / 2.01
Moon Dec (arcsec) 2.17 / 3.34 0.238 / 1.68 0.115 / 1.7
Moon distance (km) 5.78 / 9.21 0.0972 / 4.15 0.0544 / 4.16
Sun RA (arcsec) 2.06 / 2.07 2.06 / 2.07 2.06 / 2.07
Illumination (pp) 0.0038 / 0.677 0.00321 / 0.677 0.00309 / 0.677

JPL Horizons regression measured

Planned coverage: 200 to 1000 samples. Consumer: test_phase26_horizons_baseline.php.

Samples currently in baseline: 240. Aggregated residuals are produced by the consumer test runner; run it locally with:

php test_phase26_horizons_baseline.php

Schema and procedure: see dev/public_html-docs/_big_files/fixtures/horizons/BASELINE_SCHEMA.md.

USNO Astronomical Almanac cross-check not yet measured

Planned coverage: 120 to 360 samples. Consumer: pending (test runner lands when first batch is committed).

Why empty. The calculator is a new tool. The broader baseline is built incrementally as samples are fetched and audited; the schema and the procedure are committed first, the data is committed batch by batch.

Schema and procedure: see dev/public_html-docs/_big_files/fixtures/usno/BASELINE_SCHEMA.md.

IMCCE / INPOP21a cross-check not yet measured

Planned coverage: 100 to 300 samples. Consumer: pending (test runner lands when first batch is committed).

Why empty. The calculator is a new tool. The broader baseline is built incrementally as samples are fetched and audited; the schema and the procedure are committed first, the data is committed batch by batch.

Schema and procedure: see dev/public_html-docs/_big_files/fixtures/imcce/BASELINE_SCHEMA.md.

4. Pending baselines

The following extensions are required before the methodology can defend any sub-arcsecond precision claim. They are listed here so the gap is visible to the reader and to any reviewer:

5. Source of truth

6. Test files in this build

The directory lua/calculadora-lunar/ contains 0 test files. Each file is a standalone PHP script runnable from CLI. The list below is enumerated from the filesystem at page render time:

FileSize (KB)