← Back to all sparks
P

PESTO

INFRA · APIS
Velocity0.0

Parameter Estimation Optimised, with APSIM Coupling

A calibration toolkit that found its core PEST++ bridge had never actually run

parameter-estimationapsimpest-plus-plusr-packageverificationcrop-modelling
Current state
PESTO wraps PEST++ inversion for APSIM crop models from R. Version 0.10.0 rebuilt the PEST++ invocation layer after the maintainer found the shell-out had never executed: control variables were passed as /h :name=value, a syntax PEST++ has never accepted. Fifteen defects were present since the initial April 2026 release and shipped in every version after it. 0.10.1 followed with APSIM binary discovery via APSIM_EXE_PATH and a benchmark battery against real PEST 18, pestpp-ies 5.2.16 and native APSIM that reproduced the prior baseline at 0.0% deviation on every accuracy metric.
Where it's heading
The arc runs from packaging discipline toward working software, and the ordering is unusual. Releases 0.4.0 and 0.4.1 were governance and metadata passes: citation files, code of conduct, canonical URL migration to AAGI. 0.7.0 broadened the forward-model templates to ODE, crop-growth and SEIR forms and promoted the observation schema to public API. Only at 0.10.0 did the project ground itself against the actual USGS sources and a real pestpp binary, which is precisely when the defects surfaced.
Prediction
Expect the next releases to widen the real-engine test matrix - more PEST++ variants and pinned APSIM versions exercised in CI - rather than add new forward-model families, since verification is now the stated priority in every release note.

Recent moves

  1. 1mo ago

    APSIM auto-discovery and a full real-engine benchmark pass

    Adds APSIM engine discovery through APSIM_EXE_PATH and patches a defect in the previous release's PEST++ rebuild. The T1/T2/T3 battery against real PEST 18, pestpp-ies 5.2.16 and native APSIM reproduces the earlier baseline exactly, which is the evidence that the 15-defect repair did not move any numbers it should not have.

    View source ↗
  2. 1mo ago

    PEST++ invocation layer rebuilt after 15 defects left it non-functional

    ⚡ SPARK

    The release that turns PESTO from a package that described an inversion workflow into one that runs it. Everything before this point - the governance passes, the forward-model templates - sat on a PEST++ bridge that had never successfully invoked the solver.

    View source ↗
  3. 2mo ago

    ODE, crop-growth and SEIR forward-model templates enter the public API

    Broadens the forward-model templates beyond crop growth to generic ODE and compartmental SEIR forms, and promotes the observation schema plus APSIM version stamp to the public 0.7.0 surface. A widening of what can be calibrated, though at this point still resting on the PEST++ layer that 0.10.0 would later find broken.

    View source ↗
  4. 2mo ago

    Validation delegation and import hygiene pass

    Housekeeping on the AAGI guidance checklist: validation delegation, section banners, @importFrom concentration and canonical URL updates. No user-visible behaviour change, and the check output is explicitly described as holding its baseline shape.

    View source ↗
  5. 2mo ago

    Repository governance and citation metadata migration

    Completes the migration to the AAGI canon channel across DESCRIPTION, CITATION.cff, codemeta.json and pkgdown config, and adds the standard governance files. Metadata and process work only; nothing here changes what the package computes.

    View source ↗