Difference between revisions of "WRF-Fire"

From openwfm
Jump to navigation Jump to search
 
(43 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{historical|WRF-SFIRE user guide}}
 
{{software}}
 
{{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''' 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''' 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 poster for the origins and a summary of current capabilities of 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:Agu-poster-8mp.gif|400px]] [[Image:Coupled-wrf-fire-moisture-chem.png|400px]]
  
 
==Distribution==
 
==Distribution==
Line 10: Line 13:
 
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].
 
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].
  
===Development version===
+
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]].
 
 
See [[How to get WRF-Fire]] and [[How to run WRF-Fire]] for installation instructions. The [http://github.com/jbeezley/wrf-fire/tree/master head of the master branch] should contain tested stable code at any time. This version also contains a number of additional tools such as [[Matlab]] scripts for diagnostics, and the latest features and bug fixes; see the [[list of WRF-Fire pages]].
 
 
 
===From WRF release===
 
 
 
WRF-Fire is included in WRF since version 3.2, released on April 2, 2010. It is available from the [http://www.mmm.ucar.edu/wrf/users/download/get_source.html WRF download page]. See the [http://www.mmm.ucar.edu/wrf/users/fire/wrf-fire.html NCAR WRF-Fire page] for further information.
 
 
 
Our goal is to transfer the development code to the WRF download yearly. We are making the development version publicly available in hope that it will be useful; the code has been changing quite rapidly, with important features and an occasional bug fix added between WRF releases.
 
  
 
==Contact==
 
==Contact==
  
* Jonathan Beezley, Janice Coen, Jan Mandel
+
* Janice Coen (WRF release version), Jonathan Beezley or  Jan Mandel (development version)
  
 
==File format==
 
==File format==
Line 36: Line 31:
 
===Technical description===
 
===Technical description===
  
* [[Media:Wrf-fire-doc.pdf|Description of the fire scheme in WRF]] describes the algorithms and software structure of WRF-Fire. It is intended to become a chapter in the [http://www.mmm.ucar.edu/wrf/users/docs/arw_v3.pdf WRF Technical Note] in the future. The description is based on sections ''Fireline propagation model'' and ''Level set-based wildland file model'' in 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.
+
* 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.
  
 
===User's guides===
 
===User's guides===
  
* [[Media:Users guide chap-wrf-fire.pdf|WRF-Fire user's guide]], updated continuously with the software as [[How to get WRF-Fire|distributed by the developers]].
+
* [[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 [[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.2 User's guide] for the version frozen in the [http://www.mmm.ucar.edu/wrf/users/downloads.html WRF release].
+
* 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==
 
==Support==
Line 50: Line 45:
 
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.
 
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 the development version===
+
===Email support for SFIRE===
  
Questions regarding the development version (from the git repository) can be sent the the list above, or email the [[WRF-Fire#Contact|developers]] directly. When you write us, please:
+
When you write us, please:
  
* Make sure you test the issue first on the code exactly as you have received it from the git repository as described in [[How to get WRF-Fire]]
+
* 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
+
** <code>git diff</code> should return no output, meaning that you have not modified any files
** please verify that you are on the latest commit on the master branch from the repository
+
** 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
 
* Recompile the code from scratch after typing <code>clean -a</code> first
* Send us the first line of the output of the command <code>git log</code> to identify the version
+
* 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)
* Send us sufficient information to identify and reproduce the problem if needed (output of wrf compilation, namelist.input, output from the run)
 
  
===Email support for code in WRF release===
+
===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].
 
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].
Line 77: Line 72:
 
==Contributors==
 
==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.
+
* 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).
 
* 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.
 
* 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) is the lead programmer of WRF-Fire. He has implemented the fire spread by the level set method as a parallel WRF-compliant code with assistance from Jonathan Beezley and Minjeong Kim, starting from Ned Patton's WRF interface and using the subroutines for the spread rate computation and the insertion of heat fluxes into the atmosphere from CAWFE.
+
* 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.
 
* 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 developed the modified version of WPS for WRF with the fire model to enable the use of real data.
+
* 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.
 
* 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.
 
* Adam Kochanski (University of Utah) has contributed variable atmospheric bubble initialization and suggested the walking line ignition. He is currently leading the validation effort.
Line 90: Line 85:
  
 
* [[List of WRF-Fire pages]]
 
* [[List of WRF-Fire pages]]
 +
* [[WRF-Fire and SFIRE user's guide]]
 
* [[WRF-Fire development notes]]
 
* [[WRF-Fire development notes]]
* [[wikipedia:Wildfire modeling|Wildfire modeling]]
+
* [[wikipedia:Wildfire modeling]]
 
* [http://www.servinghistory.com/topics/WRF-Fire WRF-Fire at servinghistory.com]
 
* [http://www.servinghistory.com/topics/WRF-Fire WRF-Fire at servinghistory.com]
  

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