new developments in wrf-sfire - uc denvermath.ucdenver.edu/~jmandel/slides/corsica13jm.pdf ·...
TRANSCRIPT
New developments in WRF-SFIRE
Jan Mandel, Jonathan D. Beezley, Adam K. Kochanski, Volodymyr Y. Kondratenko, Martin Vejmelka
University of Colorado Denver, University of Utah, CERFACS, Czech Academy of Sciences
Research supported by NSF EGS-0835579, NSF DMS-1216481, NSF CNS-0821794, NIST 60NANB7D6144, and NASA Fire program
Numerical Wildfires, Cargese May 2013
Acknowledgements
UCD: Minjeong Kim, Bedrich Sousedik
NCAR: Janice Coen, John Michalakes, Ned Patton
WRF developers at NCAR and the WRF community
University of Utah: Mary Ann Jenkins, Erik Anderson, Joel Daniels, Chris Johnson, Eric Jorgensen, Bigyan Mukherjee, Emanuele Santos, Claudio Silva, Lin Zhang, Mavin Martin, Paul Rosen
Bulgarian Academy of Sciences: Nina Dobrinkova, Georgi Jordanov
Weather It Is, Inc., Israel: Barry Lynn and Guy Kolman
See www.openwfm.org/wiki/WRF-Fire#Contributors for further details.
What are WRF-Fire and WRF-SFIRE?
• WRF-Fire as currently included in WRF release is SFIRE from November 2010, with some features removed, minor edits, and some renaming. See http://www.openwfm.org/wiki/Fire_code_in_WRF_release for details.
• WRF-SFIRE is available at openwfm.org. New features from 2010 include:• vertical wind interpolation from logarithmic boundary layer• diagnostic outputs for fire danger rating• built-in fuel moisture model• standalone executable running from WRF output files with atmosphere state• coupling with WRF-Chem• assimilation of RAWS fuel moisture data (under development)• changing the fire perimeter/perimeter ignition (under development)• level set function based on minimal arrival time (time of ignition)
SFIRE
Coupled model WRF-SFIRE-moisture-Chem
Atmosphere model WRF
Surface fire spread model
Wind
Heat and vapor fluxes
Fuel moisture model
Surface air temperature, rela@ve humidity,rain
Chemical transport model WRF-‐Chem
Fire emissions (smoke)
Representa@on of the fire area by a level set func@on
• The level set func@on is given on center nodes of the fire mesh• Interpolated linearly, parallel to the mesh lines• Fireline connects the points where the interpolated values are zero
Evolving the fireline by the level set method
Level set func@on L
Level set equa@on
Fire area: L<0
Right-‐hand side < 0 → Level set func@on goes down → fire area grows
R = R0(1 + cwv↵ + csg�)
• R0 – spread rate with no wind�
• v – wind speed
• g – terrain slope
• R0, cw, cs,↵,� – coe�cients from fuel properties
R = R0(1 + cw(w · n)↵ + cs (rh · n)�)
Fire area = {x : L (x) < 0} represented
by the level set function L, advanced by
the level set equation
@L
@t= �R k5Lk
1
The fire model: fuel consumption
igni@on
fuel
@me
Time constant of fuel:30 sec -‐ Grass burns quickly
1000 sec – Dead & down branches(~40% decrease in mass over 10 min)
Integrating fuel left over mesh cells, with submesh fire region representation
Coupling with WRF-ARW
• WRF-ARW is explicit in time
• Physics packages including fire are called only in the last Runge-Kutta substep
• Fire module inputs wind, outputs heat and vapor flux
Chapter 3
Model Discretization
3.1 Temporal Discretization
The ARW solver uses a time-split integration scheme. Generally speaking, slow or low-frequency(meteorologically significant) modes are integrated using a third-order Runge-Kutta (RK3) timeintegration scheme, while the high-frequency acoustic modes are integrated over smaller timesteps to maintain numerical stability. The horizontally propagating acoustic modes (includingthe external mode present in the mass-coordinate equations using a constant-pressure upperboundary condition) are integrated using a forward-backward time integration scheme, and ver-tically propagating acoustic modes and buoyancy oscillations are integrated using a verticallyimplicit scheme (using the acoustic time step). The time-split integration is similar to that firstdeveloped by Klemp and Wilhelmson (1978) and analyzed by Skamarock and Klemp (1992).The time-split RK3 scheme is described in general terms in Wicker and Skamarock (2002).The primary di⌅erences between the descriptions found in the references and the ARW imple-mentation are associated with our use of the mass vertical coordinate and a flux-form set ofequations, along with our use of perturbation variables for the acoustic component of the time-split integration. The acoustic-mode integration is cast in the form of a correction to the RK3integration.
3.1.1 Runge-Kutta Time Integration Scheme
The RK3 scheme, described in Wicker and Skamarock (2002), integrates a set of ordinarydi⌅erential equations using a predictor-corrector formulation. Defining the prognostic variablesin the ARW solver as ⇤ = (U, V,W, ⇥, ⇥⇥, µ⇥, Qm) and the model equations as ⇤t = R(⇤), theRK3 integration takes the form of 3 steps to advance a solution ⇤(t) to ⇤(t + �t):
⇤� = ⇤t +�t
3R(⇤t) (3.1)
⇤�� = ⇤t +�t
2R(⇤�) (3.2)
⇤t+�t = ⇤t + �tR(⇤��) (3.3)
where �t is the time step for the low-frequency modes (the model time step). In (3.1) – (3.3),superscripts denote time levels. This scheme is not a true Runge-Kutta scheme per se because,
11
Runge-‐Ku[a order 3 integra@on in @me
4.1. Variables and equations
The model is formulated in terms of the hydrostatic pressure vertical coordinate �, scaled and shifted so that � = 1at the Earth surface and � = 0 at the top of the domain. The governing equations are a system of partial differentialequations of the form
d⇤
dt= R (⇤) , (20)
where ⇤ = (U, V,W,⌅�,⇥, µ�, Qm). The fundamental WRF variables are µ = µ (x, y), the hydrostatic componentof the pressure differential of dry air between the surface and the top of the domain, written in perturbation formµ = µ + µ�, where µ is a reference value in hydrostatic balance; U = µu, where u = u (x, y, �) is the Cartesiancomponent of the wind velocity in the x-direction, and similarly V and W ; ⇥ = µ⇥, where ⇥ = ⇥ (x, y, �) is thepotential temperature; ⌅ = ⌅ (x, y, �) = ⌅ + ⌅� is the geopotential; and Qm = µqm is the moisture contents of theair. The variables in the state ⇤ evolved by (20) are called prognostic variables. Other variables computed fromthem, such as the hydrostatic pressure p, the thermodynamic temperature T , and the height z, are called diagnosticvariables. The variables that contain µ are called coupled. The value of the right-hand side R (⇤) is called tendency.See (Skamarock et al. 2008, pp. 7-13) for details and the form of R.
The system (20) is discretized in time by the explicit 3rd order Runge-Kutta method
⇤1 = ⇤t +�t
3R�⇤t
⇥
⇤2 = ⇤t +�t
2R (⇤1)
⇤t+�t = ⇤t +�tR (⇤2) (21)
where only the third Runge-Kutta step includes tendencies from physics packages, such as the fire module(Skamarock et al. 2008, p. 16). In order to avoid small time steps, the tendency in the third Runge-Kutta stepalso includes the effect of substeps to integrate acoustic modes.
4.2. Surface schemes
In real cases, non zero sf sfclay physics should be selected to enable the surface model, allowing forproper interaction between the atmosphere and the land surface. In idealized cases, users have an option ofthe basic surface initialization, intended to be used without the surface model, or the full surface initialization(sfc full init=1). The latter allows for using all standard land surface models even in idealized cases. Foridealized cases with full surface initialization, land surface properties like roughness length, albedo etc., are definedthrough the land use category. The surface scheme utilizes a gridded array containing the number of landusecategory, defined in a text file (LANDUSE.TBL), which specifies the roughness length and other surface properties,both for the real and idealized cases. The land use categories may be also defined directly trough the namelistvariables or read in from an external file containing a 2D landuse matrix (see also Sec. 7).
5. COUPLING OF THE FIRE AND THE ATMOSPHERIC MODELS
The terrain gradient is computed from the terrain height at the best available resolution and interpolated to the firemesh in preprocessing. Interpolating the height and then computing the gradient would cause jumps in the gradient,which affect fire propagation, unless high-order interpolation is used.
In each time step of the atmospheric model, the fire module is called from the third step of the Runge-Kuttamethod. First the wind is interpolated to a fixed height zf above the terrain (currently, 6.1m following BEHAVE),
9
The fire model is running on a finer mesh than the atmosphere model
Wind interpola@on• Spread rates for different fuels depend on wind at “midflame” height given by the fuel 5me
• Linear interpola@on of wind as a func@on of log(height/roughness height). Exact if the wind profile is exactly logarithmic (just like piecewise linear interpola@on is exact for linear func@ons) independently of the ver@cal mesh spacing
• If there are no WRF nodes under 6m, mathema@cally equivalent to the BEHAVE wind reduc@on factors.
• It gets tricky– The heights of the nodes are computed from the geopoten@al, which is a part of the solu@on
– The geopoten@al varies a lot near the fire– The atmospheric and fire mesh have different resolu@ons– The result depends on the roughness length.– Take the roughness length from LANDUSE or fuels?
wind speed
roughness height
midflame height
WRF mesh level 1
WRF mesh level 2
Structure of the coupled WRF-SFIRE code
Core: @me step for the level set equa@on, compute fuel loss.
Dimensionless.
Phys: sensible and latent heat fluxes from fuel loss, fire rate of
spread
Driver: get grid variables, get flags, interpola@on calls, OpenMP loops, DM halos
WRF: call sfire_driver
U5l: interpola@on, WRF stubs, debug I/O,…
Atm: one @le: temperature and moisture tendencies from heat
fluxes
wind
Model: one @me step, one @le: winds in, heat fluxes out
WRF: error messages, log messages, constants,…
WRF: add tendencies
heat and moisture tendencies
Standalone Sfire code
Core: @me step for the level set equa@on, compute fuel loss.
Dimensionless.
Phys: sensible and latent heat fluxes from fuel loss, fire rate of
spread
U5l: interpola@on, WRF stubs, debug I/O,…
Model: one @me step, one @le: winds in, heat fluxes out
Wrf_fakes: error messages, log messages, constants,…
MAIN
WRF parallel infrastructure - MPI and OpenMP
• Distributed memory (DM): halo exchanges between grid patches: each patch runs in one MPI process; programmer only lists the variables to exchange
• Shared memory (SM): OpenMP loops over tiles within the patch
• Computational routines are tile callable.
• Fire model executes on the same horizontal tiles as the atmosphere model, in the same threads
MPI
OpenMP threads,multicore
Example: 2 MPI processes 4 threads each
The parallel infrastructure constrains the algorithms used.
patch
halo
tile
Parallelism in WRF-Fire: implementing a PDE solver in WRF physics layer, meant for pointwise calculations
Parallel performance
101
102
103
10!1
100
101
Number of cores
Exe
cutio
n t
ime
/Sim
ula
tion
tim
e
Parallel scaling (total)
actualideal
101
102
103
10!2
10!1
100
Number of cores
Exe
cutio
n t
ime
/Sim
ula
tion
tim
e
Parallel scaling (fire only)
actualideal
• 2009 Harmanli fire (Bulgaria), satellite data. Janus cluster, University of Colorado/NCAR. Intel X5660 processors. 180x180x41, 221x221x41 atmosphere grids 50m, fire mesh 5m. Time step 0.3 s.
• Faster than real time on 120 cores.
Crime and punishment
• Euler equations require inflow velocity boundary conditions only. Yet WRF imposes lateral boundary conditions (from global weather state) all around
• WRF makes it up by only nudging at the boundary, and artificial viscosity and smoothing in a layer around the boundary...it’s a balancing act. Ideal runs are fine.
• We are using WRF in a regime it was not meant for: up to 1MWm-2 fire heat flux, very fine meshes
color: vertical wind component + firearrows: horizontal windall wind at level 18 (approx. 2km altitude)2009 Harmanli fire, Bulgariamodel setup: Georgi Jordanov, Nina Dobrinkova, Jon Beezley
smoothed strip
red dot = instability
Diagnos@c outputs• Heat flux (reac@on intensity) (J/m2/s)• Rate of spread (m/s)• Fireline intensity
–Byram(J/m/s)–new fireline intensity (J/m/s2)
• For an ongoing fire modeled: at the fireline only• For a fire danger ra5ng: everywhere, with the rate of spread taken as the maximum rate in any direc@on.
Fireline intensityByram’s: heat per unit length of the fireline from all available fuelburning in 1s, regardless how far, does not depend on the speed of burning (J/m/s)
1m
New: heat per unit length of the fireline from the newly burning fuel only the fireline moves over in a small unit of time (J/m/s2)
1m
Documentation and user support: openwfm.orgEveryone is welcome to get an account!
Coupling with WRF-Chem
Talked about already.
Fuel moisture model• Equilibrium -‐ @me lag model for moisture m
• Equilibrium E from air rela5ve humidity, temperature, and pressure, different drying and wemng equilibria when approaching equilibrium from above and from below
• Runs on the atmosphere grid for all fuel components (1h, 10h, 100h,...) independently of any fuel maps
• Numerical method: 2nd order, adap@ve switching to exponen@al, exact up to rounding for constant coefficients and any @me step
• Components moisture are then combined in propor@ons specified by fuel type and interpolated to the fire grid.
22
dmdt
= E −mT
Gentle rain moisture model
23
• In rain, large equilibrium E=250% and variable @me lag from rain intensity r. Parameters:
• asympto@c wemng @me lag T for very strong rain• Satura@on rain intensity , when 1-‐1/e of the asympto@c rain-‐wemng @me T is reached
• Rain under threshold ignored
dmdt
= E −mT
1− exp − r − r0rs
⎛⎝⎜
⎞⎠⎟
⎛
⎝⎜⎞
⎠⎟
rs
r < r0
Calibra@on of rain response
• The empirical Canadian fire-‐danger ra@ng model gives final fuel moisture aqer 24 hours from the ini@al moisture and the rain accumula@on
• The @me-‐lag model calibrated at @me lag 14h and satura@on rain intensity 8mm/h24
Fine fuels moisture model response
• The drying and wemng equilibria are computed from the WRF state. The fuel moisture contents does not change when it is between the two equilibria. The red ver@cal lines correspond to periods of rain, where the equilibrium is 2.5 (above the range shown). The fuel moisture contents increases during rain.
25
Assimila@on of fuel moisture data
• extended Kalman filter applied to the extended fuel moisture state at every grid node separately
• observa@on func@on: 10h fuel moisture at the node• state covariance at each node will couple the moisture of all fuel types and affect affect also those not measured
26
m = (m1,m2,…,mn ,ΔE,ΔS)wheremk is the moisture in fuel type kΔE is common change in drying and wetting equilibriaΔS is the change in the soaking equilbrium (from 250%)
Measurements• RAWS measure the moisture of 10 hours fuel (shown for Santa Ana fires near San Diego)
• Need to transport the data and the uncertainty to all grid nodes
27
!
Transport the moisture data values and variances to grid nodes
Data analysis shows some spa@al covariance structure between RAWS in California, but none in Colorado Rocky Mountains. Can’t do kriging, trend surface modeling instead. First a linear regression:
28
RAWS data = Xsβ + e, e N(0,γ 2I +σ 2I )γ 2I = stations error cov (assumed known, more generally diagonal Γ)σ 2 = microscale variance (unknown)RSSn − k
= unbiased estimate of γ 2 +σ 2, max likelihood at RSSn − k − 2
n = number of stations (measurements)k = number of columns of β (covariates)Different station variances more complicated - EM method
29
Fitting RAWS data = Xsβ + error
Choice of the covariates = columns of Xrows = locations on the whole domain, Xs is the matrix of rows for the locations of the data− All ones− Current forecast from the moisture model− T2 - temperature at 2m − P2 - pressure at 2m− Current rain intensity− Latitude, longitude, elevation
Transpor@ng the values and variances from the regression to the nodes
30
Regression: data = X sβ + e, e N (0,Γ +σ 2I )
get estimated σ 2 and β. Approximation at an arbitrary location t:value at t estimated as x(t)β where x(t) is the t-th row of the covariate matrix X recall that X s is the submatrix of the rows of X for the data locations
variance at t estimated as σ 2 + x(t) X sT Γs +σ
2I( )−1X s( )−1
x t( )T
31
!
Data assimila@on results
The mean square differences between non-‐assimilated and assimilated fuel moisture state es5mates and RAWS observa5ons (top) and microscale variability variance es5mates as a func5on of 5me (boVom) for the Southern California test.
Assimilated 10hr moisture
32
!
Perimeter igni@on and moving the fire in data assimila@on
• Models start from igni@on point. But oqen only a developed perimeter is available.
• Cannot light up the whole area at once -‐ too much energy. Cannot ignore the inside either.
• For the proper circula@on to develop, the heat need to be release gradually
• Evolve the fire back in @me and compute the igni@on @mes everywhere. Then replay the igni@on @mes to release the heat gradually.
33
2007 Santa Ana fires
34
35
Given fire perimeter Simula@on from igni@on points
Burned area at 20:00:00 10-‐22Witch and Guejito fire 2007
Evolving the given perimeterback in @me
36
Propaga@on forward and back in @me by hybrid automata-‐level set method
• repeated update of igni@on @me at neighbors• related to minimal arrival @me and Fast Marching Method• stable for mosaic fuels -‐ ROS varies on cell scale• level_set_func0on = igni0on_0me -‐ 0me_now• level set func@on give submesh scale gradual heat release
• to go back in @me: subtract @me not add, max not min37
t
min t + distanceROS
⎧⎨⎩
⎫⎬⎭
Burned area at 20:00
38
Original simula@on from igni@on pointsFrom ar@ficial igni@on @me
39
Given fire perimeter Original simula@on from igni@on points
Difference
Con@nuing the simula@on aqer the given perimeter @me
40
Given fire perimeter Original simula@on from igni@on points
Used opera@onally in Israel
41
Future plans• Fire danger 24 hrs forecast website for Colorado Front Range (using wind, RH, fuels maps,....)
• Have model, can go back to data assimila@on as planned 10 yrs ago– spectral ensemble methods (FFT wavelets, polynomial chaos,...)– Outputs -‐ visualize probability,....
• Assimila@on of satellite and airborne data– es@ma@on of vegeta@on moisture– fire spread -‐ change state and parameters in coupled model
• Simultaneous assimila@on of fire and standard meteo data• Support other spread model (Balbi,...), use TKE• Crown fire• Improve emissions model -‐ depends on stage, flame vs. smoldering• Intermediate CFD model between surface fire and mesoscale weather model...
42