Loading...

Moisture-driven fire early warning for the Bogota Cerros Orientales and the southern Amazon

Technical report · Moisture-driven fire early warning, Bogota Cerros Orientales and the southern Amazon
Technical report · ecofires · issued 26 July 2026

Moisture-driven fire early warning for the Bogota Cerros Orientales and the southern Amazon

Alejandro Feged-Rivadeneira · Tecnologico de Monterrey · alejandrofeged@tec.mx
ORCID 0000-0001-8649-4213
Data through 2026 week 29 (soil moisture) and May 2026 (ocean index). Companion documents: SITREP.html, fire_risk_dashboard.html.

Contents
1 · Purpose and scope

What this system is for

The operating purpose is early warning as Bogota and the Amazon begin to lose soil moisture. Fires are the visible event, but by the time a fire is visible the useful decision window has closed. What can be forecast at a useful lead time is not the fire itself but the moisture state that makes fire cheap to start and expensive to stop. This system therefore forecasts a moisture index, calibrates that index against observed fire so the forecast carries a fire meaning, and converts the result into dated probabilities that a preparedness office can act on.

The argument for doing it this way is economic as much as scientific. Prevention that is scheduled weeks ahead, when crews can be positioned, water points filled, access roads cleared and burn bans timed, costs a fraction of what suppression and post-fire repair cost once a season has gone bad. The information required is already free and public. The gap this work addresses is translation: turning open climate reanalysis and open fire archives into a dated, calibrated, honestly scored statement about the coming season.

Scope is fourteen study sites on four continents, weekly, from 1950 to the present, with the two target basins being the Bogota Cerros Orientales and a six-site southern Amazon composite. The twelve other sites serve three purposes: they supply candidate predictors, they provide out-of-region controls for the calibration, and they let the coherence analysis test whether the Bogota and Amazon signals are locally generated or part of a wider mode.

What was explored, in order

  1. Construction of a soil moisture index that behaves in a saturating tropical climate.
  2. Calibration of that index against fire counts and against burned area, site by site.
  3. Validation that the seasonal target actually separates bad fire seasons from ordinary ones.
  4. Seasonal forecast models for the target, with an honest cross-validated skill score.
  5. Wavelet coherence over all 91 site pairs, to find shared modes and their lead times.
  6. Direct coupling tests between the Amazon and Bogota, with three confounding guards.
  7. Northern hemisphere teleconnection, asking whether Canada, Europe and the western United States carry information about the southern seasons.
  8. A crossing model that converts a seasonal probability into dated probabilities.
  9. Long-term trends in moisture and in burned area, with an availability control.
2 · Data and provenance

Sources, records and their limits

2.1 Soil moisture

ERA5-Land volumetric soil water in layer 1, the top 0 to 7 cm, monthly and hourly aggregates reduced to a weekly site mean over each study polygon. The record runs from February 1950 to May 2026 in the monthly product and is resampled onto a contiguous weekly grid of 3981 steps running from 1950 week 1 to 2026 week 29. The 0 to 7 cm layer is chosen deliberately: it is the layer that dries fastest, that governs fine fuel moisture, and that responds within days rather than months. Deeper layers are smoother and would look more skilful while carrying less fire information.

2.2 Fire

Three fire products are used, each for a different job.

  • MODIS active fire detections supply the weekly event counts used in the Poisson calibration. They are the only product with weekly resolution across the whole modern period, and they are the product with the worst small-fire sensitivity.
  • FireCCI51 burned area, monthly, 2001 to 2020, supplies the burned area calibration and the Amazon seasonal response variable. It sees area, not events, and it is the product that behaves in the Amazon where the detection counts do not.
  • Landsat burn scars derived per season from 1984 onward supply the long Cerros Orientales burned area series used in the trend section. This is the series that requires a scene availability control.

Supporting long records were catalogued for extension but are not in the operational chain: NBAC Canada 1972 to 2025, Geoscience Australia 1899 to 2024, MTBS United States 1984 to 2024, MapBiomas Fogo Brazil 1985 to 2024, FireCCILT11 1982 to 2018 with 1994 missing, UAECOB Bogota fire brigade polygons 2009 to 2025, and DesInventar Colombia 1914 to 2018 with roughly 9300 forest fire records.

2.3 Ocean state

CPC Oceanic Nino Index, three month running means of Nino 3.4 sea surface temperature anomaly, from the DJF season of 1950 through AMJ 2026. Used to form four seasonal windows and one tendency term, defined in section 4.

2.4 Sites

Fourteen polygons. Two target regions: Bogota_Cerros, and a southern Amazon composite. The composite has two definitions used throughout:

amz6 = mean(Guaviare, Amazon_arc, Amazon_S, Xingu, Cerrado, Bolivia) amz5 = mean(Amazon_arc, Amazon_S, Xingu, Cerrado, Bolivia)

The five site core drops Guaviare, which sits at the northwestern edge and behaves more like the Colombian piedmont than like the southern arc. The remaining seven sites are Med_Europe, US_West, Canada_boreal, Siberia, Central_Africa, Indonesia and SE_Australia.

Every number quoted in this report was recomputed directly from the archived CSV outputs rather than copied from an intermediate summary. Where a figure differs from an earlier draft, this document supersedes it.

3 · The moisture index

A normal score index that survives a saturating wet season

The obvious index is a Gaussian z-score of volumetric soil moisture against a climatological mean and standard deviation. In the tropics this fails. Wet season soil moisture in the Cerros and in the Amazon arc saturates against the soil porosity ceiling, so the distribution is strongly left-skewed with a hard right edge. The standard deviation is then dominated by the dry tail, and a wet week produces an absurd positive z-score while the dry tail is compressed. The early version of this analysis had exactly that defect.

The replacement is a rank-based normal score in the spirit of the SPI. For each site and each ISO week, a climatological pool is built from the 1991 to 2020 WMO normal period, pooling weeks k-2 through k+2 circularly across the year boundary. That is 30 years times 5 weeks, so 150 samples per pool. The observation is ranked within its pool using the Weibull plotting position, and the resulting empirical percentile is passed through the inverse normal.

BASE0, BASE1 = 1991, 2020     # WMO normal
WIN = 2                        # +/- weeks pooled into each week's climatology

idx = [((k - 1 + d) % 52) + 1 for d in range(-WIN, WIN + 1)]   # circular

def normal_score(row):
    p = pools.get((row.site, row.wk))
    v = row.sm
    if p is None or not np.isfinite(v):
        return np.nan
    n = len(p)
    # Weibull plotting position, then probit, capped where the tail is
    # unresolvable by a sample of this size.
    q = (np.searchsorted(p, v, side='right') + 0.5) / (n + 1.0)
    q = min(max(q, 0.5 / (n + 1.0)), 1 - 0.5 / (n + 1.0))
    return float(np.clip(stats.norm.ppf(q), -3.5, 3.5))

Three properties matter operationally. The index is unitless and comparable across sites and across weeks of the year, so a value of -1.0 in the Cerros in February means the same percentile as -1.0 in Bolivia in September. The +/-2 week pooling smooths the seasonal cycle without smoothing the anomaly, which a per-week climatology built from only 30 samples could not do stably. And the clip at +/-3.5 is an honest statement that a 150 sample pool cannot resolve the tail beyond roughly the 1 in 300 level; values are censored there rather than extrapolated.

Throughout this report the index is called the moisture index and is quoted in sigma units. The column sm_z in data/weekly_sm_z_allsites.csv is this quantity. A three week centred rolling mean of it, with min_periods=2, is used wherever a smoothed index is needed, in particular for the crossing rule in section 9.

3.1 Fixed reference levels

LevelValueMeaning
Watch line-0.5Drier than roughly 69 per cent of weeks in the base period.
Action line, DRY-1.0Drier than roughly 84 per cent of weeks. This is the fixed level used to count dry weeks.
Severe-1.5Drier than roughly 93 per cent of weeks.

These are properties of the normal score construction, not tuned parameters. The seasonal critical thresholds in section 4 are a separate and empirically derived quantity.

4 · Seasonal forecast models

Eight ordinary least squares models with nested leave-one-season-out selection

4.1 Seasons and targets

Two fire seasons are targeted. Bogota runs December to March, defined as ISO weeks wk >= 48 or wk <= 13 and indexed by the year in which the season ends, so the season opening in December 2026 is fyear 2027. A season is admitted only if at least 16 of its weeks are present. The southern Amazon runs September to November, weeks 35 to 48, indexed by calendar year, admitted at 12 weeks or more. Both give 76 usable cycles.

Four targets are forecast:

TargetDefinitionCritical
bog_meanSeason mean moisture index, Cerros Orientales-0.18183
bog_dryCount of season weeks with index at or below -1.03
amz_meanSeason mean of the six site composite amz6-0.15423
amz_coreSeason mean of the five site core amz5-0.19718

The critical thresholds are not chosen by hand. Each is the one third quantile of the observed distribution of that target over the 76 cycles, so by construction about one season in three is critical. For the count target the threshold is ceil(quantile(bog_dry, 2/3)), which evaluates to 3. Defining the threshold by quantile rather than by judgement is what makes the AUC and Brier scores in section 4.5 interpretable: the base rate is fixed and known.

4.2 Candidate predictors

Predictors are seasonal window means of the moisture index at various sites, plus five ocean index terms. All windows close strictly before the issue date, so no model sees its own season.

jj = wmean(D, yr, 18, 29, [...])   # June to mid July,   suffix _jj
ya = wmean(D, yr,  1, 29, [...])   # year to date,        suffix _ytd
au = wmean(D, yr, 30, 34, [...])   # August,              suffix _aug
sn = wmean(D, yr, 35, 48, [...])   # September to November, suffix _son

oni_mam  = mean ONI over Mar, Apr, May
oni_mjj  = mean ONI over May, Jun, Jul
oni_jja  = mean ONI over Jun, Jul, Aug
oni_ason = mean ONI over Aug, Sep, Oct, Nov
oni_tend = ONI(May) - ONI(February)        # the tendency term

The tendency term deserves a note. It is not a level, it is the sign and speed of the ocean's move through the northern spring. A weak but rising Nino carries different information for the following southern dry season than a strong but decaying one, and the level alone cannot express that. It survives selection in five of the eight models.

Candidate pools are declared per basin and per issue date, and are deliberately small:

POOLS = {
    ('bogota', 'august'):    ['oni_mam', 'oni_tend', 'Bogota_Cerros_jj',
                              'Guaviare_jj', 'amz6_jj', 'Canada_boreal_jj',
                              'Indonesia_jj', 'bog_ytd'],
    ('bogota', 'september'): ['oni_mjj', 'oni_tend', 'bog_aug', 'gua_aug',
                              'amz6_aug', 'Canada_boreal_jj', 'Indonesia_jj'],
    ('bogota', 'december'):  ['oni_ason', 'oni_jja', 'bog_son', 'gua_son',
                              'amz6_son', 'amz5_son'],
    ('amazon', 'august'):    ['oni_mam', 'oni_tend', 'amz6_jj', 'amz5_jj',
                              'Guaviare_jj', 'amz6_ytd', 'Bogota_Cerros_jj'],
    ('amazon', 'september'): ['oni_mjj', 'oni_tend', 'amz6_aug', 'amz6_jj',
                              'gua_aug'],
}
MAXP = 3

4.3 Estimator

Plain ordinary least squares with an intercept. No standardization, no regularization, no interaction terms. With 76 observations and at most three predictors this is the right complexity, and it keeps the coefficients directly readable in index units.

def fit(Xy, ycol, cols):
    d = Xy.dropna(subset=cols + [ycol])
    X = np.c_[np.ones(len(d)), d[cols].values]
    beta, *_ = np.linalg.lstsq(X, d[ycol].values, rcond=None)
    return beta, d

4.4 Nested cross validation, and why the nesting matters

Forward selection from an eight member pool on 76 observations will find something that looks skilful whether or not skill exists. If selection is done once on the full record and the resulting model is then cross validated, the reported skill is contaminated: every held out point participated in choosing the predictors. The protocol here redoes the entire selection inside every fold.

def loo_select(Xy, ycol, pool, maxp=MAXP):
    """Nested leave one season out. Selection is redone for every held out
    season, so the returned skill has no selection bias in it."""
    d = Xy.dropna(subset=pool + [ycol]).reset_index(drop=True)
    n = len(d); pred = np.full(n, np.nan); picks = []
    for i in range(n):
        tr = d.drop(index=i)
        chosen = []; best_prev = np.inf
        while len(chosen) < maxp:
            cand, cbest = None, np.inf
            for c in pool:
                if c in chosen: continue
                cols = chosen + [c]
                e = []
                for j in range(len(tr)):          # inner LOO on training set only
                    t2 = tr.drop(index=tr.index[j])
                    beta, _ = fit(t2, ycol, cols)
                    e.append(tr[ycol].iloc[j] - predict(beta, tr.iloc[j], cols))
                s = float(np.sqrt(np.mean(np.square(e))))
                if s < cbest: cand, cbest = c, s
            if cand is None or cbest > best_prev - 1e-4: break
            chosen.append(cand); best_prev = cbest
        if not chosen: chosen = [pool[0]]
        beta, _ = fit(tr, ycol, chosen)
        pred[i] = predict(beta, d.iloc[i], chosen)
        picks.append(tuple(chosen))
    return d, pred, picks

The outer loop holds out one season. The inner loop cross validates each candidate addition on the training seasons only. A predictor is added only if it improves the inner root mean square error by more than 1e-4, which is what stops the models short of the three predictor cap when the third adds nothing. Because selection is inside the fold, the by-product picks is a genuine measure of how stable each model's structure is, reported in section 4.6.

Scoring, once the out of sample predictions exist:

skill = 1 - rmse / rmse_climatology P(critical) = Φ((crit - pred) / rmse) for the mean targets P(critical) = sf((crit - 0.5 - pred) / rmse) for the count target AUC = U(p[event], p[no event]) / (n1 * n0) Brier = mean((p - event)^2) 80 % interval = mu ± 1.2816 * cv_rmse

The count target uses a half unit continuity correction because bog_dry is an integer and the threshold of 3 means "3 or more". The AUC is the Mann-Whitney U statistic normalised, tested one sided in the greater direction. The climatological reference for skill is the standard deviation of the target itself, and the climatological Brier reference is p(1-p) at the observed base rate.

4.5 The eight fitted models

Coefficients from the full record fit. Only the 1 August models are issued live today.

bog_mean (1 Aug)  = +0.031 +0.368*Bogota_Cerros_jj -0.259*oni_tend -0.436*Canada_boreal_jj
bog_mean (1 Sep)  = +0.134 -0.419*oni_mjj          -0.417*Canada_boreal_jj -0.190*oni_tend
bog_mean (1 Dec)  = +0.068 -0.482*oni_ason         +0.479*bog_son         +0.314*oni_jja
bog_dry  (1 Aug)  = +2.552 -1.631*Indonesia_jj     +1.448*oni_tend        -1.612*bog_ytd
bog_dry  (1 Dec)  = +2.174 +2.747*oni_ason         -0.840*gua_son         -1.617*oni_jja
amz_mean (1 Aug)  = -0.022 +0.633*amz6_jj          -0.098*oni_tend
amz_mean (1 Sep)  = +0.042 +0.469*amz6_aug         -0.214*oni_mjj         +0.198*gua_aug
amz_core (1 Aug)  = -0.043 +0.651*amz6_jj          +0.136*Bogota_Cerros_jj

The signs are physically coherent. Wetter antecedent conditions at the target site predict a wetter season, a rising ocean index predicts a drier Bogota season, and a wet Canadian boreal spring predicts a dry Bogota season, which is the northern hemisphere link discussed in section 8. The Amazon models are dominated by their own antecedent moisture with the ocean playing only a supporting role, which is the clearest structural contrast between the two basins in the whole analysis.

Out of sample statistics, all with n = 76:

ModelrCV rmseclim rmseskilleventsAUCBrierBrier skill
bog_mean 1 Aug+0.4820.5390.604+0.10825/760.7600.185+0.164
bog_mean 1 Sep+0.6740.4470.604+0.26025/760.7840.174+0.213
bog_mean 1 Dec+0.7640.3920.604+0.35225/760.8850.134+0.395
bog_dry 1 Aug+0.4962.5052.869+0.12727/760.7990.184+0.198
bog_dry 1 Dec+0.6632.1522.869+0.25027/760.8250.168+0.266
amz_mean 1 Aug+0.4370.6230.680+0.08425/760.6910.207+0.064
amz_mean 1 Sep+0.7680.4370.680+0.35825/760.9060.124+0.437
amz_core 1 Aug+0.4380.6560.717+0.08625/760.7300.192+0.132

Highlighted rows are the models issued live on 1 August 2026.

Read the two columns differently. The continuous skill of the 1 August models is modest, 0.08 to 0.13, meaning the point forecast of the season mean is only a little better than climatology. The discrimination is much stronger: AUC 0.69 to 0.80 and Brier skill up to +0.20. That combination says the models are poor at saying how dry and useful at saying whether the season will land in the critical third. That is the correct product for a preparedness decision, and it is the reason this system issues a probability of crossing rather than a predicted index value.

4.6 Predictor set stability

Because selection runs inside every fold, the distribution of selected sets across the 76 folds is a direct diagnostic. A model whose set changes every fold is fitting noise.

ModelModal setPredictorsRunner up
bog_mean 1 Aug42/76Bogota_Cerros_jj, oni_tend, Canada_boreal_jj16/76 swaps oni_tend for Indonesia_jj
bog_mean 1 Sep75/76oni_mjj, Canada_boreal_jj, oni_tend1/76 same set, different order
bog_mean 1 Dec52/76oni_ason, bog_son, oni_jja24/76 swaps oni_jja for gua_son
bog_dry 1 Aug74/76Indonesia_jj, oni_tend, bog_ytd1/76 each, two others
bog_dry 1 Dec75/76oni_ason, gua_son, oni_jja1/76 swaps oni_jja for bog_son
amz_mean 1 Aug32/76amz6_jj, oni_tend25/76 selects amz6_jj alone
amz_mean 1 Sep75/76amz6_aug, oni_mjj, gua_aug1/76 swaps gua_aug for oni_tend
amz_core 1 Aug39/76amz6_jj, Bogota_Cerros_jj18/76 selects amz6_jj alone

Five of the eight models select the same set in 52 or more folds out of 76, and two of them in 75. The two 1 August Amazon models are the least stable, and the instability is informative rather than alarming: in every fold amz6_jj is selected first, and the disagreement is only over whether a second term earns its place. In 25 folds out of 76 the model reduces to a single predictor. That is consistent with the low continuous skill of those models and is one reason the 1 September reissue is a large step up rather than a marginal one.

4.7 The live forecast issued 1 August 2026

TargetForecast80 % intervalCriticalP(critical)AUC
bog_mean-0.4291-1.1197 to +0.2615-0.181830.67690.760
bog_dry+4.5318+1.3216 to +7.742030.79140.799
amz_mean-0.3598-1.1581 to +0.4385-0.154230.62930.691
amz_core-0.2553-1.0956 to +0.5851-0.197180.53530.730

Predictor values entering the live forecast:

Bogota_Cerros_jj  -0.009    Guaviare_jj  +0.025    oni_mam   +0.540
Canada_boreal_jj  +0.248    amz6_jj      -0.324    oni_tend  +1.120
Indonesia_jj      -0.513    bog_ytd      +0.500    amz6_ytd  -0.349

The dominant live signal is oni_tend at +1.120, a strongly rising ocean index through the northern spring, together with a dry Indonesia and a dry southern Amazon in June and July. Bogota's own antecedent moisture is close to neutral, which is why the Bogota forecast rests more on remote predictors than on local memory this cycle. The four probabilities are the input to the crossing model in section 9.

5 · Fire calibration

What one sigma of dryness is worth, in fires and in hectares

A moisture forecast is not a fire forecast until the index has been given a fire meaning. Two separate calibrations do this, one on event counts and one on burned area, and they are structurally different models because the two response variables have different statistics.

5.1 Poisson rate model on weekly detection counts

Weekly MODIS detections at a site are counts with a strong seasonal cycle. The model separates the cycle from the anomaly by putting the weekly climatology in as a fixed offset:

log(mu_week) = b0 + b1 * sm_z + 1.0 * log(clim_week)

The offset coefficient is fixed at 1, not estimated. That is the whole point of the specification: it forces the model to explain only the departure from the seasonal norm, so b1 is a pure anomaly effect and cannot absorb seasonality. Fitting is by hand-rolled iteratively reweighted least squares, 80 iterations, weight matrix W = mu, ridge stabiliser 1e-8 * I, converging at max|db| < 1e-9.

Detection counts are heavily overdispersed relative to Poisson, so standard errors are inflated by a quasi-Poisson dispersion estimate rather than taken from the naive Poisson information matrix:

phi = sum((y - mu)^2 / mu) / (n - p) se = sqrt(diag(cov) * max(phi, 1.0))

Ignoring this would understate the standard errors by a factor of tens to nearly a hundred at the large Amazon sites, where phi exceeds 8000. Off-season weeks are excluded by keeping only weeks whose climatology is at least 10 per cent of the site maximum, and a site is skipped if it has fewer than 200 site-weeks or fewer than 50 total detections, then skipped again if fewer than 150 weeks survive the off-season filter. 18928 site-weeks were matched in total.

Derived quantities, reported per unit of the index:

rate ratio per unit rr = exp(-slope) doubling level z2 = log(2) / slope (only where slope < -1e-6) tripling level z3 = log(3) / slope
Siteweeksfiresslopesezphirate ratiodouble attriple at
Bogota_Cerros5411169-0.75620.1075-7.0311.72.130-0.92-1.45
Guaviare312343937-0.88110.0521-16.906712.414-0.79-1.25
Amazon_arc63113824370-0.17270.0222-7.7861861.188-4.01-6.36
Amazon_S63119314792-0.23150.0220-10.5380501.260-2.99-4.75
Xingu6591803206-0.18070.0302-5.9913321.198-3.84-6.08
Cerrado63314502539-0.24130.0192-12.5945951.273-2.87-4.55
Bolivia6051807319-0.54150.0284-19.1012071.719-1.28-2.03
Med_Europe9723785487-0.31620.0214-14.7815801.372-2.19-3.47
US_West11493301627-0.25090.0192-13.059121.285-2.76-4.38
Canada_boreal4852457494-0.70140.0668-10.51106732.017-0.99-1.57
Siberia5115647767-0.69990.0433-16.1687182.013-0.99-1.57
Central_Africa97561056025-0.19790.0127-15.5975271.219-3.50-5.55
Indonesia9983915359-0.79020.0196-40.3811772.204-0.88-1.39
SE_Australia12512375240-0.40470.0283-14.3316021.499-1.71-2.71

All fourteen slopes are negative and all fourteen are significant, the weakest at z = -5.99. This is the single most robust result in the project: drier means more fire, everywhere, on every continent, with no exceptions and no sign flips.

The magnitudes carry the operational content. Bogota's slope of -0.756 means the fire rate doubles at index -0.92, which is essentially the -1.0 action line, and triples at -1.45. Indonesia, Guaviare, Canada boreal and Siberia are similarly steep. The large Amazon interior sites are much shallower, requiring three to four sigma to double, which reflects that they are ignition limited and land use driven rather than purely moisture limited: dryness there permits fire that people then have to light.

Observed Bogota rate against the seasonal norm, by index band, as a direct check on the fitted curve:

Index bandweeksobserved rate vs norm
-4.0 to -1.5403.73×
-1.5 to -1.0531.81×
-1.0 to -0.5840.89×
-0.5 to 0.01040.86×
0.0 to +0.5830.64×
+0.5 to +4.01770.42×

Monotone across all six bands, with the step change occurring between the -1.0 to -0.5 band and the -1.5 to -1.0 band. This is independent empirical support for placing the action line at -1.0 rather than at -0.5.

5.2 Burned area, a deliberately different model

Burned area is not a count and should not be modelled as one. FireCCI51 is monthly, so weeks are mapped to months by ((week - 1) * 7 // 30.4 + 1).clip(1, 12). The monthly climatology is then divided out to form a ratio against the seasonal norm, and a log-linear fit is taken on that ratio with a floor to keep zeros finite:

slope, intercept = np.polyfit(zz, np.log(np.maximum(ratio, 1e-3)), 1)
mult_per_unit    = np.exp(-slope)
rho, p           = stats.spearmanr(zz, ratio)

A Spearman correlation is reported alongside the parametric slope, because the log transform with a floor is a modelling choice and the rank statistic is not. Gates are fewer than 60 records or zero burned area, then fewer than 40 after filtering.

Sitenslopemultiplier per unitSpearman rhop
Bogota_Cerros60-1.48894.43×-0.3101.6e-2
Guaviare60-1.07522.93×-0.4897.3e-5
Amazon_arc80-0.34851.42×-0.4522.6e-5
Amazon_S80-0.42471.53×-0.4816.2e-6
Xingu80-0.56541.76×-0.5022.1e-6
Cerrado80-0.54171.72×-0.5392.5e-7
Bolivia80-0.81072.25×-0.5412.3e-7
Med_Europe80-0.31491.37×-0.3864.1e-4
US_West120-0.38091.46×-0.3203.7e-4
Canada_boreal60-1.12513.08×-0.4771.2e-4
Siberia100-0.76372.15×-0.5106.2e-8
Central_Africa120-0.24651.28×-0.4911.2e-8
Indonesia160-1.57794.84×-0.7181.2e-26
SE_Australia180-0.80982.25×-0.3521.3e-6
The Bogota multiplier is the second steepest of the fourteen. One unit of extra dryness multiplies expected burned area by 4.43, behind only Indonesia at 4.84 and ahead of Canada boreal at 3.08. The Cerros are small in absolute burned hectares, which is why they never appear in global fire rankings, but their sensitivity to moisture is at the top of the global range. This is the strongest single argument for treating the Cerros as a moisture-driven early warning problem rather than an ignition-management problem.

Note also that Bogota's Spearman of -0.310 is the weakest of the fourteen even though its slope is the second steepest. The parametric fit is being carried by a small number of very dry months with very large ratios, and the rank statistic properly discounts that. Both numbers are reported for exactly this reason.

6 · Target validation

Does the seasonal target separate bad fire seasons from ordinary ones

Sections 4 and 5 establish that the target can be forecast and that the weekly index predicts weekly fire. Neither establishes that a season classified as critical by the one third quantile rule is actually a worse fire season. That is a separate test and it is the one that licenses the whole product.

Four tests are run per basin: a Spearman on the season index against season fire, a Spearman on the dry week count against season fire, a group mean comparison with a ratio, and a one sided Mann-Whitney of the critical group against the rest.

6.1 Bogota, 26 seasons with MODIS coverage, 2001 to 2026

TestStatisticp
Spearman, season index vs detections-0.5440.00406
Spearman, dry week count vs detections+0.5020.00893
Mean detections, critical (11) vs not (15)64.6 vs 22.3, ratio 2.89×—
Mann-Whitney, one sided—0.00110

All four agree. A season the rule calls critical has on average 2.89 times the fire detections of one it does not, and the separation is significant at p = 0.0011. The dry week count test matters independently, because it is the count target bog_dry that is forecast at 1 August, and it confirms the count carries fire information in its own right rather than only as a proxy for the mean.

The season list is instructive. The eleven critical seasons are 2010, 2003, 2024, 2004, 2020, 2001, 2016, 2007, 2005, 2002 and 2013. Seven of the eleven exceed 47 detections. The two clear misses are 2024, which was called critical at index -0.850 with 10 dry weeks but recorded only 19 detections, and 2023, which was called not critical at +0.560 and recorded 86. Those two are honest failures of the rule and are not hidden here. The 2024 case is discussed in section 11 alongside the detection sensitivity problem, since 2024 was the largest burned area year on record in the Cerros at 48303 hectares while returning a low detection count.

6.2 Amazon, 25 years, 2001 to 2025, and why the response variable changed

TestStatisticpverdict
Spearman, index vs MODIS detections-0.3480.0878fails
Spearman, index vs FireCCI burned hectares (n = 20)-0.8141.29e-05passes strongly
Mean detections, critical (12) vs not (13)1497442 vs 1231219, ratio 1.22×0.101fails
Mean burned hectares, critical vs not28368321 vs 13739153, ratio 2.06×—passes
This contrast is a result, not a nuisance. Scored on detection counts the Amazon target looks useless: rho -0.348 at p = 0.088 and a group ratio of only 1.22. Scored on burned area the same target is one of the strongest relationships in the whole project: rho -0.814 at p = 1.3e-05 and a group ratio of 2.06. The reason is that detection counts in the Amazon are close to saturated by the annual deforestation and pasture management cycle, which happens at roughly the same intensity every year regardless of moisture. What moisture controls is not whether people light fires but how far those fires run once lit. That is an area quantity, not an event quantity. The Amazon is therefore scored on burned area throughout this system, and the detection based test is reported as a failure rather than dropped.

Individual years support the reading. 2020 sat at index -1.192 with 26.98 million hectares burned, 2010 at -0.468 with 39.39 million, and 2007 at -0.302 with 45.86 million, against 2009 at +0.010 with only 4.92 million and 2001 at +0.393 with 10.70 million. The detection counts across those same years vary by less than a factor of three while the burned areas vary by nearly a factor of ten.

7 · Wavelet coherence

Shared modes and lead times across all 91 site pairs

Correlation over a 76 year record answers one question with one number. Wavelet coherence answers a better question: at which timescales do two sites share variance, when in the record did they share it, and which one leads. Everything in this section runs on the same weekly index used everywhere else, 3981 contiguous steps.

7.1 Transform

Continuous wavelet transform with a Morlet mother wavelet, following Torrence and Compo. Constants:

W0        = 6.0                                  # Morlet order
FOURIER   = 4*pi / (W0 + sqrt(2 + W0**2))        # scale to Fourier period
COI_FACTOR= FOURIER / sqrt(2)
DOFMIN    = 2 ; CDELTA = 0.776 ; GAMMA = 2.32 ; DJ0 = 0.60

Morlet 6 is the standard choice because it puts the time-frequency tradeoff near the centre and because FOURIER is then close to 1.03, so scale and period are nearly interchangeable and the plots can be read directly in weeks. The transform is computed by FFT with zero padding to the next power of two, as in Torrence and Compo section 3.h, which is what makes 91 pairs across 55 scales tractable.

Run parameters:

DJ = 1/8 S0 = 8.0 weeks J1 = int(DJ^-1 * log2(900 / S0))

This gives 55 scales spanning 8.3 to 890 weeks, so from roughly two months to seventeen years. The lower bound is set by the weekly sampling and the upper bound by the record length: 890 weeks is about 4.5 cycles in 76 years, which is the fewest cycles worth reporting at all.

7.2 Coherence and phase

Sxx = smooth(|Wx|^2 / s) Syy = smooth(|Wy|^2 / s) Sxy = smooth(Wx * conj(Wy) / s) R2 = |Sxy|^2 / (Sxx * Syy) phase = angle(Sxy)

The smoothing follows Grinsted: a Gaussian in time applied in the frequency domain as exp(-(s*k)^2 / 2), then a boxcar in scale of width round(DJ0 / dj) forced to be odd. Both smoothings are required. Without them the coherence of any two series is identically 1 everywhere, since a ratio of a quantity to itself is being formed at every point.

Phase is converted to a lead in weeks:

def phase_to_lead(phase, periods):
    return phase / (2*np.pi) * periods    # positive: the FIRST series leads

The sign convention was printed backwards in an early version and every lead in this report has been recomputed under the corrected convention.

7.3 Significance

Two different null models, because two different quantities are being tested.

  • Power is tested against the analytic chi-square distribution for an AR(1) red noise background, with the AR(1) coefficient estimated per series. This is the standard Torrence and Compo test and is closed form.
  • Coherence has no usable analytic null after the Grinsted smoothing, so it is tested by Monte Carlo. For each pair, AR(1) surrogates are generated matching both series' estimated coefficients, with N_MC = 120 realisations per alpha pair on a 0.05 grid of the coefficient, seed 20260726. The 95th percentile of surrogate coherence becomes the significance level for that pair.

Two consequences must be respected when reading the results. The Monte Carlo standard error on the 95 per cent level is roughly 0.01, so any pair whose coherence sits within about 0.01 of its level is a tie and must not be reported as significant or as not significant. And the level varies by pair, because it depends on both series' AR(1) coefficients, so coherence values are not directly comparable across pairs without their levels.

The cone of influence marks where zero padding contaminates the transform. Over this record, 86.7 per cent of the time-scale plane lies inside the cone. Leads are reported only from cells that are inside the cone and have R2 > 0.5, and only where more than 20 such cells exist.

7.4 Self test

The wavelet code is hand written, so it is verified against synthetic series with known answers before any real result is trusted. All fourteen checks pass:

PASS  recovers a 52-week period                        peak at 52.48 wk
PASS  separates 26 and 104 week components             maxima at 26.2, 105.0, 187.0, 296.8
PASS  recovers a +0 week lead at period 52             measured -0.00 wk
PASS  recovers a +4 week lead at period 52             measured +4.03 wk
PASS  recovers a +8 week lead at period 52             measured +8.07 wk
PASS  recovers a -6 week lead at period 52             measured -6.05 wk
PASS  coherence of a series with itself is 1           min 1.0000
PASS  coherence of independent noise is low            mean R2 0.413
PASS  AR(1) surrogate reproduces its coefficient       estimated 0.706
PASS  AR(1) surrogate has unit variance                sd 1.003
PASS  wavelet energy matches series variance           ratio 0.900
PASS  cone of influence is zero-width at the edges
PASS  cone of influence is widest mid-series           max at index 285
PASS  about 5 percent of white-noise power exceeds     3.0% exceeds
      the 95 percent level

all wavelet_core checks passed

The lead recovery checks are the important ones, since the lead is the operationally useful output and its sign convention had already been wrong once. Note that the independent noise coherence of 0.413 is not near zero, which is precisely why the Monte Carlo null is necessary: smoothed coherence between two unrelated red noise series is intrinsically high and an unwary reader would over-interpret a value of 0.4.

7.5 Bands and results

Coherence is averaged into four bands: sub-seasonal 8 to 26 weeks, annual 40 to 70 weeks, interannual 104 to 364 weeks, decadal 416 to 890 weeks. Across the 91 pairs, 16 clear the null in the sub-seasonal band, 35 in the annual band, 22 in the interannual band and 8 in the decadal band.

Bogota's thirteen pairs, sorted by annual coherence:

Partnerannuallevelsiginterannuallevelsiginterann lead (wk)
Guaviare0.4400.380yes0.4120.401yes+9.2
Bolivia0.4390.390yes0.4010.402no+35.5
Amazon_S0.4130.375yes0.4060.404yes+29.5
Amazon_arc0.3980.385yes0.3960.424no+18.4
Xingu0.3890.385yes0.4510.424yes+37.5
Cerrado0.3860.375yes0.4160.404yes+38.8
SE_Australia0.3760.375yes0.5530.404yes-21.5
US_West0.3710.375no0.3720.404no-63.4
Canada_boreal0.3390.383no0.3760.421no+2.4
Siberia0.3320.383no0.3810.421no+17.7
Indonesia0.3290.390no0.5720.402yes-14.8
Central_Africa0.3220.390no0.3270.421no+35.3
Med_Europe0.3170.389no0.3870.418no-14.2

Three readings. First, the six southern Amazon sites occupy six of the seven top positions in the annual band and all six are significant, which is the coherence evidence for the direct coupling tested in section 8. Second, distance decays the relationship in an orderly way: Guaviare at 479 km gives 0.440 while Xingu at 2973 km gives 0.389. Third, the two strongest interannual coherences with Bogota are not Amazonian at all: Indonesia at 0.572 and SE Australia at 0.553, both with negative leads, meaning Bogota lags them. Both are classic ENSO centres of action, and this is the coherence signature of a shared ocean driver rather than of any direct Amazon-to-Bogota transport at long timescales.

Two further diagnostics. The share of annual band mean variance attributable to the ENSO mode is 48.6 per cent at Indonesia, 31.5 per cent at Bogota, 24.2 per cent at SE Australia, and 2.6 per cent or less at every one of the six Amazon sites. And the internal Amazon coupling is far stronger than anything involving Bogota: Amazon_arc against Amazon_S gives 0.919 annual and 0.892 interannual. The southern Amazon is one coherent system that is largely not ENSO driven; Bogota is a partly ENSO driven system that is weakly attached to it.

8 · Coupling and teleconnection

Is the Amazon to Bogota link real, and can the north inform the south

8.1 Contemporaneous coupling with three guards

The wavelet result says Bogota and the southern Amazon share annual band variance. It does not say the link survives the obvious confounders. Three guards are applied to every pairwise Pearson correlation, all on season aligned data:

  • Raw, with a Bartlett and Quenouille effective sample size correction neff = n * (1 - a*b) / (1 + a*b) using both series' lag one autocorrelations, because weekly and seasonal series are autocorrelated and the nominal n overstates the degrees of freedom.
  • ENSO partialled, regressing the June to August ONI out of both sides before correlating. This is the guard that matters most, since section 7 shows a shared ocean mode exists.
  • Linearly detrended, removing a linear trend from both sides, which prevents two independently drying series from producing a spurious correlation.

The season alignment regresses the Amazon September to November index of year Y against the Bogota December to March season opening in December of year Y, so the Amazon precedes Bogota by construction. A reverse direction placebo runs the same test with the time order flipped.

Partnerr rawpr ENSO-partialledpr detrendedpsurvives all three
Guaviare0.3175.3e-30.2880.01210.3116.2e-3yes
Amazon_arc0.2988.9e-30.1730.1380.2941.0e-2no
Amazon_S0.2811.4e-20.2130.06680.2741.7e-2no
Xingu0.1660.1510.1050.3680.1690.144no
Cerrado0.2090.06940.1340.2530.2090.0697no
Bolivia0.2542.7e-20.3077.3e-30.2443.4e-2yes
Amazon six site mean0.2931.0e-20.2330.04440.2871.2e-2yes
ONI Jun-Aug-0.6713.3e-11——-0.6752.2e-11reference
Only three of seven survive. Amazon_arc, Amazon_S, Xingu and Cerrado each lose significance under the ENSO partial. Only Guaviare, Bolivia and the six site mean survive all three guards. The honest conclusion is that the Amazon to Bogota teleconnection is real but modest and partly ENSO mediated, worth roughly r = 0.23 to 0.29 after the ocean is accounted for. The reverse direction placebo returns +0.202 for the six site mean and +0.249 for Guaviare, which are lower than the forward values but not negligible, so directionality is suggested rather than demonstrated.

For context, the June to August ONI alone correlates with the Bogota December to March season at r = -0.671 over 76 seasons, and that correlation barely changes on detrending. The ocean is by a wide margin the strongest single predictor of a Bogota fire season, and no Amazon site comes close.

Lagged cross correlations were also computed over LAGS = arange(-52, 53) weeks, with positive lag meaning the other site leads Bogota, and are archived in data/coupling_lags.csv. Unlike the wavelet script, this analysis uses no surrogates or bootstrap; its inference rests on the effective sample size correction and on the three guards.

8.2 Northern hemisphere teleconnection

The question asked was whether Europe, the United States and Canada carry information about the southern fire seasons. The answer is yes for the Amazon, no for Bogota by the composite route, but yes for Bogota via Canada specifically.

LinkrawENSO-partialleddetrendedadj R² beforeadj R² after
Canada boreal → Bogota-0.317 (p 0.0054)-0.285 (p 0.0253)-0.319 (p 0.0051)+0.443+0.483
Europe + US composite → Amazon+0.333+0.372+0.335+0.026+0.149
MTBS hectares → Amazonsignificant—+0.081 (p 0.609)—rejected

The Canada link is the one that reaches the operational models: Canada_boreal_jj is selected in both the 1 August and 1 September Bogota mean models, with a negative coefficient, so a wet Canadian boreal June and July forecasts a dry Bogota December to March. It survives all three guards and lifts the adjusted R squared from +0.443 to +0.483. For the Amazon the Europe plus US composite is a larger relative gain, taking adjusted R squared from a near useless +0.026 to +0.149, though from a very low base.

The critical check on all of this is that none of the northern sites correlates significantly with the June to August ONI. They are therefore not the ocean signal in disguise, and the information they add is genuinely additional rather than a second copy of a predictor already in the model.

MTBS burned hectares were tested as a northern predictor and rejected. The raw correlation is significant, but it collapses to +0.081 at p = 0.609 on detrending. MTBS hectares have a strong upward trend, and so do several southern moisture series, so the raw correlation was trend against trend. This is exactly the failure mode the detrending guard exists to catch, and it is reported here rather than quietly dropped.

8.3 Moisture to fire lead time

The lag at which the weekly moisture index best predicts weekly fire is a direct measure of how moisture limited a site is.

Sitebest lag (wk)rp
Bogota_Cerros1-0.4531.1e-15
Guaviare2-0.1140.0382
Amazon_arc2-0.2389.0e-4
Amazon_S3-0.1869.8e-3
Xingu5-0.1030.116
Cerrado5-0.0920.118
Bolivia6-0.0870.164

Bogota responds within one week and does so very strongly. The Amazon sites respond more slowly and more weakly on detections, with the southernmost and most seasonal sites showing the longest lags and the weakest significance. At the seasonal scale the same structure appears far more strongly in the burned area domain, where moisture leads fire by about five weeks in the moisture limited south, r = -0.82 at Bolivia and r = -0.85 for the southern basin composite, and collapses to zero lead at Guaviare, Xingu and Bogota. The apparent contradiction is a matter of which response is being measured: Bogota's fire counts react within a week, while the southern Amazon's burned area accumulates over more than a month after the moisture signal.

9 · Timing and crossing model

From a seasonal probability to a dated probability

A statement that there is a 68 per cent chance of a critical Bogota season is not yet actionable, because it carries no date. The crossing model converts the seasonal probability into a curve giving the probability that a sustained crossing has already happened by any given week.

9.1 The sustained crossing rule

A crossing is counted only when the three week centred smoothed index sits at or below a level for two consecutive weeks. Because the index is already smoothed over three weeks, this is effectively a four week dry spell. The rule replaced a naive first touch rule that generated artifact crossings from single dry weeks, in some cases months before any real drying. The three levels evaluated are -0.5, -1.0 and -1.5, with -1.0 as the operational action line.

9.2 Crossing climatology over 76 cycles

Basinlevelcritical seasonsmedian datenormal seasons
Bogota-0.5100 %9 Nov61 %, median 14 Dec
Bogota-1.088 %7 Dec (IQR 9 Nov to 1 Feb)14 %
Bogota-1.540 %11 Jan4 %
Amazon-0.5100 %8 Jun31 %
Amazon-1.084 %6 Jul (IQR 25 May to 3 Aug)6 %
Amazon-1.532 %—2 %

The -1.0 level is chosen as the action line because it discriminates most sharply: 88 per cent against 14 per cent for Bogota and 84 per cent against 6 per cent for the Amazon. The -0.5 level is crossed in every critical season but also in most normal ones, so it warns without discriminating. The -1.5 level discriminates cleanly in relative terms but fires in fewer than half of critical seasons, so it misses too much to be the primary trigger. It is retained as a severity escalation.

9.3 The blend

The dated curve is a two component mixture. Each component is an empirical cumulative distribution of crossing dates over the 76 cycle climatology, one conditional on the season being critical and one conditional on it not being, and the mixture weight is the calibrated seasonal probability from the 1 August forecast.

P(crossed by date D) = P(critical) * P(cross by D | critical) + (1 - P(critical)) * P(cross by D | normal)

With P(critical) = 0.6769 for Bogota and 0.6293 for the Amazon. The construction is deliberately transparent: no distributional assumption is made about the crossing dates, the conditional curves are simply observed frequencies, and the only model input is the single mixture weight. If the forecast is reissued on 1 September with a different probability, only the weight changes and the curve rescales.

Ordinal week mapping across the year boundary, which was an early source of an off by one error and is therefore written out explicitly:

(cw - 40) if cw >= 40 else (cw + 12)     # forward, Bogota window

def ord_date(basin, o):
    o = int(round(o))
    if basin == 'Bogota':
        return wk_date(2026, 40 + o) if o <= 12 else wk_date(2027, o - 12)
    return wk_date(2026, 18 + o)

9.4 Results for the 2026 to 2027 cycle

MilestoneAmazon (Sep-Nov 2026)Bogota (Dec 2026 - Mar 2027)
25 per cent probability reached6 Jul 2026 (passed)23 Nov 2026
50 per cent probability reached7 Sep 20261 Feb 2027
End of season probability55 % by late Nov61 to 64 % by 31 Mar
Both basins critical in the same cycle10 of 76 cycles, 13 per cent, with the later arrival by 30 November

9.5 Analog seasons

As an independent check on the blend, the ten nearest analog cycles in predictor space were identified for each basin. For Bogota: 2001, 2007, 1952, 1990, 1977, 1964, 2019, 2003, 1958 and 1973, of which 7 of 10 ended critical and 8 of 10 produced a sustained crossing, with a median crossing date of 23 November and an interquartile range of 2 November to 14 December. For the Amazon: 1968, 2008, 2000, 2023, 1957, 2006, 2018, 2011, 2017 and 2002, of which 4 of 10 ended critical.

The Bogota analogs at 7 of 10 sit slightly above the model's 0.677, and the Amazon analogs at 4 of 10 sit well below the model's 0.629. The Amazon disagreement is the larger and is not resolved here; it is reported as a source of uncertainty and is one reason the 1 September reissue matters more for the Amazon than for Bogota. An earlier median analog path calculation was found to be misleading and was removed rather than patched.

9.6 Youden J triggers for the watch windows

Each forecast reissue window has one variable worth watching. The threshold for each is set at the Youden J optimum on the 76 cycle record, reported with hit rate against false alarm rate and with the AUC of the underlying variable.

VariableTriggerhits / false alarms (%)AUC
bog_sonat or below +0.0288 / 250.86
amz6_augat or below -0.5073 / 120.85
gua_augat or below -0.3277 / 160.84
oni_asonat or above +0.0980 / 240.82
oni_jjaat or above -0.1892 / 410.78
oni_mjjat or above -0.2392 / 510.71
oni_tendat or above +0.2964 / 310.68
gua_sonat or below -0.1860 / 270.64

The oni_ason threshold was originally computed in the wrong direction, producing an AUC of 0.18 and zero flagged seasons, which is the signature of a reversed inequality. Recomputed as "at or above", it gives the +0.09 trigger with 80 per cent hits at 24 per cent false alarms and AUC 0.82. The gua_son trigger at AUC 0.64 is weak and is listed for completeness rather than for use.

10 · Trends

What has actually changed since 1950

10.1 Moisture trends

Theil-Sen slopes with Kendall tau significance, in index units per decade, over 77 years.

Siteindex per decadetaupdirection
Central_Africa-0.278-0.4701.4e-9drying, strong
Amazon_S-0.096-0.2675.8e-4drying
Cerrado-0.093-0.2412.0e-3drying
Bolivia-0.090-0.2521.2e-3drying
Xingu-0.071-0.1792.1e-2drying
Med_Europe-0.062-0.1971.1e-2drying
US_West-0.055-0.1831.9e-2drying
Amazon_arc-0.054-0.1430.066drying, not significant
Guaviare-0.022-0.0790.308flat
Bogota_Cerros-0.011-0.0270.732flat
Siberia-0.028-0.0750.338flat
Indonesia+0.025+0.0890.253flat
SE_Australia+0.026+0.0710.360flat
Canada_boreal+0.072+0.2106.9e-3wetting
Bogota is not drying. The southern Amazon is. This is essential to state plainly, because the two basins are treated together throughout this system and it would be easy to assume a shared trajectory. The Cerros trend is -0.011 per decade at p = 0.73, which is indistinguishable from flat over 77 years. The Bogota risk in this analysis is interannual, driven by the ocean and by season to season variability, not by a secular drying trend. The southern Amazon risk is both.

10.2 Dry week counts

The trend in the mean understates what has happened in the tail. Weeks per year with the index at or below -1.0, comparing 1980 to 1999 against 2015 to 2025:

Site1980-19992015-2025change
Amazon_S2.020.010.0×
Amazon_arc3.119.16.2×
Xingu3.215.95.0×
Cerrado3.115.75.1×
Bolivia3.515.94.5×
Guaviare6.715.42.3×
Bogota_Cerros6.47.01.1×

Severe weeks, index below -1.5, rose from 0.7 to 10.9 per year at Amazon_S alone. A tenfold increase in dry weeks against a moderate shift in the mean is the signature of a distribution whose left tail has extended rather than whose centre has moved, which matters because it is the tail that the fire calibration in section 5 says is dangerous. Bogota again shows almost no change, 6.4 to 7.0 weeks.

10.3 Cerros burned area, and the availability control

The Landsat derived Cerros burned area series runs from 1987 with 31 usable years. Decadal medians are 13901, 4764 and 11853 hectares, and the two largest years are 2024 at 48303 hectares and 1987 at 32955 hectares.

SeriesTheil-Sen slope (ha/yr)95 % CItaupn
Total burned area, raw+142.65-83.2 to +434.9+0.1660.19831
Largest season, raw+5.43-225.7 to +220.0+0.0110.94731
Neither raw trend is significant, and once scene availability is controlled the year coefficient turns negative. The correlation between year and the number of usable Landsat scenes is +0.811, meaning later years simply have far more chances to observe a fire. A joint model with both year and scene count as predictors gives, for total burned area, a year coefficient of -0.0510 at p = 0.026 and a scene coefficient of +0.0597 at p = 0.0010, adjusted R squared 0.294. For the largest season the year coefficient is -0.0578 at p = 0.015 and the scene coefficient +0.0544 at p = 0.0030, adjusted R squared 0.221. The apparent rise in Cerros burned area since 1987 is, on this evidence, an observing system artifact. The honest statement is that we cannot demonstrate an increase in Cerros burned area, and that the naive positive slope of +142.7 hectares per year should not be quoted.

Splitting into epochs shows no consistent direction either:

Epochtotal slopetauplargest season slopepyear vs scenes r
1987-1999 (n 6)-1230.6-0.6000.136-1469.40.017+0.455
2000-2012 (n 12)+105.9+0.1520.545-113.00.737-0.035
2013-2025 (n 13)+14.9+0.0260.952-144.10.435+0.324

For contrast, the MTBS United States west control series does show a clear and robust increase of +24733 hectares per year at p = 0.0015. That series has a consistent observing protocol across its whole length. The difference between the two cases is entirely about data provenance, and it is the reason the Cerros trend claim is withdrawn while the US one is not.

11 · Negative results

What did not work, and what that taught us

Six results in this project are negative or partly negative. They are collected here rather than scattered, because in an early warning system the failures constrain the operational envelope as much as the successes do.

1. Amazon detection counts do not respond to the seasonal index

Spearman -0.348 at p = 0.088 with a group ratio of only 1.22, against -0.814 at p = 1.3e-05 and a ratio of 2.06 for burned area on the same years. The interpretation in section 6.2 is that Amazon ignition is anthropogenic and roughly constant while moisture governs spread. The consequence is that the Amazon must be scored on burned area, which in turn ties the Amazon product to FireCCI51 and its 2001 to 2020 window, a real operational constraint.

2. The Cerros burned area increase does not survive an availability control

Detailed in section 10.3. The raw slope of +142.7 hectares per year is not significant, and the year coefficient turns significantly negative once Landsat scene counts enter the model. This is a straightforward observing system confound and the claim is withdrawn.

3. MTBS hectares are a trend against a trend

Significant raw, +0.081 at p = 0.609 detrended. Rejected as an Amazon predictor. The same detrending guard is what makes the surviving Canada boreal link credible, since it passes the identical test.

4. Four of six Amazon sites lose their Bogota link under an ENSO partial

Amazon_arc, Amazon_S, Xingu and Cerrado all fall below significance once the June to August ONI is regressed out. Only Guaviare, Bolivia and the six site mean survive all three guards. The Amazon to Bogota teleconnection is real at roughly r = 0.23 to 0.29 after the ocean is removed, which is a genuine but modest link and should not be described as strong.

5. Mosaic buffering does not appear at coarse resolution

The hypothesis that a more heterogeneous vegetation mosaic buffers fire spread returned a null at MODIS resolution. Investigation showed this to be a resolution limit rather than a real null: against the Bogota ground truth from fire brigade records, MODIS detected only 27 per cent of real fire-weeks. At 10 m resolution using AlphaEarth embeddings the relationship recovers cleanly: larger fires burn less heterogeneous vegetation, Spearman rho = -0.34 at p = 9e-10, tightening to rho = -0.39 on a clean pre-fire subset, with mean heterogeneity 0.016 in large fires against 0.022 in small ones at p = 2.5e-6. The lesson is that a coarse-resolution null on a landscape-structure question is uninformative, not negative.

6. Continuous skill at 1 August is low even where discrimination is good

Skill of 0.084 to 0.127 across the four live models. The system does not claim to forecast how dry the season will be four months ahead. It claims, and demonstrates at AUC 0.69 to 0.80, to forecast whether the season lands in the critical third. Products built on this system must be probability of exceedance products, not index value products, and the 1 September and 1 December reissues are where the point forecast becomes worth quoting.

Two anomalies worth recording

The 2024 Amazon season produced a burned area anomaly of +13 sigma including a single 2.78 million hectare megafire at 48 sigma, with the Indigenous Territory to frontier burned area ratio moving from 0.39 to 0.80. A moisture-driven system will not anticipate an event of that character from moisture alone. Separately, the Bogota 2024 season was called critical by the rule and recorded the largest Cerros burned area on record at 48303 hectares while returning only 19 MODIS detections, which is the detection sensitivity problem of item 5 appearing in the validation set.

12 · Limitations

What this system cannot do

  1. It forecasts moisture, not fire. The link to fire is a calibration, and calibration slopes are estimated over a period during which land use also changed. A change in ignition pressure would move the fire outcome without moving the forecast.
  2. Reanalysis is not observation. ERA5-Land soil moisture is a model product. Its skill in the Cerros, which are steep, small and heterogeneous relative to the grid, is not independently validated here. The most recent week is preliminary and subject to revision.
  3. Seventy six cycles is a small sample for a one-in-three event. Twenty five to twenty seven events support every AUC and Brier figure quoted. Confidence intervals on those figures are wide and are not reported, which is itself a limitation.
  4. The nested cross validation removes selection bias, not specification bias. The candidate pools, the window definitions, the three predictor cap and the OLS form were all chosen by the analyst with the full record visible.
  5. The crossing climatology is stationary by construction. Conditional crossing-date distributions are pooled over 76 years. Section 10 shows the southern Amazon has changed materially over that period, so the Amazon conditional curves probably run late.
  6. Bogota's fire response is measured against a detection product that misses most of its fires. The 27 per cent detection rate against brigade ground truth means the Bogota Poisson calibration is fitted to a biased sample of events, most likely biased toward larger ones.
  7. The Amazon analogs and the model disagree. Four of ten analogs critical against a model probability of 0.629. That gap is unresolved.
  8. Nothing here is a fire danger rating. Wind, fuel load, fuel continuity, slope, ignition source and suppression capacity are all absent. This is one input to a preparedness decision, not the decision.

Revision triggers

The forecast should be reissued, and this report revised, when any of the following occur: the 1 September Amazon reissue, which raises skill from 0.084 to 0.358 and AUC from 0.691 to 0.906; the 1 December Bogota reissue, which raises skill to 0.352 and AUC to 0.885; the August Amazon composite crossing the -0.50 Youden trigger; the ASON ocean index crossing +0.09; or the Bogota September to November index crossing +0.02.

13 · Reproducibility

Code, caches and outputs

ScriptProducesLog
ews_trends.pythe normal score index, trend statisticsews_trends.log
forecast_model.pythe eight seasonal models, live forecastforecast_model.log
fire_calibration.pyPoisson and burned area calibrationfire_calibration.log
target_validation.pythe four validation tests per basintarget_validation.log
wavelet_core.py, pairwise_wavelet.pycoherence over 91 pairspairwise_wavelet.log
wavelet_selftest.pythe fourteen synthetic checkswavelet_selftest.log
coupling_analysis.pyguards, lags, placebocoupling_analysis.log
timing_analysis.pycrossing climatology, blended curve—
make_fig_timing.pyfig_timing.png, fig_timing.pdf—

Cross validation results are cached at data/cv_cache/<md5>.pkl, keyed on repr((basin, issue, ycol, pool, MAXP)) together with a pandas hash of the input data rounded to nine decimal places, so a cache entry cannot survive a change in either the specification or the data. The wavelet Monte Carlo uses seed 20260726 and is therefore exactly reproducible.

Principal data outputs: data/weekly_sm_z_allsites.csv, data/forecast_live.csv, data/forecast_predictors_bogota.csv, data/forecast_predictors_amazon.csv, data/fire_calibration.csv, data/fire_calibration_area.csv, data/coupling_guards.csv, data/coupling_lags.csv, data/wavelet_pairs.csv, data/timing_curve.csv, data/timing_summary.json, data/ews_trends_summary.json.

Companion documents: SITREP.html carries the operational statement, the crossing dates, the watch windows and the recommended actions. fire_risk_dashboard.html carries the lay-audience framing and the current-state charts. This report carries the methods, the full statistics and the negative results.

Technical report issued 26 July 2026, ecofires. Soil moisture through 2026 week 29; ocean index through May 2026. The final week of soil moisture is preliminary and subject to revision. Alejandro Feged-Rivadeneira, Tecnologico de Monterrey, alejandrofeged@tec.mx, ORCID 0000-0001-8649-4213.

Post a Comment

Note: Only a member of this blog may post a comment.

emo-but-icon

Home item

Popular Posts

Click to read Read more View all said: Related posts Default Comments Menu