Goodearth Calibration
goodearth_calibrationTurn a block's own field reports into a correction on the model.
Every other tool here answers from a 9 km grid refined by a physical terrain model. What that cannot know is the part that makes a farm particular — the hedgerow, the pond, the outlet the cold air drains through. Your observations measure exactly that gap.
Returns two corrections, kept separate because they fix different things: a bias in heat from crop stages (this ground accumulates more or less than the grid credits) and a bias in days from observed frost (this ground frosts earlier or later than the region).
Nothing is applied silently. A correction appears only once several observations agree, implausible values are set aside rather than averaged in, and the reports behind every figure come back with it.
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. | |
| season | No | Which season's reports to calibrate against. Defaults to this one. | |
| base_temp | No | Base temperature in °F the stage targets are counted at. | |
| dpop_token | No | ||
| observations | No | Optional. Omit and this reads the field reports already recorded for the block. Pass a list to calibrate against those instead, without recording them: a frost report is {"kind": "frost", "observed_on": "2026-10-02"}; a crop stage is {"kind": "stage", "observed_on": "2026-07-31", "crop": "Dahlia", "stage": "first bloom", "gdd_target": 1200, "set_out": "2026-05-24"}. Both accept an optional note. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||