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)
Coupled model WRF-SFIRE-moisture-Chem Atmosphere ¡model ¡WRF Chemical ¡transport ¡ model ¡WRF-‑Chem Surface ¡air ¡ temperature, ¡ rela@ve ¡ Heat ¡and ¡ Fire ¡ humidity, vapor ¡ emissions ¡ rain fluxes (smoke) Wind ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡SFIRE Fuel ¡moisture ¡model Surface ¡fire ¡spread ¡model
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 Fire ¡area: ¡ L< 0 ∂ L Level ¡set ¡equa@on ∂ t = � R k5 L k Right-‑hand ¡side ¡< ¡0 ¡ → ¡Level ¡set ¡func@on ¡goes ¡down ¡ → ¡fire ¡area ¡grows
The fire model: fuel consumption fuel igni@on @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 d Φ • WRF-ARW is explicit in time dt = R ( Φ ) • Physics packages including Φ � = Φ t + ∆ t 3 R ( Φ t ) fire are called only in the last Runge-Kutta substep Φ �� = Φ t + ∆ t 2 R ( Φ � ) Φ t + ∆ t = Φ t + ∆ tR ( Φ �� ) • Fire module inputs wind, outputs heat and vapor flux Runge-‑Ku[a ¡order ¡3 ¡integra@on ¡in ¡@me ¡
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) ¡ wind speed 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. ¡ W R F m e s h l • It ¡gets ¡tricky e v e l 2 – 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. midflame height – Take ¡the ¡roughness ¡length ¡from ¡LANDUSE ¡or ¡fuels? WRF mesh level 1 roughness height
Structure of the coupled WRF-SFIRE code WRF : ¡ ¡ ¡add ¡tendencies ¡ WRF : ¡ ¡ call ¡sfire_driver ¡ wind heat ¡and ¡moisture ¡tendencies Driver : ¡ ¡get ¡grid ¡variables, ¡get ¡ flags, ¡interpola@on ¡calls, ¡ Atm : ¡one ¡@le: ¡temperature ¡and ¡ OpenMP ¡loops, ¡DM ¡halos moisture ¡tendencies ¡from ¡heat ¡ fluxes Model : ¡one ¡@me ¡step, ¡one ¡@le: ¡ winds ¡in, ¡heat ¡fluxes ¡out Phys : ¡sensible ¡and ¡latent ¡heat ¡ fluxes ¡from ¡fuel ¡loss, ¡fire ¡rate ¡of ¡ spread ¡ Core : ¡@me ¡step ¡for ¡the ¡level ¡set ¡ equa@on, ¡compute ¡fuel ¡loss. ¡ Dimensionless. U5l : ¡interpola@on, ¡WRF ¡stubs, ¡debug ¡I/O,… WRF : ¡ ¡error ¡messages, ¡ ¡log ¡messages, ¡constants,…
Standalone Sfire code MAIN Model : ¡one ¡@me ¡step, ¡one ¡@le: ¡ winds ¡in, ¡heat ¡fluxes ¡out Phys : ¡sensible ¡and ¡latent ¡heat ¡ fluxes ¡from ¡fuel ¡loss, ¡fire ¡rate ¡of ¡ spread ¡ Core : ¡@me ¡step ¡for ¡the ¡level ¡set ¡ equa@on, ¡compute ¡fuel ¡loss. ¡ Dimensionless. U5l : ¡interpola@on, ¡WRF ¡stubs, ¡debug ¡I/O,… Wrf_fakes : ¡ ¡error ¡messages, ¡ ¡log ¡messages, ¡constants,…
WRF parallel infrastructure - MPI and OpenMP • Distributed memory (DM): halo MPI exchanges between grid patches : each patch runs in one MPI patch process; programmer only lists the variables to exchange halo • Shared memory (SM): OpenMP loops over tiles within the patch OpenMP tile • Computational routines are tile threads, callable . multicore • Fire model executes on the same horizontal tiles as the atmosphere model, in the same threads Example: 2 MPI processes 4 threads each The parallel infrastructure constrains the algorithms used.
Parallelism in WRF-Fire: implementing a PDE solver in WRF physics layer, meant for pointwise calculations
Parallel performance Parallel scaling (total) Parallel scaling (fire only) 1 10 actual actual ideal ideal 0 10 Execution time/Simulation time Execution time/Simulation time 0 10 − 1 10 − 1 10 − 2 10 1 2 3 1 2 3 10 10 10 10 10 10 Number of cores Number of cores • 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.
red dot = instability 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. color: vertical wind component + fire smoothed strip arrows: horizontal wind all wind at level 18 (approx. 2km altitude) 2009 Harmanli fire, Bulgaria • We are using WRF in a regime it model setup: Georgi Jordanov, Nina was not meant for : up to 1MWm -2 Dobrinkova, Jon Beezley fire heat flux, very fine meshes
Diagnos@c ¡outputs • Heat ¡flux ¡(reac@on ¡intensity) ¡(J/m 2 /s) • Rate ¡of ¡spread ¡(m/s) • Fireline ¡intensity ¡ – Byram(J/m/s) – new ¡fireline ¡intensity ¡(J/m/s 2 ) • 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 ¡intensity Byram’s: heat per unit length of the fireline from all available fuel 1m burning in 1s, regardless how far, does not depend on the speed of burning (J/m/s) New : heat per unit length of the fireline from the newly burning fuel 1m only the fireline moves over in a small unit of time ( J/m/s 2 )
Documentation and user support: openwfm.org Everyone is welcome to get an account!
Coupling with WRF-Chem Talked about already.
Recommend
More recommend