← Back to all sparks
P

pecan

ANALYTICS
Velocity0.0

PEcAn visualization functions

PEcAn v1.10 makes land-management events a first-class input and parallelises the whole SDA workflow

ecosystem-modelingdata-assimilationscientific-workflowr-packagecarbon-cycle
Current state
PEcAn is a workflow framework for ecosystem modelling — it standardises meteorological and initial-condition inputs, drives a set of coupled process models such as SIPNET, ED2, BioCro and LDNDC, and runs uncertainty analysis and state data assimilation over the results. Version 1.10.0 adds an events schema with validation and a SIPNET writer, so disturbance and management events can be declared in JSON and turned into model input, and runs the entire SDA workflow in parallel. It also adds CH4 and N2O to the standard variable table and an AmeriFlux meteorological ensemble path with ERA5 fallback.
Where it's heading
Two directions are visible. The framework keeps widening what it can represent — more standard variables, more carbon pools in BADM-based initial conditions, more coupled models — and it keeps industrialising the parts that used to be manual, from automated package documentation to qsub job-array expansion to parallel assimilation. The events schema is the first of these that gives users a declarative input format rather than a function to call, which is a different kind of extension than adding another model coupling.
Prediction
The events schema currently has one model writer, for SIPNET, so the obvious next step is writers for the other coupled models — otherwise the format only benefits a single backend of the several PEcAn drives.

Recent moves

  1. 7mo ago

    Events schema, parallel SDA workflow, CH4 and N2O standard variables

    ⚡ SPARK

    Introduces a validated events schema in PEcAn.data.land with write.events.SIPNET() to turn events.json into SIPNET input, parallelises the full SDA workflow, and extends the standard variable table with CH4 and N2O. Together with new raster clipping, AmeriFlux ensemble generation with ERA5 fallback and netCDF merge helpers, it is the broadest release in the visible history.

    View source ↗
  2. 1y ago

    Automated pkgdown docs for all packages; qsub job-array support

    Publishes automatically-rebuilt pkgdown documentation for every PEcAn package, adds make help and single-package documentation targets, and expands @NJOBS@ in qsub settings so custom launchers can submit model runs as job arrays. Infrastructure work aimed at the framework's own maintainability rather than at modelling capability.

    View source ↗
  3. 1y ago

    LDNDC coupling, soilgrids carbon extraction, SDA observation prep

    Adds an initial LDNDC model coupling, a soilgrids function returning mean soil organic carbon profiles with per-depth uncertainty, pecan_version() for recording system state, and observation preparation for AGB, LAI, soil carbon and soil moisture in the SDA workflow. Another model behind the same framework, plus the input plumbing to feed it.

    View source ↗
  4. 1y ago

    PFT-specific sensitivity analysis and BioCro 1.0 support

    Adds the ability to read PFT-specific outputs and run sensitivity analysis on them, brings PEcAn.BIOCRO up to BioCro 1.0, and fixes read.output's handling of date-times and non-day-based timestamps. Mixed with a cross-site XSS fix and web interface repairs.

    View source ↗
  5. 1y ago

    BioCro output renamed to PEcAn standard names; RCE fix

    Renames PEcAn.BIOCRO outputs StemBiom and RootBiom to the standard AbvGrndWood and root_carbon_content, replaces hard-coded unit conversions with udunits2, refactors soil extraction into soil2netcdf, and fixes a remote code execution issue. The renames make BioCro results comparable with the other coupled models.

    View source ↗
  6. 1y ago

    PEcAn.utils namespace cleanup; deprecated model2netcdf removed

    Removes the long-deprecated PEcAn.utils::model2netcdf, cleans up the PEcAn.utils namespace so it masks fewer functions, and fixes a BioCro aggregation bug and several ED2 configuration issues. Internal tidying with little visible effect outside of quieter package loading.

    View source ↗