Queue a fire spread simulation
Seeds a run from the hotspots of a cluster, or from a single point, and queues it. Returns 202 Accepted immediately with a Location header to poll; the run itself takes from under a minute to several minutes depending on duration and ensemble size.
POST
/v1/fire-spread/simulationsAuthorization
AuthorizationBearer token (JWT) · headerrequiredToken from `POST /v1/token` — see the Authentication guide.
Request body
requiredapplication/jsonOne of:
any
anyany
anyResponses
202Queued. Poll the `Location` URL until `status` is `COMPLETED`, `NO_SPREAD` or `FAILED`.
idstring<uuid>statusstring`QUEUED` until the worker reports back. `NO_SPREAD` means the model completed but the fire did not grow meaningfully. `FAILED` carries `errorMessage`.
Allowed:
QUEUEDCOMPLETEDNO_SPREADFAILEDclusterIdstring<uuid>Absent for point ignitions.
modelstringdurationHoursintegerensembleMembersintegersourcesstring[]The source codes that were eligible to seed the run: what you passed, or the defaults expanded.
lookbackHoursinteger | nulllatitudenumberlongitudenumberlocationNamestringignitionPointCountintegerHotspots that seeded the run (at most 100; the most recent and most intense are kept when a cluster has more).
ignitionIgnitionFeatureCollectionGeoJSON `Point` features for the hotspots that seeded the run, with `hotspotId`, `source`, `observedAt` and `fireRadiativePower` properties.
Show propertiesHide properties
typestringfeaturesobject[]createdAtstring<date-time>domainBufferKmintegerThe domain buffer used: what you passed, or 25 once a defaulted run has reported. The only tunable parameter for `forefire` runs.
elmfireobjectPresent for `elmfire` runs. Your overrides while `QUEUED`; the full resolved set, every parameter with the value the run used, once the run has reported. `seed` is only echoed when you pinned it.
Show propertiesHide properties
crown_fire_modelinteger`1` Finney (2004), `2` Scott & Reinhardt (2001).
default: 2
Allowed:
12foliar_moisture_contentnumberPercent. Lower values make crown fire initiation easier.
min 30 · max 200 · default: 110
max_lownumberCaps the fire ellipse's length-to-width ratio.
min 1 · max 50 · default: 8
crown_fire_spread_rate_limitnumberft/min. Caps crown fire rate of spread.
max 5000 · default: 250
critical_canopy_covernumberCanopy cover fraction below which crown fire cannot start.
min 0 · max 1 · default: 0.39
wind_speed_fluctuation_intensitynumberEnsembles only (`ensembleMembers` > 1); 0 for single-member runs. Each member scales wind speed by `1 ± intensity/2`.
max 1 · default: 0.3
wind_direction_fluctuation_intensitynumberEnsembles only; 0 for single-member runs. Each member rotates wind direction by `± intensity/2` of a full circle.
max 1 · default: 0.06
seedintegerRandom seed. Set it for a reproducible run; omitted, every run draws a fresh seed and none is echoed back.
min 0 · max 2147483647
spottingElmfireSpottingParametersELMFIRE's `&SPOTTING` group (ember transport), under its own namelist names. Each `_min`/`_max` and `_lo`/`_hi` pair is sampled afresh on every weather band, so set both ends to pin a value, and give both ends when changing one: ordering is only checked when both are present, and an end that conflicts with the other's default fails at run time as `FAILED`. Unknown fields are rejected.
Show propertiesHide properties
enable_spottingbooleanMaster switch for ember spotting.
default: true
enable_surface_fire_spottingbooleanAllow surface fires to spot, not only crown fires.
default: true
spotting_distribution_typestringDistribution ember travel distances are drawn from.
default: "LOGNORMAL"
Allowed:
LOGNORMALUNIFORMcritical_spotting_fireline_intensitynumberkW/m. Surface fires below this intensity do not spot.
min 0 · default: 1000
mean_spotting_dist_minnumberMetres. Lower end of the mean ember travel distance.
min 0 · default: 5
mean_spotting_dist_maxnumberMetres. Upper end of the mean ember travel distance.
min 0 · default: 15
normalized_spotting_dist_variance_minnumberLower end of the normalised variance of the spotting distance distribution.
min 0 · default: 250
normalized_spotting_dist_variance_maxnumberUpper end of the normalised variance of the spotting distance distribution.
min 0 · default: 600
spot_ws_exp_lonumberLower end of the wind speed exponent of the spotting distance; the dominant control on ember reach.
min 0 · max 2 · default: 0.4
spot_ws_exp_hinumberUpper end of the wind speed exponent.
min 0 · max 2 · default: 0.7
spot_flin_exp_lonumberLower end of the fireline intensity exponent of the spotting distance.
min 0 · max 2 · default: 0.2
spot_flin_exp_hinumberUpper end of the fireline intensity exponent.
min 0 · max 2 · default: 0.4
nembers_minintegerEmbers per spotting event, lower bound.
min 1 · default: 1
nembers_max_lointegerLower end of the upper bound on embers per event.
min 1 · default: 1
nembers_max_hiintegerUpper end of the upper bound on embers per event.
min 1 · default: 1
global_surface_fire_spotting_percent_minnumberPercent of burning surface-fire pixels that launch embers, lower end.
min 0 · max 100 · default: 0
global_surface_fire_spotting_percent_maxnumberPercent of burning surface-fire pixels that launch embers, upper end.
min 0 · max 100 · default: 0.13
crown_fire_spotting_percent_minnumberPercent of burning crown-fire pixels that launch embers, lower end.
min 0 · max 100 · default: 0.1
crown_fire_spotting_percent_maxnumberPercent of burning crown-fire pixels that launch embers, upper end.
min 0 · max 100 · default: 1.2
pign_minnumberPercent chance a landed ember ignites a spot fire, lower end.
min 0 · max 100 · default: 100
pign_maxnumberPercent chance a landed ember ignites a spot fire, upper end.
min 0 · max 100 · default: 100
errorMessagestringPresent when `FAILED`.
summaryobjectModel outputs. Absent until the worker has reported back.
Show propertiesHide properties
burnedAreaM2numberFinal burned area in square metres.
edgeReachedbooleanTrue when the fire reached the edge of the modelled domain, so the last polygons are clipped.
windSpeedAvgMsnumberMean wind speed over the run, m/s.
windDirectionAvgnumberMean wind direction, degrees.
resultobjectGeoJSON `FeatureCollection`, present once `COMPLETED`. One `MultiPolygon` feature per simulated hour with `properties.hour` (1…durationHours), `properties.elapsed_seconds`, and `properties.burn_probability` for ensemble runs. Each polygon is cumulative: the area burned by that hour.
linksobjectShow propertiesHide properties
selfstring<uri>404`cluster-not-found`: no cluster with that id.
codestringStable machine-readable code: `invalid-request`, `cluster-not-found`, `simulation-not-found`, `too-many-simulations`.
messagestring422`invalid-request`: malformed JSON, an unknown field (the message lists the accepted names, nested ones as `elmfire.spotting.<name>`), a wrong type (integers must be JSON numbers, booleans `true`/`false`), a value out of range, an unknown `sources` code or `model`, an `elmfire` block with `model: forefire`, a wind fluctuation intensity without an ensemble, an inverted `_min`/`_max` pair, or no cluster hotspot matches the sources and lookback. The message names the field.
codestringStable machine-readable code: `invalid-request`, `cluster-not-found`, `simulation-not-found`, `too-many-simulations`.
messagestring429`too-many-simulations`: you already have two simulations queued or running. Wait for one to finish.
codestringStable machine-readable code: `invalid-request`, `cluster-not-found`, `simulation-not-found`, `too-many-simulations`.
messagestring