============================================================================== FOREST FIRE CRITICALITY - Science Journaling Club ============================================================================== Drossel-Schwabl forest fire model on a square lattice, helical boundary. Every number below is printed by this script. No field data is used. Convention: P(s) ~ s^(-tau). Physics papers usually write s^(1-tau), so their exponent is ours plus one. Published values quoted here are already converted to our convention. master seed : 20251124 generator : numpy PCG64 via default_rng, 3 spawned streams python : 3.12.3 numpy : 2.4.2 platform : Windows-11-10.0.26200-SP0 ============================================================================== PART 1. VALIDATING THE FITTING MACHINERY ON DATA WE MADE OURSELVES ============================================================================== Before fitting anything from the forest, we check that the estimator can recover an exponent we already know. Synthetic draws from a truncated discrete power law, fitted by the same code that will fit the fires. tau_true n support tau_hat se difference z 1.1600 200000 [ 1, 10000] 1.16093 0.00085 +0.00093 1.09 1.1600 20000 [ 1, 10000] 1.16347 0.00269 +0.00347 1.29 1.5000 200000 [ 1, 10000] 1.50035 0.00127 +0.00035 0.27 2.5000 200000 [ 1, 10000] 2.49789 0.00377 -0.00211 -0.56 1.1600 200000 [ 10, 3000] 1.16221 0.00138 +0.00221 1.61 A |z| below about 2 means the estimator recovered the truth inside its own stated error. That is the whole test. -- the same synthetic data, fitted the popular way instead ------------------- A straight line through a log-log histogram is what almost every undergraduate lab does. On data with a KNOWN answer, here is what it gives. tau_true method tau_hat se error err/true points 1.16 MLE 1.16003 0.00085 +0.00003 0.0% 200000 1.16 OLS raw 1.06190 0.00522 -0.09810 -8.5% 8255 1.16 OLS logbin 1.18868 0.00642 +0.02868 2.5% 20 1.50 MLE 1.50145 0.00127 +0.00145 0.1% 200000 1.50 OLS raw 0.97215 0.00861 -0.52785 -35.2% 3307 1.50 OLS logbin 1.53921 0.00823 +0.03921 2.6% 20 2.50 MLE 2.49692 0.00377 -0.00308 -0.1% 200000 2.50 OLS raw 1.77391 0.05819 -0.72609 -29.0% 172 2.50 OLS logbin 2.60645 0.02086 +0.10645 4.3% 16 ============================================================================== PART 2. THE MAIN RUN ============================================================================== lattice : 512 x 512 = 262144 cells, helical boundary theta = p/f : 500 growth attempts per lightning strike, on average warm-up fires : 10485 (discarded) recorded fires : 120000 wall time : 136.1 s -- steady state and the mass balance identity -------------------------------- density of trees, sampled every 500 fires (just after each fire): first 10 samples of the warm-up 0.397 0.380 0.383 0.395 0.376 0.360 0.402 0.409 0.382 0.368 during warm-up (20 samples) mean 0.39226 sd 0.01576 first half of recording mean 0.39187 second half of recording mean 0.39400 recording, all of it mean 0.39294 sd 0.02486 fraction of strikes that hit a tree 0.39263 (that fraction IS the density a lightning bolt actually sees, and it is the number we compare with the published tables) In a steady state every tree that grows must eventually burn. Per lightning strike, theta*(1-rho) trees appear and rho* trees burn, so the mean fire size is fixed by the density alone: analytic = theta (1 - rho) / rho = 773.471 club value measured = 772.360 +/- 5.608 difference = -1.111 (-0.144% of the analytic value) difference in standard errors = -0.20 This is an exact identity for the model, so it is a check on the simulator rather than a discovery. If the lattice were not in a steady state, or the burning code missed cells, the two numbers would part company. -- what the fires look like -------------------------------------------------- number of fires recorded : 120000 lightning strikes : 305633 total cells burnt : 92683166 smallest fire : 1 largest fire : 38758 cells (14.785% of the lattice) median fire : 32 mean fire : 772.36 fires of size 1 : 13373 (11.14% of all fires) fires of size >= 1000 : 21605 (18.004% of fires, 88.5% of burnt area) / (cutoff proxy) : 5657.8 quantile 0.5000 : 32 quantile 0.9000 : 2438 quantile 0.9900 : 9670 quantile 0.9990 : 17221 quantile 0.9999 : 24316 ============================================================================== PART 3. IS IT A POWER LAW? ============================================================================== Three fits of the same 120,000 fires. The first covers everything from single-cell fires to the largest fire seen. The second covers the window the theory actually predicts a power law for, s from 4 up to theta, which stops below the cutoff. The third lets an automatic rule pick the lower edge, which turns out to be a bad idea here and we say why. -- fit A: the whole range, s = 1 to 38758 ------------------------------------ tau (MLE) : 1.1174 +/- 0.0009 (asymptotic) events used : 120000 KS distance : 0.05978 goodness of fit p : 0.000 (100 synthetic sets, 10.1 s) synthetic KS, mean / 95% : 0.00166 / 0.00233 The observed KS is 26 times the 95th percentile of what the fitted power law itself produces. Rejected, and not narrowly. -- fit B (our primary estimate): s = 4 to 500 -------------------------------- The upper edge is tied to theta because the cutoff scales with theta, so this window keeps the same position relative to the cutoff at every theta. tau (MLE) : 1.1269 asymptotic standard error : 0.0027 block bootstrap SE : 0.0025 (400 resamples, blocks of 1000 fires, 1.2 s) block bootstrap 95% CI : [1.1222, 1.1320] ratio to asymptotic SE : 0.92 events used : 66199 KS distance : 0.00824 goodness of fit p : 0.000 (200 synthetic sets, 3.3 s) synthetic KS, mean / 95% : 0.00235 / 0.00356 -- fit C: letting an automatic rule choose the lower edge -------------------- The Clauset-Shalizi-Newman recipe picks the s_min that minimises the KS distance. It was designed for distributions with no upper cutoff. With the upper edge pinned at theta, shrinking the window always lowers KS, so the rule walks off to the right and lands on a window too narrow to mean anything. Here is the whole scan, so you can see it happen. s_min n in win decades tau se KS 1 91209 2.70 1.0526 0.0017 0.03446 2 77836 2.40 1.0842 0.0022 0.02583 3 71374 2.22 1.1143 0.0025 0.01348 4 66199 2.10 1.1269 0.0027 0.00824 6 58831 1.92 1.1386 0.0032 0.00467 8 53685 1.80 1.1432 0.0036 0.00560 12 46592 1.62 1.1416 0.0043 0.00620 16 41860 1.49 1.1390 0.0049 0.00654 24 35671 1.32 1.1363 0.0060 0.00729 32 31407 1.19 1.1244 0.0071 0.00658 48 25935 1.02 1.1128 0.0092 0.00799 64 22259 0.89 1.0995 0.0113 0.00806 96 17310 0.72 1.0532 0.0159 0.00498 128 14103 0.59 1.0263 0.0213 0.00649 KS is smallest at s_min = 6, which leaves only 1.92 decades of window and gives tau = 1.1386, which is +0.0118 from the fit B value of 1.1269 and 4.3 times the fit B standard error away from it. We report fit B and treat this as a warning about automatic rules: the window the rule lands on moves from run to run, and the exponent moves with it. -- the naive log-log regression, on our own fire data ------------------------ raw histogram tau = 1.1231 +/- 0.0082 (497 points) difference from MLE -0.0038 log-binned, 20 bins tau = 1.1499 +/- 0.0062 (20 points) difference from MLE +0.0230 -- how much the answer depends on where we put the window -------------------- s_min s_max n tau se KS 1 100 74453 1.0096 0.0025 0.02776 1 500 91209 1.0526 0.0017 0.03446 1 2000 105811 1.0544 0.0013 0.03017 1 38758 120000 1.1174 0.0009 0.05978 4 250 59119 1.1315 0.0034 0.01015 4 500 66199 1.1269 0.0027 0.00824 4 1000 73395 1.1142 0.0023 0.00854 4 2000 80801 1.0989 0.0019 0.01313 4 5000 89884 1.0893 0.0016 0.01527 16 500 41860 1.1390 0.0049 0.00654 16 2000 56462 1.0844 0.0030 0.01524 32 1000 38603 1.0883 0.0051 0.01115 64 4000 43980 1.0255 0.0040 0.00991 spread of tau across these 13 windows: 1.0096 to 1.1390, range 0.1294 The choice of window moves the answer by far more than the statistical error on any one of them. That is the real uncertainty in this number. -- the goodness of fit test has enormous power with this many fires ---------- With enough data, a test rejects any model that is even slightly wrong. Same window, same fitted exponent, smaller random subsets of the fires: subsample tau KS p 300 1.1344 0.04089 0.160 1000 1.1060 0.02326 0.140 3000 1.1215 0.00730 0.920 10000 1.1324 0.00911 0.040 30000 1.1280 0.00664 0.000 66199 1.1269 0.00824 0.000 ============================================================================== PART 4. CONVERGENCE OF THE ESTIMATE ============================================================================== Running maximum likelihood exponent over the fit B window, as fires accumulate. The error column is one asymptotic standard error. fires used n in window tau se tau-tau_final 600 345 1.1920 0.0385 +0.0652 1200 692 1.1765 0.0271 +0.0496 2400 1384 1.1912 0.0192 +0.0643 6000 3343 1.1497 0.0123 +0.0229 12000 6672 1.1411 0.0087 +0.0143 24000 13241 1.1302 0.0061 +0.0033 36000 19916 1.1294 0.0050 +0.0026 60000 33203 1.1284 0.0039 +0.0015 84000 46539 1.1274 0.0033 +0.0005 102000 56367 1.1270 0.0030 +0.0001 120000 66199 1.1269 0.0027 +0.0000 ============================================================================== PART 5. DEPENDENCE ON THETA = p/f ============================================================================== Five values spanning two decades, each with its own run at L = 512. theta = 125 is there because Grassberger (2002) tabulates the tree density at exactly that value, which gives us a direct comparison. The fitting window is s in [4, theta] throughout. theta = 50 100000 fires warm-up 104857 29.7 s theta = 125 100000 fires warm-up 41943 43.4 s theta = 2000 20000 fires warm-up 3000 96.3 s theta = 5000 10000 fires warm-up 3000 139.2 s theta fires rho meas exact diff% max s / tau se(bb) gof p 50 100000 0.36588 86.65 86.66 -0.012 3034 416.9 1.0394 0.0058 0.010 125 100000 0.38073 203.60 203.32 +0.137 6835 1177.6 1.0724 0.0041 0.000 500 120000 0.39263 772.36 773.47 -0.144 38758 5657.8 1.1269 0.0029 0.000 2000 20000 0.40068 2992.16 2991.50 +0.022 97883 24849.3 1.1609 0.0058 0.020 5000 10000 0.40185 7433.18 7442.50 -0.125 154578 58678.0 1.1741 0.0056 0.120 The last column is the fraction of the lattice the biggest single fire consumed, and it is the reason to distrust the largest theta: theta 50 : largest fire covered 1.2% of the lattice theta 125 : largest fire covered 2.6% of the lattice theta 500 : largest fire covered 14.8% of the lattice theta 2000 : largest fire covered 37.3% of the lattice theta 5000 : largest fire covered 59.0% of the lattice -- how the cutoff moves with theta ------------------------------------------- / scales as theta^1.081 +/- 0.019 99.9th percentile scales as theta^0.991 +/- 0.038 largest fire seen scales as theta^0.882 +/- 0.077 Grassberger (2002) reports the cutoff growing roughly as theta^1.08 in the large-theta limit, on lattices far bigger than ours. -- does the exponent drift with theta? --------------------------------------- theta 50: 1.0394+/-0.0058, theta 125: 1.0724+/-0.0041, theta 500: 1.1269+/-0.0029, theta 2000: 1.1609+/-0.0058, theta 5000: 1.1741+/-0.0056 weighted mean tau : 1.1145 chi-square about that mean : 466.3 on 4 degrees of freedom a constant exponent is NOT supported by these five runs. drift: d(tau)/d(log10 theta) : +0.0690 per decade extrapolating that drift, tau would reach 1.19 at theta = 10^3.8, which is a straight-line guess well outside the range we measured and should not be believed. We print it to show how far away the answer is. ============================================================================== PART 6. DOES THE LATTICE SIZE MATTER? ============================================================================== Same theta = 500, three lattice sizes. If the model were simply critical and our lattice big enough, the exponent would not care. L cells fires rho max s tau se(bb) 256 65536 30000 0.39356 771.09 24289 1.1175 0.0048 512 262144 120000 0.39263 772.36 38758 1.1269 0.0031 1024 1048576 30000 0.39635 765.26 34792 1.1206 0.0062 -- the same check at theta = 5000, where the lattice is clearly too small ---- L = 512 L = 1024 fires 10000 6000 density rho 0.40185 0.40711 mean fire size 7433.18 7285.77 largest fire 154578 217826 largest fire, % of lattice 59.0% 20.8% / 58678.0 66016.4 tau, window [4, 5000] 1.1741 1.1663 block bootstrap SE 0.0056 0.0078 wall time for the L = 1024 run: 106.3 s difference in tau between the two lattice sizes: -0.0078, which is 0.8 combined standard errors. ============================================================================== PART 7. THE CLUB'S NUMBER BESIDE THE PUBLISHED ONES ============================================================================== quantity club published difference ---------------------------------------------------------------------------------- tau at theta = 500 (main run) 1.1269 1.1500 -0.0231 value from the pre-2002 simulations, quoted by Grassberger 2002 tau at theta = 5000 (widest window) 1.1741 1.1500 0.0241 same comparison at our largest theta tau at theta = 5000 (widest window) 1.1741 1.1900 -0.0159 Grassberger 2002 own estimate, tau_G = 2.19 +/- 0.01 tau at theta = 5000 (widest window) 1.1741 1.1110 0.0631 Grassberger 2002 envelope exponent, tau_G' = 2.111 +/- 0.006 tree density rho at theta = 125 0.38073 0.37984 0.00089 Grassberger 2002 Table 1, rho = 0.379837 +/- 0.000006 cutoff scaling exponent 1.081 1.080 0.001 Grassberger 2002, s_max ~ theta^1.08 mean fire size vs exact identity (%) -0.1437 0.0000 -0.1437 exact steady-state mass balance, no fitting involved The density comparison is the sharpest one we have. Our theta = 125 run gives rho = 0.38073 from 262653 lightning strikes, a binomial standard error of 0.00095, so we sit 0.9 standard errors from Grassberger's tabulated 0.379837. Our exponent at theta = 500 sits -0.0231 from 1.15, with a block-bootstrap standard error of 0.0025. At theta = 5000 it has climbed to 1.1741. The exponent is not a constant of the model at the sizes we can reach: it drifts upward with theta by +0.0690 per decade, and the published argument is about where, or whether, that drift stops. ============================================================================== PART 8. NUMBERS FOR THE FIGURES ============================================================================== -- fig 1: fire size distribution, main run, log-binned, 8 bins per decade ---- s (centre) P(s) count 1.414 1.11441667e-01 13373 2.449 5.38500000e-02 6462 3.464 4.31250000e-02 5175 4.899 3.07000000e-02 7368 6.481 2.29166667e-02 2750 8.367 1.77222222e-02 6380 11.402 1.21222222e-02 4364 14.866 9.17291667e-03 4403 19.774 6.39861111e-03 4607 26.702 4.64166667e-03 4456 35.651 3.23583333e-03 3883 47.053 2.27756410e-03 3553 62.354 1.68657407e-03 3643 83.138 1.20902778e-03 3482 110.851 8.35156250e-04 3207 147.946 5.87403101e-04 3031 197.020 4.41517857e-04 2967 261.828 3.33777778e-04 3004 348.431 2.34916667e-04 2819 463.756 1.85087719e-04 2954 617.187 1.38888889e-04 2950 821.136 1.06453901e-04 3002 1092.346 8.01650692e-05 3011 1453.190 6.08373397e-05 3037 1933.256 4.67960289e-05 3111 2572.238 3.42944369e-05 3033 3422.097 2.38010204e-05 2799 4552.982 1.54980843e-05 2427 6057.700 9.47166186e-06 1972 8059.661 5.13708514e-06 1424 10723.553 2.15386285e-06 794 14267.327 8.05202218e-07 395 18982.255 2.13007233e-07 139 25255.163 2.64879307e-08 23 33601.911 1.73106218e-09 2 -- fig 2: compensated distributions s^tau P(s), tau = 1.1269, all five theta - theta = 50 s P(s) s^tau P(s) count 1.414 1.29710000e-01 1.91682939e-01 12971 2.449 6.31500000e-02 1.73304103e-01 6315 3.873 4.52350000e-02 2.08028247e-01 9047 5.916 3.09450000e-02 2.29386672e-01 6189 8.367 2.12233333e-02 2.32488401e-01 6367 11.832 1.46050000e-02 2.36428189e-01 5842 17.146 9.57714286e-03 2.35495382e-01 6704 25.515 6.17800000e-03 2.37744293e-01 6178 37.762 4.12800000e-03 2.47099730e-01 6192 55.516 2.68000000e-03 2.47659806e-01 5628 81.031 1.74741935e-03 2.47279133e-01 5417 118.381 1.16333333e-03 2.52354406e-01 5235 173.292 7.78059701e-04 2.59305595e-01 5213 253.909 4.55567010e-04 2.33506708e-01 4419 371.685 2.60909091e-04 2.05460600e-01 3731 544.564 1.23779904e-04 1.49901665e-01 2587 797.455 4.53921569e-05 8.44910227e-02 1389 1168.122 1.07572383e-05 3.07853699e-02 483 1711.668 1.30699088e-06 5.75304984e-03 86 2507.692 7.26895119e-08 4.92031642e-04 7 theta = 125 s P(s) s^tau P(s) count 1.414 1.20460000e-01 1.78013467e-01 12046 2.449 5.76600000e-02 1.58237761e-01 5766 3.464 4.67700000e-02 1.89676209e-01 4677 4.899 3.31200000e-02 1.98493285e-01 6624 7.348 2.17966667e-02 2.06289230e-01 6539 10.817 1.42400000e-02 2.08349543e-01 5696 15.716 9.37166667e-03 2.08900463e-01 5623 22.650 6.14375000e-03 2.06728804e-01 4915 32.863 3.95846154e-03 2.02607317e-01 5146 47.749 2.66294118e-03 2.07649207e-01 4527 68.782 1.79153846e-03 2.10772066e-01 4658 99.383 1.24777778e-03 2.22247933e-01 4492 143.482 8.23333333e-04 2.21816086e-01 4446 207.550 5.69078947e-04 2.32410501e-01 4325 299.399 3.73873874e-04 2.30740726e-01 4150 432.666 2.66437500e-04 2.48990263e-01 4263 625.332 1.65560345e-04 2.34311686e-01 3841 903.699 1.01377246e-04 2.17259442e-01 3386 1305.348 5.12629400e-05 1.66266521e-01 2476 1885.981 2.12177650e-05 1.04180419e-01 1481 2724.780 6.85515873e-06 5.09530704e-02 691 3936.661 1.43445436e-06 1.61401920e-02 209 5687.526 1.09315589e-07 1.86196618e-03 23 theta = 500 s P(s) s^tau P(s) count 1.414 1.11441667e-01 1.64686348e-01 13373 2.449 5.38500000e-02 1.47781884e-01 6462 3.873 3.82166667e-02 1.75752099e-01 9172 5.916 2.55041667e-02 1.89055289e-01 6121 8.367 1.77222222e-02 1.94135909e-01 6380 11.832 1.15166667e-02 1.86433731e-01 5528 16.733 7.99861111e-03 1.91347273e-01 5759 24.495 5.07083333e-03 1.86371404e-01 6085 36.332 3.13928571e-03 1.79913088e-01 5274 52.650 2.02412281e-03 1.76204707e-01 4615 76.544 1.32166667e-03 1.75402232e-01 4758 112.049 8.21031746e-04 1.67403824e-01 4138 163.080 5.30510753e-04 1.65108373e-01 3947 237.779 3.66388889e-04 1.74408792e-01 3957 346.775 2.37310606e-04 1.72825132e-01 3759 505.973 1.69531250e-04 1.88988355e-01 3906 737.835 1.16398810e-04 1.98495240e-01 3911 1075.829 8.23733660e-05 2.14857592e-01 4033 1568.536 5.70588235e-05 2.27620848e-01 4074 2287.188 3.86520737e-05 2.35857996e-01 4026 3335.880 2.45067088e-05 2.28805058e-01 3726 4865.221 1.39535934e-05 1.99319998e-01 3091 7094.857 6.82943434e-06 1.49236911e-01 2207 10347.257 2.45459946e-06 8.20624481e-02 1157 15090.216 6.62068564e-07 3.38630690e-02 455 22007.105 8.07996169e-08 6.32250346e-03 81 32095.139 3.42034696e-09 4.09464603e-04 5 theta = 2000 s P(s) s^tau P(s) count 1.414 1.05150000e-01 1.55388644e-01 2103 2.449 5.03500000e-02 1.38176747e-01 1007 3.873 3.81250000e-02 1.75330539e-01 1525 5.916 2.42750000e-02 1.79943819e-01 971 8.367 1.75333333e-02 1.92066748e-01 1052 12.247 1.05200000e-02 1.77049898e-01 1052 17.748 7.28333333e-03 1.86191076e-01 874 25.515 4.69500000e-03 1.80674888e-01 939 37.762 2.76333333e-03 1.65411561e-01 829 55.929 1.69090909e-03 1.57567331e-01 744 82.049 1.01129032e-03 1.45136152e-01 627 119.812 6.81521739e-04 1.49854323e-01 627 175.741 4.30882353e-04 1.45890560e-01 586 258.203 2.96500000e-04 1.54874137e-01 593 379.034 1.78767123e-04 1.43915906e-01 522 555.794 1.14953271e-04 1.42451557e-01 492 815.016 7.43630573e-05 1.41855714e-01 467 1195.481 5.05422993e-05 1.48466557e-01 466 1753.725 3.41715976e-05 1.54586021e-01 462 2572.209 2.55297679e-05 1.77827851e-01 506 3772.590 1.64030261e-05 1.75918697e-01 477 5533.664 1.26816690e-05 2.09432688e-01 541 8116.690 9.04731458e-06 2.30069939e-01 566 11905.409 6.28677272e-06 2.46172284e-01 577 17462.744 3.79643388e-06 2.28908332e-01 511 25613.316 2.27433897e-06 2.11153654e-01 449 37568.324 9.94543822e-07 1.42176560e-01 288 55103.319 2.96666039e-07 6.53029051e-02 126 80822.576 3.37089473e-08 1.14253448e-02 21 theta = 5000 s P(s) s^tau P(s) count 1.414 1.06000000e-01 1.56644758e-01 1060 2.449 5.08000000e-02 1.39411694e-01 508 3.464 3.61000000e-02 1.46403916e-01 361 4.899 3.03000000e-02 1.81592589e-01 606 7.348 1.91333333e-02 1.81082761e-01 574 11.225 1.11000000e-02 1.69332152e-01 555 16.733 7.81666667e-03 1.86994696e-01 469 24.083 4.91111111e-03 1.77085966e-01 442 34.900 3.16153846e-03 1.73161599e-01 411 50.616 1.66315789e-03 1.38495864e-01 316 73.267 1.22592593e-03 1.54867679e-01 331 106.132 7.52500000e-04 1.44331361e-01 301 154.298 5.05172414e-04 1.47715598e-01 293 224.513 3.29411765e-04 1.46983686e-01 280 326.348 2.15573770e-04 1.46613374e-01 263 473.712 1.28651685e-04 1.33154996e-01 229 688.426 9.22779923e-05 1.45538676e-01 239 1000.075 4.90666667e-05 1.17873617e-01 184 1452.568 3.26007326e-05 1.19268753e-01 178 2110.164 2.32323232e-05 1.29463233e-01 184 3064.938 1.52910513e-05 1.29766304e-01 176 4452.606 1.06993425e-05 1.38309106e-01 179 6468.472 7.49279539e-06 1.47536967e-01 182 9396.260 5.29895154e-06 1.58917500e-01 187 13649.453 4.33086227e-06 1.97828453e-01 222 19827.495 2.87402632e-06 1.99953545e-01 214 28802.091 1.97836738e-06 2.09639610e-01 214 41839.665 1.62275678e-06 2.61912895e-01 255 60778.719 1.39752913e-06 3.43558285e-01 319 88289.890 6.57458230e-07 2.46172434e-01 218 128253.891 1.03805510e-07 5.92002471e-02 50 -- fig 3: convergence of tau with fires accumulated -------------------------- fires tau se 600 1.19202 0.03850 1200 1.17651 0.02709 2400 1.19117 0.01922 6000 1.14974 0.01226 12000 1.14113 0.00867 24000 1.13015 0.00614 36000 1.12944 0.00501 60000 1.12835 0.00388 84000 1.12735 0.00327 102000 1.12700 0.00297 120000 1.12686 0.00274 -- fig 3b: tree density trace, main run, every 500 fires, thinned ------------ fire index density 500 0.39687 2500 0.37597 4500 0.38182 6500 0.40943 8500 0.42138 10500 0.45023 12500 0.43203 14500 0.41792 16500 0.40031 18500 0.38440 20500 0.38585 22500 0.37980 24500 0.43418 26500 0.39985 28500 0.37812 30500 0.41299 32500 0.36894 34500 0.42687 36500 0.38709 38500 0.39947 40500 0.33916 42500 0.40321 44500 0.39406 46500 0.38604 48500 0.39365 50500 0.39664 52500 0.37907 54500 0.41164 56500 0.39582 58500 0.40263 60500 0.41439 62500 0.37777 64500 0.35434 66500 0.38336 68500 0.36166 70500 0.40810 72500 0.40334 74500 0.39174 76500 0.38724 78500 0.38570 80500 0.41276 82500 0.38714 84500 0.43464 86500 0.40429 88500 0.37920 90500 0.34985 92500 0.38876 94500 0.44851 96500 0.38964 98500 0.37780 100500 0.39959 102500 0.37281 104500 0.36350 106500 0.36476 108500 0.40694 110500 0.37909 112500 0.38343 114500 0.42409 116500 0.38254 118500 0.39809 120500 0.34083 122500 0.37907 124500 0.36676 126500 0.40828 128500 0.40467 -- fig 4: estimator bias, MLE against log-log regression --------------------- tau_true method tau_hat error% 1.16 MLE 1.16003 +0.0% 1.16 OLS raw 1.06190 -8.5% 1.16 OLS logbin 1.18868 +2.5% 1.50 MLE 1.50145 +0.1% 1.50 OLS raw 0.97215 -35.2% 1.50 OLS logbin 1.53921 +2.6% 2.50 MLE 2.49692 -0.1% 2.50 OLS raw 1.77391 -29.0% 2.50 OLS logbin 2.60645 +4.3% and on the club's own fire data, where nobody knows the true answer: MLE, window [4, 500] tau = 1.1269 raw histogram tau = 1.1231 log-binned, 20 bins tau = 1.1499 -- fig 5: exponent and cutoff against theta ---------------------------------- theta tau se / q99.9 max s gof p 50 1.0394 0.0058 416.9 1404.0 3034 0.010 125 1.0724 0.0041 1177.6 3873.0 6835 0.000 500 1.1269 0.0029 5657.8 17221.0 38758 0.000 2000 1.1609 0.0058 24849.3 67058.2 97883 0.020 5000 1.1741 0.0056 58678.0 126842.1 154578 0.120 -- fig 5b: exponent against lattice size at theta = 500 ---------------------- L tau se 256 1.1175 0.0048 771.09 512 1.1269 0.0031 772.36 1024 1.1206 0.0062 765.26 -- fig 5c: the window sensitivity table again, compactly --------------------- s_min s_max tau se 1 100 1.0096 0.0025 1 500 1.0526 0.0017 1 2000 1.0544 0.0013 1 38758 1.1174 0.0009 4 250 1.1315 0.0034 4 500 1.1269 0.0027 4 1000 1.1142 0.0023 4 2000 1.0989 0.0019 4 5000 1.0893 0.0016 16 500 1.1390 0.0049 16 2000 1.0844 0.0030 32 1000 1.0883 0.0051 64 4000 1.0255 0.0040 ============================================================================== SUMMARY ============================================================================== seed : 20251124 main run : L = 512, theta = 500, 120000 fires fires recorded across every run : 416000 tau, primary window s in [4, 500] : 1.1269 +/- 0.0025 (block bootstrap) tau, whole range : 1.1174 (rejected, p = 0.000) goodness of fit p, primary window : 0.000 tau at theta = 5000 : 1.1741 +/- 0.0056 naive log-log regression, same window : 1.1231 exponent drift per decade of theta : +0.0690 cutoff scaling : theta^1.081 +/- 0.019 density at theta = 125 vs Grassberger : 0.38073 vs 0.379837 total wall time : 699.3 s Nothing in this file was measured in a forest. It is the output of a program, and the program is the experiment.