Skip to content

Limitations and FAQ

This page describes what the slope-quality result supports and where its interpretation stops. It is migrated from the earlier docs/guide/limitations.md and extended with an FAQ. The limits of the temporal Study of version 0.2 are in their own section.

The result describes slope-quality statistics for the frozen PGDA LOLA 5 m/pixel Site01 witness and its seven recorded ROIs. Its standing is NUMERIC_REPRODUCED, which is not scientific admission.

Numeric reproduction means that the primary result agreed with an independent implementation under the stated comparison criteria. It does not establish source rights, scientific authority, or the correctness of every upstream scientific assumption. The receipt’s execution status METHOD_EXECUTED records that the method ran. It is weaker than the cross-implementation standing and must not be confused with it.

The method reports the distribution of source slope values in the included population. It does not claim that the source represents every location in Site01 or the Moon.

The included fraction fτf_\tau is the number of included cells divided by the number of jointly valid cells (see Method, equation 9).

  • It counts grid cells. It is not a physical area and not a proportion of the lunar site.
  • Polar stereographic cells are not equal-area. The projection’s scale varies with position, so a cell’s area on the sphere depends on where it lies. Equal grid counts therefore do not represent equal surface areas.
  • Area needs a separate method. Any area statement requires a separately designed method with an explicit scale-factor model. Such a method is not part of slope_quality/v1. The project’s gap register records this as G3 in docs/r2/GAPS-DECISION.md.

τ\tau is a threshold, in degrees, on the slope RMS raster. The default values are 0.5°0.5°, 2.0°2.0° and 25.0°25.0°.

  • It is not an uncertainty interval. A cell passes if its slope RMS value is at or below τ\tau. The method does not propagate uncertainty through the slope values and does not produce a confidence level or an error bar.
  • It is not a physical threshold. Choosing a τ\tau is a choice of how strict to be about the source’s quality. Other values are accepted by the API, but they are not validated against independent evidence.
  • A new threshold has no evidence. Running the method at a new τ\tau does not give that threshold the existing Site01 comparison evidence. The gap register records the propagated-uncertainty question as G8 in docs/r2/GAPS-DECISION.md.

The ROI rule is closed. A cell is a member if its centre is inside a polygon or on its boundary (see Method, equation 6).

  • Boundary cells are sensitive to the rule. The source ROI vertices lie on cell centres. A rule that includes only centres strictly inside a polygon would omit boundary-centre cells. The counts, fractions and statistics would then differ. The closed rule is a decision about the geometry, and the counts depend on it.
  • The rule is narrow. It is defined for lattice-centred rings with one-cell edge steps, including the self-touching pinch and the collapsed spur of this source. It rejects non-lattice or long-edge inputs (_check_lattice_polygon, src/lunartrace/science/slope_quality.py). It is not a general polygon rasteriser.
  • The 0.5 m buffer is a fixed constant. It is not a tuned parameter. The module’s documentation argues that any centre off the boundary lies at least about 3.54 m away on the 5 m grid, so the 0.5 m buffer separates boundary centres from interior ones.
  • Union de-duplicates. A cell in several ROIs is counted once in the union row. The union count can be smaller than the sum of the per-ROI counts.
  • Source data is not redistributed. PGDA states no licence for the product, so the source files are not redistributed (rights are recorded as UNVERIFIED). Readers fetch them from PGDA and verify them by SHA-256 with task sources:fetch. The local store is single-copy and outside Git.
  • The receipt is unsigned. Hash verification shows that the bytes match the pins. It does not provide backup, and it does not show that the upstream product is still current.
  • A frozen witness fixes bytes, not currency. The witness is an exact copy of the bytes fetched on a particular date. An upstream reissue is a new witness.
  • Replay is bounded. The receipt records five cold runs on one Windows host. Cross-platform replay is not established.

Historical MoonTrace probe findings are a separate evidence stream with their own records. They are not part of the slope-quality result. Their observation rows are unavailable in the record, and they do not support any claim about the Site01 result.

A Study from lt.temporal.study (see the one-call Study) carries four limits in its record. They are printed here word for word, and study.limits returns the same four strings:

  1. Temporal PRE/POST adjacency is not a surface-change claim.
  2. Footprint intersection with the query box is not image registration or alignment.
  3. ODE pagination reconciles the declared Count at query time; archive currentness and a coherent provider snapshot are not established.
  4. Source authenticity is not independently established beyond retained byte digests.

What follows from them:

  • Before and after is not change. A pair is two observations with comparable viewing angles, one before the event and one after. The frontier ranks pairs by how well matched they are. It does not say that anything on the surface differs between them.
  • A frontier has no weights. It keeps the pairs that no other pair beats on every objective. It does not rank those pairs against each other, and a pair off the frontier is not wrong, only beaten.
  • A digest is not authenticity. The digest shows that the record is the one that was compiled, and a replay shows that the same bytes compile to the same record. Neither shows that Lunar ODE served genuine data.
  • Retained is not current. The archive vikram-2026-10-14 is what the archive said on 14 October 2026. A live call is a new observation of a changing archive and is never compared with those numbers.
  • The standing is METHOD_EXECUTED. An independent reconstruction (research/oracles/temporal_oracle.py, which does not import lunartrace) matched the four Vikram Studies of the 14 October 2026 run. The record still carries METHOD_EXECUTED, and a Study is not scientific admission.
  • Changes to the method need a new version. Changes to result semantics require versioned identifiers. slope_quality/v1 must not be changed silently. Area weighting and propagated uncertainty need their own specified methods and independent evidence.
  • The per-cell raster projection is a separate contract. The projection lunartrace.projection.slope_raster/v0 is implemented as a separate interface. Its standing is METHOD_EXECUTED.
  • Multi-site coverage is not established. The result covers one source witness. Each additional site needs its own manifest and its own independent agreement (gap G7 in docs/r2/GAPS-DECISION.md).
  • The package version 0.2.0 identifies the PyPI release. It does not identify result bytes: a Study is identified by its study_digest, and a Site01 result by its canonical result digest.
  • Contract identifiers (lunartrace.slope_quality/v1, lunartrace.execution_receipt/v0, lunartrace.projection.slope_quality/v0, lunartrace.projection.slope_raster/v0) identify distinct interfaces.
  • A research record should cite the code commit, method identifier, witness, manifest digest, canonical result digest, receipt and standing, together with the relevant upstream data publication.
  • No software DOI has been assigned, and this documentation makes no package DOI, release or endorsement claim.

The software is licensed BSD-3-Clause and the documentation prose CC BY 4.0. The author is Krit Promsanuwong (Chulalongkorn University). Public release is owner-pending. A private checkout and an upstream citation do not grant source redistribution rights. No package publishing, production deployment or public release of source or derived data is authorised here.

Is the included fraction the fraction of Site01 that is smooth? No. It is the fraction of jointly valid grid cells whose slope RMS value is at or below τ\tau. It is not an area, and “smooth” is not the quantity measured.

Can I convert the fraction to square metres? Not with this method. A conversion needs an area method with an explicit scale-factor model. Grid cells are not equal-area on the polar stereographic sphere.

Is τ\tau a confidence interval or an error bar? No. It is a cutoff on the slope RMS raster. The method does not propagate it.

Why is the fraction null for some rows? It is null when no cell is jointly valid, so the denominator is zero. It is zero, not null, when joint cells exist but none is included. When no cell is included, the quantiles and the mean are null, and the histogram is a list of 45 zeros.

Why does the union count differ from the sum of the ROI counts? The union is a set union. A cell in two ROIs is counted once.

What does NUMERIC_REPRODUCED mean? The primary result agreed with the independent oracle within the stated criteria. It is not scientific admission (see the Glossary).

Does this result validate the Site01 source as correct? No. It reports the source’s own slope and slope RMS values under a declared rule set. Whether those values are correct is a question for the upstream product and its publications.

Can I use the result in a publication? Cite the software with CITATION.cff and the source data with the PGDA product page and Barker et al. (2021). The source bytes themselves are not redistributed, and citation makes no endorsement claim.

Does a pair on the frontier mean the surface changed? No. It means that no other pair is better matched on every objective. A Study compares the conditions of two observations. It does not compare what they show.

Why does my Study differ from the documented numbers? Check study.source_mode. With archive="vikram-2026-10-14" it is retained and the numbers are those of the 14 October 2026 run. Without archive it is live: the archive may now hold more products, so counts, frontiers and the digest can differ.

Does the workbench or the web interface show a stronger claim? Workbench ROIs carry the label METHOD_EXECUTED with NOT_ADMITTED. The interface must not display a stronger standing than the result itself carries.