ERF-Fire (Do Not Merge - Broken with Wind Solver)#3417
Open
hgopalan wants to merge 167 commits into
Open
Conversation
…terpolation, fuel moisture fix, WAF)
…FireUtils moisture guard; FireLayer time param
…Fire and fire init in InitData_post
- Update all 36 Fire input files to use periodic boundary conditions (geometry.is_periodic = 1 1 0) - Remove explicit xlo/xhi/ylo/yhi boundary type specifications where not needed - Create 6 new ABL-enhanced fire configurations in Atmospheric_Boundary_Layer/ABL_with_MRF/ - Include physically realistic pre-fire scenarios: neutral, unstable, diurnal, extreme_heating, high_shear, weak_convection_transition - Copy sounding files and verify wind parameter consistency - Create comprehensive README with physical justification and usage instructions
…rrain correction specification
…mplicitPre.H - Source/PBL/Shoc/ERF_ShocDriver.cpp: Replace 'zero' with 'Real(0.)' - Source/TimeIntegration/ERF_ImplicitPost.H: Move l_use_mrf_cg declaration outside if blocks - Source/TimeIntegration/ERF_ImplicitPre.H: Move l_use_mrf_cg declaration outside if blocks These files contain no fire-related references. Step 1 of ERF-Fire sync.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here's a concise combined PR summary:
ERF-Fire: Wildfire Spread Module + MRF PBL Enhancements
Branch:
hgopalan:ERF-Fire→erf-model:developmentOverview
This PR delivers two major additions to ERF: a comprehensive 2D wildfire propagation module coupled to the atmospheric solver, and enhancements to the MRF planetary boundary layer scheme — including a novel fire–PBL coupling mechanism.
Part 1: MRF PBL Enhancements
New optional parameters for
erf.pbl_type = MRF(all disabled by default):erf.enable_mrf_countergradientfalseerf.enable_mrf_unbounded_vpertfalseerf.pbl_mrf_highres_boundsfalseerf.pbl_mrf_use_zero_ri_extentfalseerf.pbl_mrf_fire_thermal_excessfalseerf.mrf_fire_q_threshold50.0 W/m²erf.mrf_fire_t_excess_cap50.0 KNew test suite:
Exec/CanonicalTests/ABL/MRF_Enhancements/— 17 configurations covering neutral, stable, unstable, cloud-topped, diurnal, marine, high-shear, arctic, and edge cases.Part 2: Wildfire Spread Module
New CMake option
ERF_ENABLE_FIRE(defaultON). All fire code is guarded by#ifdef ERF_ENABLE_FIRE. The fire module operates on a refined 2D horizontal grid (erf.fire.grid_ratio) and is fully coupled to ERF's atmospheric solver.Core physics: Rothermel (1972) rate-of-spread with Wind Adjustment Factor, MEWS wind cap, and FARSITE terrain corrections. Alternative ROS models: MacArthur (1966), Balbi (2009), Cheney-Gould (1998), and BEHAVE multi-class Rothermel.
Fire front propagation: FARSITE elliptical Lagrangian scheme (default) or level-set advection (WENO5-Z + SSP-RK3 + Sussman reinitialization).
Atmospheric coupling: Three modes —
passive,lagged(default, WRF-Fire parity),synchronous. Fire heat flux distributed through the atmospheric column via exponential vertical profile; latent heat injection supported. Thepbl_mrf_fire_thermal_excessparameter (Part 1) additionally feeds fire heat into the MRF PBL height diagnostic.Additional capabilities: Dynamic fuel moisture (time-lag ODEs), Albini (1983) stochastic ember spotting, Van Wagner/Cruz crown fire, multi-ignition schedule and polygon ignition, fire startup acceleration (size-based and VanWagner temporal), flame temperature/tilt/intensity diagnostics, spatially varying fuel maps (ESRI ASCII and FARSITE LCP) with firebreak barriers, per-fuel wind height extraction (WRF-SFIRE
fcwhconvention).Testing: Canonical test suite in
Exec/CanonicalTests/Fire/organized by feature, plus pure-Python unit tests requiring no compiled binary. Fire statistics CSV and AMReX/ParaView-compatible plotfile output on native fire grid each timestep. Combined ABL+fire test cases inExec/CanonicalTests/Fire/Atmospheric_Boundary_Layer/ABL_with_MRF/.References
MRF PBL: Hong & Pan (1996) MWR · Hong et al. (2006) MWR
Fire module: Rothermel (1972) · Finney (2004) · Richards (1990) · Anderson (1983) · Albini (1983) · Van Wagner (1977) · Cruz et al. (2005) · McAlpine & Wakimoto (1991) · Balbi et al. (2009) · Cheney et al. (1998)