FIELDWORK / AGRICULTURAL INTELLIGENCE
Local agency brand concept with a real-data analytical case study

OPEN THE DEMO
From this folder run:
  python3 -m http.server 4178 --bind 127.0.0.1
Open http://127.0.0.1:4178/ in a browser.
HTTP is required because the pages load accompanying JSON files.
The demo is self-contained: no CDN, remote font, analytics, paid tile service,
API key or external model endpoint is required. Source links are optional.
No public deployment or proposal submission is included.

REPRODUCE THE ANALYSIS
Use a separate virtual environment:
  python3 -m venv .venv
  .venv/bin/python -m pip install -r requirements.txt
  .venv/bin/python pipeline.py
  .venv/bin/python validate.py
Pipeline execution reads the frozen files in inputs/ and rewrites data/.
The included JSON and CSV outputs are already generated.
Random seed: 20261004. Bootstrap: 400 resamples. Power: 5000 trials/scenario.

WHAT IS REAL
Public OFPEDATA observations from Henrys field, Montana: 2018 and 2016 wheat
harvest, corresponding application layers, and 2018 CropScan protein readings.
2018 has 31276 harvest points and 13990 application points.
2016 has 21551 harvest points and 2360 application polygons.
Source repository: https://github.com/paulhegedus/OFPEDATA
Frozen revision: ae70c5d8ad4fe154fd4b746a7ec43f3031a6e0a9
The source license is SOURCE-LICENSE.txt and must accompany redistribution.
Copyright 2020 Montana State University. The work shown here is a new
exploratory analysis of published example data, not past work for these farms.

WHAT IS MODELED
Equally weighted 20 m cells, minimum 3 matched observations, with median yield
and median application rate. OLS yield ~ rate + rate^2 + x + y + x^2 + xy + y^2.
Percentile intervals resample 100 m spatial blocks. These are analytic groups,
not randomized treatment replicates. Dependence beyond blocks may make the
intervals too narrow. The model describes association, not a causal treatment
effect. Trial randomization, assignments and independent units are not known.
Mixed models or spatial covariance trial models require the original design.
Five-fold holdout splits entire spatial blocks. It is within-field validation.
Profile comparisons can change the rate contrast; they are sensitivity checks,
not multiple independent trials. Map color clipping is display-only.

SCREENING
Exact duplicates, non-positive yield/flow/swath, invalid values, configurable
moisture and speed screening, and tails of positive yield are flagged.
Balanced: 1–99% yield, 8–22% moisture, speed >=1.5 mph where available.
Relaxed: 0.1–99.9% yield, 5–25% moisture, speed >=0.5 mph where available.
Conservative: 2.5–97.5% yield, 9–20% moisture, speed >=2.5 mph where available.
These are inspectable review policies, not calibrated machine specifications.
No sensor-delay correction or calibration is fabricated. 2016 has no speed or
per-observation timestamp in the downloaded file. The 2018 dataset field is a
collection start label; the page does not reconstruct a harvest timeline.

SPATIAL MATCHING
2018: harvest EPSG:4326 is transformed to EPSG:32612. Nearest application point
must fall within 8, 12 or 20 m, selected by the user. Spatial proximity does not
establish treatment assignment. Application unknown is never set to zero.
2016: both layers share source UTM 12N / GRS80 coordinates with unspecified
datum. Join uses those coordinates directly. No geodetic cross-year join is
made. Harvest points must intersect a recorded application polygon. If
overlapping rates differ by more than 5 source lb/ac, the record is unmatched.
No area weighting, true harvested-area correction or trial edge reconstruction
is claimed. Source crop-flow units are not harmonized across equipment.

UNITS AND METADATA
Yield is source bushels per acre. Rates are recorded lb/ac and stay unconverted.
2016 source describes urea product; rate__mass is consistent with 0.46 of the
rt_apd_ms_ product rate. 2018 documentation conflicts between urea product and
nitrogen mass. Resolve before comparing true nitrogen doses or economics.
Protein dates are read from the actual 2018 CSV. Its description incorrectly
mentions 2016; the discrepancy is retained in the manifest.
Normalized CSV x,y are LOCAL METRIC COORDINATES. Add origin_utm12 from
data/manifest.json to recover source metric coordinates. For 2016, retain its
source datum limitations. Use the original shapefile archives for native GIS.

WHAT IS SIMULATED
Future paired-plot power scenarios assume independent randomized blocks,
paired correlation 0.5, two-sided alpha 0.05. 2018 balanced spatial-cell residual
SD is only a planning proxy, not observed independent plot variance.
No client sample-size recommendation is validated. Target effects and noise
are hypothetical. Reported power includes Monte Carlo sampling error in JSON.

CLIENT REQUIREMENT COVERAGE
Demonstrated: machine-file ingestion, geospatial alignment, auditable screening,
exploratory spatial modeling, conditional uncertainty, sensitivity, reproducible
code, clear reporting, second-batch processing and simulation-based planning.
Not yet established: valid causal trial-effect inference, randomized plot/strip
mixed models, real soil/weather/imagery fusion, operational turnaround on new
client exports, instrument calibration or certified sensor lag alignment.

FILES
index.html / agency.css / agency.js: agency landing page
study.html / style.css / app.js: existing analytical case study
report.html / report.css / report.js: report with print-to-PDF layout
pipeline.py: analytical pipeline
validate.py: analytical and data integrity checks
inputs/: unchanged public source files and documentation
data/: normalized ledgers, profiles, fitted curves, diagnostics, simulations
data/manifest.json: source hashes, model, parameters, limitations

RECOMMENDED WALKTHROUGH (5 MINUTES)
1. Open on the 2018 field. Establish that the points are published machine data.
2. Inspect a point; switch to application and quality layers.
3. Change screening and match distance. Explain retained versus matched records.
4. Inspect the fitted contrast and interval. Do not claim a treatment benefit.
5. Switch to 2016. Show polygon matching and the different response pattern.
6. Explore planning assumptions, then open the report and source manifest.

NEXT ANALYTICAL QUALIFICATION
Obtain a trial prescription, treatment assignment and independent replicate
identifiers. Resolve recorded fertilizer units and machine timing/calibration.
Then fit the design-appropriate mixed/spatial covariance model and validate its
uncertainty with known-truth simulations. Add genuine supporting soil, weather
and imagery only when identity, dates and units can be verified.

AGENCY CONCEPT
The agency landing page describes an intended scientific practice. The public
data study demonstrates a bounded subset of that practice. It does not claim
client history, named scientist credentials, certifications, live sensors,
operational accounts or complete mixed-model trial capability. Verify team
qualifications, specialist review and commercial contact details before launch.
The project brief builder creates a local text download; it sends nothing.
