# TASK: Generate Remaining CNH Yield Field Reports **Priority:** HIGH **Agent:** data_pipeline **Filed:** 2026-02-16 **Filed by:** Doug (via Claude Code session) --- ## Goal Generate branded yield reports for the remaining 15 fields (T09 is already done). Doug has 16 total fields with CNH yield data across 4 crops. Each field needs a Season Report PDF. ## Context ### What's Done - T09 (Winter Wheat): 9-page branded Season Report complete - Yield: 61.7 bu/ac (grain cart: 63.1, calibration factor: 1.022) - Report includes: Seeding → Spray x2 → Harvest → Grain Cart → Soil ### What's Available - **16 fields total**, 4 crops: Barley(18), Chickpea(39), Green Peas(40), Winter Wheat(49) - CNH yield data: Already pulled via production API - Yield cleaner: `/data/Sandbox/CNH/yield_cleaner.py` (5-pass cleaning algorithm) - Farm summary report: `/data/Sandbox/CNH/farm_summary_report.py` (18-page branded PDF) - Field season report: `/data/Sandbox/CNH/field_season_report.py` (9-page per-field PDF) ## Steps ### 1. Inventory what's available per field ```bash cd /data/Sandbox/CNH python farm_summary_report.py --status # or similar flag to see what's ready ``` Also check: ```bash ls /data/processed_data/doug/*/2025/ # or whatever crop year ``` ### 2. For each field, check if we have the required data Each Season Report needs: - Yield data (CNH API — should be available for all 16) - Seeding data (ISOXML/TAP — may not exist for all fields) - Spray data (if available) - Grain cart data (if available) - Soil data (if available) - Field boundary (ISOXML or planted_boundary) ### 3. Generate reports for fields that have sufficient data ```bash cd /data/Sandbox/CNH python field_season_report.py --field FIELD_NAME --year 2025 ``` Run for each field. If a field is missing critical data (no boundary, no yield), skip it and note why. ### 4. Generate updated farm summary ```bash python farm_summary_report.py ``` ### 5. Report results Post to dashboard with: - How many reports generated successfully - Which fields were skipped and why - Total acreage covered - Any data quality issues found ## Key Files - Yield cleaner: `/data/Sandbox/CNH/yield_cleaner.py` - Farm summary: `/data/Sandbox/CNH/farm_summary_report.py` - Field season: `/data/Sandbox/CNH/field_season_report.py` - Soil-yield analysis: `/data/Sandbox/CNH/soil_yield_analysis.py` ## DO NOT - Do NOT re-process T09 — it's already done and verified - Do NOT modify the yield_cleaner algorithm without good reason - Do NOT fabricate data — if a field is missing data, skip it and say so