Skip to content

Document model identifiability: near-source fragmentation is already captured by D0 #1

Description

@awickert

Motivation

Toro clast-attrition work surfaced a non-obvious identifiability property of the
current model that is easy to get wrong and deserves to be written down: a
large part of "fragmentation" is already represented by the fitted source clast
size D0 (mu0).
This issue is to document what the current model separates
and what it cannot, so users don't add redundant parameters or misread results.
(The actual new fragmentation work is tracked separately — see the companion
issue.)

Key result: near-source fragmentation ≡ a smaller D0

Fragmentation conserves gravel mass, multiplies count, and shrinks size. Splitting
one source clast of diameter D0 into N pieces near the source gives:

  • mass: unchanged
  • Wolman area-count (∝ M/D): ×N^{1/3}
  • mean size: D0 → D0·N^{−1/3}

The model carries count amplitude ∝ c_k/D0_k and size intercept mu0_k = ln D0_k.
So reducing the fitted D0 by N^{−1/3} reproduces one-time near-source
fragmentation exactly
(mass untouched, area-count ×N^{1/3}, size ×N^{−1/3}).
Since mu0/D0 is fit per lithology whenever the count/size channels are active,
near-source fragmentation is perfectly degenerate with D0 and is not a
separately identifiable parameter.
A constant-rate g calibrated to it merely
fights mu0.

Corollary: D0 absorbs everything near the source

D0 does not isolate near-source fragmentation — it absorbs all near-source
size determination, conflated: (a) near-source fragmentation and (b) the
intrinsic production clast size (mineral grain size, bedding / foliation spacing,
joint density). With no independent measurement of the pre-fragmentation
production size
, these cannot be separated — D0 is the single "effective source
clast size" that lumps them. So the model can say what the effective source size
is
, not how much of it is fragmentation vs. how the clast was born. (Schist is
the clean example: small field clasts could be near-source fragmentation or simply
being born small/platy — both live in the same D0.)

Empirical confirmation (Toro)

Production-on, lab-prior fit — fitted D0 vs. measured field clast sizes:

lith fitted D0 [mm] ±1σ field geomean field p90 source-proximal n
granite 60.8 28.7 57.5 266 19.2 117
cretaceous 48.6 53.3 32.2 114 48.8 36
quartzite 42.3 9.3 40.1 114 43.7 410
schist 43.2 6.4 27.0 82 34.8 2406
volcanics 31.9 17.4 30.7 84 28.2 75

Fitted D0 tracks the measured sizes for every lithology (no anomalous shrinkage),
so D0 absorbs near-source size determination cleanly without distorting the size
channel. D0 is well-constrained only where clasts are abundant (quartzite ±9,
schist ±6); loose elsewhere.

Scope of this issue (documentation only)

  • Document the process model in attrition.py: abrasion (mass at a, Wolman count
    at 2a/3, size at a/3), the existing fragmentation(g) block, production
    (c_k), and D0/mu0.
  • State the near-source-fragmentation = D0 degeneracy explicitly (the math
    above) in the docstrings and a docs/ section "what the model can and cannot
    identify."
  • Document the conflation corollary: D0 absorbs all near-source size
    determination (fragmentation + intrinsic production size), inseparable without a
    pre-fragmentation production-size measurement.
  • Note the corollary: only distributed fragmentation (count growing / size
    shrinking with distance) is separately identifiable — pointer to the companion
    build issue.

Acceptance

  • A docs/ section (or extended module docstring) covering the above, including
    the identifiability statement, the conflation corollary, and the empirical check.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions