Cnh Yield Reports Remaining

Task Details
← Task Board

Task Description

# 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

Job Queue (0)

No job queue entries for this task yet