Split the pipeline documentation by purpose so each fact has one home: - docs/pipeline-plan.md keeps the plan, checklist, tracker, and guardrails - docs/decisions.md holds open decisions and the dated decision log - docs/reviews/ holds findings and tasks: one file per filter, plus 00-cross-filter.md for findings that span filters - scripts/common/README.md holds the shared-helper rules (formerly Phase 2) - filter-calculations.md now describes calculations only Filed findings 12-22 from a consistency audit of the app, docs, and scripts. Filter 1 (Köppen-Geiger): use "Köppen" with the umlaut in all prose, labels, docstrings, help text, and checker messages (finding 21), and correct the base build's "majority" docstring (finding 22). Filter 2 (annual avg temperature): record the adopted definition in filter-calculations.md §2: equally weighted 1991-2020 monthly normals, per WMO-No. 1203 and NOAA's 2020 methodology; area-weighted county means; blank unless all 12 months exist. Code changes for this filter are still pending. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.5 KiB
Filter 4: Extreme temperature days
Status: Not started.
Data key: absoluteExtremeDays. Calculation:
filter-calculations.md §4.
Findings
5. Extreme-day counts are not completeness-normalized. A partially observed year contributes a raw count and receives the same weight as a complete year. Consider requiring a minimum number of valid days or annualizing partial counts explicitly.
6. The absolute-extreme metric depends on unrelated percentile thresholds.
build_annual_counts skips a county when its retired local p95/p05 thresholds
are missing, even though the active 95 °F / 0 °F calculation does not require
those percentiles. The absolute calculation should be separated from that
prerequisite.
18. The data-sources doc describes the retired locally extreme metric.
Source 5 in scripts/county_data_sources.md is headed locallyExtremeDays
and says apply_locally_extreme_metric_to_climate_data.py writes the locally
extreme average into extremeDays, keeps oldExtremeDays, and adds eight
detail and audit columns. None of those columns is in data/climate-data.csv,
and the script's docstring says locally percentile-based metrics are not
included in the app CSV.
Cross-filter findings that affect this filter, in 00-cross-filter.md: 12 (Alaska and Hawaii not covered), 13 (Lexington, VA blank), and 17 (missing from the data-sources metric list).
Decisions
None yet.
Tasks
Not started; follow the per-filter review checklist in pipeline-plan.md §5.