Forest stand age reconstruction from disturbance history
Every clearcut, fire or windthrow leaves a spectral signature that persists through decades of Landsat imagery. Tracing that recovery trajectory pins stand age to within a few years, making it the most cost-effective input to carbon density and biodiversity assessments.
Sensors
- Landsat 4-9 (USGS/NASA): 30 m multispectral, 16-day revisit per satellite. The archive from 1984 onward is the backbone of any disturbance-history reconstruction. Bands in the shortwave infrared (SWIR1 ~1.6 µm, SWIR2 ~2.2 µm) are most sensitive to canopy structure change after disturbance.
- Sentinel-2 MSI (ESA): 10-20 m resolution, 5-day revisit with both satellites. Useful for sharpening disturbance boundaries identified in Landsat, and for extending the time series post-2015. No archive before 2015, so it cannot anchor age estimates to the 1984 baseline alone.
- MODIS Terra (NASA): 250-500 m resolution, daily revisit. Too coarse for stand-level age mapping, but its dense time series helps fill cloud gaps in tropical Landsat stacks and provides a consistency check on phenological seasonality.
- Planet SkySat: 0.5 m resolution, tasked on demand. Not used for the temporal trajectory itself, but for validating the spatial boundary of disturbance patches identified in coarser archive data, particularly where harvest blocks are small.
Why the year of last disturbance is the age of the stand
Forest stand age is not directly observable from space. What is observable is the spectral state of the canopy at each point in time. After a major disturbance, bare soil and woody debris produce high SWIR reflectance and low near-infrared (NIR) values. As vegetation recovers, NIR climbs and SWIR falls. The trajectory of that recovery, measured annually across the Landsat archive, is a proxy for elapsed time since disturbance. Identify the year the trajectory inflected downward from its post-disturbance peak, and you have the year of origin of the current cohort.
This matters because stand age is the single strongest predictor of above-ground carbon density in even-aged forests, and a reliable secondary predictor in uneven-aged ones. Biodiversity assessments for old-growth designation, REDD+ baseline construction, and timber inventory all require it. Ground measurement of age across millions of hectares is not feasible. Spectral reconstruction from archive imagery is.
LandTrendr and CCDC: two algorithms, different strengths
LandTrendr (Landsat-based Detection of Trends in Disturbance and Recovery), developed at Oregon State University and published in the peer-reviewed literature, fits piecewise linear segments to annual spectral time series. It is particularly good at identifying abrupt disturbances, such as clearcuts or fires, and returns a clean year-of-break estimate. The primary spectral index used is typically the NBR (Normalised Burn Ratio, (NIR-SWIR2)/(NIR+SWIR2)) or NDVI, both of which respond strongly to canopy loss.
CCDC (Continuous Change Detection and Classification) takes a different approach: it fits harmonic models to the full dense time series, including within-year seasonality, and flags dates where observations fall outside the model's predicted bounds. CCDC handles gradual disturbances, such as insect outbreak or progressive drought stress, better than LandTrendr does. For stand-age reconstruction specifically, LandTrendr is the more common choice because most economically significant disturbances are abrupt. Where the disturbance history is complex, running both and comparing outputs is good practice.
Both algorithms are available through Google Earth Engine, which holds the full Landsat Collection 2 archive. Computation time for a national-scale run at 30 m is measured in hours on cloud infrastructure, not weeks.
Cloud contamination in the tropics: the problem that does not go away
In temperate and boreal zones, a 16-day Landsat revisit produces enough clear observations per year to build a reliable annual composite. In persistently cloudy tropical regions, such as the Congo Basin or the wet tropics of Southeast Asia, a single Landsat path may yield fewer than four usable observations per year. LandTrendr's piecewise fitting can tolerate some gaps, but when entire years are missing, the algorithm may misdate a disturbance by two to four years or miss a low-severity event entirely.
Practical mitigations include: combining Landsat 8 and 9 (which share the same orbit plane offset by eight days, giving an effective eight-day revisit), adding Sentinel-2 observations post-2015, and using MODIS-derived phenology to guide compositing windows. Even with these measures, tropical age maps carry larger uncertainty than temperate ones. An honest age-class product for humid tropical forest should report confidence intervals, not point estimates. The difference between a stand dated to 2001 versus 2003 may be within the algorithm's noise floor.
Validation against forest inventory plots
No spectral age estimate is credible without ground truth. The standard validation approach compares the remotely sensed year-of-disturbance against known-age plots: harvested compartments with recorded felling dates, post-fire regeneration areas with documented fire years, or permanent forest inventory plots with repeated basal-area measurements that allow back-calculation of cohort age.
Published studies using LandTrendr in Pacific Northwest forests report median age-error of two to four years for clearcut-origin stands when at least six clear annual observations are available per decade. Accuracy degrades for stands disturbed before 1984, which is the Landsat archive's practical limit. Pre-1984 stands are typically assigned to an 'old-growth or pre-archive' class rather than given a spurious year. In the tropics, validation datasets are sparse; the Global Land Analysis and Discovery (GLAD) lab at the University of Maryland maintains some of the most comprehensive tropical forest change records and is a useful independent reference for cross-checking disturbance years.
What the output looks like, and where it breaks down
The primary deliverable is a raster layer, one pixel per 30 m cell, carrying the year of last major disturbance. From that, stand age in any given year is simple arithmetic. Secondary outputs include disturbance magnitude (how severe was the spectral break) and recovery rate (how fast did the canopy return), both of which add information about disturbance type and post-disturbance conditions.
The method has well-understood failure modes. Partial-harvest systems, such as selective logging or shelterwood cuts, produce small spectral breaks that fall below the algorithm's detection threshold. Stands that burned at low severity may show no detectable NBR change. Multi-cohort stands, where a second disturbance has occurred before full recovery from the first, produce ambiguous trajectories that require manual review. Planet SkySat imagery at 0.5 m is useful for inspecting these ambiguous pixels, because individual canopy gaps and residual trees are visible at that resolution.
Satellize runs LandTrendr and CCDC pipelines on the full Landsat archive as part of its analytics stack, applying the same compositing and cloud-masking logic it developed for the Tonga crop-estimation programme to forest contexts. Outputs are delivered as GeoTIFF age-class rasters with accompanying confidence masks.
Turning an age map into a decision
An age-structure map is not an end in itself. Its value depends on what decision it informs. For carbon accounting, stand age feeds allometric models that estimate above-ground biomass density, typically via published age-biomass curves specific to forest type. For biodiversity assessment, the proportion of stands older than 80 years is often used as a structural old-growth indicator, though the threshold varies by jurisdiction and forest type.
For national forest inventory agencies, a wall-to-wall age map updated annually replaces or supplements expensive field campaigns in remote areas. The honest caveat is that spectral methods cannot distinguish age from site productivity: a fast-growing plantation on fertile soil may have a canopy indistinguishable from a 20-year-old natural stand at 30 m resolution. Integrating species-type information, from national inventory or from Sentinel-2 classification, is necessary before applying age-biomass curves with confidence. The age map is a strong prior; it is not a substitute for knowing what species is growing there.
Typical figures
| Primary archive resolution | 30 m (Landsat 4-9); 10-20 m supplement from Sentinel-2 post-2015 |
| Archive depth | 1984 to present (Landsat); stands disturbed before 1984 are unresolvable by year |
| Revisit (temperate) | 8 days effective with Landsat 8+9 combined; typically 20-30 clear observations per year |
| Revisit (humid tropics) | Fewer than 4-8 usable clear observations per year per path; cloud is the binding constraint |
| Key spectral indices | NBR (NIR/SWIR2), NDVI, TCW (Tasselled Cap Wetness); SWIR bands most diagnostic of disturbance |
| Disturbance year accuracy (clearcut, temperate) | Median error 2-4 years where ≥6 clear observations per decade are available |
| Minimum detectable disturbance patch | Approximately 0.09 ha at 30 m; sub-pixel partial harvest is below detection threshold |
| Processing latency | National-scale 30 m run: hours to days on cloud infrastructure; not a real-time product |
| Delivery formats | GeoTIFF age-class raster, confidence mask, vector polygon summary by age class |
| Validation requirement | Ground-truth plots or documented harvest records needed; standalone spectral output should not be used without validation |
Analytics Satellize can run
| Year-of-disturbance raster | LandTrendr piecewise temporal segmentation on NBR or NDVI annual composites from Landsat Collection 2 | GeoTIFF layer, one value per 30 m pixel, covering client-defined area of interest |
| Stand age map | Arithmetic derivation from year-of-disturbance layer; pre-1984 class assigned where no break detected | Age-class raster with accompanying confidence mask indicating observation density per pixel |
| Disturbance magnitude and recovery rate indices | LandTrendr segment attributes (dNBR at break, slope of recovery segment) | Two-band GeoTIFF; supports downstream disturbance-type attribution |
| CCDC change-date layer | Harmonic time-series modelling with CCDC algorithm; captures gradual and abrupt disturbances | GeoTIFF with first and most-recent change date per pixel; useful for multi-disturbance stands |
| Tropical cloud-gap assessment | Per-pixel clear-observation count from Landsat QA bands and MODIS daily composites | Observation-density map flagging areas where age estimates carry elevated uncertainty |
| Validation accuracy report | Cross-tabulation of remotely sensed disturbance year against client-supplied inventory plots or documented harvest records | PDF report with confusion matrix, mean absolute error by forest type and disturbance class |
| Age-structure summary statistics | Zonal statistics over client-defined management units or protected area boundaries | Tabular CSV and GIS polygon layer showing area by age class per management unit |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.