Talk:Coupling with WRF-Chem

From openwfm
Revision as of 16:34, 23 December 2012 by Jmandel (talk | contribs) (Created page with '==Development notes== As of {{WRF-Fire-commit|e7b52ab1baef2565ae1743a25bc1ed7f7f2fc109|April 21, 2012}}, the tracer is simply copied from the heat flux at the surface on the atmo…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Development notes

As of April 21, 2012, the tracer is simply copied from the heat flux at the surface on the atmospheric mesh (GRNHFX). A call to fire_emission has been added to module_fr_sfire_driver_wrf.F just after calculation of heat flux tendencies. This subroutine has been added to the fire atmospheric module and is preprocessed out of the source when WRF-Chem is not being compiled.

WRF-Chem contains a multitude of arrays representing concentrations of chemical species. The typical method of injecting data into the simulation involves generating emission input data files from standard sources. These sources are read into the code using auxiliary input streams and interpolated into the species arrays in the emissions module. For the coupling with SFire, turning off file input in the namelist seems to initialize the emission arrays to zero. This eliminates the need to generate useless emission files.

WRF-Chem stores its state in several large arrays called *_emis, chem, and tracer. These arrays are four dimensional indexed like (x,z,y,s), where s is the chemical species. The chem and tracer arrays are located on the standard atmospheric grid, while the *_emis arrays have an alternate vertical grid indexed to config%kemit. An internal table keeps track of where each species is stored in these arrays. The domain structure contains scalars such as p_smoke and p_e_so4 that give the species index for each type. The species quantities are specific to different chemistry options (chem_opt) from the registry. We should eventually test that a compatible namelist option has been chosen to avoid errors. The dynamics section of the namelist has an option for tracer_opt. This controls what tracers are generated for Chem. For example, trace_opt = 1 creates a single tracer called smoke, see the registry for package definitions.

For the passive tracer scheme (chem_opt = 14), it appears to be sufficient just to add the fire emission directly into the tracer array. If we want to fully utilize WRF-Chem in the future, we may need to do something more complicated. The User's guide mentions that there is code to handle wildfire emissions data from MODIS satellites. This may be helpful either directly or as a guide in how to inject the chemical species from the SFire model.

According to some comments in Registry.EM, basic tracer support exists in WRF without Chem. It is possible we may be able to add smoke the WRF even without compile for Chem. I have not explored this yet, though.

From Jon's text April 21 2012. Jmandel 16:34, 23 December 2012 (UTC)