Difference between revisions of "WRF-Fire"

From openwfm
Jump to navigation Jump to search
 
(131 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''WRF-Fire''' combines the Weather Research and Forecasting model ([[WRF]]) with a fire spread model, implemented by the [[wikipedia:Level set method|level set method]].
+
{{historical|WRF-SFIRE user guide}}
 +
{{software}}
 +
: ''The code under continued development in our repository and mirrors [http://repo.or.cz/git-browser/by-commit.html?r=wrffire.git] [https://github.com/jbeezley/wrf-fire/] is called '''[[SFIRE]]''', and the coupled code is called [[WRF]] and [[SFIRE]]. We reserve the designation [[WRF-Fire]] for the [[fire code in WRF release|version released with WRF]].''
  
WRF-Fire is written in [[wikipedia:Fortran|Fortran 90]] following [http://www.mmm.ucar.edu/wrf/WG2/WRF_conventions.html WRF coding conventions]. It is called from WRF as a subroutine and it calls WRF libraries for utilities such as I/O and communication between [[MPI]] processes. WRF-Fire executes on a part of the domain, called a tile (in WRF nomenclature). All communication between the tiles is in the caller; thus, one time step requires multiple calls to WRF-Fire. WRF-Fire can also run independently without an atmosphere model by substituting its own main program and linking with stubs that replace the WRF subroutines called, though this capability has fallen behind at the moment.
+
'''WRF-Fire''' combines the Weather Research and Forecasting model ([[WRF]]) with a fire code implementing a surface fire behavior model, called [[SFIRE]], based on semi-empirical formulas calculate the rate of spread of the fire line (the interface between burning and unignited fuel) based on fuel properties, wind velocities from WRF, and terrain slope.  The fire spread is implemented by the [[wikipedia:Level set method|level set method]]. The heat release from the fire line as well as post-frontal heat release feeds back into WRF dynamics, affecting the simulated weather in the vicinity of the fire.  The fire code is written in [[wikipedia:Fortran|Fortran 90]] following [http://www.mmm.ucar.edu/wrf/WG2/WRF_conventions.html WRF coding conventions]. It is integrated as a physics option, called from WRF as a subroutine. It calls WRF libraries for utilities such as I/O and communication between [[MPI]] processes. The fire code executes on a part of the domain, called a tile (in WRF nomenclature). All communication between the tiles is in the caller; thus, one time step requires multiple calls to WRF-Fire.  
 +
 
 +
WRF-Fire is essentially a reimplementation of [[CAWFE]] with the weather model replaced by WRF and with the fire spread implemented by the level set method in SFIRE. The subroutines for the computation of the rate of spread and for the insertion of the heat flux to the atmosphere are taken from [[CAWFE]]. Click on the following images for the origins and a summary of current capabilities of WRF-Fire:
 +
 
 +
[[Image:Agu-poster-8mp.gif|400px]] [[Image:Coupled-wrf-fire-moisture-chem.png|400px]]
  
 
==Distribution==
 
==Distribution==
  
===Current development version===
+
WRF-Fire is public domain software, [http://github.com/jbeezley/wrf-fire/blob/master/license.txt released] under the [http://www.mmm.ucar.edu/wrf/users/public.html WRF public domain notice and disclaimer].
  
This version is currently based on upcoming WRF 3.2. It also contains a number of additional tools such as [[Matlab]] scripts for visualization. See [[How to run WRF-Fire]] for installation instructions.
+
The development version is called [[SFIRE]]; further information and links to downloads are in the [[Coupled WRF and SFIRE model user's guide|Users' Guide]]. We'll be happy to consider [[WRF-Fire development notes#Wish list|additional features]]. A restricted version is [[Fire_code_in_WRF_release|available in WRF releases]].
 
* [http://github.com/jbeezley/wrf-fire/tree/master Source code repository]
 
* [http://repo.or.cz/git-browser/by-commit.html?r=wrffire.git Branches and recent activity]
 
  
===From WRF release===
+
==Contact==
  
The current version of WRF-Fire is based on [[WRF]] 3.1. WRF included a version of WRF-Fire quietly since WRF 3.1.1 in Summer 2009. The official, supported release of WRF-Fire with WRF is planned with WRF 3.2 in late March 2010.
+
* Janice Coen (WRF release version), Jonathan Beezley or  Jan Mandel (development version)
  
* [http://www.mmm.ucar.edu/wrf/users/download/get_source.html WRF download]
+
==File format==
 +
 
 +
All input, output, and restart files (with the complete model state) are in [[NetCDF]] format.
 +
 
 +
==Programming language and environments==
 +
 
 +
Fortran 90 with CPP preprocessor. Part of the WRF code is generated by C programs from a description in the registry.
  
 
==Documentation==
 
==Documentation==
  
* [http://math.ucdenver.edu/~jmandel/fires/wrf-fire-guide.pdf User's guide]
+
===Technical description===
* [http://www.openwfm.org/wiki/images/6/6f/Wrf-fire-doc.pdf|Technical description]
 
  
==Howtos==
+
* The algorithms and software structure of WRF-Fire are described in  Jan Mandel, Jonathan D. Beezley, and Adam K. Kochanski, [http://www.geosci-model-dev-discuss.net/4/497/2011/gmdd-4-497-2011.html '''Coupled atmosphere-wildland fire modeling with WRF-Fire version 3.3'''], [http://www.geoscientific-model-development.net Geoscientific Model Development Discussions (GMDD)] 4, 497-545, 2011. {{doi|10.5194/gmdd-4-497-2011}}. Current version is maintained at {{arXiv|1102.1343}}. An older version is in the sections  ''Fireline propagation model'' and ''Level set-based wildland file model'' of Jan Mandel, Jonathan D. Beezley, Janice L. Coen, Minjeong Kim, ''Data Assimilation for Wildland Fires: Ensemble Kalman filters in coupled atmosphere-surface models'', [http://dx.doi.org/10.1109/MCS.2009.932224 IEEE Control Systems Magazine 29, Issue 3, June 2009, 47-65]. Preprint at [http://arxiv.org/abs/0712.3965 arXiv:0712.3965], December 2007.
  
* [[How to run WRF-Fire]]
+
===User's guides===
 +
 
 +
* [[Users guide]], updated continuously with SFIRE the software as [[How to get WRF-Fire|distributed by the developers]]. The guide consists of selected pages from this wiki.
 +
* The [[List of WRF-Fire pages|WRF-Fire pages]] on this wiki, updated continuously.
 +
* The WRF-Fire chapter in the [http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/contents.html WRF 3 User's guide] for the version in the [http://www.mmm.ucar.edu/wrf/users/downloads.html WRF release].
 +
 
 +
==Support==
 +
 
 +
===Mailing list===
 +
 
 +
Questions and suggestions can be sent to the maling list at http://mailman.ucar.edu/mailman/listinfo/wrf-fire. Please subscribe to this list for further support, announcements, questions, and discussions.
 +
 
 +
===Email support for SFIRE===
 +
 
 +
When you write us, please:
 +
 
 +
* Make sure you test the issue first on the code exactly as you have received it from the repository as described in [[How to get WRF-Fire]]
 +
** <code>git diff</code> should return no output, meaning that you have not modified any files
 +
** Send us the output of the command <code>git log | head -3 </code> to identify the version
 +
** Verify that you are on the latest commit on the master branch from the repository
 +
* Recompile the code from scratch after typing <code>clean -a</code> first
 +
* Send us sufficient information to identify and reproduce the problem if needed (output of wrf compilation, namelist.input, output from the run, wrfinput file for a small test problem)
 +
 
 +
===Email support for [[Fire code in WRF release|code in WRF release]]===
 +
 
 +
The version of WRF-Fire in the WRF download is supported by NCAR. Please contact wrfhelp@ucar.edu with any questions regarding the version of WRF-Fire in the [http://wrf-model.org WRF release].
 +
 
 +
===Wiki===
 +
 
 +
We welcome contributions and discussion on the pages of this wiki. Please see the [[Main Page]] for [[Main Page#How to get an account|How to get an account]].
 +
* The [[WRF-Fire wish list]] and [[Talk:WRF-Fire wish list]] are intended for further discussions regarding future developments of WRF-Fire.
 +
* See the [[list of WRF-Fire pages]] for many quick guides how to do useful things, such as diagnostics and visualization
  
 
==Publications==
 
==Publications==
  
=== Description of WRF-Fire===
+
See [[WRF-Fire publications]].
 
 
* Jan Mandel, Jonathan D. Beezley, Janice L. Coen, Minjeong Kim, ''Data Assimilation for Wildland Fires: Ensemble Kalman filters in coupled atmosphere-surface models'', [http://dx.doi.org/10.1109/MCS.2009.932224 IEEE Control Systems Magazine 29, Issue 3, June 2009, 47-65]. Preprint at [http://arxiv.org/abs/0712.3965 arXiv:0712.3965], December 2007.
 
  
* Kara Yedinak, J. L. Coen, and B. Lamb, ''WRF-Fire: A fire-atmosphere dynamics module for air quality modeling'', [http://ams.confex.com/ams/89annual/techprogram/MEETING.HTM The 89th American Meteorological Society Annual Meeting (Phoenix, AZ)], [http://ams.confex.com/ams/89annual/techprogram/program_532.htm 11th Conference on Atmospheric Chemistry], [http://ams.confex.com/ams/89annual/techprogram/paper_150173.htm Poster JP 1.10], January 2009.
+
==Contributors==
  
===Related papers and presentations===
+
* Janice Coen (NCAR) developed the physics components of the fire model in [[CAWFE]] (Coen (2005) and Clark et al. (2004)), in particular the fire spread rate and the heat flux insertion modules, which were adopted into WRF-Fire with no substantial changes, and has been refining the fuel and spread rate models.
 +
* Ned Patton (NCAR) ported the fire code from (Clark et al., 2004) and interfaced it with WRF (Patton and Coen, 2004).
 +
* Minjeong Kim and Jan Mandel (University of Colorado Denver) have identified a version of the level set metod suitable for fire spread, and developed a prototype Matlab code.
 +
* Jan Mandel (University of Colorado Denver) has been developing the level set code and the overall fire module software structure.
 +
* John Michalakes (formerly NCAR, now NREL) modified WRF to support refined grids (submesh) for the fire code.
 +
* Jonathan Beezley (University of Colorado Denver) has further modified WRF to support the fire software, provided the software engineering infrastructure, has set up and maintains the git repository, maintains synchronization with WRF changes, and has been developing the modified version of WPS for WRF with the fire model to enable the use of real data.
 +
* Volodymyr Kondratenko (University of Colorado Denver) has improved memory handing in the computation of remaining fuel.
 +
* Adam Kochanski (University of Utah) has contributed variable atmospheric bubble initialization and suggested the walking line ignition. He is currently leading the validation effort.
 +
* Kara Yedinak (Washington State University) has improved in fire initialization. See [[Talk:WRF-Fire development notes#Gradual ignition|discussion]]
  
* Jan Mandel, Jonathan D. Beezley, and Volodymyr Y. Kondratenko, ''Fast Fourier Transform Ensemble Kalman Filter with Application to a Coupled Atmosphere-Wildland Fire Model'', [http://www.amse-modeling.com/ms10/ MS2010], submitted. Preprint [http://arxiv.org/abs/1001.1588 arXiv:1001.1588]
+
==See also==
  
* K M Yedinak, B K Lamb, J L Coen, ''Sensitivity Analysis and Application of WRF-Fire'', poster at the session [http://www.agu.org/meetings/fm09/program/scientific_session_search.php?show=detail&sessid=578 A35: Wildfire Dynamics: Observations and Modeling of Fire-Atmosphere Interactions], [http://www.agu.org/meetings/fm09/ American Geophysical Union Fall 2009 Meeting]. Listed in the [http://www.agu.org/meetings/fm09/pdf/AGU_FM09_Scientific_Program.pdf Scientific program] at p. 344.
+
* [[List of WRF-Fire pages]]
 +
* [[WRF-Fire and SFIRE user's guide]]
 +
* [[WRF-Fire development notes]]
 +
* [[wikipedia:Wildfire modeling]]
 +
* [http://www.servinghistory.com/topics/WRF-Fire WRF-Fire at servinghistory.com]
  
 
==External links==
 
==External links==
  
 
* [http://www.mmm.ucar.edu/wrf/users/ WRF users page] with links to download and documentation
 
* [http://www.mmm.ucar.edu/wrf/users/ WRF users page] with links to download and documentation
* [http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3.1/ARWUsersGuideV3.pdf WRF-ARW Users Guide v. 3.1] (direct link)
+
* [http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/contents.html WRF-ARW Users Guide v. 3.2] (direct link)
 
* [http://www.mmm.ucar.edu/wrf/users/docs/arw_v3.pdf Technical description of WRF-ARW v. 3] (direct link)
 
* [http://www.mmm.ucar.edu/wrf/users/docs/arw_v3.pdf Technical description of WRF-ARW v. 3] (direct link)
 +
* [http://repo.or.cz/git-browser/by-commit.html?r=wrffire.git Graph of the commits in the repository]
  
[[Category:Models]]
+
[[Category:Software]]
[[Category:WRF]]
+
[[Category:WRF-Fire]]

Latest revision as of 06:53, 17 July 2020

This is an archived historical WRF-Fire/WRF-SFIRE page. Please go to WRF-SFIRE user guide for the current software version.
This is a page with basic information about a software. Please see Template for creating software pages for what should be here.
The code under continued development in our repository and mirrors [1] [2] is called SFIRE, and the coupled code is called WRF and SFIRE. We reserve the designation WRF-Fire for the version released with WRF.

WRF-Fire combines the Weather Research and Forecasting model (WRF) with a fire code implementing a surface fire behavior model, called SFIRE, based on semi-empirical formulas calculate the rate of spread of the fire line (the interface between burning and unignited fuel) based on fuel properties, wind velocities from WRF, and terrain slope. The fire spread is implemented by the level set method. The heat release from the fire line as well as post-frontal heat release feeds back into WRF dynamics, affecting the simulated weather in the vicinity of the fire. The fire code is written in Fortran 90 following WRF coding conventions. It is integrated as a physics option, called from WRF as a subroutine. It calls WRF libraries for utilities such as I/O and communication between MPI processes. The fire code executes on a part of the domain, called a tile (in WRF nomenclature). All communication between the tiles is in the caller; thus, one time step requires multiple calls to WRF-Fire.

WRF-Fire is essentially a reimplementation of CAWFE with the weather model replaced by WRF and with the fire spread implemented by the level set method in SFIRE. The subroutines for the computation of the rate of spread and for the insertion of the heat flux to the atmosphere are taken from CAWFE. Click on the following images for the origins and a summary of current capabilities of WRF-Fire:

Agu-poster-8mp.gif Coupled-wrf-fire-moisture-chem.png

Distribution

WRF-Fire is public domain software, released under the WRF public domain notice and disclaimer.

The development version is called SFIRE; further information and links to downloads are in the Users' Guide. We'll be happy to consider additional features. A restricted version is available in WRF releases.

Contact

  • Janice Coen (WRF release version), Jonathan Beezley or Jan Mandel (development version)

File format

All input, output, and restart files (with the complete model state) are in NetCDF format.

Programming language and environments

Fortran 90 with CPP preprocessor. Part of the WRF code is generated by C programs from a description in the registry.

Documentation

Technical description

User's guides

Support

Mailing list

Questions and suggestions can be sent to the maling list at http://mailman.ucar.edu/mailman/listinfo/wrf-fire. Please subscribe to this list for further support, announcements, questions, and discussions.

Email support for SFIRE

When you write us, please:

  • Make sure you test the issue first on the code exactly as you have received it from the repository as described in How to get WRF-Fire
    • git diff should return no output, meaning that you have not modified any files
    • Send us the output of the command git log | head -3 to identify the version
    • Verify that you are on the latest commit on the master branch from the repository
  • Recompile the code from scratch after typing clean -a first
  • Send us sufficient information to identify and reproduce the problem if needed (output of wrf compilation, namelist.input, output from the run, wrfinput file for a small test problem)

Email support for code in WRF release

The version of WRF-Fire in the WRF download is supported by NCAR. Please contact wrfhelp@ucar.edu with any questions regarding the version of WRF-Fire in the WRF release.

Wiki

We welcome contributions and discussion on the pages of this wiki. Please see the Main Page for How to get an account.

Publications

See WRF-Fire publications.

Contributors

  • Janice Coen (NCAR) developed the physics components of the fire model in CAWFE (Coen (2005) and Clark et al. (2004)), in particular the fire spread rate and the heat flux insertion modules, which were adopted into WRF-Fire with no substantial changes, and has been refining the fuel and spread rate models.
  • Ned Patton (NCAR) ported the fire code from (Clark et al., 2004) and interfaced it with WRF (Patton and Coen, 2004).
  • Minjeong Kim and Jan Mandel (University of Colorado Denver) have identified a version of the level set metod suitable for fire spread, and developed a prototype Matlab code.
  • Jan Mandel (University of Colorado Denver) has been developing the level set code and the overall fire module software structure.
  • John Michalakes (formerly NCAR, now NREL) modified WRF to support refined grids (submesh) for the fire code.
  • Jonathan Beezley (University of Colorado Denver) has further modified WRF to support the fire software, provided the software engineering infrastructure, has set up and maintains the git repository, maintains synchronization with WRF changes, and has been developing the modified version of WPS for WRF with the fire model to enable the use of real data.
  • Volodymyr Kondratenko (University of Colorado Denver) has improved memory handing in the computation of remaining fuel.
  • Adam Kochanski (University of Utah) has contributed variable atmospheric bubble initialization and suggested the walking line ignition. He is currently leading the validation effort.
  • Kara Yedinak (Washington State University) has improved in fire initialization. See discussion

See also

External links