bcgov / bcgov/wps

SFMS: Add D-2 fuel model to FBP System code repo

Open
#5,808 0 comments 0 reactions 0 assignees View on GitHub
Task
Dominant language
Python
Stars
65
Forks
11
Avg merge
21h 25m
Merged PRs (30d)
70

Description

**Describe the task**

Contribute equations for the D-2 fuel type to the FBP Python code repository maintained by CFS.

**Acceptance Criteria**
- [ ] Use D-1 fuel type equations and parameters for the D-2 fuel type.
- [ ] Add a conditional statement to Surface Fuel Consumption (SFC) where no fuel is consumed if the BUI is less than 80.
- [ ] Multiply the initial rate of spread (RSI) by 1/5.
- [ ] Add a conditional statement to the Buildup Effect (BE) where initial rate of spread is multiplied by a BE of zero if the BUI is less than 80.

**Additional context**
- **Reference:** Alexander M.E. 2010. Surface fire spread potential in trembling aspen during summer in the Boreal Forest Region of Canada. The Forestry Chronicle 86(2), 200-212. https://doi.org/10.5558/tfc86200-2
- Pseudo code for D-2 fuel type equations follows:
```
if(fuel_type == "D-2") {
# Surface Fuel Consumption (Eq.9-25)
SFC = if(BUI < 80) { 0 } else { 1.5 * ( 1 - exp(-0.0183 * BUI) ) }
# Initial Rate of Spread (Eq. 26-34)
RSI = 0.2 * a[d1] * (1 - exp(-b * ISI))^c0
# Buildup effect on spread rate (Eq.54)
BE = if(BUI < 80) { 0 } else { exp( 50 * log(q) * (1/BUI - 1/BUI0) ) }
}

# The following D-1 fuel type parameters can be assigned to the D-2 fuel type
a = 30
b = 0.0232
c0 = 1.6
q = 0.9
BUI0 = 32

Contributor guide

Open the contributing guide

Research direction

Locate the existing D-1 fuel-type implementation and its related tests or entry points in the FBP Python code repository, then read how SFC, RSI, and BE equations are selected by fuel type. Add D-2 using the specified D-1 parameters and BUI conditions, and verify that the acceptance-criteria cases produce the expected values.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.