Data: input.csv holds one merged spectrum per excitation power (5-100 uW, 15 spectra, 1024 points, 1.196-1.606 eV). Each spectrum has a dominant PL peak near 1.33 eV, a weaker broad band near 1.53 eV, and a rising edge at the high-energy limit (>1.6 eV, cut off by the spectral window; one spike at 1.605 eV in the 45 uW spectrum was excluded).

Method: for every power the main peak was fitted with a Lorentzian, I/(1+((x-xc)/(w/2))^2), plus a linear baseline, in the window 1.20-1.47 eV (I = peak height, xc = centre, w = FWHM ~0.06 eV). A cross-check with a 3-Lorentzian global fit (1.33, 1.53 and the edge band, <1.6 eV) gave consistent main-peak values (the edge-band parameters are not well constrained, so they were not used).

Main-peak Lorentzian results (power uW: intensity counts, xc eV):
5: 115.8, 1.3171 | 10: 215.6, 1.3223 | 15: 304.0, 1.3244 | 20: 392.6, 1.3261 | 25: 480.5, 1.3275 | 30: 570.6, 1.3285 | 35: 644.6, 1.3290 | 40: 766.0, 1.3303 | 45: 824.3, 1.3306 | 50: 915.0, 1.3316 | 60: 1095.6, 1.3321 | 70: 1282.4, 1.3333 | 80: 1459.9, 1.3336 | 90: 1678.3, 1.3342 | 100: 1942.3, 1.3349

Plots: (1) fitted peak intensity vs power, (2) fitted peak position xc vs power, each with an allometric fit y = a * P^b (scipy curve_fit, power in uW).

Allometric fit results (main peak):
- Intensity vs power: a = 18.5 +- 1.5, b = 1.003 +- 0.019 (unweighted least squares; fit-error-weighted gives b = 0.957 +- 0.002, but the formal weights understate the uncertainty, so the unweighted value is quoted). The emission is linear in power.
- Peak position vs power: a = 1.309 eV, b = 0.0043 +- 0.0001 (unweighted: 0.00435 +- 0.00009; weighted: 0.00415 +- 0.00004), i.e. a very weak blue shift of about 17 meV over 5-100 uW.

The reported b is the intensity-vs-power exponent.

RESULT: b = 1.00 ± 0.02
