This is a pre-alpha DRAFT. Changes discussed in PR review should be specified as new issues / discussions.
The purpose of this directory is to provide a set of tools that will allow users to specify agronomic management scenarios, optionally with probabilistic inputs that represent uncertainty in historical agronomic practices and/or variability in future scenarios.
- Events are specified in one or more
scenarios.yamlfiles. - The
events.Rscript readsscenarios.yamland generates JSON files that follow the PEcAn events schema. - These JSON files can then be used by PEcAn functions to convert them into model-specific formats. For example,
PEcAn.SIPNET::write.configs.SIPNETfunction will read these in and generate SIPNETevents.infiles.
The configuration file scenarios.yaml includes the following elements:
site_id,start_year, andend_year: unique site identifier and range of years to be simulated.pecan_events_version: optional schema version (defaults to 0.1.0).baseline.events: the baseline event definitions.scenarios: per-scenario overrides (only include changes).name(optional but recommended): unique identifier for matching overrides to baseline events of the sameevent_type.
Event definitions use field names from PEcAn events schema where possible, with the following exceptions for end-user convenience:
- Dates are
MM-DDstrings that get expanded toYYYY-MM-DDfor each year. TODO: Make sure this supports YYYY-MM-DD format so events can vary each year. - Irrigation schedules can be specified as a list under
dateor asdate: {start, every_days, n_events}.
Example:
site_id: herb_site_1
start_year: 2016
end_year: 2024
baseline:
events:
- event_type: tillage
name: tillage_spring
date: "03-20"
tillage_eff_0to1: 0.35
- event_type: fertilization
name: fertilization_spring
date: "03-25"
nh4_n_kg_m2: 0.02
- event_type: planting
name: planting_spring
date: "04-10"
leaf_c_kg_m2: 0.0034
- event_type: irrigation
name: irrigation_growing
date: ["05-15", "06-15", "07-15", "08-15", "09-01", "09-15"]
amount_mm: 90
method: canopy
- event_type: harvest
name: harvest_fall
date: "10-10"
frac_above_removed_0to1: 0.5
frac_below_removed_0to1: 0.0
scenarios:
baseline: {}
reduced_till:
events:
- event_type: tillage
name: tillage_spring
tillage_eff_0to1: 0.10For initial MVP, these files are intended to be reused across all sites to represent management scenarios for herbaceous systems. Future work will:
- Review and revise architecture both for this draft and iteratively.
- Produce site-specific management events for both inventories and projections.
- Generate ensembles representing uncertainty and / or scenario based variance.
The agronomic management events described below broadly reflect common practices in CA for annual row crops, based on UC ANR and CDFA-FREP guidance.
| Scenario | Changes from baseline |
|---|---|
| baseline | Following conventional practices |
| compost | Adds compost (0.25 kg C/m2, 0.015 kg N/m2); remove mineral N fertilizer |
| reduced_till | Reduce tillage intensity to 0.10. |
| zero_till | No tillage with tillage_eff_0to1 = 0.00. |
| reduced_irrig_drip | Replace canopy irrigation schedule with 40 drip events (8 mm each, soil method). |
| stacked | Combine compost, reduced_till, and reduced_irrig treatments. |
-
baseline
- Compost: none
- Tillage: conventional, tillage_eff_0to1 = 0.35
- Mineral N: 0.020 kg N/m2 per year (200 kg N/ha), pre-plant
- Irrigation: 6 sprinkler/overhead events (method = "canopy"), 90 mm each, May–September (seasonal total = 540 mm)
-
compost
- Compost: 0.25 kg C/m2 and 0.015 kg N/m2 each year (late February): ~10 tons/acre compost at ~35% C and C:N = 16
- Mineral N: 0 (orgN replaces mineral N)
-
reduced_till
- Tillage: reduced intensity, tillage_eff_0to1 = 0.10
-
zero_till
- Tillage: no tillage, tillage_eff_0to1 = 0.00
-
reduced_irrig_drip
- Irrigation: drip: 40 applications of 8 mm (~3x/week from May through late August, seasonal total ~320 mm)
-
stacked
- Compost: 0.25 kg C/m2 and 0.015 kg N/m2 per year
- Tillage: reduced intensity, tillage_eff_0to1 = 0.10
- Irrigation: as reduced_irrig_drip (40 x 8 mm, soil)
Produces scenario outputs generated by events.R each file contains a single PEcAn events timeline:
data/events_baseline.jsondata/events_compost.jsondata/events_reduced_till.jsondata/events_zero_till.jsondata/events_reduced_irrig_drip.jsondata/events_stacked.json
Annually (2016–2024):
- Compost: Feb 20
- Tillage: Mar 20
- Mineral N: Mar 25
- Planting: Apr 10
- Irrigation:
- baseline / compost / reduced_till / zero_till:
- May 15, Jun 15, Jul 15, Aug 15, Sep 1, Sep 15
- 90 mm each, method = "canopy"
- reduced_irrig_drip / stacked:
- 40 events, 8 mm every 3 days starting May 1
- baseline / compost / reduced_till / zero_till:
- Harvest: Oct 10
All events use site_id = "herb_site_1" and are sorted by date.
OM Application
Fertilization
- USDA Nutrient Management in Organic Systems Western States Implementation Guide
- UCANR Fertilization Guidelines
Irrigation