Skip to content

[BurnP3+ Bug]: Summarize transformer fails when no FBP output options specified in v2.6.5 #112

@katieb1

Description

@katieb1

Contact Details

No response

What happened?

It looks like there's an issue with merging scenarios with empty FBP output options in the burnProbability.R script. The script doesn't properly handle NULL or empty values when checking the Individual column and other FBP output statistics. The script uses logical operators (&, |) that expect single TRUE/FALSE values, but when datasheets are empty, it receives NULL or multi-length vectors instead.

These are the two errors that I've come across:

  1. checking if per-fire FBP maps should be generated:
Error in if (!is.na(componentOutputOptions$Individual) & componentOutputOptions$Individual) { :
  the condition has length > 1
Execution halted 
  1. checking if specific FBP statistics are requested
Error in if (is.na(componentOutputOptions[statistic]) | !as.logical(componentOutputOptions[[statistic]])) next :
  the condition has length > 1
Execution halted

What component are you seeing the problem on?

R

Relevant log output

SyncroSim Version: 3.1.20.0
Operating System: Unix 5.14.0.570

Packages:
burnP3Plus -> 2.6.4
burnP3PlusFireSTARR -> 1.5.3
core -> 3.1.20

Parent Scenario is: [25] Merge & Summarize
Result scenario is: [29] Merge & Summarize ([25] @ 21-Jan-2026 11:55)

[Information] External input files have been excluded from this result scenario.

--------------------------------------------
STARTING SIMULATION: 01/21/2026 : 11:55:24
--------------------------------------------

START TRANSFORMER: 3.5 - Merge Fire Growth Scenarios

This Library is capable of using conda environments, but the 'Use conda' property is disabled.
To enable conda, refer to https://docs.syncrosim.com/getting_started/quickstart_conda.html

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of rsyncrosim (2.1.9) than BurnP3+ was built against (2.1.0).

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of terra (1.8.80) than BurnP3+ was built against (1.5.21).

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of sf (1.0.22) than BurnP3+ was built against (1.0.7).

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of dplyr (1.1.4) than BurnP3+ was built against (1.1.2).

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of codetools (0.2.20) than BurnP3+ was built against (0.2.19).

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of data.table (1.17.8) than BurnP3+ was built against (1.14.8).

[Information] 3.5 - Merge Fire Growth Scenarios: Using a newer version of arrow (22.0.0) than BurnP3+ was built against (14.0.1).

Finished parsing scenarios to merge in 16 seconds

Merging 4 scenarios.

Finished building merge crosswalk in 17 seconds

Finished merging tabular data in 1.2 minutes

Finished merging burn perimeters in 5 seconds

Finished merging parquet files in 10.6 minutes

3.5 - Merge Fire Growth Scenarios post processing => Total time: 00:00:00
3.5 - Merge Fire Growth Scenarios saving results => Total time: 00:00:00
3.5 - Merge Fire Growth Scenarios Total time: 00:18:15
END TRANSFORMER: 3.5 - Merge Fire Growth Scenarios

START TRANSFORMER: 4 - Summarize Burn Probability

This Library is capable of using conda environments, but the 'Use conda' property is disabled.
To enable conda, refer to https://docs.syncrosim.com/getting_started/quickstart_conda.html

[Information] 4 - Summarize Burn Probability: Using a newer version of rsyncrosim (2.1.9) than BurnP3+ was built against (2.1.0).

[Information] 4 - Summarize Burn Probability: Using a newer version of terra (1.8.80) than BurnP3+ was built against (1.5.21).

[Information] 4 - Summarize Burn Probability: Using a newer version of sf (1.0.22) than BurnP3+ was built against (1.0.7).

[Information] 4 - Summarize Burn Probability: Using a newer version of dplyr (1.1.4) than BurnP3+ was built against (1.1.2).

[Information] 4 - Summarize Burn Probability: Using a newer version of codetools (0.2.20) than BurnP3+ was built against (0.2.19).

[Information] 4 - Summarize Burn Probability: Using a newer version of data.table (1.17.8) than BurnP3+ was built against (1.14.8).

[Information] 4 - Summarize Burn Probability: Using a newer version of arrow (22.0.0) than BurnP3+ was built against (14.0.1).

Finished preparing inputs in 1 minutes

Burn Summary:
559249 fires burned.
248040 fires discarded due to insufficient burn area.
56% of simulated fires were above the minimum fire size.
30% of extra simulated fires not used because target ignition counts were already met.

Finished summarizing burn status and resampling fires in 10 seconds

Finished building burn summary maps in 1 hours

[Failure] The external program failed.
Program name was: Rscript
Arguments were: "/home/ubuntu/.syncrosim/Packages/burnP3Plus/2.6.4/burnProbability.R"
Exit code was: 1
More information:
Joining with `by = join_by(Iteration)`
Joining with `by = join_by(Iteration, FireID)`
Joining with `by = join_by(Iteration, FireID)`
Joining with `by = join_by(Iteration, FireID)`
Error in if (!is.na(componentOutputOptions$Individual) & componentOutputOptions$Individual) { :
  the condition has length > 1
Execution halted

--------------------------------------------
SIMULATION COMPLETE: 01/21/2026 : 13:15:33
--------------------------------------------
Total simulation time: 01:20:08

Approvals Process

  • Testing For Issue
  • Merge

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions