2 # ----------------------------------------
3 # begin fire variables and configuration
4 # ----------------------------------------
6 # declare fire package and choose which fire scheme
8 # ------------------------------------------------------------------------------------------------------------------------
9 #<key> <package <associated <package <associated 4d scalars>
10 # name> namelist choice> state vars>
11 # ------------------------------------------------------------------------------------------------------------------------
14 package fire_sfire ifire==2 - state:avg_fuel_frac,bbb,betafl,burnt_area_dt,canhfx,canqfx,dzdxf,dzdyf,fcanhfx,fcanqfx,fgip,fgrnhfx,fgrnqfx,fire_area,fire_smoke,flame_length,fmc_equi,fmc_g,fmc_gc,fmep,fmc_lag,fmoist_lasttime,fmoist_nexttime,fuel_frac,fuel_time,fxlat,fxlong,fz0,grnhfx,grnhfx_fu,grnqfx,grnqfx_fu,iboros,ischap,lfn,lfn_0,lfn_1,lfn_2,lfn_hist,lfn_s0,lfn_s1,lfn_s2,lfn_s3,lfn_time,nfuel_cat,phiwc,psfc_old,q2_old,r_0,rain_old,rh_fire,ros,ros_front,rqvfrten,rthfrten,t2_old,tign_g,uah,uf,vah,vf,zsf,fs_last_gen_dt,fs_gen_idmax,fs_count_reset,fs_fire_ROSdt,fs_fire_area,fs_fuel_spotting_risk,fs_count_landed_all,fs_count_landed_hist,fs_landing_mask,fs_gen_inst,fs_frac_landed,fs_spotting_lkhd
16 package fire_fmoist_run fmoisti_run==1 - state:fmc_gc,fmep,fmc_equi,fmc_lag,rain_old,t2_old,psfc_old,rh_fire
17 package fire_fmoist_interp fmoisti_interp==1 - state:fmc_gc
19 # ------------------------------------------------------------------------------------------------------------------------
20 #<Table> <Type> <Sym> <Dims> <Use> <NumTLev> <Stagger> <IO> <DNAME> <DESCRIP> <UNITS>
21 # ------------------------------------------------------------------------------------------------------------------------
23 # ------------------------------------------------------------------------------------------------------------------------
24 # level function history support
26 dimspec ign 2 constant=1 z i_lfn_history
27 state real lfn_hist *i*j fire 1 Z i012hr "LFN_HIST" "level function history" "1"
28 state real lfn_time {ign} fire 1 - i012hr "LFN_TIME" "level function history time" "s"
30 # ------------------------------------------------------------------------------------------------------------------------
31 # fire variables on fire grid
33 state real nfuel_cat *i*j fire 1 z i012hr "NFUEL_CAT" "fuel data"
34 state real zsf *i*j fire 1 z i012hr "ZSF" "height of surface above sea level" "m"
35 state real dzdxf *i*j fire 1 z i012hr "DZDXF" "surface gradient x" "1"
36 state real dzdyf *i*j fire 1 z i012hr "DZDYF" "surface gradient y" "1"
37 state real tign_g *i*j fire 1 z hr "TIGN_G" "ignition time on ground" "s"
39 # ------------------------------------------------------------------------------------------------------------------------
40 # fire variables on atm grid
43 # outputs to atm model
44 state real rthfrten ikj fire 1 z hr "RTHFRTEN" "temperature tendency" "K/s"
45 state real rqvfrten ikj fire 1 z hr "RQVFRTEN" "humidity tendency"
47 # ------------------------------------------------------------------------------------------------------------------------
50 state real avg_fuel_frac ij fire 1 z hr "AVG_FUEL_FRAC" "fuel remaining averaged to atmospheric grid" "1"
51 state real grnhfx ij fire 1 z hr "GRNHFX" "heat flux from ground fire" "W/m^2"
52 state real grnqfx ij fire 1 z hr "GRNQFX" "moisture flux from ground fire" "W/m^2"
53 state real canhfx ij fire 1 z hr "CANHFX" "heat flux from crown fire" "W/m^2"
54 state real canqfx ij fire 1 z hr "CANQFX" "moisture flux from crown fire" "W/m^2"
55 state real uah ij fire 1 X hr "UAH" "wind at fire_wind_height" "m/s"
56 state real vah ij fire 1 Y hr "VAH" "wind at fire_wind_height" "m/s"
57 state real grnhfx_fu ij fire 1 z r "GRNHFX_FU" "heat flux from ground fire (feedback unsensitive)" "W/m^2"
58 state real grnqfx_fu ij fire 1 z r "GRNQFX_FU" "moisture flux from ground fire (feedback unsensitive)" "W/m^2"
60 # ------------------------------------------------------------------------------------------------------------------------
61 # sfire variables on fire grid
64 # (also using tign_g,zs,z_at_w,dz8w,nfuel_cat,fluxes,zsf)
66 state real lfn *i*j fire 1 z hr "LFN" "level function" "1"
67 state real lfn_0 *i*j fire 1 z r "LFN_0" "level function for time integration, step 0" "1"
68 state real lfn_1 *i*j fire 1 z r "LFN_1" "level function for time integration, step 1" "1"
69 state real lfn_2 *i*j fire 1 z r "LFN_2" "level function for time integration, step 2" "1"
70 state real lfn_s0 *i*j fire 1 z r "LFN_S0" "level set sign function from LSM integration" "1"
71 state real lfn_s1 *i*j fire 1 z r "LFN_S1" "level set function for reinitialization integration" "1"
72 state real lfn_s2 *i*j fire 1 z r "LFN_S2" "level set function for reinitialization integration" "1"
73 state real lfn_s3 *i*j fire 1 z r "LFN_S3" "level set function for reinitialization integration" "1"
75 state real fuel_frac *i*j fire 1 z hr "FUEL_FRAC" "fuel remaining" "1"
76 state real fire_area *i*j fire 1 z hr "FIRE_AREA" "fraction of cell area on fire" "1"
77 state real uf *i*j fire 1 z hr "UF" "fire wind" "m/s"
78 state real vf *i*j fire 1 z hr "VF" "fire wind" "m/s"
79 state real fgrnhfx *i*j fire 1 z hr "FGRNHFX" "heat flux from ground fire" "W/m^2"
80 state real fgrnqfx *i*j fire 1 z hr "FGRNQFX" "moisture flux from ground fire" "W/m^2"
81 state real fcanhfx *i*j fire 1 z hr "FCANHFX" "heat flux from crown fire" "W/m^2"
82 state real fcanqfx *i*j fire 1 z hr "FCANQFX" "moisture flux from crown fire" "W/m^2"
83 state real ros *i*j fire 1 z r "ROS" "rate of spread" "m/s"
84 state real burnt_area_dt *i*j fire 1 z hr "BURNT_AREA_DT" "fraction of cell area burnt on current dt" "-"
85 state real flame_length *i*j fire 1 z hr "FLAME_LENGTH" "fire flame length" "m"
86 state real ros_front *i*j fire 1 z hr "ROS_FRONT" "rate of spread at fire front" "m/s"
88 # ------------------------------------------------------------------------------------------------------------------------
89 # fuel moisture variables
91 state real fmc_g *i*j fire 1 z i102hr "FMC_G" "ground fuel moisture contents" "1"
93 # fuel moisture model section
94 dimspec num_fmc - namelist=nfmc z fuel_moisture_classes
95 dimspec num_fmep - constant=2 z fuel_moisture_extended_parameters
97 rconfig integer nfmc namelist,fire 1 5 - "nfmc" "number of fuel moisture classes"
98 state real fmc_gc i{num_fmc}j fire 1 z ihr "FMC_GC" "fuel moisture contents by class" "1"
99 state real fmep i{num_fmep}j fire 1 z ihr "FMEP" "fuel moisture extended model parameters" "1"
100 state real fmc_equi i{num_fmc}j fire 1 z hr "FMC_EQUI" "fuel moisture contents by class equilibrium (diagnostics only)" "1"
101 state real fmc_lag i{num_fmc}j fire 1 z hr "FMC_TEND" "fuel moisture contents by class time lag (diagnostics only)" "h"
102 state real rain_old ij fire 1 z hr "RAIN_OLD" "previous value of accumulated rain" "mm"
103 state real t2_old ij fire 1 z hr "T2_OLD" "previous value of air temperature at 2m" "K"
104 state real q2_old ij fire 1 z hr "Q2_OLD" "previous value of 2m specific humidity" "kg/kg"
105 state real psfc_old ij fire 1 z hr "PSFC_OLD" "previous value of surface pressure" "Pa"
106 state real rh_fire ij fire 1 z hr "RH_FIRE" "relative humidity at the surface" "1"
107 state real fmoist_lasttime - fire - - hr "FMOIST_LASTTIME" "last time the moisture model was run" "s"
108 state real fmoist_nexttime - fire - - hr "FMOIST_NEXTTIME" "next time the moisture model will run" "s"
109 rconfig logical fmoist_run namelist,fire max_domains .false. hr "run moisture model (on the atmospheric grid), output to fmc_gc"
110 rconfig logical fmoist_interp namelist,fire max_domains .false. hr "interpolate moisture from the model or the input to fuels on the fire grid"
111 rconfig integer fmoisti_run derived max_domains 0 hr "run moisture model (on the atmospheric grid), output to fmc_gc"
112 rconfig integer fmoisti_interp derived max_domains 0 hr "interpolate moisture from the model or the input to fuels on the fire grid"
113 rconfig logical fmoist_only namelist,fire max_domains .false. hr "only run moisture model, skip fire"
114 rconfig integer fmoist_freq namelist,fire max_domains 0 hr "fmoist_freq" "frequency to run moisture model 0: use fmoist_dt, k>0: every k timesteps" "1"
115 rconfig real fmoist_dt namelist,fire max_domains 600 hr "fmoist_dt " "moisture model time step" "s"
116 rconfig real fmep_decay_tlag namelist,fire 1 999999 hr "fmep_decay_tlag" "time constant of assimilated adjustments of equilibria decay" "1"
118 halo HALO_FIRE_MFG dyn_em 24:fmc_g
119 halo HALO_FIRE_MAG dyn_em 8:fmc_gc
122 # ------------------------------------------------------------------------------------------------------------------------
123 # constant data arrays
125 state real fxlong *i*j fire 1 z ihr "FXLONG" "longitude of midpoints of fire cells" "degrees"
126 state real fxlat *i*j fire 1 z ihr "FXLAT" "latitude of midpoints of fire cells" "degrees"
127 state real fuel_time *i*j fire 1 z hr "FUEL_TIME" "fuel"
128 state real bbb *i*j fire 1 z hr "BBB" "fuel"
129 state real betafl *i*j fire 1 z hr "BETAFL" "fuel"
130 state real phiwc *i*j fire 1 z hr "PHIWC" "fuel"
131 state real r_0 *i*j fire 1 z hr "R_0" "fuel"
132 state real fgip *i*j fire 1 z hr "FGIP" "fuel"
133 state real ischap *i*j fire 1 z hr "ISCHAP" "fuel"
134 state real fz0 *i*j fire 1 z ihr "FZ0" "roughness length of fire cells" "m"
135 state real iboros *i*j fire 1 z hr "IBOROS" "fire intensity over rate of spread" "kJ/m^2"
138 # ========================================================================================================================
139 # fire configure namelist variables
140 # ========================================================================================================================
142 # ------------------------------------------------------------------------------------------------------------------------
143 #<Table> <Type> <Sym> <How set> <Nentries> <Default>
144 # ------------------------------------------------------------------------------------------------------------------------
145 rconfig integer ifire namelist,fire max_domains 0
146 rconfig integer fire_boundary_guard namelist,fire max_domains 8 - "fire_boundary_guard" "cells to stop when fire close to domain boundary"
148 # ------------------------------------------------------------------------------------------------------------------------
149 # ignition for WRF-Fire
151 rconfig integer fire_num_ignitions namelist,fire max_domains 0 - "fire_num_ignitions" "number of ignition lines"
152 rconfig real fire_ignition_ros1 namelist,fire max_domains 0.01 - "fire_ignition_ros1" "rate of spread during ignition" "m/s"
153 rconfig real fire_ignition_start_lon1 namelist,fire max_domains 0. - "fire_ignition_start_long1" "long coord of start of ignition line" "deg"
154 rconfig real fire_ignition_start_lat1 namelist,fire max_domains 0. - "fire_ignition_start_lat1" "lat coord of start of ignition line" "deg"
155 rconfig real fire_ignition_end_lon1 namelist,fire max_domains 0. - "fire_ignition_end_long1" "long coord of end of ignition line" "deg"
156 rconfig real fire_ignition_end_lat1 namelist,fire max_domains 0. - "fire_ignition_end_lat1" "lat coord of end of ignition line" "deg"
157 rconfig real fire_ignition_radius1 namelist,fire max_domains 0. - "fire_ignition_radius1" "ignite all within the radius" "m"
158 rconfig real fire_ignition_start_time1 namelist,fire max_domains 0. - "fire_ignition_start_time1" "ignition line start time" "s"
159 rconfig real fire_ignition_end_time1 namelist,fire max_domains 0. - "fire_ignition_end_time1" "ignition line end time" "s"
160 rconfig real fire_ignition_ros2 namelist,fire max_domains 0.01 - "fire_ignition_ros1" "rate of spread during ignition" "m/s"
161 rconfig real fire_ignition_start_lon2 namelist,fire max_domains 0. - "fire_ignition_start_long2" "long coord of start of ignition line" "deg"
162 rconfig real fire_ignition_start_lat2 namelist,fire max_domains 0. - "fire_ignition_start_lat2" "lat coord of start of ignition line" "deg"
163 rconfig real fire_ignition_end_lon2 namelist,fire max_domains 0. - "fire_ignition_end_long2" "long coord of end of ignition line" "deg"
164 rconfig real fire_ignition_end_lat2 namelist,fire max_domains 0. - "fire_ignition_end_lat2" "lat coord of end of ignition line" "deg"
165 rconfig real fire_ignition_radius2 namelist,fire max_domains 0. - "fire_ignition_radius2" "ignite all within the radius" "m"
166 rconfig real fire_ignition_start_time2 namelist,fire max_domains 0. - "fire_ignition_start_time2" "ignition line start time" "s"
167 rconfig real fire_ignition_end_time2 namelist,fire max_domains 0. - "fire_ignition_end_time2" "ignition line end time" "s"
168 rconfig real fire_ignition_ros3 namelist,fire max_domains 0.01 - "fire_ignition_ros1" "rate of spread during ignition" "m/s"
169 rconfig real fire_ignition_start_lon3 namelist,fire max_domains 0. - "fire_ignition_start_long3" "long coord of start of ignition line" "deg"
170 rconfig real fire_ignition_start_lat3 namelist,fire max_domains 0. - "fire_ignition_start_lat3" "lat coord of start of ignition line" "deg"
171 rconfig real fire_ignition_end_lon3 namelist,fire max_domains 0. - "fire_ignition_end_long3" "long coord of end of ignition line" "deg"
172 rconfig real fire_ignition_end_lat3 namelist,fire max_domains 0. - "fire_ignition_end_lat3" "lat coord of end of ignition line" "deg"
173 rconfig real fire_ignition_radius3 namelist,fire max_domains 0. - "fire_ignition_radius3" "ignite all within the radius" "m"
174 rconfig real fire_ignition_start_time3 namelist,fire max_domains 0. - "fire_ignition_start_time3" "ignition line start time" "s"
175 rconfig real fire_ignition_end_time3 namelist,fire max_domains 0. - "fire_ignition_end_time3" "ignition line end time" "s"
176 rconfig real fire_ignition_ros4 namelist,fire max_domains 0.01 - "fire_ignition_ros1" "rate of spread during ignition" "m/s"
177 rconfig real fire_ignition_start_lon4 namelist,fire max_domains 0. - "fire_ignition_start_long4" "long coord of start of ignition line" "deg"
178 rconfig real fire_ignition_start_lat4 namelist,fire max_domains 0. - "fire_ignition_start_lat4" "lat coord of start of ignition line" "deg"
179 rconfig real fire_ignition_end_lon4 namelist,fire max_domains 0. - "fire_ignition_end_long4" "long coord of end of ignition line" "deg"
180 rconfig real fire_ignition_end_lat4 namelist,fire max_domains 0. - "fire_ignition_end_lat4" "lat coord of end of ignition line" "deg"
181 rconfig real fire_ignition_radius4 namelist,fire max_domains 0. - "fire_ignition_radius4" "ignite all within the radius" "m"
182 rconfig real fire_ignition_start_time4 namelist,fire max_domains 0. - "fire_ignition_start_time4" "ignition line start time" "s"
183 rconfig real fire_ignition_end_time4 namelist,fire max_domains 0. - "fire_ignition_end_time4" "ignition line end time" "s"
184 rconfig real fire_ignition_ros5 namelist,fire max_domains 0.01 - "fire_ignition_ros1" "rate of spread during ignition" "m/s"
185 rconfig real fire_ignition_start_lon5 namelist,fire max_domains 0. - "fire_ignition_start_long5" "long coord of start of ignition line" "deg"
186 rconfig real fire_ignition_start_lat5 namelist,fire max_domains 0. - "fire_ignition_start_lat5" "lat coord of start of ignition line" "deg"
187 rconfig real fire_ignition_end_lon5 namelist,fire max_domains 0. - "fire_ignition_end_long5" "long coord of end of ignition line" "deg"
188 rconfig real fire_ignition_end_lat5 namelist,fire max_domains 0. - "fire_ignition_end_lat5" "lat coord of end of ignition line" "deg"
189 rconfig real fire_ignition_radius5 namelist,fire max_domains 0. - "fire_ignition_radius5" "ignite all within the radius" "m"
190 rconfig real fire_ignition_start_time5 namelist,fire max_domains 0. - "fire_ignition_start_time5" "ignition line start time" "s"
191 rconfig real fire_ignition_end_time5 namelist,fire max_domains 0. - "fire_ignition_end_time5" "ignition line end time" "s"
192 rconfig real fire_ignition_start_x1 namelist,fire max_domains 0. - "fire_ignition_start_x1" "x coord of start of ignition line" "m"
193 rconfig real fire_ignition_start_y1 namelist,fire max_domains 0. - "fire_ignition_start_y1" "y coord of start of ignition line" "m"
194 rconfig real fire_ignition_end_x1 namelist,fire max_domains 0. - "fire_ignition_end_x1" "x coord of end of ignition line" "m"
195 rconfig real fire_ignition_end_y1 namelist,fire max_domains 0. - "fire_ignition_end_y1" "y coord of end of ignition line" "m"
196 rconfig real fire_ignition_start_x2 namelist,fire max_domains 0. - "fire_ignition_start_x2" "x coord of start of ignition line" "m"
197 rconfig real fire_ignition_start_y2 namelist,fire max_domains 0. - "fire_ignition_start_y2" "y coord of start of ignition line" "m"
198 rconfig real fire_ignition_end_x2 namelist,fire max_domains 0. - "fire_ignition_end_x2" "x coord of end of ignition line" "m"
199 rconfig real fire_ignition_end_y2 namelist,fire max_domains 0. - "fire_ignition_end_y2" "y coord of end of ignition line" "m"
200 rconfig real fire_ignition_start_x3 namelist,fire max_domains 0. - "fire_ignition_start_x3" "x coord of start of ignition line" "m"
201 rconfig real fire_ignition_start_y3 namelist,fire max_domains 0. - "fire_ignition_start_y3" "y coord of start of ignition line" "m"
202 rconfig real fire_ignition_end_x3 namelist,fire max_domains 0. - "fire_ignition_end_x3" "x coord of end of ignition line" "m"
203 rconfig real fire_ignition_end_y3 namelist,fire max_domains 0. - "fire_ignition_end_y3" "y coord of end of ignition line" "m"
204 rconfig real fire_ignition_start_x4 namelist,fire max_domains 0. - "fire_ignition_start_x4" "x coord of start of ignition line" "m"
205 rconfig real fire_ignition_start_y4 namelist,fire max_domains 0. - "fire_ignition_start_y4" "y coord of start of ignition line" "m"
206 rconfig real fire_ignition_end_x4 namelist,fire max_domains 0. - "fire_ignition_end_x4" "x coord of end of ignition line" "m"
207 rconfig real fire_ignition_end_y4 namelist,fire max_domains 0. - "fire_ignition_end_y4" "y coord of end of ignition line" "m"
208 rconfig real fire_ignition_start_x5 namelist,fire max_domains 0. - "fire_ignition_start_x5" "x coord of start of ignition line" "m"
209 rconfig real fire_ignition_start_y5 namelist,fire max_domains 0. - "fire_ignition_start_y5" "y coord of start of ignition line" "m"
210 rconfig real fire_ignition_end_x5 namelist,fire max_domains 0. - "fire_ignition_end_x5" "x coord of end of ignition line" "m"
211 rconfig real fire_ignition_end_y5 namelist,fire max_domains 0. - "fire_ignition_end_y5" "y coord of end of ignition line" "m"
213 # ------------------------------------------------------------------------------------------------------------------------
214 # variables from old cawfe code
216 rconfig real fire_lat_init namelist,fire max_domains 0. - "fire_lat_init" "latitude to start fire" "degrees"
217 rconfig real fire_lon_init namelist,fire max_domains 0. - "fire_lon_init" "longitude to start fire" "degrees"
218 rconfig real fire_ign_time namelist,fire max_domains 0. - "fire_ign_time" "time when fire should be ignited" "min"
219 rconfig integer fire_shape namelist,fire max_domains 0 - "fire_shape" "fire shape" ""
220 rconfig integer fire_sprd_mdl namelist,fire max_domains 1 - "fire_sprd_mdl" "which spread rate formula: if 0, Macarthur; if 1, BEHAVE" ""
221 rconfig real fire_crwn_hgt namelist,fire max_domains 15. - "fire_crwn_hgt" "height that heat from crown fire is released" "m"
222 rconfig real fire_ext_grnd namelist,fire max_domains 50. - "fire_ext_grnd" "extinction depth of sfc fire heat" "m"
223 rconfig real fire_ext_crwn namelist,fire max_domains 50. - "fire_ext_crwn" "extinction depth of crown fire heat" "m"
224 rconfig real fire_wind_height namelist,fire max_domains 6.096 - "fire_wind_height" "height of uah,vah wind in fire spread formula" "m"
225 rconfig integer fire_fuel_read namelist,fire max_domains -1 - "fire_fuel_read" "fuel categories are set by: if 0, uniform; if 1, user-presc; if 2, read from file" ""
226 rconfig integer fire_fuel_cat namelist,fire max_domains 1 - "fire_fuel_cat" "fuel category if ifuelread=0" ""
228 # ------------------------------------------------------------------------------------------------------------------------
231 rconfig integer fire_fmc_read namelist,fire max_domains 1 - "fire_fmc_read" "ground fuel moisture is set by: if 0, in wrfinput; if 1, user-presc; if 2, read from file" ""
232 rconfig integer fire_print_msg namelist,fire max_domains 0 - "fire_write_msg" "write fire statistics, 0 no writes, 1+ for more" ""
233 rconfig integer fire_print_file namelist,fire max_domains 0 - "fire_write_file" "write fire output text files, 0 no writes, 1+ for more" ""
235 # ------------------------------------------------------------------------------------------------------------------------
238 rconfig integer fire_fuel_left_method namelist,fire max_domains 1 - "fire_fuel_left_method" "1 or 2, compute fuel_left" ""
239 rconfig integer fire_fuel_left_irl namelist,fire max_domains 2 - "fire_fuel_left_irl" "submesh to compute fuel lwft, even, at least 2" ""
240 rconfig integer fire_fuel_left_jrl namelist,fire max_domains 2 - "fire_fuel_left_jrl" "submesh to compute fuel lwft, even, at least 2" ""
241 rconfig integer fire_grows_only namelist,fire max_domains 1 - "fire_grows_only" "if >0 level set function cannot increase = fire can only grow" "1"
242 rconfig integer fire_upwinding namelist,fire max_domains 9 - "fire_upwinding" "upwind normal spread: 1=standard, 2=godunov, 3=eno, 4=sethian, 5=2nd-order, 6=WENO3, 7=WENO5, 8=hybrid WENO3/ENO1, 9=hybrid WENO5/ENO1" "1"
243 rconfig integer fire_upwind_split namelist,fire max_domains 0 - "fire_upwind_split" "1=upwind advection separately from normal direction spread" "1"
244 rconfig real fire_viscosity namelist,fire max_domains 0.4 - "fire_viscosity" "artificial viscosity in level set method" "1"
245 rconfig real fire_lfn_ext_up namelist,fire max_domains 1.0 - "fire_lfn_ext_up" "0.=extend level set function at boundary by reflection, 1.=always up" "1"
246 rconfig integer fire_topo_from_atm namelist,fire max_domains 1 - "fire_topo_from_atm" "0 = do nothing, 1 = populate ZSF by interpolating from atmosphere" "1"
247 rconfig integer fire_advection namelist,fire max_domains 1 - "fire_advection" "0 = fire spread computed from normal wind speed/slope, 1 = fireline particle speed projected on normal" "0"
249 # ------------------------------------------------------------------------------------------------------------------------
252 rconfig integer fire_test_steps namelist,fire max_domains 0 - "fire_test_steps" ">0 = on first call, do specified number of steps and terminate (testing only)" "1"
253 rconfig real fire_const_time namelist,fire max_domains -1. - "fire_const_time" "time from ignition to freeze fire, <0 never" "s"
254 rconfig real fire_const_grnhfx namelist,fire max_domains 0. - "fire_const_grnhfx" "if both >=0, the amount of constant heat flux" "1"
255 rconfig real fire_const_grnqfx namelist,fire max_domains 0. - "fire_const_grnqfx" "if both >=0, the amount of constant heat flux" "1"
256 rconfig real fire_atm_feedback namelist,fire max_domains 1. - "fire_atm_feedback" "the heat fluxes to the atmosphere are multiplied by this" "1"
257 rconfig integer fire_mountain_type namelist,fire max_domains 0 - "fire_mountain_type" "in ideal: 0=none, 1=COS hill, 2=EW ridge, 3=NS ridge" "1"
258 rconfig real fire_mountain_height namelist,fire max_domains 500. - "fire_mountain_height" "ideal mountain height" "m"
259 rconfig real fire_mountain_start_x namelist,fire max_domains 100. - "fire_mountain_start_x" "x coord of start of the mountain" "m"
260 rconfig real fire_mountain_start_y namelist,fire max_domains 100. - "fire_mountain_start_y" "y coord of start of the mountain" "m"
261 rconfig real fire_mountain_end_x namelist,fire max_domains 100. - "fire_mountain_end_x" "x coord of end of the mountain" "m"
262 rconfig real fire_mountain_end_y namelist,fire max_domains 100. - "fire_mountain_end_y" "y coord of end of the mountain" "m"
263 rconfig real delt_perturbation namelist,fire max_domains 0. - "delt_perturbation" "temperature perturbation for cold (-) /warm (+) bubble" "K"
264 rconfig real xrad_perturbation namelist,fire max_domains 0. - "xrad_perturbation" "horizontal radius of the perturbation in E-W direction" "m"
265 rconfig real yrad_perturbation namelist,fire max_domains 0. - "yrad_perturbation" "horizontal radius of the perturbation in N-S direction" "m"
266 rconfig real zrad_perturbation namelist,fire max_domains 0. - "zrad_perturbation" "vertical radius of the perturbation (bubble) direction" "m"
267 rconfig real hght_perturbation namelist,fire max_domains 0. - "hght_perturbation" "height at which the perturbation (bubble) will be suspended" "m"
269 # ------------------------------------------------------------------------------------------------------------------------
272 rconfig logical stretch_grd namelist,fire max_domains .true. - "stretch_grd" "vertical grid stretching (on/off)" ""
273 rconfig logical stretch_hyp namelist,fire max_domains .false. - "stretch_hyp" "hyperbolic tang grid stretching (more levels at the surface)" ""
274 rconfig real z_grd_scale namelist,fire max_domains 0.40 - "z_grd_scale" "zscale parameter for hyperbolic grid streching" "m"
276 # ------------------------------------------------------------------------------------------------------------------------
277 # surface initialization
279 rconfig logical sfc_full_init namelist,fire max_domains .false. - "sfc_full_init" "full surface initialization (on/off)" ""
280 rconfig integer sfc_lu_index namelist,fire max_domains 28 - "sfc_lu_index" "USGS landuse index definig sfc record from LANDUSE.TBL" ""
281 rconfig real sfc_tsk namelist,fire max_domains 285.0 - "sfc_tsk" "surface skin temperature (TSK)" "K"
282 rconfig real sfc_tmn namelist,fire max_domains 285.0 - "sfc_tmn" "soil temperature at lower boundary (TMN)" "K"
284 # ------------------------------------------------------------------------------------------------------------------------
285 # landuse data from files - overwrite constants
287 rconfig logical fire_read_lu namelist,fire max_domains .false. - "fire_read_lu" "read land use data from file input_lu" ""
288 rconfig logical fire_read_tsk namelist,fire max_domains .false. - "fire_read_tsk" "read file input_tsk" ""
289 rconfig logical fire_read_tmn namelist,fire max_domains .false. - "fire_read_tmn" "read file input_tmn" ""
291 # ------------------------------------------------------------------------------------------------------------------------
292 # topography data from files
294 rconfig logical fire_read_atm_ht namelist,fire max_domains .false. - "fire_read_atm_ht" "read terrain height on atm mesh from file" ""
295 rconfig logical fire_read_fire_ht namelist,fire max_domains .false. - "fire_read_fire_ht" "read terrain height on fire mesh from file" ""
296 rconfig logical fire_read_atm_grad namelist,fire max_domains .false. - "fire_read_atm_grad" "read terrain gradient on atm mesh from file" ""
297 rconfig logical fire_read_fire_grad namelist,fire max_domains .false. - "fire_read_fire_grad" "read terrain gradient on fire mesh from file" ""
299 # ------------------------------------------------------------------------------------------------------------------------
300 # additional data required by Noah LSM scheme
302 rconfig real sfc_vegfra namelist,fire max_domains 0.5 - "sfc_vegfra" "vegetation fraction" ""
303 rconfig real sfc_canwat namelist,fire max_domains 0 - "sfc_canwat" "canopy water" ""
304 rconfig integer sfc_ivgtyp namelist,fire max_domains 18 - "sfc_ivgtyp" "dominant vegetation category in the LSM scheme" ""
305 rconfig integer sfc_isltyp namelist,fire max_domains 7 - "sfc_isltyp" "dominant soil category in the LSM scheme" ""
307 # ------------------------------------------------------------------------------------------------------------------------
308 # namelist options for new WRF-Fire capabilities DME
310 rconfig logical fire_lsm_reinit namelist,fire max_domains .true. - "flag to activate reinitialization of level set method"
311 rconfig integer fire_lsm_reinit_iter namelist,fire max_domains 1 - "number of iterations for the reinitialization PDE"
312 rconfig integer fire_upwinding_reinit namelist,fire max_domains 4 - "numerical scheme (space) for reinitialization PDE: 1=WENO3, 2=WENO5, 3=hybrid WENO3-ENO1, 4=hybrid WENO5-ENO1"
313 rconfig logical fire_is_real_perim namelist,fire max_domains .false. - ".false. = point/line ignition, .true. = observed perimeter"
314 rconfig integer fire_lsm_band_ngp namelist,fire max_domains 4 - "number of grid points around lfn=0 that WENO5/3 is used (ENO1 elsewhere), for fire_upwinding_reinit=4,5 and fire_upwinding=8,9 options"
315 rconfig logical fire_lsm_zcoupling namelist,fire max_domains .false. - "flag to activate reference velocity at a different height from fire_wind_height"
316 rconfig real fire_lsm_zcoupling_ref namelist,fire max_domains 50. - "reference height from wich u at fire_wind_hegiht is calculated using a logarithmic profile" "m"
317 rconfig real fire_tracer_smoke namelist,fire max_domains 0.02 - "parts per unit of burned fuel becoming smoke (tracer_opt=3)" "g_smoke/kg_air"
318 rconfig real fire_viscosity_bg namelist,fire max_domains 0.4 - "fire_viscosity_bg" "artificial viscosity in the near-front region" "1"
319 rconfig real fire_viscosity_band namelist,fire max_domains 0.5 - "fire_viscosity_band" "number of times the hybrid advection band to transition from fire_viscosity_bg to fire_viscosity" "1"
320 rconfig integer fire_viscosity_ngp namelist,fire max_domains 2 - "number of grid points around lfn=0 where low artificial viscosity is used = fire_viscosity_bg"
321 rconfig real fire_slope_factor namelist,fire max_domains 1.0 - "slope correction factor" "-"
322 # ------------------------------------------------------------------------------------------------------------------------
323 # tracers for WRF-Fire
325 state real - ikjftb tracer 1 - - -
326 state real fire_smoke ikjftb tracer 1 - irhusdf=(bdy_interp:dt) "fire_smoke" "fire_smoke" "g_smoke/kg_air"
327 package tracer_fire tracer_opt==3 - tracer:fire_smoke
329 # ========================================================================================================================
330 # Firebrand Spotting for WRF-Fire (Frediani et al 2022)
331 # ========================================================================================================================
333 # variables for Firebrand Spotting: fs_[variable_name]
334 # Note: There is no input stream or restart output for these variables
335 # Firebrands live for a few minutes, so it does not make sense to restart them
336 # Restart runs will initialize these variables from zero
337 # the *only* IO flag is 'h'
338 # Pls do not modify them.
339 # ------------------------------------------------------------------------------------------------------------------------
342 rconfig integer fs_array_maxsize namelist,fire 1 100000 - "fs_array_maxsize" "Max number of active firebrands allowed"
343 rconfig integer fs_firebrand_gen_lim namelist,fire 1 0 - "fs_firebrand_gen_lim" "Limit number of firebrands generated at any given time (set it to 0 to turn spotting off)"
344 rconfig integer fs_firebrand_gen_dt namelist,fire 1 5 - "fs_firebrand_gen_dt" "Interval between consecutive generation cycles (dt is a factor applied to the model's time_step)"
345 rconfig integer fs_firebrand_gen_levels namelist,fire 1 5 - "fs_firebrand_gen_levels" "Number of vertical levels to generate firebrands (levels are distributed between 1 meter AGL and max height)"
346 rconfig integer fs_firebrand_gen_maxhgt namelist,fire 1 50 - "fs_firebrand_gen_maxhgt" "Max height to generate firebrands (in meters and greater than 1)"
347 rconfig logical fs_firebrand_gen_levrand namelist,fire 1 .false. - "fs_firebrand_gen_levrand" "Flag to generate firebrands at random heights between 1m AGL and maxhgt"
348 rconfig integer fs_firebrand_gen_levrand_seed namelist,fire 1 1 - "fs_firebrand_gen_levrand_seed" "Seed used for fs_firebrand_gen_levrand"
349 rconfig integer fs_firebrand_gen_mom3d_dt namelist,fire 1 4 - "fs_firebrand_gen_mom3d_dt" "Number of timesteps for firebrands to build 3-D momentum after generation (i.e., massless particle transport)"
350 rconfig real fs_firebrand_gen_prop_diam namelist,fire 1 10.0 - "fs_firebrand_gen_prop_diam" "Firebrand initial proporty: Diameter [mm]"
351 rconfig real fs_firebrand_gen_prop_effd namelist,fire 1 10.0 - "fs_firebrand_gen_prop_effd" "Firebrand initial proporty: Effective Diameter [mm]"
352 rconfig real fs_firebrand_gen_prop_temp namelist,fire 1 900.0 - "fs_firebrand_gen_prop_temp" "Firebrand initial proporty: Temperature [K]"
353 rconfig real fs_firebrand_gen_prop_tvel namelist,fire 1 0.0 - "fs_firebrand_gen_prop_tvel" "Firebrand initial proporty: Terminal Velocity [m/s] (set to zero for top of trajectory)"
354 rconfig real fs_firebrand_dens namelist,fire 1 513000.0 - "fs_firebrand_dens" "Density of firebrands [g/m3]"
355 rconfig real fs_firebrand_dens_char namelist,fire 1 299000.0 - "fs_firebrand_dens_char" "Density of char [g/m3]"
356 rconfig integer fs_firebrand_max_life_dt namelist,fire 1 200 - "fs_firebrand_max_life_dt" "Max lifetime of firebrands (multiple of the model timestep - in sec)"
357 rconfig real fs_firebrand_land_hgt namelist,fire 1 0.15 - "fs_firebrand_land_hgt" "AGL height that firebrands land (in meters)"
358 rconfig logical fuel_crosswalk namelist,fire max_domains .false. - "flag - artifact from COFPS used in firebrand_spotting - it does not crosswalk between fuel models."
359 rconfig logical trackember namelist,fire 1 .false. - "flag - for test only. Write ember properties on rsl.error files at each timestep - huge rsl files!"
361 # ------------------------------------------------------------------------------------------------------------------------
364 dimspec fs_maxsize - namelist=fs_array_maxsize c fs_maxsize
366 # ------------------------------------------------------------------------------------------------------------------------
368 #<Table> <Type> <Sym> <Dims> <Use> <NumTLev> <Stagger> <IO> <DNAME> <DESCRIP> <UNITS>
370 state integer fs_last_gen_dt - dyn_em 1 - - "fs_last_gen_dt" "cycles since last firebrand generation" "count"
371 state integer fs_gen_idmax - dyn_em 1 - - "fs_gen_idmax" "highest ID number assigned to particle" "ID"
372 state logical fs_count_reset - dyn_em 1 - - "fs_count_reset" "flag to reset deposit count"
373 state real fs_fire_ROSdt *i*j fire 1 z - "fs_fire_ROSdt" "fire rate of spread (on fire refined grid) between generation cycles"
374 state real fs_fire_area ij misc 1 - h "fs_fire_area" "fire area on meteorological grid"
375 state real fs_fuel_spotting_risk ij misc 1 - h "fs_fuel_spotting_risk" "fuel risk for spotting likelihood"
376 state real fs_count_landed_all ij misc 1 - h "fs_count_landed_all" "firebrand count: landed since sim start"
377 state real fs_count_landed_hist ij misc 1 - h "fs_count_landed_hist" "firebrand count: landed during history interval"
378 state integer fs_landing_mask ij misc 1 - h "fs_landing_mask" "valid landing gridpoints"
379 state integer fs_gen_inst ij misc 1 - h "fs_gen_inst" "firebrand number generation - instantaneous"
380 state real fs_frac_landed ij misc 1 - h "fs_frac_landed" "fraction of firebrand landed (pt/total) during history interval"
381 state real fs_spotting_lkhd ij misc 1 - h "fs_spotting_lkhd" "fire spotting likelihood"
383 # ------------------------------------------------------------------------------------------------------------------------
384 # Particle properties: fs_p_[property_name]
386 state integer fs_p_id {fs_maxsize} dyn_em 1 - - "fs_p_id" "particle unique ID" "ID"
387 state integer fs_p_src {fs_maxsize} dyn_em 1 - - "fs_p_src" "particle source ID - source MPI proc" "src"
388 state integer fs_p_dt {fs_maxsize} dyn_em 1 - - "fs_p_dt" "particle active time steps" "count"
389 state real fs_p_x {fs_maxsize} dyn_em 1 - - "fs_p_x" "particle x position" "index"
390 state real fs_p_y {fs_maxsize} dyn_em 1 - - "fs_p_y" "particle y position" "index"
391 state real fs_p_z {fs_maxsize} dyn_em 1 - - "fs_p_z" "particle z position" "index"
392 state real fs_p_mass {fs_maxsize} dyn_em 1 - - "fs_p_mass" "firebrand mass" "g"
393 state real fs_p_diam {fs_maxsize} dyn_em 1 - - "fs_p_diam" "firebrand diameter" "mm"
394 state real fs_p_effd {fs_maxsize} dyn_em 1 - - "fs_p_effd" "firebrand effective diameter" "mm"
395 state real fs_p_temp {fs_maxsize} dyn_em 1 - - "fs_p_temp" "firebrand temp" "K"
396 state real fs_p_tvel {fs_maxsize} dyn_em 1 - - "fs_p_tvel" "firebrand terminal velocity" "m/s"
397 # ------------------------------------------------------------------------------------------------------------------------
398 # ========================================================================================================================
399 # End of Firebrand Spotting section
400 # ========================================================================================================================
403 # Fire halo descriptions
405 halo HALO_FIRE_LFN dyn_em 48:lfn
406 halo HALO_FIRE_LFN_0 dyn_em 48:lfn_0
407 halo HALO_FIRE_LFN_1 dyn_em 48:lfn_1
408 halo HALO_FIRE_LFN_2 dyn_em 48:lfn_2
409 halo HALO_FIRE_LFN_S1 dyn_em 48:lfn_s1
410 halo HALO_FIRE_LFN_S2 dyn_em 48:lfn_s2
411 halo HALO_FIRE_LFN_S3 dyn_em 48:lfn_s3
412 halo HALO_FIRE_TIGN dyn_em 8:tign_g
413 halo HALO_FIRE_HT dyn_em 8:ht
414 halo HALO_FIRE_PHB dyn_em 8:phb
415 halo HALO_FIRE_Z0 dyn_em 8:z0
416 halo HALO_FIRE_PH dyn_em 8:ph_2
417 halo HALO_FIRE_WIND_F dyn_em 12:uf,vf
418 halo HALO_FIRE_LONGLAT dyn_em 24:xlong,xlat
419 halo HALO_FIRE_WIND_A dyn_em 8:u_2,v_2
420 halo HALO_FIRE_ZSF dyn_em 24:zsf
421 halo HALO_FIRE_FUEL dyn_em 8:fuel_frac,fuel_time,bbb,betafl,phiwc,r_0,fgip,ischap,nfuel_cat,dzdxf,dzdyf
423 # ----------------------------------------
424 # end fire variables and configuration
425 # ----------------------------------------