Skip to content
AgroCycle

Honest answers

How we checked this

“Tested” and “right” are different things. For each part of AgroCycle, this page shows what has been checked, by which of four kinds of check, and what has not been checked at all. Gaps are shown, not hidden.

A snapshot taken 14 November 2026 from the project’s own test records. Counts and results are as recorded there, not re-run for this page.

Four kinds of check

They are kept apart on purpose. Passing our own tests never counts as being independently confirmed.

Our own tests
Tests we wrote check that the code does what we meant. They show it is consistent, not that it is right about the real world.
6 of 9 done, 2 partly
Compared with another source
Our output set beside a paper or a different data product. Agreement is encouraging, but both may share the same mistakes, so it is not independent proof.
0 of 9 done, 2 partly
Checked against an independent reference
Our output checked against a separate reference, such as crops recorded on the ground. This is the only kind that shows accuracy.
0 of 9 done
Reviewed by an expert
A farmer or adviser who knows the area has read it and said whether it makes sense.
0 of 9 done

One result did not match the paper

The paper's text gives the two-year system's manufactured nitrogen as 80 kg N/ha/yr. Its own table, weighted the way the paper describes, gives 74.5. The whole gap comes from 2011. Reading 2011 as the maize year alone gives 80.7, which would explain the text, but that is a guess and has not been applied as a correction. Only the authors can say which is right. The check stays marked as failing so it cannot be forgotten.

specs/features/2026-11-14-ds2-marsden-reproduction

Part by part

  1. 1Field boundaries

    • Our own tests: Done
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    Each demonstration polygon is checked for a closed outline, at least four points, no self-crossing, and a position inside Story or Boone County. The app and the data team's validator both run these checks.
    What we found
    All 45 demonstration fields pass. The app's geometry tests include all 45, and the data validator reports “OK: 45 fields valid”.
    What it does not show
    All 45 boundaries are demonstration polygons drawn by the team, not real farms, so how real boundaries behave is unknown. Drawing or uploading a boundary is not built yet.
    Record
    specs/features/2026-11-14-fe-field-selection; specs/features/2026-11-14-de-repo-infra-and-fields
  2. 2Crop history

    • Our own tests: Partly
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    Each field's crops for 2015 to 2025 are USDA's satellite-based Cropland Data Layer classes, read from the data files. The app turns the sequence into a sentence, and its tests check that wording.
    What we found
    No confusion matrix or class-by-class accuracy has been produced. The tests cover the sentence logic only, for example that a corn-heavy sequence is not called “mostly alternating”.
    What it does not show
    That the crop map is right for these fields. It is USDA's classification, so agreeing with it is not independent proof. Without a separate reference, the best this can become is agreement between two classified products.
    Record
    specs/features/2026-11-14-fe-field-profile; roadmap Phase 14
  3. 3Satellite greenness

    • Our own tests: Not done
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    Not processed yet. The profile shows sample values, labelled as sample.
    What we found
    Nothing to report.
    What it does not show
    Whether greenness adds anything beyond the crop map. Bare-field windows are not computed for any field.
    Record
    roadmap Phase 5 (not started)
  4. 4Soil

    • Our own tests: Done
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    The soil calculations (organic matter, water storage, drainage class, texture) are tested against hand-worked cases. The first soil-survey pull for the primary field was recomputed from the raw files and accepted. The measures have since been computed and loaded for all 45 demonstration fields.
    What we found
    31 tests pass, including a hand-computed 2.48 % organic matter. The primary field's pull has 10 mapped soil units over 43.6 ha, with shares summing to 1.000. Five fields have a few measures that cover slightly less than the whole field; they are shown as partial, with the share they cover.
    What it does not show
    The depth and coverage choices (top 30 cm, 75 % coverage) are team judgements and no expert has reviewed them. The values are survey estimates averaged over mapped units, not soil tests from the field. Without the data service the app shows only the soil series and map unit.
    Record
    specs/features/2026-11-14-ds2-ssurgo-aggregation; docs/sources/ds2-first-pull-review-2026-11-14.md
  5. 5Weather indicators

    • Our own tests: Done
    • Compared with another source: Partly
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    Eight indicators from NASA POWER data (heat accumulation, very hot days, frost window, dry spells, rainfall total, mean temperature, reference evapotranspiration) are tested as functions. The first POWER pull for the Iowa research site was compared with that site's station figures in the paper. The indicators have been computed and loaded for all 45 demonstration fields over 11 seasons.
    What we found
    34 tests pass, including a hand-computed heat-accumulation season of 36.0. In the pull, temperature was within 1 °C of the station in 8 of 9 years, but rainfall ran about 11 % lower than the station. Of the 4,410 indicator-season rows loaded, 4,390 are complete and 20 are partial (all soil measures, none weather).
    What it does not show
    The loaded values have not been checked against a weather station for any demonstration field. Reference evapotranspiration is not independently checked, every threshold is team-proposed, and POWER is a grid about 50 km across, not a field measurement. A comparison with PRISM or CoCoRaHS has not been done.
    Record
    specs/features/2026-11-14-ds2-climate-indicators; docs/sources/ds2-first-pull-review-2026-11-14.md
  6. 6Iowa trial figures

    • Our own tests: Done
    • Compared with another source: Partly
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    The nine-year nitrogen and herbicide averages were recomputed from the paper's supplementary records and set beside the figures the paper reports. Twelve targets were compared.
    What we found
    Applied nitrogen of 74.5, 56.6 and 40.8 kg N/ha/yr and herbicide of 1.925, 0.261 and 0.195 kg/ha/yr reproduce. All 12 targets match. One further check does not (below). 24 tests pass and 1 recorded failure is kept on purpose.
    What it does not show
    Yields and net returns are attributed to the paper, not recomputed, because the supplement has no plot-level yield tables. One research site over nine seasons does not tell you what will happen on another field.
    Record
    specs/features/2026-11-14-ds2-marsden-reproduction
  7. 7Rules for what carries over to your farm

    • Our own tests: Done
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    14 rules, each tied to one outcome, are tested. No manure limits the nitrogen comparison without touching herbicide. The outcomes with no evidence can never be claimed. An unstated answer never counts as a yes. Rules version 2026-11-15.2.
    What we found
    37 tests passed when last recorded on 14 November, and the printed rule document is checked against the code so the two cannot differ. The rules were changed on 15 November (cautions reworded, two rules withdrawn; now version 2026-11-15.2) and a new count has not been recorded here.
    What it does not show
    No rule has been reviewed by an expert, and no Iowa adviser has been approached. Seven of eight crop claims have no source. Two rules that rested on unsourced claims (alfalfa on poorly drained soil, oat in a short season) were withdrawn on 15 November, and the drainage data is still shown as survey information only. The heat-distance rule has no published basis. The rules have been run over the 45 demonstration fields' loaded indicators (see the decision engine row), which shows how they behave, not that they are right.
    Record
    specs/features/2026-11-14-ds2-strategy-rules
  8. 8The decision engine

    • Our own tests: Done
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    The engine returns one of three outcomes (worth exploring, comparison with caveats, not enough evidence), with no score and no winner. Tests cover fields in the supported domain, outside it, with missing data, and abstention. The app's copy of the engine is tested to give identical answers in 567 combinations.
    What we found
    31 engine tests passed and the whole Python suite was recorded as 175 passed, 1 expected failure, on 14 November. The app’s copy of the engine matches the Python engine on all 567 cases against the current rules (version 2026-11-15.2), re-run on 15 November.
    What it does not show
    On 15 November it was run on the loaded indicators of all 45 demonstration fields through the API. With every farm question answered yes, 26 of the 27 maize–soybean rotation fields reached “worth exploring” and all 18 fields outside that pattern said “not enough evidence”. The 27th was withheld because one soil measure (organic matter) covers 96.7 % of its area, not all of it. That is one run on demonstration fields, not a validation: no field's answer has been checked against an adviser's. It was built without the second data scientist, so its inputs need joint review. Your priorities are recorded but do not change the result.
    Record
    specs/features/2026-11-14-ds2-decision-engine; specs/features/2026-11-14-fe-comparison-ui
  9. 9Farmers and advisers

    • Our own tests: Partly
    • Compared with another source: Not done
    • Checked against an independent reference: Not done
    • Reviewed by an expert: Not done
    What was checked
    No farmer or adviser has used or reviewed the app yet. The question wording, the plain-language copy and the adviser brief are untested with real people.
    What we found
    No interviews and no feedback so far. This gap is stated openly rather than filled with invented quotes.
    What it does not show
    Whether the screens make sense to the people they are for. The app has not had a screen-reader or full keyboard pass. Automated checks cover layout at four screen widths and a clean browser console.
    Record
    roadmap Phase 14; PRD §16 (stakeholder engagement gap acknowledged)

What this means for the results you see

  • Where a measurement the comparison needs is missing for a field, or the field is not a corn–soybean rotation, the comparison says “not enough evidence”. We would rather say that than guess.
  • Where the app shows sample values (greenness today, and weather when it runs without the data service), it says so on the page.
  • Nothing here is a reason to change a rotation. It is a way to decide what to ask someone who knows your land.