
Share of burned area that lost its dominant cohort
landis_overstory_mortality_share.RdThe proportion of a replicate's burned cells in which the cohort holding the most biomass was killed. This is the model-side counterpart of a field burn-severity class defined by mortality of the structurally dominant vegetation, and unlike the extension's own severity classes – which are crown fraction burned – it is comparable with an observed mortality measure. In a forest that burns hot at ground level without crowning, the two disagree by construction.
Arguments
- rep_dir
Character. Path to the replicate directory.
- by_class
Logical. Also return the burned cells counted by timestep, map code and severity class?
- engine_rule
Logical. Make the damage table's age test in single precision, as the extension does, rather than in double precision? See
fire_cohort_killed().
Value
A list with burned_cells, high_cells and share (NA when nothing burned), or NULL
when the replicate holds no severity maps, is missing one of the files above, or has no cohort
of a species with both a tolerance and a longevity. With by_class = TRUE the list also holds
by_class, a tibble of integer columns timestep, MapCode, class and cells: the burned
cells of the severity map of each timestep, by the cell's map code (NA where the
initial-communities map has none) and severity class (0 for a cell burned with no cohort
damaged), in that order. Its cells sum to burned_cells, and the cells of the rows in
which fire_cohort_killed() kills the landis_dominant_cohorts() cohort of MapCode sum to
high_cells.
Details
Everything needed is in the replicate directory, because a run is a copy of its scenario:
fire/severity-{t}.tif– the severity map per timestep. The Dynamic Fire encoding is 0 inactive, 1 active and unburned, 2 burned with no cohort damaged, and severity + 2 for a damaged cell, so a cell's severity class is its map value MINUS TWO.initial-communities.csv/.tif– the cohorts on each cell.the core species file – longevity, which the damage table's age thresholds are shares of. Its name is read from
scenario.txt'sSpeciesdirective, sinceprepSpeciesData(type = "core")names itspecies-core.txtwhile the LANDIS-II examples usespecies.txt; the latter is the fallback when there is no directive to read.the Dynamic Fire per-species table – each species' fire tolerance. Its name is read from
dynamic-fire.txt'sSpecies_CSV_Filedirective, sinceDynamicFire$new()names itdynamic-fire-species.csvwhile this package's owndf_input()default and the LANDIS-II examples useDynamicFire_Spp_Table.csv; the latter is the fallback when there is no directive to read.dynamic-fire.txt– theFireDamageTable, mapping severity minus tolerance to the oldest cohort killed, as a percentage of longevity.
The dominant cohort of each map code is the one landis_dominant_cohorts() returns, and whether
it died is decided by fire_cohort_killed(): it dies when severity is 5 (the extension kills
everything at that severity, whatever the tolerance) or when its age is at or below the
percentage of its species' longevity that the damage table gives for severity minus tolerance.
A cell on a map code with no dominant cohort counts as burned but never as killed. Composition
is read at time zero, so a cell that burns twice in one replicate is scored on its original
cohorts; in a calibration run, where succession is frozen, only reburns are affected.
When a species' GroundFireKill is set, high_cells is the expected number of cells that lose
their dominant cohort (fire_cohort_mortality()), so it can be fractional, and the function
stops unless Landis-log.txt shows the extension applied each value.
See also
Other Dynamic Fire calibration helpers:
apply_calibrated_damage_age(),
apply_calibrated_hi_prop(),
apply_calibrated_ignprob(),
apply_calibrated_num_fires(),
bc_fuel_code_to_base(),
bc_fuel_label_to_base(),
build_calibration_scenario_template(),
build_calibration_spinup_scenario(),
calibrate_dynamic_fire(),
calibration_par_names(),
dedup_community_snapshot(),
default_severity_prior_sturtevant2009(),
fire_cohort_killed(),
fire_cohort_mortality(),
ground_fire_kill_par_names(),
landis_dominant_cohorts(),
loss_from_stats(),
observed_fire_sizes(),
parse_dynamic_fire_logs(),
patch_fire_config(),
run_calibration_spinup(),
run_calibration_validation(),
save_observed_fire_targets(),
sim_landis(),
sim_mock(),
sim_r_reimpl()