Case Study 2: Idealized Flat-surface Coupled Model with Idealized Ridge¶
The second case study is same as the first case study except the model in now coupled and an idealized ridge is added to the model. The model is initialized with a uniform wind field, and all the atmospheric options are turned off in this case. The surface is assumed to be slip-free with zero heat fluxes, and therefore, the surface will not affect the simulated wind field. The main goal of this case is to introduce the coupling and idealized topography options within WRF-Fire. As a coupled model with a ridge, this case represents the effects of fire on the atmosphere (i.e., the simulated wind field), and the effects of topography on fire propagation process. Since this case is based on the first case study, it is highly recommended to read the first case study, and the options that are same as the first case will not be explained here. For the description of the required input files, refer to Case Study 1-Input Files.
Input Files¶
Namelist.input¶
&time_control
The options and values used for this case study are same as the Case Study 1 and shown below.
&time_control
run_days = 0,
run_hours = 1,
run_minutes = 0,
run_seconds = 0,
start_year = 0001,
start_month = 01,
start_day = 01,
start_hour = 00,
start_minute = 00,
start_second = 00,
end_year = 0001,
end_month = 01,
end_day = 01,
end_hour = 1,
end_minute = 00,
end_second = 00,
history_interval_s = 120,
frames_per_outfile = 1,
restart = .false.,
!restart_interval = 30,
io_form_history = 2,
io_form_restart = 2,
io_form_input = 2,
io_form_boundary = 2,
/
Same as the Case Study 1, the simulation duration of this case is one hour, and output files are generated each 2 minutes.
&domains
The domains setup of this case including domain size, time step, and fire domain setup is exactly the same as the Case Study 1.
&domains
time_step = 0,
time_step_fract_num = 1,
time_step_fract_den = 4,
max_dom = 1,
s_we = 1,
e_we = 51,
s_sn = 1,
e_sn = 51,
s_vert = 1,
e_vert = 101,
dx = 100.00,
dy = 100.00,
ztop = 2000,
grid_id = 1,
parent_id = 0,
i_parent_start = 0,
j_parent_start = 0,
parent_grid_ratio = 1,
parent_time_step_ratio = 1,
sr_x = 4,
sr_y = 4,
/
The model utilizes a 5 by 5 km domain with the atmospheric grid size of 100 m and the model top at 2 km. the time step is set to 0.25 s. The fire grid is 4 times finer than the atmospheric domain.
&physics
All the physics options in this case are turned off same as the previous case study.
&physics
mp_physics = 0,
ra_lw_physics = 0,
ra_sw_physics = 0,
sf_sfclay_physics = 0,
sf_surface_physics = 0,
bl_pbl_physics = 0,
bldt = 0,
cu_physics = 0,
cudt = 0,
isfflx = 0,
ifsnow = 0,
icloud = 0,
mp_zero_out = 0,
/
&dynamics
Dynamics options of this model are the same as the Case Study 1.
&dynamics
hybrid_opt = 0,
rk_ord = 3,
diff_opt = 0,
km_opt = 0,
tke_drag_coefficient = 0.0,
tke_heat_flux = 0.0,
non_hydrostatic = .true.,
h_mom_adv_order = 5,
v_mom_adv_order = 3,
h_sca_adv_order = 5,
v_sca_adv_order = 3,
time_step_sound = 20,
moist_adv_opt = 1,
scalar_adv_opt = 1,
tracer_opt = 3,
/
&bdy_control
Periodic boundary condition is used in both X and Y directions in this model.
&bdy_control
periodic_x = .true.,
symmetric_xs = .false.,
symmetric_xe = .false.,
open_xs = .false.,
open_xe = .false.,
periodic_y = .true.,
symmetric_ys = .false.,
symmetric_ye = .false.,
open_ys = .false.,
open_ye = .false.,
/
&namelist_quilt
Reserved CPU cores (“nio_tasks_per_group”) for managing the outputs is set to zero as this case is a simple small case.
&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
&fire
The atmospheric options of this case study (i.e., WRF model options) were all the same as Case Study 1. WRF-Fire options are also the same as the previous case except with few changes to turn on fire-atmosphere coupling and add an idealized ridge. For the purpose of the tutorial, the options within “&fire” is divided into multiple sub-sections as follows.
ifire = 2,
fire_fuel_read = 0,
fire_fuel_cat = 1,
fire_num_ignitions = 1,
fire_ignition_start_x1 = 1050.,
fire_ignition_start_y1 = 2000.,
fire_ignition_end_x1 = 1050.,
fire_ignition_end_y1 = 3000.,
fire_ignition_ros1 = 110,
fire_ignition_radius1 = 100,
fire_ignition_start_time1 = 10,
fire_ignition_end_time1 = 11,
The above set of options, which are used to turn on the fire module (i.e., WRF-Fire), define fuel type, define ignition, are same as the Case Study 1. Fuel type is set to fuel category 1, short grass, and a 1 km long 100 m wide ignition line is used to ignite the fire.
fire_mountain_type = 3
fire_mountain_height = 300
fire_mountain_start_x = 2000
fire_mountain_start_y = 0
fire_mountain_end_x = 3000
fire_mountain_end_y = 5000
The above options define the idealized topography in the domain. “fire_mountain_type” defines the mountain type which can be 0 = none, (2) 1 = hill, (3) 2 = east-west ridge, or (4) 3 = north-south ridge. In this case, we use option 3 which is north-south ridge with a height of 300 m defined by “fire_mountain_height” option. “fire_mountain_start_*” and “fire_mountain_end_*” options define the X and Y coordinates of the ridge start and end locations, respectively, in meters from the lower left corner of the domain.
fire_print_msg = 1,
fire_wind_height = 6.5,
fire_topo_from_atm = 1,
fire_atm_feedback = 1.0,
fire_viscosity = 0.4,
fire_upwinding = 7,
fire_boundary_guard=-1,
These options are same as the Case Study 1 except the “fire_atm_feedback” is changed to 1, meaning the fire-atmosphere coupling is turned on in this case.
The “&fire” section of this case study is as follows.
&fire
ifire = 2,
fire_fuel_read = 0,
fire_fuel_cat = 1,
fire_num_ignitions = 1,
fire_ignition_start_x1 = 1050.,
fire_ignition_start_y1 = 2000.,
fire_ignition_end_x1 = 1050.,
fire_ignition_end_y1 = 3000.,
fire_ignition_ros1 = 110, !set to large value to prevent ignition issue as described in Case Study 1
fire_ignition_radius1 = 100,
fire_ignition_start_time1 = 10,
fire_ignition_end_time1 = 11,
fire_mountain_type = 3
fire_mountain_height = 200
fire_mountain_start_x = 2000
fire_mountain_start_y = 0
fire_mountain_end_x = 3000
fire_mountain_end_y = 5000
fire_print_msg = 1,
fire_wind_height = 6.5,
fire_topo_from_atm = 1,
fire_atm_feedback = 1.0,
fire_viscosity = 0.4,
fire_upwinding = 7,
fire_boundary_guard=-1,
/
Namelist.fire
For this case, we use the namelist.fire of Case Study 1 which defines the fuel types based on Anderson’s 13 fuel model. The structure of “namelist.fire” fire and the options definition are provided in Case Study 1-namelist.fire. The namelist.fire of this case is as follows.
&fuel_scalars
&fuel_scalars
cmbcnst = 17.433e+06,
hfgl = 17.e4 ,
fuelmc_g = 0.08,
fuelmc_c = 1.00,
nfuelcats = 13,
no_fuel_cat = 14
/
&fuel_categories
&fuel_categories
windrf= 0.36, 0.36, 0.44, 0.55, 0.42, 0.44, 0.44,
0.36, 0.36, 0.36, 0.36, 0.43, 0.46, 1e-7
fgi = 0.166, 0.897, 0.675, 2.468, 0.785, 1.345, 1.092,
1.121, 0.780, 2.694, 2.582, 7.749, 13.024, 1.e-7,
fueldepthm=0.305, 0.305, 0.762, 1.829, 0.61, 0.762, 0.762,
0.061, 0.061, 0.305, 0.305, 0.701, 0.914, 0.305,
savr = 3500., 2784., 1500., 1739., 1683., 1564., 1562.,
1889., 2484., 1764., 1182., 1145., 1159., 3500.,
fuelmce = 0.12, 0.15, 0.25, 0.20, 0.20, 0.25, 0.40,
0.30, 0.25, 0.25, 0.15, 0.20, 0.25, 0.12,
fueldens = 32.,32.,32.,32.,32.,32.,32. ,
32.,32.,32.,32.,32.,32.,32. ,
st = 0.0555, 0.0555, 0.0555, 0.0555, 0.0555, 0.0555, 0.0555,
0.0555, 0.0555, 0.0555, 0.0555, 0.0555, 0.0555, 0.0555,
se = 0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,
0.010, 0.010, 0.010, 0.010, 0.010, 0.010, 0.010,
weight = 7., 7., 7., 180., 100., 100., 100.,
900., 900., 900., 900., 900., 900., 7. ,
/
Input_sounding¶
The “input_sounding” file of this case is exactly the same as Case Study 1, and it is as follows. Fore information on “input_sounding” file structure and how to create it, refer to Case Study 1-input_sounding.
1000 305 0.0
1.0 300 0.0 5.0 0
6.0 300 0.0 5.0 0
9.1 300 0.0 5.0 0
18.3 300 0.0 5.0 0
18.35 300 0.0 5.0 0
91.2 300 0.0 5.0 0
100 300 0.0 5.0 0
200 300 0.0 5.0 0
300 300 0.0 5.0 0
400 300 0.0 5.0 0
500 300 0.0 5.0 0
600 300 0.0 5.0 0
700 300 0.0 5.0 0
800 300 0.0 5.0 0
900 300 0.0 5.0 0
1000 300 0.0 5.0 0
1100 301 0.0 5.0 0
1200 302 0.0 5.0 0
1300 303 0.0 5.0 0
1400 304 0.0 5.0 0
1500 305 0.0 5.0 0
1600 306 0.0 5.0 0
1700 307 0.0 5.0 0
1800 308 0.0 5.0 0
1900 309 0.0 5.0 0
2000 310 0.0 5.0 0
2100 311 0.0 5.0 0
Sample Output¶
Sample outputs of this case study is shown below are plotted using the Python code presented here. The Python code is the same code used in Case Study 1.
This model represents the effects of topography on the simulated wind field and the effects of fire-atmosphere coupling on the fire propagation process. Although an initial uniform 5 ms-1 wind is imposed to the domain, the tall ridge alters the wind speed and reverses the wind direction toward the negative X direction. This alternation causes the fire to propagate toward the negative X direction which is along the wind direction, and it is in agreement with Rothermel’s ROS theory. Furthermore, the heat flux from the fire creates a vertical updraft at the fire head that sucks air into the fire base. This suction causes the wind field to be redirected toward the fire head 40 min after ignition resulting in a clear fire finger toward the wind direction (i.e., negative X direction). Near the end of the simulation, the suction also causes the wind speed at the front of the fire to reach zero, and prevents the fire to further spread.
Beginning of the simulation
10 min after start of the simulation
20 min after start of the simulation
40 min after start of the simulation
60 min after the start of simulation (end of the simulation)