Environmental Parameters

wind <- 6  # km/h
slope <- 0  # percent

Base Model Parameters (SH4)

sh4 <- SFM_metric["SH4", ]
sh4["Fuel_Model_Type"] <- "S" 
sh4["Mx_dead"] <- 60 # Keep consistent with the cogongrass fuel model
sh4["Fuel_Bed_Depth"] <- 91 # cm
sh4["Heat_1h"] <- 8000 # Btu/lb
sh4["Heat_10h"] <- 8000 # Btu/lb
sh4["Heat_100h"] <- 8000 # Btu/lb
sh4["Heat_Live_Herb"] <- 8000 # Btu/lb
sh4["Heat_Live_Woody"] <- 8000 # Btu/lb

Bare Ground Model Parameters (99)- Used as landscape buffer

bare_ground <- SFM_metric["GR1", ]
bare_ground["Fuel_Model_Type"] <- "S"
bare_ground["Load_1h"] <- 0
bare_ground["Load_10h"] <- 0
bare_ground["Load_100h"] <- 0
bare_ground["Load_Live_Herb"] <- 0
bare_ground["Load_Live_Woody"] <- 0
bare_ground["Fuel_Bed_Depth"] <- 0 # cm
bare_ground["Mx_dead"] <- 0 # Dead fuel moisture
bare_ground["Heat_1h"] <- 0 # Btu/lb
bare_ground["Heat_10h"] <- 0 # Btu/lb
bare_ground["Heat_100h"] <- 0 # Btu/lb
bare_ground["Heat_Live_Herb"] <- 0 # Btu/lb
bare_ground["Heat_Live_Woody"] <- 0 # Btu/lb
bare_ground["SA/V_1h"] <- 0
bare_ground["SA/V_10h"] <- 0
bare_ground["SA/V_100h"] <- 0
bare_ground["SA/V_Live_Herb"] <- 0
bare_ground["SA/V_Live_Woody"] <- 0

Objective 1 Fuel Models

Invaded Cogongrass Fuel Model Using All Site Data

inv_fuel_model_O1 <- sh4
inv_fuel_model_O1["Fuel_Model_Type"] <- "D"

inv_liveB_O1 <- 2.5928 # tonne/ha
inv_combB_O1 <- 6.69466 # tonne/ha Dead + Litter

inv_dead_FM_O1 <- 18.44707 # Dead fuel moisture
inv_live_FM_O1 <- 148.8094 # Live fuel moisture

inv_fuel_bed_depth_O1 <- 122 # cm

inv_fuel_model_O1["Load_Live_Herb"] <- inv_liveB_O1
inv_fuel_model_O1["Load_1h"] <- inv_combB_O1
inv_fuel_model_O1["Fuel_Bed_Depth"] <- inv_fuel_bed_depth_O1

Non-Invaded Cogongrass Fuel Model Using All Site Data

non_inv_fuel_model_O1 <- sh4
non_inv_fuel_model_O1["Fuel_Model_Type"] <- "D"

non_inv_liveB_O1 <- 0.65013 # tonne/ha
non_inv_combB_O1 <- 6.494933 # tonne/ha Dead + Litter

non_inv_dead_FM_O1 <- 16.87225 # Dead fuel moisture
non_inv_live_FM_O1 <- 140.3035 # Live fuel moisture

non_inv_fuel_bed_depth_O1 <- 69 # cm

non_inv_fuel_model_O1["Load_Live_Herb"] <- non_inv_liveB_O1
non_inv_fuel_model_O1["Load_1h"] <- non_inv_combB_O1
non_inv_fuel_model_O1["Fuel_Bed_Depth"] <- non_inv_fuel_bed_depth_O1

Seasonal Fuel Models

Invaded Cogongrass Fuel Model Using Summer Data

inv_fuel_model_sum <- sh4
inv_fuel_model_sum["Fuel_Model_Type"] <- "D"

inv_liveB_sum <- 2.4472 # tonne/ha
inv_combB_sum <- 6.48053 # tonne/ha Dead + Litter

inv_dead_FM_sum <- 19.6095 # Dead fuel moisture
inv_live_FM_sum <- 147.421 # Live fuel moisture

inv_fuel_bed_depth_sum <- 122 # cm

inv_fuel_model_sum["Load_Live_Herb"] <- inv_liveB_sum
inv_fuel_model_sum["Load_1h"] <- inv_combB_sum
inv_fuel_model_sum["Fuel_Bed_Depth"] <- inv_fuel_bed_depth_sum

Non-Invaded Cogongrass Fuel Model Using Summer Data

non_inv_fuel_model_sum <- sh4
non_inv_fuel_model_sum["Fuel_Model_Type"] <- "D"

non_inv_liveB_sum <- 0.59467 # tonne/ha
non_inv_combB_sum <- 6.3752 # tonne/ha Dead + Litter

non_inv_dead_FM_sum <- 18.3181 # Dead fuel moisture
non_inv_live_FM_sum <- 163.917 # Live fuel moisture

non_inv_fuel_bed_depth_sum <- 69 # cm

non_inv_fuel_model_sum["Load_Live_Herb"] <- non_inv_liveB_sum
non_inv_fuel_model_sum["Load_1h"] <- non_inv_combB_sum
non_inv_fuel_model_sum["Fuel_Bed_Depth"] <- non_inv_fuel_bed_depth_sum

Invaded Cogongrass Fuel Model Using Winter Data

inv_fuel_model_win <- sh4
inv_fuel_model_win["Fuel_Model_Type"] <- "D"

inv_liveB_win <- 1.4976 # tonne/ha
inv_combB_win <- 9.0304 # tonne/ha Dead + Litter

inv_dead_FM_win <- 23.7932 # Dead fuel moisture
inv_live_FM_win <- 119.494 # Live fuel moisture

inv_fuel_bed_depth_win <- 122 # cm

inv_fuel_model_win["Load_Live_Herb"] <- inv_liveB_win
inv_fuel_model_win["Load_1h"] <- inv_combB_win
inv_fuel_model_win["Fuel_Bed_Depth"] <- inv_fuel_bed_depth_win

Non-Invaded Cogongrass Fuel Model Using Winter Data

non_inv_fuel_model_win <- sh4
non_inv_fuel_model_win["Fuel_Model_Type"] <- "D"

non_inv_liveB_win <- 0.2728 # tonne/ha
non_inv_combB_win <- 7.328 # tonne/ha Dead + Litter

non_inv_dead_FM_win <- 29.4534 # Dead fuel moisture
non_inv_live_FM_win <- 85.1853 # Live fuel moisture

non_inv_fuel_bed_depth_win <- 69 # cm

non_inv_fuel_model_win["Load_Live_Herb"] <- non_inv_liveB_win
non_inv_fuel_model_win["Load_1h"] <- non_inv_combB_win
non_inv_fuel_model_win["Fuel_Bed_Depth"] <- non_inv_fuel_bed_depth_win

Invaded Cogongrass Fuel Model Using Spring Data

inv_fuel_model_spr <- sh4
inv_fuel_model_spr["Fuel_Model_Type"] <- "D"

inv_liveB_spr <- 2.1616 # tonne/ha
inv_combB_spr <- 7.3936 # tonne/ha Dead + Litter

inv_dead_FM_spr <- 10.9237 # Dead fuel moisture
inv_live_FM_spr <- 117.062 # Live fuel moisture

inv_fuel_bed_depth_spr <- 122 # cm

inv_fuel_model_spr["Load_Live_Herb"] <- inv_liveB_spr
inv_fuel_model_spr["Load_1h"] <- inv_combB_spr
inv_fuel_model_spr["Fuel_Bed_Depth"] <- inv_fuel_bed_depth_spr

Non-Invaded Cogongrass Fuel Model Using Spring Data

non_inv_fuel_model_spr <- sh4
non_inv_fuel_model_spr["Fuel_Model_Type"] <- "D"

non_inv_liveB_spr <- 0.5088 # tonne/ha
non_inv_combB_spr <- 6.93547 # tonne/ha Dead + Litter

non_inv_dead_FM_spr <- 13.884 # Dead fuel moisture
non_inv_live_FM_spr <- 80.3315 # Live fuel moisture

non_inv_fuel_bed_depth_spr <- 69 # cm

non_inv_fuel_model_spr["Load_Live_Herb"] <- non_inv_liveB_spr
non_inv_fuel_model_spr["Load_1h"] <- non_inv_combB_spr
non_inv_fuel_model_spr["Fuel_Bed_Depth"] <- non_inv_fuel_bed_depth_spr

Build Fuel Models

Build .fmd files

.fmd file includes the buffer fuel model (99), and four versions of invaded and non-invaded fuel stands. One version using data from the entire study area and three versions for each season (summer, winter, spring). - 0.446 is the conversion factor from tonnes/ha to tons/acre - 0.02048 is the conversion factor from tonnes/ha to lb/ft² - 0.0328084 is the conversion factor from cm to ft - Divide by 3.28084 to convert from 1/m to 1/ft

## Sh4 Fuel Model
sh4_eng <- tibble(
  FMNum = 144,
  FMCode = "SH4",
  '1H' = sh4[["Load_1h"]] * 0.446,
  '10H' = sh4[["Load_10h"]] * 0.446,
  '100H' = sh4[["Load_100h"]] * 0.446,
  LiveH = sh4[["Load_Live_Herb"]] * 0.446,
  LiveW = sh4[["Load_Live_Woody"]] * 0.446,
  FMType = sh4[["Fuel_Model_Type"]],
  '1HSAV' = sh4[["SA/V_1h"]] / 3.28084,
  LiveHSAV = sh4[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = sh4[["SA/V_Live_Woody"]] / 3.28084,
  Depth = sh4[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = sh4[["Mx_dead"]],
  DHt = sh4[["Heat_1h"]],
  LHt = sh4[["Heat_Live_Herb"]],
  FMName = "Timber-Shrub" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))


# Buffer fuel model 
buffer_eng <- tibble(
  FMNum = 99,
  FMCode = "NB9",
  '1H' = bare_ground[["Load_1h"]] * 0.446,
  '10H' = bare_ground[["Load_10h"]] * 0.446,
  '100H' = bare_ground[["Load_100h"]] * 0.446,
  LiveH = bare_ground[["Load_Live_Herb"]] * 0.446,
  LiveW = bare_ground[["Load_Live_Woody"]] * 0.446,
  FMType = bare_ground[["Fuel_Model_Type"]],
  '1HSAV' = bare_ground[["SA/V_1h"]] / 3.28084,
  LiveHSAV = bare_ground[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = bare_ground[["SA/V_Live_Woody"]] / 3.28084,
  Depth = bare_ground[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = bare_ground[["Mx_dead"]],
  DHt = bare_ground[["Heat_1h"]],
  LHt = bare_ground[["Heat_Live_Herb"]],
  FMName = "Bare Ground Fuel Model" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

## Objective 1 Fuel Models
# Invaded Cogongrass Fuel Model Using All Site Data
inv_eng_O1 <- tibble(
  FMNum = 14,
  FMCode = "IO1",
  '1H' = inv_fuel_model_O1[["Load_1h"]] * 0.446,
  '10H' = inv_fuel_model_O1[["Load_10h"]] * 0.446,
  '100H' = inv_fuel_model_O1[["Load_100h"]] * 0.446,
  LiveH = inv_fuel_model_O1[["Load_Live_Herb"]] * 0.446,
  LiveW = inv_fuel_model_O1[["Load_Live_Woody"]] * 0.446,
  FMType = inv_fuel_model_O1[["Fuel_Model_Type"]],
  '1HSAV' = inv_fuel_model_O1[["SA/V_1h"]] / 3.28084,
  LiveHSAV = inv_fuel_model_O1[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = inv_fuel_model_O1[["SA/V_Live_Woody"]] / 3.28084,
  Depth = inv_fuel_model_O1[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = inv_fuel_model_O1[["Mx_dead"]],
  DHt = inv_fuel_model_O1[["Heat_1h"]],
  LHt = inv_fuel_model_O1[["Heat_Live_Herb"]],
  FMName = "Invaded Stand Objective 1" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))


# Non-Invaded Cogongrass Fuel Model Using All Site Data
non_inv_eng_O1 <- tibble(
  FMNum = 15,
  FMCode = "NIO1",
  '1H' = non_inv_fuel_model_O1[["Load_1h"]] * 0.446,
  '10H' = non_inv_fuel_model_O1[["Load_10h"]] * 0.446,
  '100H' = non_inv_fuel_model_O1[["Load_100h"]] * 0.446,
  LiveH = non_inv_fuel_model_O1[["Load_Live_Herb"]] * 0.446,
  LiveW = non_inv_fuel_model_O1[["Load_Live_Woody"]] * 0.446,
  FMType = non_inv_fuel_model_O1[["Fuel_Model_Type"]],
  '1HSAV' = non_inv_fuel_model_O1[["SA/V_1h"]] / 3.28084,
  LiveHSAV = non_inv_fuel_model_O1[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = non_inv_fuel_model_O1[["SA/V_Live_Woody"]] / 3.28084,
  Depth = non_inv_fuel_model_O1[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = non_inv_fuel_model_O1[["Mx_dead"]],
  DHt = non_inv_fuel_model_O1[["Heat_1h"]],
  LHt = non_inv_fuel_model_O1[["Heat_Live_Herb"]],
  FMName = "Non-Invaded Stand Objective 1" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))


# Invaded Cogongrass Fuel Model Using Summer Data
inv_eng_sum <- tibble(
  FMNum = 16,
  FMCode = "IOSum",
  '1H' = inv_fuel_model_sum[["Load_1h"]] * 0.446,
  '10H' = inv_fuel_model_sum[["Load_10h"]] * 0.446,
  '100H' = inv_fuel_model_sum[["Load_100h"]] * 0.446,
  LiveH = inv_fuel_model_sum[["Load_Live_Herb"]] * 0.446,
  LiveW = inv_fuel_model_sum[["Load_Live_Woody"]] * 0.446,
  FMType = inv_fuel_model_sum[["Fuel_Model_Type"]],
  '1HSAV' = inv_fuel_model_sum[["SA/V_1h"]] / 3.28084,
  LiveHSAV = inv_fuel_model_sum[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = inv_fuel_model_sum[["SA/V_Live_Woody"]] / 3.28084,
  Depth = inv_fuel_model_sum[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = inv_fuel_model_sum[["Mx_dead"]],
  DHt = inv_fuel_model_sum[["Heat_1h"]],
  LHt = inv_fuel_model_sum[["Heat_Live_Herb"]],
  FMName = "Invaded Stand Summer" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

# Non-Invaded Cogongrass Fuel Model Using Summer Data
non_inv_eng_sum <- tibble(
  FMNum = 17,
  FMCode = "NIOSum",
  '1H' = non_inv_fuel_model_sum[["Load_1h"]] * 0.446,
  '10H' = non_inv_fuel_model_sum[["Load_10h"]] * 0.446,
  '100H' = non_inv_fuel_model_sum[["Load_100h"]] * 0.446,
  LiveH = non_inv_fuel_model_sum[["Load_Live_Herb"]] * 0.446,
  LiveW = non_inv_fuel_model_sum[["Load_Live_Woody"]] * 0.446,
  FMType = non_inv_fuel_model_sum[["Fuel_Model_Type"]],
  '1HSAV' = non_inv_fuel_model_sum[["SA/V_1h"]] / 3.28084,
  LiveHSAV = non_inv_fuel_model_sum[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = non_inv_fuel_model_sum[["SA/V_Live_Woody"]] / 3.28084,
  Depth = non_inv_fuel_model_sum[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = non_inv_fuel_model_sum[["Mx_dead"]],
  DHt = non_inv_fuel_model_sum[["Heat_1h"]],
  LHt = non_inv_fuel_model_sum[["Heat_Live_Herb"]],
  FMName = "Non-Invaded Stand Summer" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

# Invaded Cogongrass Fuel Model Using Winter Data
inv_eng_win <- tibble(
  FMNum = 18,
  FMCode = "IOWin",
  '1H' = inv_fuel_model_win[["Load_1h"]] * 0.446,
  '10H' = inv_fuel_model_win[["Load_10h"]] * 0.446,
  '100H' = inv_fuel_model_win[["Load_100h"]] * 0.446,
  LiveH = inv_fuel_model_win[["Load_Live_Herb"]] * 0.446,
  LiveW = inv_fuel_model_win[["Load_Live_Woody"]] * 0.446,
  FMType = inv_fuel_model_win[["Fuel_Model_Type"]],
  '1HSAV' = inv_fuel_model_win[["SA/V_1h"]] / 3.28084,
  LiveHSAV = inv_fuel_model_win[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = inv_fuel_model_win[["SA/V_Live_Woody"]] / 3.28084,
  Depth = inv_fuel_model_win[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = inv_fuel_model_win[["Mx_dead"]],
  DHt = inv_fuel_model_win[["Heat_1h"]],
  LHt = inv_fuel_model_win[["Heat_Live_Herb"]],
  FMName = "Invaded Stand Winter" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

# Non-Invaded Cogongrass Fuel Model Using Winter Data
non_inv_eng_win <- tibble(
  FMNum = 19,
  FMCode = "NIOWin",
  '1H' = non_inv_fuel_model_win[["Load_1h"]] * 0.446,
  '10H' = non_inv_fuel_model_win[["Load_10h"]] * 0.446,
  '100H' = non_inv_fuel_model_win[["Load_100h"]] * 0.446,
  LiveH = non_inv_fuel_model_win[["Load_Live_Herb"]] * 0.446,
  LiveW = non_inv_fuel_model_win[["Load_Live_Woody"]] * 0.446,
  FMType = non_inv_fuel_model_win[["Fuel_Model_Type"]],
  '1HSAV' = non_inv_fuel_model_win[["SA/V_1h"]] / 3.28084,
  LiveHSAV = non_inv_fuel_model_win[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = non_inv_fuel_model_win[["SA/V_Live_Woody"]] / 3.28084,
  Depth = non_inv_fuel_model_win[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = non_inv_fuel_model_win[["Mx_dead"]],
  DHt = non_inv_fuel_model_win[["Heat_1h"]],
  LHt = non_inv_fuel_model_win[["Heat_Live_Herb"]],
  FMName = "Non-Invaded Stand Winter" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

# Invaded Cogongrass Fuel Model Using Spring Data
inv_eng_spr <- tibble(
  FMNum = 20,
  FMCode = "IOSpr",
  '1H' = inv_fuel_model_spr[["Load_1h"]] * 0.446,
  '10H' = inv_fuel_model_spr[["Load_10h"]] * 0.446,
  '100H' = inv_fuel_model_spr[["Load_100h"]] * 0.446,
  LiveH = inv_fuel_model_spr[["Load_Live_Herb"]] * 0.446,
  LiveW = inv_fuel_model_spr[["Load_Live_Woody"]] * 0.446,
  FMType = inv_fuel_model_spr[["Fuel_Model_Type"]],
  '1HSAV' = inv_fuel_model_spr[["SA/V_1h"]] / 3.28084,
  LiveHSAV = inv_fuel_model_spr[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = inv_fuel_model_spr[["SA/V_Live_Woody"]] / 3.28084,
  Depth = inv_fuel_model_spr[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = inv_fuel_model_spr[["Mx_dead"]],
  DHt = inv_fuel_model_spr[["Heat_1h"]],
  LHt = inv_fuel_model_spr[["Heat_Live_Herb"]],
  FMName = "Invaded Stand Spring" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

# Non-Invaded Cogongrass Fuel Model Using Spring Data
non_inv_eng_spr <- tibble(
  FMNum = 21,
  FMCode = "NIOSpr",
  '1H' = non_inv_fuel_model_spr[["Load_1h"]] * 0.446,
  '10H' = non_inv_fuel_model_spr[["Load_10h"]] * 0.446,
  '100H' = non_inv_fuel_model_spr[["Load_100h"]] * 0.446,
  LiveH = non_inv_fuel_model_spr[["Load_Live_Herb"]] * 0.446,
  LiveW = non_inv_fuel_model_spr[["Load_Live_Woody"]] * 0.446,
  FMType = non_inv_fuel_model_spr[["Fuel_Model_Type"]],
  '1HSAV' = non_inv_fuel_model_spr[["SA/V_1h"]] / 3.28084,
  LiveHSAV = non_inv_fuel_model_spr[["SA/V_Live_Herb"]] / 3.28084,
  LiveWSAV = non_inv_fuel_model_spr[["SA/V_Live_Woody"]] / 3.28084,
  Depth = non_inv_fuel_model_spr[["Fuel_Bed_Depth"]] * 0.0328084,
  XtMoist = non_inv_fuel_model_spr[["Mx_dead"]],
  DHt = non_inv_fuel_model_spr[["Heat_1h"]],
  LHt = non_inv_fuel_model_spr[["Heat_Live_Herb"]],
  FMName = "Non-Invaded Stand Spring" ) %>%
  mutate(across(where(is.numeric), ~round(., 3)))

Save as .fmd file

fuel_models_eng <- bind_rows(
  sh4_eng,
  buffer_eng,
  inv_eng_O1,
  non_inv_eng_O1,
  inv_eng_sum,
  non_inv_eng_sum,
  inv_eng_win,
  non_inv_eng_win,
  inv_eng_spr,
  non_inv_eng_spr
)

print(fuel_models_eng)
## # A tibble: 10 × 16
##    FMNum FMCode  `1H` `10H` `100H` LiveH LiveW FMType `1HSAV` LiveHSAV LiveWSAV
##    <dbl> <chr>  <dbl> <dbl>  <dbl> <dbl> <dbl> <chr>    <dbl>    <dbl>    <dbl>
##  1   144 SH4    0.852  1.15  0.201 0      2.56 S        2000.    1800.    1600.
##  2    99 NB9    0      0     0     0      0    S           0        0        0 
##  3    14 IO1    2.99   1.15  0.201 1.16   2.56 D        2000.    1800.    1600.
##  4    15 NIO1   2.90   1.15  0.201 0.29   2.56 D        2000.    1800.    1600.
##  5    16 IOSum  2.89   1.15  0.201 1.09   2.56 D        2000.    1800.    1600.
##  6    17 NIOSum 2.84   1.15  0.201 0.265  2.56 D        2000.    1800.    1600.
##  7    18 IOWin  4.03   1.15  0.201 0.668  2.56 D        2000.    1800.    1600.
##  8    19 NIOWin 3.27   1.15  0.201 0.122  2.56 D        2000.    1800.    1600.
##  9    20 IOSpr  3.30   1.15  0.201 0.964  2.56 D        2000.    1800.    1600.
## 10    21 NIOSpr 3.09   1.15  0.201 0.227  2.56 D        2000.    1800.    1600.
## # ℹ 5 more variables: Depth <dbl>, XtMoist <dbl>, DHt <dbl>, LHt <dbl>,
## #   FMName <chr>
str(fuel_models_eng)
## tibble [10 × 16] (S3: tbl_df/tbl/data.frame)
##  $ FMNum   : num [1:10] 144 99 14 15 16 17 18 19 20 21
##  $ FMCode  : chr [1:10] "SH4" "NB9" "IO1" "NIO1" ...
##  $ 1H      : num [1:10] 0.852 0 2.986 2.897 2.89 ...
##  $ 10H     : num [1:10] 1.15 0 1.15 1.15 1.15 ...
##  $ 100H    : num [1:10] 0.201 0 0.201 0.201 0.201 0.201 0.201 0.201 0.201 0.201
##  $ LiveH   : num [1:10] 0 0 1.16 0.29 1.09 ...
##  $ LiveW   : num [1:10] 2.56 0 2.56 2.56 2.56 ...
##  $ FMType  : chr [1:10] "S" "S" "D" "D" ...
##  $ 1HSAV   : num [1:10] 2000 0 2000 2000 2000 ...
##  $ LiveHSAV: num [1:10] 1800 0 1800 1800 1800 ...
##  $ LiveWSAV: num [1:10] 1600 0 1600 1600 1600 ...
##  $ Depth   : num [1:10] 2.99 0 4 2.26 4 ...
##  $ XtMoist : num [1:10] 60 0 60 60 60 60 60 60 60 60
##  $ DHt     : num [1:10] 8000 0 8000 8000 8000 8000 8000 8000 8000 8000
##  $ LHt     : num [1:10] 8000 0 8000 8000 8000 8000 8000 8000 8000 8000
##  $ FMName  : chr [1:10] "Timber-Shrub" "Bare Ground Fuel Model" "Invaded Stand Objective 1" "Non-Invaded Stand Objective 1" ...
fuel_models_eng <- fuel_models_eng %>%
  dplyr::select(
    FMNum,
    FMCode,
    '1H',
    '10H',
    '100H',
    LiveH,
    LiveW,
    FMType,
    '1HSAV',
    LiveHSAV,
    LiveWSAV,
    Depth,
    XtMoist,
    DHt,
    LHt,
    FMName
  )

readr::write_tsv(
  fuel_models_eng,
  "C:/Users/DrewIvory/OneDrive - University of Florida/Desktop/School/PHD/01_Projects/02_FuelSpatial/02_Data/Inputs/custom_fuel_models.fmd"
)