Skip to content

NinhGhoster/firebrand-characteristic-statistical-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firebrand characteristic statistical analysis

This repository contains the data, analysis scripts, and statistical findings for Chapter 2: Firebrand Characteristics Data Analysis. It encompasses data regarding various firebrand samples, primarily focusing on physical properties such as dimensions, mass, density, and observed characteristics under different test conditions.

Project Structure

The project is organized by the type of firebrand material being analyzed:

  • Branchlet/: Contains raw data (branchlet raw data.xlsx) and statistical analysis scripts (R/) for Branchlet firebrands. Analyzes properties under different conditions such as Leaves, No Leaves, Twigs, Acacia, and Pine. Includes a combined 3-panel histogram of V/Sa distributions.
  • Stringybark/: Contains data (stringybark.xlsx), density analysis, and heatmap visualization scripts for Eucalyptus obliqua and Eucalyptus radiata stringybark firebrands. Condition labels use hazard ratings: Extreme (0% char), Very High (10–50% char), High (50–90% char), Moderate (90% char).
  • Candlebark/: Contains data (candlebark.xlsx) and density analysis scripts analyzing flat (1,053 samples) and cylindrical (1,263 samples) Candlebark across three fire intensities and three sample lengths.
  • Bark density/ & Bulk density/: Directories containing additional density-related data.
  • MC and material density/: Contains data and scripts for calculating and plotting Moisture Content (MC) and Material Density for Stringybark, Candlebark, and Twigs/Branchlets.
  • Results_Draft.md: Draft results section for Chapter 2, containing sample counts, EMM descriptions, and figure-specific write-ups for all three fuel types.

Key Findings & Data Analysis

Branchlet

  • Density: Average density evaluated via density boxplot.py is approximately 322 kg/m³.
  • Statistical Models: Automated model selection scripts compare AIC/RMSE across 6 parameters and multiple datasets, including the effects of experiment order. Count data analysis is performed using Poisson and Negative Binomial distributions. Publication-ready EMM plots show parameter-specific x-axis labels with units and a horizontal "Type" y-axis.

Stringybark

  • Density: E. obliqua (mean ~180 kg/m³) versus E. radiata (mean ~344 kg/m³). Analyzed in density_stringybark_boxplot.py.
  • Sample Counts: 1,556 total firebrands — 34 from E. radiata (9 trunk sections) and 1,522 from four E. obliqua trees: Extreme (322, 35 sections), Very High (696, 41 sections), High (203, 27 sections), Moderate (301, 16 sections).
  • Heatmap Analysis: Visualizes firebrand distribution across trunk height. Findings show Very High (10-50% char T9) exhibits the highest reach (S44).
  • Statistical Models: Automated model selection (Gamma vs. Lognormal) evaluating 8 parameters (incl. vol/SA ratios) against height_section, condition, and fire_intensity. Per-parameter EMM plots by condition, fire intensity, and trunk section.

Candlebark

  • Density: Mean density is approximately 263 kg/m³. Evaluated primarily for flat samples in density_candlebark_boxplot.py.
  • Sample Counts: 2,316 total firebrands — 1,053 flat and 1,263 cylindrical, across three fire intensities (50 kW: 671; 100 kW: 967; 150 kW: 678) and three sample lengths (20 cm: 171; 40 cm: 356; 60 cm: 1,789).
  • Statistical Models: Automated model selection (Gamma/GAM) evaluating 7 parameters across Fire Intensity, Shape (Flat vs Cylindrical), and Sample Length. Per-parameter EMM plots.

Combined Bark Analysis

  • The root script density_combined_bark.py combines Stringybark and Candlebark density data into unified visual boxplot comparisons.

Statistical Methodology

Model Selection

For each parameter, two candidate models are compared via AIC:

  • Gamma GLMM (glmmTMB, log link) — assumes a linear relationship on the log scale
  • GAM (mgcv) — allows smooth, nonlinear relationships with continuous predictors (e.g., trunk section)

The model with the lower AIC is selected per parameter. This means different parameters may use different models, which is standard practice (Burnham & Anderson, 2002). Both models produce comparable estimated marginal means (EMMs) on the response scale, so results are directly comparable across parameters regardless of which model was selected.

Count data (n_points) is analyzed separately using Poisson vs. Negative Binomial GLMs, with overdispersion testing to select the appropriate distribution.

  1. Better statistical properties — V/Sa is bounded in a narrow, well-behaved range (typically 0.2–0.8 for firebrands). Sa/V can explode to extreme values for thin particles (e.g., >2000), creating heavy-tailed distributions that violate model assumptions.
  2. Clearer trends — V/Sa shows clear, monotonic trends across trunk sections and conditions with tight confidence intervals. Sa/V produces flat, noisy patterns with large CI blowouts due to extreme outlier influence.
  3. Physical interpretability — V/Sa captures firebrand "compactness" or "thickness": higher V/Sa = bulkier particle. This relates directly to burning time and transport potential.

Available Scripts

R Scripts (Statistical Analysis)

  • Branchlet/R/SA for branchlet (with experiment order).R
  • Branchlet/R/SA for branchlet (without experiment order).R
  • Branchlet/R/combined_histogram.R — Combined 3-panel V/Sa histogram (Leaves, No leaves/Branchlet, Twigs)
  • Stringybark/R/SA for stringybark.R
  • Candlebark/R/SA for candlebark.R

Python Scripts (Data Processing & Visualization)

  • density_combined_bark.py: Master script in root for combined Bark density plotting.
  • Branchlet/density boxplot.py: Branchlet density boxplots.
  • Stringybark/density_stringybark_boxplot.py: Stringybark density boxplots.
  • Stringybark/create_firebrands_heatmap.py: Generates firebrand distribution heatmaps.
  • Candlebark/density_candlebark_boxplot.py: Candlebark density boxplots.
  • MC and material density/candle bark bulk density.py: MC and material density plots for Candlebark.
  • MC and material density/stringybark bulk density.py: MC and material density plots for Stringybark.
  • MC and material density/twig bulk density.py: Material density plots for Twigs/Branchlets.
  • MC and material density/twigs MC.py: Moisture Content plots for Twigs/Branchlets (data hardcoded in script).
  • Various utilities for standardizing dataset headers and formatting (e.g., standardize_csv_headers.py, safe_standardize_xlsx.py, verify_formulas.py).

Environment Setup

The Python scripts are designed to run in a conda environment (such as stas_test) with the following dependencies:

  • pandas
  • openpyxl
  • matplotlib
  • scipy (for statistics/calculations)

R scripts require standard statistical packages for generalized linear models (GLMs), MASS (for Negative Binomial), and ggplot2 for plotting.

Outputs

Script outputs, including pairwise comparison summaries (model_selection_report.txt) and generated plots (figures/), are automatically saved within their respective material directories (e.g., Branchlet/R/figures/ and Stringybark/figures/).

About

Data, analysis scripts, and statistical findings for Chapter 2: Firebrand Characteristics. Includes automated model selection (Gamma/GAM/Poisson/NB), publication-ready EMM figures, and density analyses for Branchlet, Stringybark, and Candlebark firebrands.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors