Recommendation sources
Upload a soil test and Zone Forge turns it into a plain-language report card — worst nutrients first, color- and word-coded, with variability hints and a fertility trend across your past uploads. Where your state's lab method and a calibrated land-grant source line up, each nutrient gets a graded verdict in that university's own rating words; where they don't yet, we honestly show the measured value and say why — a wrong grade is worse than an honest "measured." Behind the card sits a recommendation-source library that maps a calibrated source for every U.S. state. The three core tables below — Iowa State PM 1688, Tri-State 2020, and the Penn State Agronomy Guide — are the calibrated heart of that library for the Corn Belt and Mid-Atlantic, and you can pick the one that matches your lab and your county.
Iowa State PM 1688
"A General Guide for Crop Nutrient and Limestone Recommendations in Iowa." Iowa State University Extension and Outreach.
Region. Western and Central Corn Belt. Optimized for Iowa, but widely used across Nebraska, southern Minnesota, and parts of Missouri and Illinois.
Phosphorus extractant. Bray-P1.
Potassium extractant. Ammonium acetate.
Lime engine. Buffer-pH cross-walk table — pragmatic surrogate for SMP buffer reported by midwest labs.
Crops. Corn, soybean, alfalfa.
Strengths. Conservative defaults, strong calibration data, well-tested across decades. Best choice if you're farming in Iowa or surrounding states and your lab uses Bray-P1.
Tri-State 2020
"Tri-State Fertilizer Recommendations for Corn, Soybeans, Wheat, and Alfalfa," 2020 update. Joint publication of Ohio State University, Purdue University, and Michigan State University.
Region. Ohio, Indiana, Michigan.
Phosphorus extractant. Mehlich-3 or Bray-P1 (both calibrations published).
Potassium extractant. Mehlich-3.
Lime engine. Buffer-pH cross-walk table — Tri-State's print form uses pH+CEC, but buffer pH is widely interoperable when the lab reports it.
Crops. Corn, soybean, wheat, alfalfa.
Strengths. Most recent published update of the three. Refined buildup-and-maintain ranges, best multi-extractant flexibility. Use this if your lab reports either Bray or M3 and you're east of the Mississippi.
Penn State Agronomy Guide
"The Penn State Agronomy Guide," annually updated. Penn State Extension.
Region. Mid-Atlantic — Pennsylvania, Maryland, Delaware, New Jersey, Virginia.
Phosphorus extractant. Mehlich-3 only.
Potassium extractant. Mehlich-3.
Lime engine. Penn State Mehlich Buffer / Exchangeable Acidity — the current Penn State AASL method (it replaced the older Adams-Evans buffer for Pennsylvania; Adams-Evans is still used for the Coastal Plain states DE/NJ/SC/FL/AL).
Crops. Corn, soybean, wheat, hay, and a broader vegetable and forage palette than the corn-belt tables.
Strengths. Most extensive nutrient palette (S, Mg, Zn, B, more). Use this for the Mid-Atlantic; lime calibration is most direct here.
Why phosphorus extractant matters
Bray-P1 and Mehlich-3 measure different fractions of soil phosphorus. They're correlated but not interchangeable. Typical relationships:
- Mehlich-3 reads higher than Bray-P1 by 10–30% on most soils.
- Olsen reads lower than both, especially on acidic soils.
- The relationship varies with soil pH, calcium content, and clay type.
If you upload Bray-P1 values to a Mehlich-3-calibrated table without converting, the engine will read your soil as poorer than it is and over-recommend P. The reverse — Mehlich-3 values fed to a Bray table — under-recommends. The drift is in the 20–40 lb P₂O₅ per acre range — real money per acre in over- or under-applied phosphorus at today's fertilizer prices. Zone Forge guards against this: it won't quietly grade your report card or build a rate from a soil test run on a method the chosen table isn't calibrated to — it shows your measured value and asks you to confirm your lab method (or opt into a published conversion) first.
Cross-extractant conversions
Zone Forge ships two published conversions you can opt into when your lab and table don't match:
- Mallarino 1995 — Bray-P1 ↔ Mehlich-3, calibrated on Iowa soils. The two tests read about the same on acid and neutral soils and diverge most on high-pH soils, where Bray-P1 reads low.
- OSU ANR-75 — Olsen ↔ Bray, calibrated on Pacific Northwest soils. Use only if your soils are similar.
Both conversions are published, peer-reviewed equations, not guesses — but re-testing with the right method is always the better answer when feasible.
The three philosophies
Each table is queried under one of three philosophies. The philosophy is what turns a soil-test class into a recommended rate.
Sufficiency
Apply only what the crop will remove this season — no buildup, no maintenance beyond the year's needs. Best for short-tenure or rented ground where multi-year soil building doesn't pay back to you.
rate = yield_goal × removal_factor
Build-and-Maintain
Bring soil-test values up to target over a configurable horizon (default four years), then maintain at target with crop-removal rates. Best for owned acres with a long-term plan.
rate = yield_goal × removal + (target − soil) × buildup_factor / years
Hybrid Default
True 3-zone system: build below the maintenance band (deficit-scaled — adjacent variable-rate zones get genuinely different rates), maintain at pure crop removal in the band (default target ± 10%), draw down above the band at a configurable aggressiveness (none / light / moderate default / aggressive). Balanced economics with strong agronomic outcomes. Read the full decision tree in the calculations guide.
Per-nutrient defensibility
Not every number in every table has the same level of published support. Zone Forge tags every value with a confidence tier so you know what to scrutinize.
| Nutrient | Iowa | Tri-State | Penn State |
|---|---|---|---|
| P (phosphorus) | Strong | Strong | Strong |
| K (potassium) | Strong | Strong | Strong |
| N (nitrogen) | Yield-driven | Yield-driven | Yield-driven |
| Lime | Cross-walk | Cross-walk | Strong (Mehlich Buffer) |
| S (sulfur) | Moderate | Moderate | Strong |
| Mg (magnesium) | Moderate | Strong | Strong |
| Zn (zinc) | Strong | Strong | Strong |
| B (boron) | Limited | Limited | Strong |
| Other micros | Placeholder | Placeholder | Limited |
Strong = directly published in the source's main tables. Moderate = published in supplementary literature, well-supported. Limited = published but with narrow regional applicability. Cross-walk = pragmatic buffer-pH-keyed table used as a surrogate when the source's print form prescribes lime via a different method (SMP buffer, pH+CEC). Placeholder = inferred from industry practice; flagged in-app as verified: false.
The lime engine — separate from fertilizer recommendations
Lime is a different problem from fertilizer. The driver is buffer pH (a measured lab value reflecting reserve acidity), the output is tons CaCO₃-equivalent per acre, and product conversion uses ECCE (Effective Calcium Carbonate Equivalent) — not nutrient analysis percentages. Zone Forge runs lime through a parallel pipeline that never gets entangled with the build/maintain/drawdown engine.
Crop-specific target pH
Each profile ships a per-crop target pH table. The same crop targets ship across all three sources:
| Crop | Target pH |
|---|---|
| corn, corn_silage, soybeans, wheat, barley | 6.5 |
| oats, rye, triticale, sorghum, grass_hay | 6.0 |
| alfalfa, alfalfa_grass | 6.8 |
| clover, lima_beans, dry_beans, field_peas | 6.5 |
Resolution falls back through: explicit override → crop-specific target → profile default → system default of 6.5. The provenance flows through to the UI so a farmer seeing alfalfa at 6.8 vs corn at 6.5 can see why.
Calcitic vs dolomitic lime
When lime is required, the engine picks the source from soil Mg signals. The default rule across all shipped profiles:
- Mg ppm < 50 or Mg base saturation < 10% ⇒ dolomitic (corrects pH and Mg together).
- Otherwise ⇒ calcitic.
- No Mg data ⇒ calcitic (safer than loading Mg into already-balanced soils).
The thresholds live in each source's dolomitic_if JSON block and can be tuned per region.
Magnesium correction — separate paths, not coupled
The fertilizer engine and lime engine both touch Mg, but they don't share state. The fertilizer engine produces a Mg fertilizer rate via the standard build-maintain-drawdown logic; the lime engine uses Mg only to choose calcitic vs dolomitic. Default field-scale Mg sources are dolomitic lime (when liming is also required) and K-Mag (langbeinite). Epsom salt is tagged as specialty / advanced and is excluded from default recommendations — at field scale on row crops, it isn't the practical product.
Beyond the three core tables — your state is covered
The three tables above are our deepest, most fully calibrated profiles. They are not the whole map. A calibrated land-grant source is mapped for every U.S. state (40+ extension publications), and lime and pH are calibrated for all 50 states using each state's own published method.
Nutrient grading — turning your soil test into a verdict in your state university's own rating words — is live for 26 states today. Examples: Arkansas's "Very Low → Above Optimum," Delaware's Fertility Index Value, Oklahoma's "Low / Sufficient." For the remaining states we show your measured value with a note on why we don't grade that lab format yet — and the always-calibrated pH/lime verdict still appears alongside it.
We never invent a grade. A soil test run on a lab method we can't yet calibrate degrades to "confirm your method" or an honest measured value rather than a wrong call. A mapped source is true for all 50 states; a graded nutrient verdict is the 26 we can stand behind against the publication today, and that list grows as we verify more.
Next: Calculations & cost model →