Skip to content

farsite: match the reference on a slope - #269

Merged
antonio-leblanc merged 3 commits into
devfrom
farsite-slope
Nov 10, 2026
Merged

antonio-leblanc merged 3 commits into
devfrom
farsite-slope

Conversation

@antonio-leblanc

@antonio-leblanc antonio-leblanc commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

second PR of #265

  • the normal carries the slope in z, so every model gets sinθ and the wind × cosθ. only the farsite model converts back to tanθ and horizontal wind, core untouched
  • skipped with normalScheme=splines, where the normal has no z. slope clamped to ±0.99 so rough terrain gives no NaN; a NaN slope stays NaN
  • test_farsite_reference.py: 468/468 with medians, head on slope 1.000 vs reference (was 0.754 at 30°). the slope gap is now asserted
  • with --scheme splines the head still differs, also on flat ground: the spline normals do not point at the head. same as before this PR, only reported
  • changes results on slopes, CHANGELOG entry first under Fixed, with fix(propagation): Farsite reads ForeFire's m/s wind and slope tangent, upslope only (#231) #242. no runff case uses Farsite

rothermel and balbi get the same sinθ, up to filippi

if the core stops putting the slope in the normal z, this conversion has to go (comment in the code). computeSpeed[] with Farsite now takes the same sinθ inputs as the nodes

@antonio-leblanc
antonio-leblanc changed the base branch from farsite-reference-test to dev November 10, 2026 19:52
@antonio-leblanc
antonio-leblanc merged commit 2cf125c into dev Nov 10, 2026
7 checks passed
@antonio-leblanc
antonio-leblanc deleted the farsite-slope branch November 11, 2026 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant