Goodearth Planting Window
goodearth_planting_windowWhen to start seed, when to put it out, and the last day it still finishes.
Heat requirement answers whether a crop CAN finish here. It says nothing about when to start, which is the decision actually made with a seed packet in hand in February. This answers three separate questions:
Start seed indoors — counted back from the day it can go out, for a transplanted crop. Out — the earliest the frost record and the soil allow, whichever is later; a tender crop waits for the last spring frost, a hardy one uses the shoulder before it, a direct sowing waits for the soil, which lags the air by weeks. Latest — the last day a sowing still has enough heat left to beat the first fall frost, which is what decides whether an August succession is worth the seed.
All from this block's own record rather than a zone map. The requirements are yours.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| block | Yes | The ground to answer for: a block you have saved — its id, its name, one of its aliases, or any part of its name that only one block has (e.g. "Meadow" for "Lower Meadow"). If several match, the error lists them with their ids. Blocks may overlap; each answers for its own ground. Save one with block_save first; geometry travels once, not on every call. | |
| crops | Yes | The crops to date, with your own requirements. Each is {"crop": "Tomato", "gdd_target": 1300, "base_temp": 50} plus any of "frost_hardy", "direct_sow", "min_soil_f" (germination soil temperature) and "start_indoors_weeks". Add "succession_days" (3–60) to get the succession schedule: a sowing every that many days from the first day out to the last that still finishes, each with its typical finish date, its margin before the median first frost, and whether it lands after the earliest frost on record. | |
| dpop_token | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||