Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# fireSense_dataPrepFit (development version)

- Fixed: `nonflammableLCC`'s default (`c(0, 20, 31, 32, 33)`) missed SCANFI's rock/exposed code
(`30`), so rock entered fits as flammable non-forest. The default now comes from
`fireSenseUtils::fireSenseNonflammableLCC`, the single source of truth `makeFireSenseLCC()`
also uses. Needs `fireSenseUtils@development (>= 0.2.3.9060)`. Version 1.2.0.9017.
- New parameter `fuelCovariates` (default `"domSecOther"`): `prepare_SpreadFit()` now builds the
spread covariates as `dom_agb_<class>`/`sec_agb_<class>` (the ELF's two fuel classes with the
most total treed AGB), `other_agb` and `treedWetland_agb`, chosen once per ELF by the new
Expand Down
10 changes: 6 additions & 4 deletions fireSense_dataPrepFit.R
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ defineModule(sim, list(
person(c("Alex", "M"), "Chubaty", role = "ctb", email = "achubaty@for-cast.ca")
),
childModules = character(0),
version = list(fireSense_dataPrepFit = "1.2.0.9016"),
version = list(fireSense_dataPrepFit = "1.2.0.9017"),
timeframe = as.POSIXlt(c(NA, NA)),
timeunit = "year",
citation = list("citation.bib"),
Expand All @@ -17,7 +17,7 @@ defineModule(sim, list(
reqdPkgs = list("data.table", "fastDummies", "Require",
"PredictiveEcology/reproducible@development (>= 3.2.1.9042)", # CacheGeo re-reads a changed local file
"PredictiveEcology/climateData@development (>= 2.2.3.9006)",
"PredictiveEcology/fireSenseUtils@development (>= 0.2.3.9057)",
"PredictiveEcology/fireSenseUtils@development (>= 0.2.3.9060)",
"FOR-CAST/fireregimetools@main (>= 0.1.0.9008)",
"ggplot2", "parallel", "purrr", "raster", "sf", "sp",
"PredictiveEcology/LandR@development (>= 1.2.0.9015)",
Expand Down Expand Up @@ -78,8 +78,10 @@ defineModule(sim, list(
"this is not a parameter there.")),
defineParameter("minBufferSize", "numeric", 5000, NA, NA,
paste("Minimum number of cells in each fire's burned-plus-buffer sample, applied after `areaMultiplier`.")),
defineParameter("nonflammableLCC", "numeric", c(0, 20, 31, 32, 33), NA, NA,
"Non-flammable classes in `rstLCCs`; the default is water, snow/ice, rock and barren land."),
defineParameter("nonflammableLCC", "numeric", fireSenseUtils::fireSenseNonflammableLCC, NA, NA,
paste("Non-flammable classes in `rstLCCs`; the default,",
"`fireSenseUtils::fireSenseNonflammableLCC`, is no data, water, rock,",
"snow/ice and barren land.")),
defineParameter("nonForestCanBeYoungAge", "logical", TRUE, NA, NA,
paste("if TRUE, burned non-forest will be treated as `youngAge`. Recommended to be TRUE",
"as burned forest is often classified as non-forest")),
Expand Down
10 changes: 5 additions & 5 deletions fireSense_dataPrepFit.html
Original file line number Diff line number Diff line change
Expand Up @@ -2994,7 +2994,7 @@


<h1 class="title toc-ignore">fireSense_dataPrepFit Manual</h1>
<h3 class="subtitle">v.1.2.0.9016</h3>
<h3 class="subtitle">v.1.2.0.9017</h3>
<h4 class="date">Last updated: 2026-09-28</h4>

</div>
Expand All @@ -3004,7 +3004,7 @@ <h4 class="date">Last updated: 2026-09-28</h4>
<h1>fireSense_dataPrepFit Module</h1>
<!-- the following are text references used in captions for LaTeX compatibility -->

<p><a href="https://commonmark.org"><img role="img" aria-label="made-with-Markdown" src="data:image/png;base64,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" alt="made-with-Markdown" /></a></p>
<p><a href="https://commonmark.org"><img src="data:image/png;base64,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" alt="made-with-Markdown" /></a></p>
<!-- if knitting to pdf remember to add the pandoc_args: ["--extract-media", "."] option to yml in order to get the badge images -->
<div id="authors" class="section level4">
<h4>Authors:</h4>
Expand All @@ -3015,7 +3015,7 @@ <h2>Module Overview</h2>
<p>Prepares the data needed to fit <code>fireSense_IgnitionFit</code>, <code>fireSense_EscapeFit</code> and <code>fireSense_SpreadFit</code>.</p>
<div id="module-summary" class="section level3">
<h3>Module summary</h3>
<p>The module combines historical fire records, vegetation, land cover and climate into the covariate tables used to fit the three <code>fireSense</code> processes <span class="citation">(<a href="#ref-Marchal:2017a">Marchal, Steve G. Cumming, et al. 2017b</a>; <a href="#ref-Marchal:2017b">Marchal, Steve G. Cumming, et al. 2017a</a>; <a href="#ref-Marchal:2019">Marchal et al. 2019</a>)</span>: ignition, escape (an ignition that grows beyond one pixel) and spread.</p>
<p>The module combines historical fire records, vegetation, land cover and climate into the covariate tables used to fit the three <code>fireSense</code> processes <span class="citation">(<a href="#ref-Marchal:2017a">Marchal, Cumming, and McIntire 2017b</a>; <a href="#ref-Marchal:2017b">Marchal, Cumming, and McIntire 2017a</a>; <a href="#ref-Marchal:2019">Marchal, Cumming, and McIntire 2019</a>)</span>: ignition, escape (an ignition that grows beyond one pixel) and spread.</p>
<p>Vegetation, land cover and stand age are snapshots, one per year in <code>P(sim)$dataYears</code> (default 2000, 2010, 2020).
Each year in <code>P(sim)$fireYears</code> uses the snapshot at or before it, so no fire year may precede the first data year, and every data year needs at least one fire year.
Climate is annual and is matched to the year of each fire.
Expand Down Expand Up @@ -3812,7 +3812,7 @@ <h3>Module inputs and parameters</h3>
NA
</td>
<td style="text-align:left;">
Non-flammable classes in <code>rstLCCs</code>; the default is water, snow/ice, rock and barren land.
Non-flammable classes in <code>rstLCCs</code>; the default, <code>fireSenseUtils::fireSenseNonflammableLCC</code>, is no data, water, rock, snow/ice and barren land.
</td>
</tr>
<tr>
Expand Down Expand Up @@ -4501,7 +4501,7 @@ <h2>References</h2>
Marchal, Jean, Steve G Cumming, and Eliot J B McIntire. 2017b. <span>“Land Cover, More Than Monthly Fire Weather, Drives Fire-Size Distribution in <span>Southern</span> <span>Québec</span> Forests: <span>Implications</span> for Fire Risk Management.”</span> <em>PLoS ONE</em> 12 (6): 1–17. <a href="https://doi.org/10.1371/journal.pone.0179294">https://doi.org/10.1371/journal.pone.0179294</a>.
</div>
<div id="ref-Marchal:2019" class="csl-entry">
Marchal, Jean, Steven G. Cumming, and Eliot J. B. McIntire. 2019. <span>“Turning <span>Down</span> the <span>Heat</span>: <span>Vegetation</span> <span>Feedbacks</span> <span>Limit</span> <span>Fire</span> <span>Regime</span> <span>Responses</span> to <span>Global</span> <span>Warming</span>.”</span> <em>Ecosystems</em>, ahead of print, May. <a href="https://doi.org/10.1007/s10021-019-00398-2">https://doi.org/10.1007/s10021-019-00398-2</a>.
Marchal, Jean, Steven G. Cumming, and Eliot J. B. McIntire. 2019. <span>“Turning <span>Down</span> the <span>Heat</span>: <span>Vegetation</span> <span>Feedbacks</span> <span>Limit</span> <span>Fire</span> <span>Regime</span> <span>Responses</span> to <span>Global</span> <span>Warming</span>.”</span> <em>Ecosystems</em>, May. <a href="https://doi.org/10.1007/s10021-019-00398-2">https://doi.org/10.1007/s10021-019-00398-2</a>.
</div>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions fireSense_dataPrepFit.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "fireSense_dataPrepFit Manual"
subtitle: "v.1.2.0.9016"
subtitle: "v.1.2.0.9017"
date: "Last updated: 2026-09-28"
output:
bookdown::html_document2:
Expand Down Expand Up @@ -408,7 +408,7 @@ Parameters are in Table \@ref(tab:moduleParams-fireSense-dataPrepFit).
<td style="text-align:left;"> 0, 20, 3.... </td>
<td style="text-align:left;"> NA </td>
<td style="text-align:left;"> NA </td>
<td style="text-align:left;"> Non-flammable classes in `rstLCCs`; the default is water, snow/ice, rock and barren land. </td>
<td style="text-align:left;"> Non-flammable classes in `rstLCCs`; the default, `fireSenseUtils::fireSenseNonflammableLCC`, is no data, water, rock, snow/ice and barren land. </td>
</tr>
<tr>
<td style="text-align:left;"> nonForestCanBeYoungAge </td>
Expand Down
4 changes: 2 additions & 2 deletions tests/testthat/test-domSecOtherFuels.R
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ test_that("fuelCovariates defaults to domSecOther, with species as the only othe
expect_identical(def$fuelCovariates, c("domSecOther", "species"))
})

test_that("reqdPkgs floors fireSenseUtils at >= 0.2.3.9057 (chooseDomSecFuelClasses etc.)", {
test_that("reqdPkgs floors fireSenseUtils at >= 0.2.3.9060 (chooseDomSecFuelClasses, fireSenseNonflammableLCC etc.)", {
md <- SpaDES.core::moduleMetadata(module = moduleName, path = modulePath)
fsu <- grep("fireSenseUtils", md$reqdPkgs, value = TRUE)
expect_length(fsu, 1L)
expect_match(fsu, "0\\.2\\.3\\.9057")
expect_match(fsu, "0\\.2\\.3\\.9060")
})

test_that("prepare_SpreadFit() picks fuelClassRoles once per ELF via chooseDomSecFuelClasses()", {
Expand Down
25 changes: 25 additions & 0 deletions tests/testthat/test-nonflammableLCC.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Root cause: fireSense_dataPrepFit.R:81 hard-coded `nonflammableLCC = c(0, 20, 31, 32, 33)`,
## the NTEMS non-flammable codes, missing SCANFI's combined rock/exposed code (30). Land cover
## built by `fireSenseUtils::makeFireSenseLCC()` from SCANFI carries that code, so rock entered
## fits as flammable non-forest (20% of ELF 14.4's "flammable" pixels in the 2026-09 land cover).
## The default now comes from `fireSenseUtils::fireSenseNonflammableLCC`, the single source of
## truth `makeFireSenseLCC()` itself also uses.

test_that("nonflammableLCC defaults to fireSenseUtils::fireSenseNonflammableLCC", {
md <- SpaDES.core::moduleMetadata(module = moduleName, path = modulePath)
default <- md$parameters$default[md$parameters$paramName == "nonflammableLCC"][[1]]
expect_identical(default, fireSenseUtils::fireSenseNonflammableLCC)
})

test_that("the flammability step marks SCANFI rock/exposed (class 30) non-flammable", {
md <- SpaDES.core::moduleMetadata(module = moduleName, path = modulePath)
default <- md$parameters$default[md$parameters$paramName == "nonflammableLCC"][[1]]

## Toy land cover: coniferous forest (flammable), SCANFI rock/exposed, water.
toyLCC <- terra::rast(nrows = 1, ncols = 3, xmin = 0, xmax = 3, ymin = 0, ymax = 1,
crs = "EPSG:3978")
terra::values(toyLCC) <- c(210L, 30L, 20L)

flammable <- LandR::defineFlammable(toyLCC, nonFlammClasses = default)
expect_equal(as.vector(terra::values(flammable, mat = FALSE)), c(1, 0, 0))
})
Loading