Files
Climate-Mood-Analysis/docs/reviews/11-solar-ghi.md
T
KnouandClaude Opus 5 867a07cecb Refine project documentation and track metric files
Close gaps found in a review of the documentation:
- Track data/metrics/ and data/metric_sources.json in git so the data
  checker passes on a fresh clone (finding 23; decision logged)
- State the Alaska and Hawaii coverage gap in the README limitations and
  extend finding 12
- File findings 24-26: the data-sources doc lacks gridMET and several
  pipeline commands; wettest/driest month are computed twice; solar GHI
  is written by the extreme-temperature apply step
- Add the stale "fallback values" note to filter 2's tasks

Tidy the document system:
- Add docs/reviews/README.md with the numbering rules and a finding index
- Rename koppen-mixed-display-plan.md to koppen-mixed-display.md and fix
  its stale Puerto Rico and "stage 5" text
- Add the precipitation-month step to the README enrichment list
- Describe the Current method / Previous method pattern in plan section 5
- Add CLAUDE.md with the project guardrails and doc layout

Format filter-calculations.md so it renders on GitHub and in VS Code:
inline math uses $...$, ranges use en dashes, and implementation
references name functions instead of line numbers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 17:31:26 -04:00

41 lines
1.6 KiB
Markdown

# Filter 11: Solar GHI
**Status:** Not started.
**Data key:** `meanDailyGlobalHorizontalRadiationKwhM2Day`. Calculation:
[filter-calculations.md](../filter-calculations.md) §11.
## Findings
**9. The GHI formula assumes hourly, 365-day input.** It is correct for the
current 60-minute, `leap_day=false` requests. If the request interval changes,
the energy sum needs an interval-hours multiplier; leap-day handling would
also need to change the divisor.
**19. The data-sources doc recommends a GHI raster the pipeline does not use.**
Source 4 in `scripts/county_data_sources.md` says county means should come
from a gridded annual GHI raster passed with `--solar-ghi-raster`. The app
values come from NSRDB polygon archive summaries, with representative points
as fallback, applied by `apply_locally_extreme_metric_to_climate_data.py`.
**20. The base build labels any solar CSV as representative-point.** In
`build_county_climate_data.py`, the `--solar-ghi-csv` help text calls it a
representative-point fallback, and the per-row `source` tag is always
`solar-ghi-representative-point`, but the documented build command passes
`data/nrel/county_polygon_ghi_summary.csv`. The apply step later replaces both
the value and the tag, so only the base build's output is mislabeled.
Cross-filter findings that affect this filter, in
[00-cross-filter.md](00-cross-filter.md): 11 (inconsistent aggregation),
16 (the app's NSRDB source link no longer resolves), and 26 (finalized by the
extreme-temperature apply step).
## Decisions
None yet.
## Tasks
Not started; follow the per-filter review checklist in
[pipeline-plan.md](../pipeline-plan.md) §5.