Difference between revisions of "WRF-Fire development notes"

From openwfm
Jump to navigation Jump to search
(→‎2011: fire -> sfire)
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
:''Main article: [[WRF-Fire]]. To get the software, see [[How to get WRF-Fire]].''
+
:''Main article: [[WRF-SFIRE user guide]]. To get the software, see [[How to get WRF-Fire]].''
  
 
This page tracks activity in the [[WRF-Fire]] and related software development. All members of the community are welcome to [[Open Wildland Fire Modeling E community Wiki#How to get an account|get an account]] and [http://www.openwfm.org/w/index.php5?title=WRF-Fire_development_notes&action=edit edit].  
 
This page tracks activity in the [[WRF-Fire]] and related software development. All members of the community are welcome to [[Open Wildland Fire Modeling E community Wiki#How to get an account|get an account]] and [http://www.openwfm.org/w/index.php5?title=WRF-Fire_development_notes&action=edit edit].  
Line 7: Line 7:
 
:''Add your suggestions or plans here. If you want to comment on any of the items, please start a new section of the [[Talk:WRF-Fire development notes|talk page]] and link to it here.''
 
:''Add your suggestions or plans here. If you want to comment on any of the items, please start a new section of the [[Talk:WRF-Fire development notes|talk page]] and link to it here.''
  
* Clamp ignition point to the nearest cell center to avoid delay, see also [[WRF-Fire ignition]]
+
* Heat flux extinction depth dependent on fuel type and possibly times step
 
* Interpolate by angle between different backing, flank, and forward spread rates.
 
* Interpolate by angle between different backing, flank, and forward spread rates.
 
* Rework the propagation scheme so that the speed is computed only once per time step instead inside the right-hand-side in the Runge-Kutta method.
 
* Rework the propagation scheme so that the speed is computed only once per time step instead inside the right-hand-side in the Runge-Kutta method.
Line 32: Line 32:
 
:''When you start on an item from the wish list, please move the item here and add a link to the branch where you work on it.''
 
:''When you start on an item from the wish list, please move the item here and add a link to the branch where you work on it.''
  
 +
* Clamp ignition point to the nearest cell center to avoid delay, see also [[WRF-Fire ignition]]
 
* Fire cell-based fire propagation to get ignition time in lieu of a level-set function {{WRF-Fire-branch|vk/mergge}}  
 
* Fire cell-based fire propagation to get ignition time in lieu of a level-set function {{WRF-Fire-branch|vk/mergge}}  
 
* Assimilation of station data into the fuel moisture model {{WRF-Fire-branch|mv/moisture}}
 
* Assimilation of station data into the fuel moisture model {{WRF-Fire-branch|mv/moisture}}
 
* Ignition from a given fire perimeter, with atmosphere and fuel consumption spin-up, by specifying ignition times. See [[Talk:WRF-Fire development notes#Fire spin-up|discussion]].
 
* Ignition from a given fire perimeter, with atmosphere and fuel consumption spin-up, by specifying ignition times. See [[Talk:WRF-Fire development notes#Fire spin-up|discussion]].
* Generate KML files for visualization in {{wp|Google Earth}}. See [[Talk:WRF-Fire development notes#Google_Earth|discussion]]
+
* Real test problems with real fire data comparing fine and coarse resolutions.
* Real test problem with real fire data at both fine and coarse resolution.
 
 
* Better quadrature for fuel left: The current scheme is second order accurate when all 4 corners of a fire mesh cell are on fire, and exact when all 4 corners are not on fire. In the case when only some of the 4 corners are on fire, the only requirements are that the transition when nodes ignite is continuous and monotonous. In that case, the scheme may not be very accurate. A better scheme would be accurate in more cases and have natural invariance properties. {{WRF-Fire-branch|jm2/mkim}} {{WRF-Fire-commit|4cf71f8d9e4309281321ad7d38e4f028a005fa8a|last commit}} {{WRF-Fire-branch|vk/test}}
 
* Better quadrature for fuel left: The current scheme is second order accurate when all 4 corners of a fire mesh cell are on fire, and exact when all 4 corners are not on fire. In the case when only some of the 4 corners are on fire, the only requirements are that the transition when nodes ignite is continuous and monotonous. In that case, the scheme may not be very accurate. A better scheme would be accurate in more cases and have natural invariance properties. {{WRF-Fire-branch|jm2/mkim}} {{WRF-Fire-commit|4cf71f8d9e4309281321ad7d38e4f028a005fa8a|last commit}} {{WRF-Fire-branch|vk/test}}
 
:This affects the amount of heat output from the cell in the timesteps when the fireline crosses the cell.
 
:This affects the amount of heat output from the cell in the timesteps when the fireline crosses the cell.
 
* {{ccm|Data_assimilation_seminar|Data assimilation}}
 
* {{ccm|Data_assimilation_seminar|Data assimilation}}
 
* Dynamically determine midflame height and interpolate the wind there. See [[Talk:WRF-Fire development notes#Fuel height|discussion]].
 
* Dynamically determine midflame height and interpolate the wind there. See [[Talk:WRF-Fire development notes#Fuel height|discussion]].
* Conversion of atmosphere state to use outputs of unmodified WRF to drive the standalone model. See [[Talk:WRF-Fire development notes#Standalone_driver|discussion]].
 
  
 
==Done==
 
==Done==
Line 103: Line 102:
 
* Vertical wind profiles in Matlab for diagnostics {{WRF-Fire-commit|bee953f99cdcd5260389fa3ab5ef5a7529770e2e|Sun Jul 25 2010}}
 
* Vertical wind profiles in Matlab for diagnostics {{WRF-Fire-commit|bee953f99cdcd5260389fa3ab5ef5a7529770e2e|Sun Jul 25 2010}}
 
* Interpolate wind to a given height (the same  for all fuels) from log profile, and set the height as fire_wind_height in the namelist. [http://github.com/jbeezley/wrf-fire/blob/76d3724e5ce9a69ba51ed650667058e9e583ae21/wrfv2_fire/phys/module_fr_sfire_driver.F#L1023 Sep 11 2010], added wind reduction factor with defaults per Behave {{WRF-Fire-commit|dce06344012c38151fef29b2924b9fc2de6a71cb|16 Sep 2010}}
 
* Interpolate wind to a given height (the same  for all fuels) from log profile, and set the height as fire_wind_height in the namelist. [http://github.com/jbeezley/wrf-fire/blob/76d3724e5ce9a69ba51ed650667058e9e583ae21/wrfv2_fire/phys/module_fr_sfire_driver.F#L1023 Sep 11 2010], added wind reduction factor with defaults per Behave {{WRF-Fire-commit|dce06344012c38151fef29b2924b9fc2de6a71cb|16 Sep 2010}}
 +
* Interpolating geographic coordinates to the fire mesh in WPS {{WRF-Fire-commit|d7ebe29f00b60e03d4f93c1ea0b0013b5f96fb6b|17 Sep 2010}}
 
* [[How to diagnose fuel properties in WRF-Fire|Rate of spread diagnostics]] {{WRF-Fire-commit|334bf9417b5397ed3692b8f469a4914ed433e051|16 Sep 2010}}.
 
* [[How to diagnose fuel properties in WRF-Fire|Rate of spread diagnostics]] {{WRF-Fire-commit|334bf9417b5397ed3692b8f469a4914ed433e051|16 Sep 2010}}.
 
* Support for NetCDF 4 output files based on HDF5 {{WRF-Fire-commit|06c276f324873bc4c6f82c27298430435989ab97|16 Oct 2010}}.
 
* Support for NetCDF 4 output files based on HDF5 {{WRF-Fire-commit|06c276f324873bc4c6f82c27298430435989ab97|16 Oct 2010}}.
Line 113: Line 113:
 
* Perimeter ignition from specified ignition times on the whole domain, allowing for atmosphere and fuel consumption spin-up. {{WRF-Fire-commit|716cf59c2313e3bb483a57db02211d17b8d095f7|Mar 24, 2011}} in ideal run. See [[Talk:WRF-Fire development notes#Fire spin-up|discussion]].
 
* Perimeter ignition from specified ignition times on the whole domain, allowing for atmosphere and fuel consumption spin-up. {{WRF-Fire-commit|716cf59c2313e3bb483a57db02211d17b8d095f7|Mar 24, 2011}} in ideal run. See [[Talk:WRF-Fire development notes#Fire spin-up|discussion]].
 
* WRF-Fire [http://mailman.ucar.edu/pipermail/wrf-fire/2011-April/000052.html released with WRF 3.3 Apr 6, 2011]. The release code is based on the {{WRF-Fire-commit|fa26d08d8154124ac51514b11bc671eb312e20f8|Nov 20, 2010}} version with bug fix {{WRF-Fire-commit|b964224219585ab198d58510c8f7a0cf129b1990|Jan 17, 2011}}, with [[Changes in WRF-Fire 3.3 release|further changes made at NCAR]].
 
* WRF-Fire [http://mailman.ucar.edu/pipermail/wrf-fire/2011-April/000052.html released with WRF 3.3 Apr 6, 2011]. The release code is based on the {{WRF-Fire-commit|fa26d08d8154124ac51514b11bc671eb312e20f8|Nov 20, 2010}} version with bug fix {{WRF-Fire-commit|b964224219585ab198d58510c8f7a0cf129b1990|Jan 17, 2011}}, with [[Changes in WRF-Fire 3.3 release|further changes made at NCAR]].
* Started using the name [[SFIRE]] instead of [[WRF-Fire]], June 2011.
+
* Started using the name [[SFIRE]] instead of [[WRF-Fire]] for the whole code, June 2011. ''sfire'' was used throughout the code already.
 
* Reference paper [http://dx.doi.org/10.5194/gmd-4-591-2011 published] in [http://www.geoscientific-model-development.net GMD] July 7, 2011.
 
* Reference paper [http://dx.doi.org/10.5194/gmd-4-591-2011 published] in [http://www.geoscientific-model-development.net GMD] July 7, 2011.
 
* Timing from [http://www.cesm.ucar.edu/ ESMF] [http://www.mmm.ucar.edu/wrf/users/docs/user_guide/users_guide_chap7.html#_Toc75337319 structures] to support variable time step and ignition in a restart run. {{WRF-Fire-commit|e062dbf62b7591e71a486a7c512efd75e48ed9a1|Jul 24, 2011}} See [[Talk:WRF-Fire development notes#Ignition_Time|discussion]].
 
* Timing from [http://www.cesm.ucar.edu/ ESMF] [http://www.mmm.ucar.edu/wrf/users/docs/user_guide/users_guide_chap7.html#_Toc75337319 structures] to support variable time step and ignition in a restart run. {{WRF-Fire-commit|e062dbf62b7591e71a486a7c512efd75e48ed9a1|Jul 24, 2011}} See [[Talk:WRF-Fire development notes#Ignition_Time|discussion]].
Line 133: Line 133:
 
* [[Coupling with WRF-Chem]] RADM2 and MOZART models {{WRF-Fire-commit|d00789fe5f80976111024f9cdb03ca63f5900478|Jan 17, 2013}}
 
* [[Coupling with WRF-Chem]] RADM2 and MOZART models {{WRF-Fire-commit|d00789fe5f80976111024f9cdb03ca63f5900478|Jan 17, 2013}}
 
*  [[Assimilation of RAWS fuel moisture data]], Apr 25, 2013
 
*  [[Assimilation of RAWS fuel moisture data]], Apr 25, 2013
 +
* Utility for choosing [[WRF-Fire ignition|ignition points]] on the mesh {{WRF-Fire-commit|e5b6a70fb937534e6cc5868b727fb941bfc04f8a|Jun 15, 2013}}
 +
* [http://ccm.ucdenver.edu/reports/rep316.pdf Reference paper] describing new features since 2011 and [http://mops.gov.il/English/HomelandSecurityENG/NFServices/Pages/FirePredictionSystem.aspx operational deployment in Israel] Oct 9, 2013
 +
 +
===2014===
 +
*  [[Assimilation of RAWS fuel moisture data]] in standalone
 +
===2015===
 +
===2016===
 +
* [[Fire replay and cycling]] {{WRF-Fire-commit|efd663a93ad932a5bb3b73d32c5ff8a457d75a85|Apr 28, 2016}}
  
 
==Back burner==
 
==Back burner==

Latest revision as of 05:51, 19 July 2017

Main article: WRF-SFIRE user guide. To get the software, see How to get WRF-Fire.

This page tracks activity in the WRF-Fire and related software development. All members of the community are welcome to get an account and edit.

Wish list

Add your suggestions or plans here. If you want to comment on any of the items, please start a new section of the talk page and link to it here.
  • Heat flux extinction depth dependent on fuel type and possibly times step
  • Interpolate by angle between different backing, flank, and forward spread rates.
  • Rework the propagation scheme so that the speed is computed only once per time step instead inside the right-hand-side in the Runge-Kutta method.
  • Add flux limiter option as in Rehm and McDermott 2009.
  • Flank spread rate as a function of base rate and TKE/turbulent fluxes
  • Turn off artificial diffusion for good
  • Implement full BURNUP algorithm instead of the simplification.
  • Keep standalone model working.
  • Add a canopy fire model for passive (colocated with surface fire) canopy fire.
  • Parametrize ignition startup. See discussion.
  • Input fuel moisture from the WRF surface model. See discussion.
  • Better level set method: High-order ENO and WENO, discontinuous Galerkin.
  • Rewrite the level set method so that the level set function is ignition time minus current time and get rid of the separate tign array.
  • Use the Fire SDK to compute ROS.
  • ROS model from Balbi et al 2009.
  • Force the fire to a given location from a file read on restart. This will require fire history replay and atmosphere spin-up.
  • Modify fuel from a file on restart to reflect suppression efforts.
  • Ignition & fire modification from MODIS fire detection.
  • Add fractional fuel volume to fuel categories and generate random fuel coverage.
  • Add other variables in the National Fire Danger Rating System as diagnostics to WRF output.

In progress

When you start on an item from the wish list, please move the item here and add a link to the branch where you work on it.
  • Clamp ignition point to the nearest cell center to avoid delay, see also WRF-Fire ignition
  • Fire cell-based fire propagation to get ignition time in lieu of a level-set function branch vk/mergge
  • Assimilation of station data into the fuel moisture model branch mv/moisture
  • Ignition from a given fire perimeter, with atmosphere and fuel consumption spin-up, by specifying ignition times. See discussion.
  • Real test problems with real fire data comparing fine and coarse resolutions.
  • Better quadrature for fuel left: The current scheme is second order accurate when all 4 corners of a fire mesh cell are on fire, and exact when all 4 corners are not on fire. In the case when only some of the 4 corners are on fire, the only requirements are that the transition when nodes ignite is continuous and monotonous. In that case, the scheme may not be very accurate. A better scheme would be accurate in more cases and have natural invariance properties. branch jm2/mkim last commit branch vk/test
This affects the amount of heat output from the cell in the timesteps when the fireline crosses the cell.

Done

Move the item here when done and add a link to the contributor's last commit before the merge into master. Links to major milestone events can be also added to the timeline.

2004

  • Ned Patton and Janice Coen propose WRF-Fire in a workshop paper and formulate the fundamental principles of how to combine WRF with the fire spread model from CAWFE.

2005

  • Standalone fire model from CAWFE rewritten in F90 by Ned Patton received Mar 31 2005

2006

  • John Michalakes writes specs for support of fire grids in WRF Feb 6 2006

2007

  • Alternative implementation of fire grid in nested domains in WRF by Jon Beezley Feb 29 2007
  • WRF-Fire development started from the WRF+CAWFE tracers code received from Ned Patton, Jon set up the git repository Jun 6 2007
  • Matlab prototype of level set method working Aug 30, 2007
  • Imported a modular rewrite with a new standalone level set code, called SFIRE Sep 5 2007
  • WRF+spread by level set coupled code working Nov 2 2007
  • Paper with description of WRF-Fire and data assimilation posted on arXiv Dec 24 2007
  • Ignition controlled from namelist Dec 24 2007

2008

2009

2010

2011

2012

2013

2014

2015

2016

Back burner

Items from the wish list that are around for a long time or may never be done should be moved here.
  • Merge additional changes made independently in the WRF 3.3 release.
  • Convert ignition namelist variables into arrays for multiple ignitions.
  • Add running (not colocated with surface fire) canopy fire.
  • Support WRF-NMM in addition to WRF-ARW
  • Take the winds from a given distance behind the fireline, and set the distance in the namelist.
  • Add fuel models & fuel modeling schemes, esp. Scott-Burgan categories. Input the same fuel description files as BehavePlus and FARSITE.
  • Generate input data for WFDS.

See also

External links