threejs-worldgen
    Preparing search index...

    Interface FireOptions

    Every wildfire setting. Plain JSON.

    interface FireOptions {
        cellSize: number;
        center: [number, number];
        consumption: number;
        fallback: { moisture: number; wind: [number, number] };
        firebreaks: {
            bareGround: number;
            lines: Firebreak[];
            roads: boolean;
            rockSlope: number;
            water: boolean;
        };
        fuel: {
            grassLoad: number;
            grassPresets: Record<string, number>;
            species: Record<string, FuelModel>;
            unknownBiomass: number;
        };
        ignitions: Ignition[];
        jitter: number;
        lightning: { chance: number; enabled: boolean };
        maxLengthToBreadth: number;
        midflame: number;
        minFuel: number;
        moistureOfExtinction: number;
        regrowth: { grassDays: number; shrubDays: number; treeDays: number };
        residence: number;
        seed: string | number;
        size: number;
        slopeCoefficient: number;
        spread: { grass: number; shrub: number; tree: number };
        startTime: number;
        tick: number;
        variation: { fuel: number; moisture: number; scale: number };
        weatherInterval: number;
        windCoefficient: number;
    }
    Index
    cellSize: number

    Cell size, metres.

    center: [number, number]

    Centre [x, z] of the simulated square, frame coordinates.

    consumption: number

    Share of fuel a dry fire consumes (wetter fuel burns less completely).

    fallback: { moisture: number; wind: [number, number] }

    Conditions without a weather: wind [x, z] in m/s and fuel moisture.

    Type Declaration

    • moisture: number

      Fuel moisture, fraction of dry weight.

    • wind: [number, number]

      Wind velocity [x, z], m/s.

    firebreaks: {
        bareGround: number;
        lines: Firebreak[];
        roads: boolean;
        rockSlope: number;
        water: boolean;
    }

    What stops fire.

    Type Declaration

    • bareGround: number

      Rock + snow ground share (0…1) above which ground doesn't burn.

    • lines: Firebreak[]

      Extra firebreaks.

    • roads: boolean

      Roads: the world's path height modifiers (flat worlds).

    • rockSlope: number

      Rise/run above which ground is bare rock.

    • water: boolean

      Sea, lakes and rivers.

    fuel: {
        grassLoad: number;
        grassPresets: Record<string, number>;
        species: Record<string, FuelModel>;
        unknownBiomass: number;
    }

    Fuel derived from biomes.

    Type Declaration

    • grassLoad: number

      Grass load at full coverage and height, kg/m².

    • grassPresets: Record<string, number>

      Load multiplier per threejs-grass preset (dry grasses burn hotter).

    • species: Record<string, FuelModel>

      Fuel model per scatter species.

    • unknownBiomass: number

      Biomass of species not in species, kg (counted as shrub).

    ignitions: Ignition[]

    Scheduled ignitions (also added by FireSim.ignite).

    jitter: number

    0…1: per-cell randomness of ignition thresholds (ragged fronts).

    lightning: { chance: number; enabled: boolean }

    Lightning ignitions from the weather's thunderstorms.

    Type Declaration

    • chance: number

      Chance (0…1) that a strike on dry fuel starts a fire.

    • enabled: boolean

      Let lightning start fires.

    maxLengthToBreadth: number

    Cap on the fire's length-to-breadth ratio. Spread is elliptical: Anderson (1983) LB = 0.936·e^(0.2566·U) + 0.461·e^(−0.1548·U) − 0.397 (U = midflame wind, mph), with the ignition at the rear focus, so the head runs, the flanks are slow and the backing fire crawls.

    midflame: number

    Share of the weather's (10 m) wind that blows at flame height (≈ 0.3 under forest, 0.5 in the open).

    minFuel: number

    Cells with less fuel than this (kg/m²) don't carry fire.

    moistureOfExtinction: number

    Fuel moisture (fraction of dry weight) at which fire stops spreading (Rothermel's Mx).

    regrowth: { grassDays: number; shrubDays: number; treeDays: number }

    Succession after a fire: days for each class to return to full fuel. Grass first, then shrubs, then trees.

    Type Declaration

    • grassDays: number

      Grass.

    • shrubDays: number

      Shrubs.

    • treeDays: number

      Trees.

    residence: number

    Burn time per kg/m² of fuel, seconds (a cell burns residence × (0.5 + load)).

    seed: string | number

    Seed for the ragged fire front and ignition rolls.

    size: number

    Edge length of the simulated square, metres.

    slopeCoefficient: number

    Slope effect: spread × exp(slopeCoefficient × rise/run); uphill runs, downhill crawls.

    spread: { grass: number; shrub: number; tree: number }

    Base rate of spread on dry, flat, calm ground, m/s, per fuel class.

    Type Declaration

    • grass: number

      Grass and litter.

    • shrub: number

      Shrubs.

    • tree: number

      Forest (surface + crown).

    startTime: number

    Time of tick 0, seconds.

    tick: number

    Simulation step, seconds. The sim always advances in whole ticks, so results never depend on frame rate.

    variation: { fuel: number; moisture: number; scale: number }

    Seeded, spatially correlated variation, so fronts finger and edges are ragged.

    Type Declaration

    • fuel: number

      Fuel load ± share.

    • moisture: number

      Fuel moisture ± share.

    • scale: number

      Patch size, metres.

    weatherInterval: number

    Seconds between weather refreshes (wind, fuel moisture).

    windCoefficient: number

    Wind effect on the head fire: head spread × exp(windCoefficient × wind speed in m/s).