(ref:fireSense-spreadPredict) fireSense_spreadPredict
Eliot McIntire eliot.mcintire@nrcan-rncan.gc.ca [aut, cre], Tati Micheletti tati.micheletti@gmail.com [aut], Ian Eddy ian.eddy@nrcan-rncan.gc.ca [aut], Jean Marchal jean.d.marchal@gmail.com [aut], Alex M. Chubaty achubaty@for-cast.ca [ctb]
Each year, predicts a raster of fire spread probabilities from the parameters fitted by fireSense_spreadFit, for the spread component of fireSense [@Marchal:2017a; @Marchal:2017b; @Marchal:2019].
fireSense_SpreadCovariates are rescaled to [0, 1] using covMinMax_spread, the range of the fitting data.studyAreaWithSpreadParams$params[[1]], the spread probability is a 2- or 3-parameter logistic of the linear combination of the covariates, with lower asymptote lowerSpreadProb.fireSense_SpreadPredicted is the mean over parameter sets, on the flammableRTM grid.Two objects from fireSense_spreadFit are read from the simList though they are not declared as inputs: studyAreaWithSpreadParams (the fitted parameters) and fireSense_spreadFormula (every term must be a column of fireSense_SpreadCovariates). The module stops if studyAreaWithSpreadParams has no parameters. maxFireSpread must have the same value in every module that defines it.
Table @ref(tab:moduleInputs-fireSense-spreadPredict) shows the full list of module inputs.
| objectName | objectClass | desc | sourceURL |
|---|---|---|---|
| covMinMax_spread | data.table |
Minimum and maximum (2 rows) of each covariate in the fitting data, used to rescale the covariates as in fireSense_spreadFit.
|
NA |
| fireSense_SpreadCovariates | data.table |
This year’s covariates, from fireSense_dataPrepPredict. pixelID is the cell index of flammableRTM.
|
NA |
| rasterToMatchLargeELF | SpatRaster |
Only with several fitted ELFs: each pixel’s ELF (ELFind), on the grid of flammableRTM, from fireSense_ELFs with a studyAreaLarge.
|
NA |
| flammableRTM | SpatRaster |
Binary raster, 1 where the pixel is flammable. Template for fireSense_SpreadPredicted.
|
NA |
Summary of user-visible parameters (Table @ref(tab:moduleParams-fireSense-spreadPredict))
| paramName | paramClass | default | min | max | paramDesc |
|---|---|---|---|---|---|
| lowerSpreadProb | numeric | 0.13 | NA | NA | Lower asymptote of the 2- and 3-parameter logistic. |
| ELFblendWidth | numeric | 20000 | NA | NA | With several ELFs: each ELF’s model also predicts this far (m) outside its own pixels, and where predictions overlap they are averaged with weights that fall linearly from 1 inside the ELF to 0 at this distance outside it. 50/50 at a boundary. The default is the buffer fireSenseUtils::makeELFs() puts around ELFs. |
| maxFireSpread | numeric | 0.28 | NA | NA |
Upper limit on spreadProb used when fitting. Here it is only checked to be the same in every module that defines it.
|
| .runInitialTime | numeric | 0 | NA | NA | Time of the first prediction. |
| .runInterval | numeric | 1 | NA | NA |
Interval between predictions, in years. NA predicts once.
|
| .saveInitialTime | numeric | NA | NA | NA |
Time of the save event, which does nothing. NA means never.
|
| .studyAreaName | character | NA | NA | NA | Human-readable name for the study area used. |
| .useCache | logical | FALSE | NA | NA | Should this entire module be run with caching activated? This is generally intended for data-type modules, where stochasticity and time are not relevant |
init: checks maxFireSpread against the other modules; schedules run at .runInitialTime, and save at .saveInitialTime if that is not NA.run: makes the prediction described above; repeats every .runInterval.save: does nothing, and says so in a message.The module does not plot anything.
Description of the module outputs (Table @ref(tab:moduleOutputs-fireSense-spreadPredict)).
| objectName | objectClass | desc |
|---|---|---|
| fireSense_SpreadPredicted | SpatRaster | Spread probability of each flammable pixel, this year. |
| fireSense_SpreadSD | SpatRaster|numeric |
The fitted sd of the per-year random effect on logit spread probability (yearSpreadSD; 0 if the fit has none), for fireSense_burn. One number with one fitted ELF; with several, a raster blended across ELFs with the weights of fireSense_SpreadPredicted.
|
Runs after fireSense_dataPrepPredict (covariates) and fireSense_spreadFit (parameters). fireSense_SpreadPredicted is used by fireSense_burn to spread fires. It is normally run as part of the fireSense module group.