Document restructuring and the beginnings of Filter 2 changes
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>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Filter 4: Extreme temperature days
|
||||
|
||||
**Status:** Not started.
|
||||
|
||||
**Data key:** `absoluteExtremeDays`. Calculation:
|
||||
[filter-calculations.md](../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](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](../pipeline-plan.md) §5.
|
||||
Reference in New Issue
Block a user