Methodology
Process-Based Modeling
Unlike empirical models that learn patterns from historical data, process-based models simulate ecological dynamics from first principles. Each organism in the model has explicitly defined:
- Life stages (seed, seedling, juvenile, adult)
- Demographic rates (germination probability, growth rate, mortality schedule)
- Environmental responses (drought tolerance, fire mortality, temperature thresholds)
- Competitive interactions (resource competition, facilitation)
These parameters are estimated from ecological literature and targeted field studies, then combined to simulate how populations change over time and space.
The josh Simulation Engine
Vegetation Modeling uses josh, a domain-specific language and simulation platform developed by DSE. josh addresses three challenges in ecological modeling identified by Töpper et al. (2025) and others:
Accessibility: General Ecological Models (GEMs) offer powerful components but may struggle with landscape-level applications and ecosystem-specific processes (Purves et al., 2013). josh’s DSL uses friendly syntax inspired by HyperTalk (Wheeler, 2004), lowering the barrier for ecologists without extensive programming backgrounds.
Flexibility: Unlike frameworks with rigid structural assumptions, josh provides library-like components that can express sophisticated patch-based or agent-based logic, including stochastic, spatial, and stateful operations.
Scalability: Portable, scalable performance typically requires difficult systems-level programming (Breitwieser et al., 2023). josh compiles to both JVM and WebAssembly, enabling seamless scaling from browser-based prototyping to distributed cloud execution without code changes.
State-Based Agent Modeling
josh supports highly stateful agent-based approaches. For example, a Joshua tree model defines state transitions between life stages (Dead, Juvenile, Fire, Burned, Recovered) with probabilistic transitions governed by environmental conditions and demographic parameters. This approach captures the complex dynamics of post-fire recovery including mortality, resprouting, and recruitment.
Why This Approach?
The data problem: To build an empirical model of Joshua tree recovery, we would need spatially comprehensive, multi-decadal monitoring data at the species level. Such data don’t exist for most ecosystems.
The solution: Process-based models can be parameterized from disparate sources—a germination study here, a growth curve there, mortality estimates from another context—without requiring a single comprehensive dataset.
The tradeoff: Process-based models require more ecological knowledge to build and may be less accurate in interpolating within well-observed conditions. But they can extrapolate to novel conditions (new fire regimes, climate scenarios, management interventions) where empirical models fail.
Transparency and Collaboration
A key design goal is that vegetation ecologists and land managers can engage directly with models, not just receive outputs. This means:
- Model logic is inspectable—users can trace why a simulation produced a particular outcome
- Parameters are explicit and documented—disagreements about values can be identified and discussed
- Models become shared assets representing collective understanding of how the system works
Validation Approach
We validate process-based models differently than empirical models:
- Ecological plausibility: Do simulated dynamics match qualitative expectations from field experience?
- Population stability: Do populations persist or crash under baseline conditions?
- Sensitivity analysis: Which parameters most strongly influence outcomes?
- Hindcasting: Where historical data exist, do simulations reproduce observed patterns?
We are honest about uncertainty—the goal is to inform decisions, not to make precise predictions about conditions decades in the future.