Merge remote-tracking branch 'origin/release-v4.5'
[WRF.git] / Registry / registry.fire
blob35a2284c350839f5c3d309ce1803be014a57b29a
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 # ------------------------------------------------------------------------------------------------------------------------
12
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 # ------------------------------------------------------------------------------------------------------------------------
48 # diagnostics only
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"
87
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 # ------------------------------------------------------------------------------------------------------------------------
229 # sfire switches
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 # ------------------------------------------------------------------------------------------------------------------------
236 # method selection
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 # ------------------------------------------------------------------------------------------------------------------------
250 # experiments
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 # ------------------------------------------------------------------------------------------------------------------------
270 # grid stretching
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 # ------------------------------------------------------------------------------------------------------------------------
340 # Namelist 
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 # ------------------------------------------------------------------------------------------------------------------------
362 # Dimensions
364 dimspec   fs_maxsize  -  namelist=fs_array_maxsize           c        fs_maxsize
366 # ------------------------------------------------------------------------------------------------------------------------
367 # State 
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 # ----------------------------------------