Harvests, irrigation, readings
Harvests, irrigation, and sensor readings are logged per crop cycle under Records in the app, on three pages: Harvests, Irrigation, and Climate. Each record can be edited in a sheet or deleted after a confirmation, in the app or over the API.
/app/records/harvests, each row with Edit and Delete.Harvests
A harvest is kilograms for one week, with an optional note. You type the number; DeepLeaf Yield never invents it.
- Log harvest opens a sheet: pick the week with the week calendar picker, type the kilograms and an optional note, then save.
- Import CSV: a file with header
week,kgand an optionalnotecolumn, one harvest per line. If any line is bad, the whole file is refused and the error names the line. - Kilograms must be above 0 and at most 1,000,000. Several logs in one week add up.
- Each harvest records its source:
typedorcsv. Harvests logged before sources were recorded show none.
Edit on a row opens the same sheet to change the week, kilograms, or note. The source stays as it was logged. Delete asks for a confirmation, then removes that one log. The forecast and backtest read harvests live, so they follow the change on the next read.
Pick days
Tell us your pick days to sharpen next week's forecast. Under the harvest table, the optional Pick days card takes the days of the week you usually pick, and the dates you plan to pick from today to 21 days ahead, up to 14 dates. A week with planned dates uses them instead of the usual days. Each harvest can also carry the day it was picked; the week's total stays the same.
Pick days change the forecast for next week and the week after only once this greenhouse's own record shows they bring it closer to the harvest. Until then the forecast stays as it is. Pick days are in your organization's data download and are deleted with their crop cycle, or with Delete pick days.
Irrigation
/app/records/irrigation. Each row has Edit and Delete.One entry per day: water in litres, with optional drain in litres, EC (mS/cm), pH, and water source (desalinated, condensate, well, or other). Log irrigation opens a sheet with the day, water, drain, and source.
Edit changes any field in the sheet. A field sent as null over the API is cleared, but at least one measurement must remain. Delete removes the entry after a confirmation.
Sensor readings
/app/records/climate.Readings are on the Climate page (/app/records/climate), with the weather the forecast uses. Add reading opens a sheet for one reading: a time on the greenhouse clock, a metric, a value, and a source (default manual). The metrics and their accepted ranges:
| Metric | Unit | Range |
|---|---|---|
temperature_c | °C | −40 to 80 |
humidity_pct | % | 0 to 100 |
co2_ppm | ppm | 0 to 20,000 |
radiation_w_m2 | W/m² | 0 to 2,000 |
par_umol | µmol/m²/s | 0 to 5,000 |
Times in the form are on the greenhouse clock. A second reading with the same time, metric, and source is refused with 409, so a file loaded twice doesn't double up. The readings table lists newest first, can be filtered by metric, and has Edit and Delete on each row. Indoor temperature readings feed the forecast temperature.
For whole files from a climate computer or logger, see Climate CSV import.
Walk counts
Fruit counts come from the walk, not from a record here. To fix a count, correct the walk: see Correct a walk. The per-week CSV then has the corrected counts in green, turning, red, and fruit_unlabeled, and adds model_green, model_turning, model_red, model_fruit_unlabeled, and corrections as its last columns. See Weather and CSV export.
Weekly crop registration
The weekly crop registration is on Records → Crop registration: one row per crop cycle and week, with the measurements growers already take. Every field is optional, but a week needs at least one. Saving a week again replaces it.
| Column | What to type |
|---|---|
stems_per_m2 | Stems per square metre, after any stems added. |
new_trusses_per_stem | Trusses whose first fruit set this week, per stem. |
flowering_truss | Number of the truss flowering now, counted from the bottom. |
flowering_height_cm | Distance from the head down to the flowering truss, in centimetres. |
fruits_set_per_truss | Fruit set per truss, after pruning. |
standing_fruit_per_stem | Fruit hanging on one stem: the fruit load. |
fruit_weight_g | Average fruit weight at harvest, in grams. Optional. |
harvest_truss | Number of the truss being harvested. |
The form checks each value against a sensible range before saving, and the server checks again. The harvest truss cannot be above the flowering truss, and a week cannot be after this one.
Import CSV takes the format of Export CSV: a week column and any of the columns above, plus note, in any order. Files saved by spreadsheet programs work: a byte-order mark, semicolons or tabs, and decimal commas are all read. If any line is bad, the whole file is refused and the error names the line. Registrations are in your organization's data download and are deleted with their crop cycle.
The set week and the fruit set per truss are kept for the fruit-count correction of the forecast. For now the forecast does not use them.
Crop plan
Each crop cycle can have a crop plan, on Setup → Crop plan: the planned last harvest week, an optional topping date, and periods. Each period starts in a week and lasts until the next one, with any of: day and night temperature setpoints, stem density, and fruit per truss after pruning.
The forecast uses the last harvest week: every forecast week after it is 0 kg, ranges included, and the 4- and 8-week totals follow. Delete the plan and the forecast is as before. The setpoints, density and pruning are kept to refine the forecast later; they do not change it yet.