Methodology
How the calculations work
SowWindow separates reference data, your inputs, and calculation rules. The result is a schedule or layout that can be inspected and reproduced. The methods below explain what is counted, how dates are handled, and which parts of a result still depend on assumptions outside the tool.
Reviewed Oct 28, 2026
Date rules and paired events
Dates are calendar values with a year, month, and day. Day offsets are added to those values without treating a planting task as a midnight appointment in the browser’s time zone. A source rule identifies its anchor and whether it describes a window, an earliest reference, or a latest reference.
For a transplant method, a nursery interval measured before setting out is applied to the transplant date. The tomato example combines a transplant window of May 8–15, 2027 with five to six weeks of nursery time to give an indoor envelope of March 27–April 10. For a fixed May 8 transplant, the paired indoor range is March 27–April 3. The envelope does not make every pair of endpoints valid.
Repeat-sowing dates
Batch dates are start + n × interval for whole numbers n beginning at zero. The interval must be positive. Keep each date that is on or before the selected end date; the end is inclusive. April 1 through May 1, 2027 at 14-day intervals therefore gives April 1, April 15, and April 29.
A crop’s suggested interval and later-season cutoff are separate source fields. An interval does not establish how late a crop can be sown. A regional month or a missing cutoff is not converted into a universal frost offset.
Packet-based fall dates
The latest start is the first fall frost reference minus the packet’s maturity days and an extra growth allowance. The proposed start plus those same days gives the maturity estimate. Both use complete calendar dates without a time zone. The selected sowing or transplanting basis labels the event; it does not convert one maturity figure into another.
The initial 14-day allowance comes from Maryland Extension’s regional fall guidance and remains editable. The formula does not model actual daylight, weather or a crop’s tolerance. A date before the reference is a timing estimate, not a harvest guarantee.
Rectangular layouts
For each direction, the first plant center sits at the edge allowance. The directional count is floor((dimension − 2 × margin) / spacing) + 1 when the usable span is nonnegative; otherwise it is zero. Multiply the two directional counts to get the total.
With 300 × 120 cm, 30 cm plant and row spacing, and 15 cm margins, ten columns and four rows give 40 centers. These are custom geometric inputs, not a spacing recommendation for every crop. The diagram and coordinate table use that same center set.
Circular layouts
The circular model aligns a grid to the container center and keeps points satisfying x² + y² ≤ (radius − margin)². Plant and row spacing determine the grid steps. Points on the allowed boundary are included.
A 120 cm diameter, 30 cm spacing in both directions, and a 15 cm margin give nine centers. This is one declared grid arrangement, not an optimal-packing algorithm or a model of roots, support, access, and crop health.
Seed estimates and rounding
The seed estimate is ceil(target × (1 + reserve / 100) ÷ ((germination / 100) × (survival / 100))). Reserve adds a fraction of the target before allowing for the entered rates. Only the final value is rounded upward.
For a target of 40, germination of 80%, survival of 90%, and reserve of 0%, the result is 56. A 10% reserve with the other inputs unchanged gives 62. The target is a nonnegative whole number; zero target plants gives zero. Rate inputs must be greater than zero and no greater than 100%.
Sources and saved records
Crop references retain their source, units, method, scope, and data version. Missing numeric information remains explicit. Editing a value makes it your choice, and an older plan’s snapshots and manual dates are not silently rewritten when reference data changes.
JSON preserves the editable record. Calendar exports use all-day dates and convert a visible inclusive end to the iCalendar exclusive boundary: a May 8–15 window ends at May 16 in the file. All exported copies remain snapshots of the plan at the time you generated them.