seed_era5.py backfills the curated-city cells with true ERA5 data from the Earthmover Icechunk ERA5 archive on AWS Open Data (anonymous, keyless), so high-traffic pages keep ERA5 fidelity now that NASA POWER is the live primary. It aggregates the hourly ERA5 point series to the daily store schema in polars (no pandas), derives feels-like via the existing heat-index/wind-chill path, and writes straight to the history store via climate._write_history_backed, bypassing the live fetch. ERA5 carries real gusts (i10fg), so seeded cells keep measured gusts rather than the Meteostat fallback. The icechunk/xarray/zarr stack is isolated in requirements-seed.txt (not the app image or CI) and lazy-imported, so the module and its unit-tested hourly->daily transform load without those deps. The S3 access layer targets a young API and is verified via `--dry-run` on the seed box, not in tests. Idempotent by default (skips already-cached cells; --overwrite to reseed).
9 lines
475 B
Text
9 lines
475 B
Text
# Seed-only dependencies for seed_era5.py (the one-time ERA5 backfill). NOT installed
|
|
# in the app image or CI — kept out of requirements.txt so the runtime stays lean.
|
|
# Install on the machine that runs the seed: pip install -r requirements-seed.txt
|
|
# Versions intentionally unpinned: the icechunk/xarray/zarr stack moves fast; install
|
|
# the current compatible set on the seed box and verify with `python seed_era5.py --dry-run`.
|
|
-r requirements.txt
|
|
icechunk
|
|
xarray
|
|
zarr
|