=== versions === python 3.12.0 | pykrige 1.7.3 | numpy 2.5.4 | pandas 3.0.6 | geopandas 1.2.0 | pyreadr 0.5.7 | rasterio 1.5.2 === AURN NO2 annual means, 2025 === 158 stations report NO2; 143 have >= 75% data capture ratified to: {'2026-06-30': 154, '2026-03-31': 1} count mean min max location_type Rural Background 12 5.0 1.5 10.7 Suburban Background 3 9.9 6.5 16.4 Suburban Industrial 2 14.1 13.8 14.4 Urban Background 59 13.5 4.2 24.8 Urban Industrial 6 13.2 9.3 21.7 Urban Traffic 60 20.4 8.3 34.8 kept 74 background stations: mean 12.0, sd 5.2, range 1.5 to 24.8 ug/m3 nearest-neighbour distance: median 17.9 km, max 217.8 km === variogram fits (PyKrige, distances in km) === spherical partial sill 11.69 range 342.9 km nugget 18.84 -> nugget/sill 0.62 exponential partial sill 14.65 range 636.1 km nugget 18.55 -> nugget/sill 0.56 gaussian partial sill 10.02 range 333.1 km nugget 20.94 -> nugget/sill 0.68 lag centres (km): [40, 100, 162, 228, 288, 352, 412, 478, 542, 607, 668, 727] semivariance: [20.9, 25.9, 21.2, 30.8, 31.6, 31.4, 22.7, 36.7, 31.5, 28.2, 27.8, 17.1] === prediction grid === 330 x 610 cells of 2 km, 60,917 on land === ordinary kriging === spherical model, 0.5 s for 201,300 cells land cells: predicted NO2 6.9 to 15.8 ug/m3; kriging SD 4.6 to 5.7 (median 4.9) === IDW (power 2) === land cells: 1.5 to 24.8 ug/m3 kriging minus IDW over land: mean -0.51, 5th to 95th percentile -2.6 to +1.8 ug/m3 === leave-one-out cross-validation, 74 background stations (ug/m3) === RMSE MAE bias r IDW p=2 4.80 4.03 0.98 0.45 OK spherical 4.80 3.93 0.07 0.38 OK exponential 4.80 3.91 0.07 0.38 IDW p=1 4.82 3.94 0.68 0.43 OK gaussian 4.93 4.04 0.04 0.32 IDW p=3 5.05 4.29 1.05 0.44 Global mean 5.26 4.18 -0.00 NaN OK spherical: mean standardised error +0.01, SD of standardised error 1.00 (1.0 = kriging variance is well calibrated) share of stations inside the 95% kriging interval: 95% largest kriging errors: site type observed OK IDW p=2 OK error Southampton Centre Urban Background 21.3 10.4 10.8 -10.9 Manchester Piccadilly Urban Background 23.6 12.9 15.9 -10.7 London Hillingdon Urban Background 24.8 14.2 15.8 -10.6 Ladybower Rural Background 4.5 14.8 15.0 10.3 High Muffles Rural Background 3.8 12.5 12.7 8.7 London Bloomsbury Urban Background 23.5 14.9 18.1 -8.6 60 roadside stations: observed mean 20.4, background kriging at the same points 12.1 ug/m3 (under-prediction 8.3) === Sentinel-5P column at the stations === background stations: Pearson r = 0.75, NO2 = 2.09 + 0.169 x column (umol/m2) roadside stations: Pearson r = 0.40 LOOCV including the satellite covariate: RMSE MAE bias r Regression only (S5P) 3.53 2.82 0.01 0.73 Regression kriging (S5P) 3.59 2.80 0.00 0.72 OK spherical 4.80 3.93 0.07 0.38 IDW p=2 4.80 4.03 0.98 0.45 OK exponential 4.80 3.91 0.07 0.38 IDW p=1 4.82 3.94 0.68 0.43 OK gaussian 4.93 4.04 0.04 0.32 IDW p=3 5.05 4.29 1.05 0.44 Global mean 5.26 4.18 -0.00 NaN residual variogram: partial sill 3.64, range 465.9 km, nugget 9.37 saved GeoTIFFs and loocv_scores.csv to output figures written