Coal Identification & Rank Classifier (Crain)
Deterministic Coal analysis, sourced from Crain (2010) 'Unicorns in the Garden of Good and Evil, Part 2 - Coal', CSPG Reservoir. Independently re-identifies coal via a 5-curve threshold-flag rule (NPHI high, RHOB low, DT high, resistivity high, GR clean -- 3-of-5 triggered), WITHOUT trusting the SANDCOUNT 'Coal' label to decide where coal is, then measures how often the two agree. Where they agree, nearest-endpoint matches a coal RANK (Anthracite/Bituminous/Lignite/Peat) and decomposes RHOB into Ash/Fixed-Carbon/Moisture/Volatile fractions. Zero fitted parameters, no training data -- same philosophy as the Phase 1 classifier. Built to directly test the open question flagged in the PEF/RHOB crossplot card: SANDCOUNT Coal picks previously looked inconsistent with coal's expected log signature in every well examined.
What "accuracy" means here: There is no independent ground truth for coal in this dataset -- this card compares TWO independently-derived, both-imperfect signals against each other: nsta.lithology_interval's SANDCOUNT 'Coal' picks (undocumented classification algorithm, see the PEF/RHOB crossplot card) and this module's own threshold-flag rule (Crain's published method, but with numeric cutoffs this module chose, not cited from the source). Disagreement could mean either is wrong, or both are right and looking at genuinely different things (e.g. thin-bed/shoulder-bed dilution at SANDCOUNT's pick boundaries).
Last run: 2026-08-02 08:39:02 UTC
How this result was generated
SANDCOUNT 'Coal' picks"] curves["NPHI/RHOB/DT/Resistivity/GR
(despiked, whatever is present)"] flags["Threshold Flags
(NPHI high, RHOB low, DT high,
Res high, GR clean)"] vote{"3 or more
flags triggered?"} agree["Agree: independently
confirmed coal"] disagree["Disagree: SANDCOUNT says
coal, flags say no"] rank["Nearest-endpoint RANK match
(Anthracite/Bituminous/Lignite/Peat)"] comp["Ash/Fixed-Carbon/Moisture/
Volatile decomposition (RHOB)"] sandcount --> vote curves --> flags --> vote vote -->|yes| agree --> rank --> comp vote -->|no| disagree
Hover a step for a plain-language explanation.