| Fertilizer | Amount | N (ppm) | P (ppm) | K (ppm) | Copy |
|---|---|---|---|---|---|
| {{ row.name }} | {{ row.amountDisplay }} | {{ row.n_ppm.toFixed(1) }} | {{ row.p_ppm.toFixed(1) }} | {{ row.k_ppm.toFixed(1) }} | |
| No fertilizers in the blend. | |||||
| Nutrient | Target (ppm) | Achieved (ppm) | Difference | % of target |
|---|---|---|---|---|
| {{ nutrient.label }} | {{ nutrient.targetDisplay }} | {{ nutrient.achievedDisplay }} | {{ nutrient.deltaDisplay }} | {{ nutrient.percentDisplay }} |
| No nutrient totals available. | ||||
Enter reservoir size, nutrient targets, and fertilizer analysis to size the blend.
Nutrient solutions are water based mixes that deliver nitrogen, phosphorus, and potassium for irrigation or hydroponic feeding. Setting clear elemental targets helps match crop demand and keeps ratios consistent across batches.
You enter your reservoir size and choose target concentrations in parts per million, then list fertilizer grades with their analysis. The engine converts phosphate (P2O5) and potash (K2O) to elemental phosphorus and potassium and computes weighed amounts that meet the targets within non negative constraints.
A practical run might use a 100 liter tank with targets 150, 50, and 200 for nitrogen, phosphorus, and potassium. With calcium nitrate, monopotassium phosphate, and potassium nitrate, the plan returns about 66.5 g, 22.0 g, and 36.1 g, which totals near 1.25 g per liter and lands on the requested ppm.
Totals speak to elemental coverage only, so compatibility, solubility, and mixing order still need attention. Follow product labels and try a small batch first before scaling.
For clear comparisons, keep units consistent between runs and record both ppm targets and product grades. All calculations are browser based and remain on your device.
The calculation works with reservoir volume (L) and target concentrations for nitrogen, phosphorus, and potassium expressed as parts per million (ppm, mg/L). Fertilizer analyses are entered as percent nitrogen, percent phosphate as P2O5, and percent potash as K2O.
Targets are converted to required elemental mass in grams, then the mix is solved so that the weighted contributions from each enabled fertilizer meet those elemental masses. Because fertilizers contribute only non negative amounts of each element, the solution is constrained to non negative weights.
Phosphate and potash are converted to elemental fractions using constant factors: P2O5 → P with 0.4364 and K2O → K with 0.8301. Nitrogen uses its entered percent directly. These fractions form the contribution matrix for the solver.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
| Reservoir volume | L (or gal, qt, m³) | Input | |
| Target concentration for E ∈ {N, P, K} | ppm (mg/L) | Input | |
| Required elemental mass | g | Derived | |
| Elemental fraction of E in fertilizer j | g/g | Derived (P2O5×0.4364, K2O×0.8301) | |
| Mass of fertilizer j in the mix | g | Output |
Computation proceeds in a short pipeline:
Units, precision, and rounding follow readable defaults. Values display with zero to six decimals using locale separators; internal math uses double precision. Mass is shown as g or kg for metric and as oz or lb for imperial; mass per volume displays as g/L or oz/gal.
| Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
|---|---|---|---|---|---|---|
| Measurement system | Select (metric, imperial) | — | — | Options | — | — |
| Reservoir volume | Number + unit (L, m³, gal, qt) | 0 | — | 0.01 | Reservoir volume must be greater than zero. | e.g., 100 |
| Target nitrogen | Number (ppm) | 0 | — | 1 | Enter at least one nutrient target above zero. | e.g., 150 |
| Target phosphorus | Number (ppm) | 0 | — | 1 | No enabled fertilizer supplies phosphorus. (when applicable) | e.g., 50 |
| Target potassium | Number (ppm) | 0 | — | 1 | No enabled fertilizer supplies potassium. (when applicable) | e.g., 200 |
| Fertilizer name | Text | — | — | Max length 80 | — | e.g., Calcium nitrate 15.5-0-0 |
| Nitrogen percent | Number (%) | 0 | 100 | 0.1 | [Name]: nitrogen percent must be between 0 and 100. | e.g., 15.5 |
| Phosphate (P2O5) percent | Number (%) | 0 | 100 | 0.1 | [Name]: phosphate percent must be between 0 and 100. | e.g., 52 |
| Potash (K2O) percent | Number (%) | 0 | 100 | 0.1 | [Name]: potash percent must be between 0 and 100. | e.g., 46 |
| Solver state | Status | — | — | — | Unable to find a non negative fertilizer blend for the chosen targets. | — |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
| P2O5→P | 0.4364 | g/g | Stoichiometric | Converts phosphate to elemental phosphorus. |
| K2O→K | 0.8301 | g/g | Stoichiometric | Converts potash to elemental potassium. |
| gal→L | 3.785411784 | L/gal | Unit factor | Volume conversion for imperial family. |
| qt→L | 0.946352946 | L/qt | Unit factor | Volume conversion for imperial family. |
| m³→L | 1000 | L/m³ | Unit factor | Metric volume conversion. |
| oz→g | 28.349523125 | g/oz | Unit factor | Mass conversion. |
| lb→g | 453.59237 | g/lb | Unit factor | Mass conversion. |
I/O and sharing options include readable tables for the mix and a nutrient summary. Plans can be copied to the clipboard or saved as CSV or DOCX, and a structured JSON snapshot preserves inputs and outputs for reuse.
Performance considerations are modest. The system solves small linear systems using dense normal equations and Gaussian elimination in cubic time relative to the number of active fertilizers.
Diagnostics display clear errors for missing targets, out of range percentages, unsupported nutrients, and unsolved mixes. Given identical inputs, outputs are deterministic.
Security and privacy are straightforward. Calculations, clipboard actions, and file saves run locally without sending data to a server.
Nutrient planning focuses on elemental coverage and a repeatable mix.
You now have a clear, shareable recipe to weigh and dissolve.
Privacy No data is transmitted or kept on a server. Calculations and file saves occur locally on your device.
Precision Internal math uses double precision; displays are rounded for readability. If you repeat inputs, results repeat exactly.
Units Volume in liters, cubic meters, gallons, or quarts; mass in grams, kilograms, ounces, or pounds; concentration in ppm.
Availability After the page loads, calculations and downloads continue to work without a network connection.
Interpretation If percent of target is slightly under or over, adjust grades or ppm targets. Small deltas often reflect rounding and are operationally acceptable.
Conversion Multiply the P2O5 percentage by 0.4364 to get elemental phosphorus percentage. For K2O to K, multiply by 0.8301.
Feasibility The requested ppm may be unreachable with the enabled grades. Enable more sources or relax targets until a non negative solution appears.
Sharing Yes. You can copy tables, download CSV, export DOCX, and save a JSON snapshot for repeatable runs.