Method: input.csv holds one merged energy axis (1.196-1.606 eV, 1024 points) and 15 PL spectra (5-100 uW). Each spectrum was fitted with a sum of two Lorentzians plus a constant offset (fit window < 1.58 eV; 5-sigma outlier points, i.e. cosmic-ray spikes, removed and refit). The dominant peak is at ~1.32-1.335 eV; a second broad peak is at ~1.55 eV; a third feature at the upper edge (>1.58 eV) is truncated by the data range and was excluded.

Dominant peak (Lorentzian height A, centre xc) vs power:
P(uW)  I(counts)  xc(eV)
5      122.8      1.31765
10     227.5      1.32278
15     321.0      1.32489
20     412.2      1.32656
25     503.0      1.32786
30     595.8      1.32883
35     672.2      1.32934
40     794.8      1.33051
45     855.4      1.33079
50     949.7      1.33176
60     1134.5     1.33224
70     1323.4     1.33339
80     1503.4     1.33363
90     1725.7     1.33431
100    1991.3     1.33492

Allometric fit y = a * P^b (scipy curve_fit, non-linear least squares):
- Intensity vs power: a = 20.3, b = 0.988 +/- 0.019 (near-linear). Fit-error-weighted variant: b = 0.948 +/- 0.002; log-log linear regression: b = 0.918 +/- 0.011.
- Peak position vs power: a = 1.310 eV, b = 0.0042 +/- 0.0001 (small blue shift; weighted variant 0.00395 +/- 0.00004).

The reported b is the intensity-vs-power exponent from the unweighted allometric fit.

RESULT: b = 0.988 ± 0.019
