An inventory, polygon by polygon
Follow one 24 × 24 km window in Wabigoon Forest, picked because much of it was harvested after 2000. Thin lines are inventory polygon edges: 1,000 polygons, median forest stand 10 ha.
Trout Lake and Wabigoon forests · Ontario · 2000–2010
A decade of carbon in two northwestern Ontario forests: what the stands held, what harvest and fire took out, and what growth put back, counted stand by stand with the Carbon Budget Model of the Canadian Forest Sector.
Net primary production is growth after the trees' own respiration. A negative total means the forest lost carbon over the decade: harvest and slash burning took out slightly more than growth put back.
| Dataset | Provider | Year | Unit | Used for |
|---|---|---|---|---|
| Forest Resource Inventory, Wabigoon Forest (130) | Ontario MNRF | 2010 | stand polygons | Stands, species, age, disturbance history |
| Forest Resource Inventory, Trout Lake Forest (120) | Ontario MNRF | 2013 | stand polygons | Stands, species, age, disturbance history |
| Forest management unit boundaries | Ontario MNRF | Wabigoon 2010 · Trout Lake 2025 | vector | Study areas |
| Operational-Scale CBM-CFS3, driven with cbm3_python | Natural Resources Canada · Canadian Forest Service | toolbox build 1.0.8956 | t C | Carbon pools and fluxes, Boreal Shield West parameters |
| Growth curves | This analysis | — | m³/ha by age | One softwood and one hardwood curve |
The model
The Carbon Budget Model of the Canadian Forest Sector (CBM-CFS3) is the Canadian Forest Service's model of forest carbon, and the core of the system Canada uses to report forest emissions and removals in its national greenhouse gas inventory. It does not simulate photosynthesis. It reads merchantable volume from a yield curve, converts it to biomass with national volume-to-biomass equations, and every year moves carbon between 25 pools using turnover rates set for the ecozone and decay rates adjusted for its climate.
Harvest, fire and other events are disturbance matrices. In the year they happen, each one moves a fixed share of every pool to other pools, to the atmosphere, or out of the forest as wood, and resets the stand's age. Before the first year, a spin-up cycles each stand through its historical disturbance until the slow soil pools settle, then grows it to its inventory age.
sit_inventory.csv sit_classifiers.csv sit_yield.csv sit_events.csv sit_transitions.csv sit_age_classes.csv sit_disturbance_types.csv
Built from the inventory: one row per stand and species group, its growth curve, and the events that hit it. A mapping file ties them to CBM's default species, disturbance types and the Boreal Shield West spatial unit.
→ CSV tables + mapping.jsonsit_helper.csv_import(
csv_dir="sit_directory",
imported_project_path=
"sit_trial_stack1.mdb")
Checks the tables against each other and writes them into a CBM-CFS3 project, an Access database.
→ project databaseprojectsimulator.run(
project_path=
"sit_trial_stack1.mdb",
results_database_path=
"..._result.mdb",
n_timesteps=30,
skip_makelist=False)
Makelist turns each yield curve into biomass curves and builds the simulation list; CBM then spins every stand up and steps the inventory forward one year at a time.
→ results database, one per stackcbm3_results.load_pool_indicators( results_path, classifier_set_grouping=True)
Pools, fluxes, stock changes and disturbed area come back from tables such as tblPoolIndicators and tblDistIndicators, for every stand and year. This page reads 2000 to 2010.
→ the charts and maps belowForest by forest
A forest management unit is the area one licence holder plans harvest for under Ontario's forest management plans. Its Forest Resource Inventory maps every stand as a polygon with its species mix, age and any recorded harvest, fire or blowdown. Each forest stand becomes a CBM record; the results come back per stand, so they can be mapped the same way.
Forest management unit 130
Method
The inventory is turned into the seven tables CBM-CFS3's Standard Import Tool reads, the model steps each forest forward one year at a time from 2000, and the pool and flux indicators are read back from the results databases for every stand. The runs continue past 2010, but the inventories record no harvest or fire after that, so this page stops at 2010. Each stage is a notebook on GitHub: preprocessing, running CBM-CFS3 and post-processing.
Growth curves
CBM grows biomass from merchantable volume by age. This analysis gives every softwood stand the same curve and every hardwood stand another, rather than curves by species and site class. Stand age decides where on the curve each stand starts in 2000.
Follow one 24 × 24 km window in Wabigoon Forest, picked because much of it was harvested after 2000. Thin lines are inventory polygon edges: 1,000 polygons, median forest stand 10 ha.
The leading species decides whether a stand grows on the softwood or the hardwood curve. Broadleaf here means aspen, poplar and birch.
Inventory age is moved back to 2000. Stands that originated after 2000 are started at 100 years and then reset by the disturbance that created them.
Each depletion recorded after 2000 becomes a CBM event in that year. Harvest is modelled as clear-cut with slash-burn and fire as wildfire; both reset the stand to age zero.
CBM spins each stand up to its age in 2000 and fills its biomass and dead organic matter pools.
Mean biomass carbon in the window: 40 t C/ha
Harvested and burned stands drop to near zero biomass; their carbon leaves as wood products or emissions, or moves into deadwood and soil.
Mean biomass carbon: 40 t C/ha
Stands cut or burned in the decade lose nearly all their biomass carbon; the stands left standing each add a few tonnes per hectare.
Lost more than 20 t C/ha: 1,000 ha · untouched stands gained 3 t C/ha on average
Results
A harvested stand
Wabigoon, 2000 and 2010
Age structure
Checks on the run
Every number on this page was read straight from the CBM-CFS3 result databases. These checks confirm the runs hold together: area, carbon accounting, events and the per-stand extraction.
Caveats