Release iLand 2.1

Wednesday 23 of July, 2025

iLand Release 2.1: Forest Management, Deadwood, and More

This document summarizes the major changes and new features introduced in iLand version 2.1 since version 2.0 (July 2024). This release focuses on three key areas: a powerful new forest management library, enhanced deadwood dynamics, and various other improvements.

New Forest Management Library (abe-lib)

(c30858ae). See abe-library

A major addition in this release is the abe-lib JavaScript library, which provides a flexible and powerful way to define and execute complex forest management activities. This library is designed to be used within the ABE (Agent-Based Extension) module and allows for the creation of sophisticated silvicultural treatment programs (STPs).

Key Features

Getting Started

To use the new library, you can include it in your ABE scripts. Here are some examples of how to use abe-lib to create STPs:

Example: Clearcut and Plant

// Define a clearcut harvest activity const ClearcutHarvest = lib.harvest.clearcut();

// Define a planting activity const ClearCutPlanting = lib.planting.general({species: 'piab'});

// Create an STP that combines the two activities lib.createSTP('Clearcut', ClearcutHarvest, ClearCutPlanting);

Example: Structured Thinning and Target DBH Harvest

// Define a selective thinning activity const StructureThinning = lib.thinning.selectiveThinning({mode: 'dynamic'});

// Define a target DBH harvest activity const StructureHarvest = lib.harvest.targetDBH({ dbhList: { "fasy": 65, "frex": 60, "piab": 45, "quro": 75, "pisy": 45, "lade": 65, "qupe": 75, "psme": 65, "abal": 45, "acps": 60, "pini": 45 } });

// Create the STP lib.createSTP('Structure', StructureThinning, StructureHarvest);

Available Modules

For more detailed examples, please refer to the abe-lib/example-use.js file.

Deadwood Dynamics

(4a7d19a5) dead trees

This release introduces significant enhancements to the modeling of deadwood, allowing for individual tracking of dead trees in addition to the existing cohort/pool-based approach. This provides more detailed insights into the quantity, quality (decay class), dimension, and species of snags and downed stems, which is particularly useful for habitat quality assessments.

Trees enter the individual tracking system when their DBH at the time of death exceeds model.settings.soil.swdDBHSingle (cm). When such trees die, their biomass is separated into SWD pools (branches, foliage, fine- and coarse roots), while the stem biomass is tracked as a standing snag. If the cause of death is wind or management (e.g., cutting), the stem is immediately considered downed.

DeadTreeList Object

The DeadTreeList class in the ABE JavaScript API provides a powerful way to access, query, and analyze individual deadwood elements.

Example: Working with Deadwood

// Create a new DeadTreeList object var deadwood = new DeadTreeList();

// Load snags from resource unit 5 var numLoaded = deadwood.loadFromRU(5, "Snags");

// Load downed woody debris (DWD) from resource unit 10 deadwood.loadFromRU(10, "DWD", true);

// Get the total count of deadwood items console.log("Total deadwood count: " + deadwood.count);

// Filter for snags with a volume greater than 0.5 var remaining = deadwood.filter("type == 'snag' && volume > 0.5");

// Calculate the mean DBH of DWD var meanDbhDWD = deadwood.mean("dbh", "type == 'dwd'");

// Calculate the total carbon in snags var totalCarbonSnags = deadwood.sum("carbon", "type == 'snag'");

Snag Variables

The following variables are available for individual dead trees:

Decay Classes

Each snag (standing or lying) is assigned a decay class (I to V) based on its remaining biomass. These classes are for output and analysis and do not directly affect model processes. Classification thresholds can be customized in the project file using the model.settings.soil.decayClassThresholds key (e.g., 0.2, 0.4, 0.7, 0.9 for classes V, IV, III, II, I respectively).

Carbon Tracking (Technical Details)

New Outputs

New model outputs related to deadwood have been added, including:

GeoTIFF Support

(9afc3b57)

iLand now seamlessly integrates with GeoTIFF files for reading and writing most GIS data. This significantly enhances interoperability with other geospatial tools and workflows.

Key Features

macOS Support

(909c1658)

iLand now officially supports macOS, including ARM-based M1/M2 processors, alongside Windows and Linux. This expands iLand's accessibility to a wider range of users and computing environments.

Key Changes

Other Changes

Minor Changes and Bug Fixes


Permalink: https://iland-model.org/blogpost61-Release-iLand-2-1