NamSoil v1.0: Predicted Extractable Calcium (mg kg-1) for Namibia at 90 m resolution (0–30, 30–60 and 60–100 cm)

Fuente: Zenodo
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Coetzee, Marina, Gelsleichter, Yuri
Format: Recurso digital
Publié: Zenodo 2026
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866901918138236928
author Coetzee, Marina
Gelsleichter, Yuri
author_facet Coetzee, Marina
Gelsleichter, Yuri
contents <p><strong>Dataset Overview</strong></p> <p>This dataset provides spatial predictions of <em>Extractable Calcium</em> (mg kg<sup>-1</sup>) content across Namibia at 90 m spatial resolution for three standard soil depth intervals: 0–30, 30–60, 60–100 cm. For each depth interval, the following outputs are provided: predicted mean; 5<sup>th</sup> percentile; 95<sup>th</sup> percentile; 90% prediction interval (PI<sub>90</sub>).</p> <p>The maps are intended for national- and regional-scale applications and support environmental modelling, land evaluation, and resource management.</p> <p><strong>Input Soil Data</strong></p> <p>Model training was based on analytical data from the <em>Namibian Soil Profile Database (NSPD2025)</em> (<a href="https://zenodo.org/records/17618737">https://zenodo.org/records/17618737</a>). Profile locations have spatial accuracy better than 0.0001° and were reprojected to WGS84. Soil observations were depth-harmonised to the three standard depth intervals prior to modelling.</p> <p>Summary statistics of observed <em>Extractable Calcium</em> (mg kg<sup>-1</sup>): </p> <table> <thead> <tr> <th> </th> <th>0–30 cm</th> <th>30–60 cm</th> <th>60–100 cm</th> </tr> </thead> <tbody> <tr> <td><strong>n</strong></td> <td>721</td> <td>390</td> <td>300</td> </tr> <tr> <td><strong>Min</strong></td> <td>1.05</td> <td>1.55</td> <td>3.11</td> </tr> <tr> <td><strong>Max</strong></td> <td>9815.93</td> <td>6882.31</td> <td>7300.61</td> </tr> <tr> <td><strong>Mean</strong></td> <td>1083.53</td> <td>744.83</td> <td>656.77</td> </tr> <tr> <td><strong>Median</strong></td> <td>447.17</td> <td>347.52</td> <td>257.49</td> </tr> <tr> <td><strong>SD</strong></td> <td>1547.25</td> <td>1096.64</td> <td>963.20</td> </tr> <tr> <td><strong>Skewness</strong></td> <td>2.26</td> <td>2.84</td> <td>2.89</td> </tr> </tbody> </table> <p><strong>Selected environmental covariates</strong></p> <p>Environmental covariates included in the final model for each depth interval are:</p> <ul> <li><strong>0–30 cm:</strong> <code>dem</code>, <code>topo_diver</code>, <code>blue_w</code>, <code>green_w</code>, <code>red_w</code>, <code>nir_w</code>, <code>swir1_w</code>, <code>swir2_w</code>, <code>ndvi_w</code>, <code>savi_w</code>, <code>msavi_w</code>, <code>evi_w</code>, <code>kndvi_w</code>, <code>blue_s</code>, <code>green_s</code>, <code>red_s</code>, <code>nir_s</code>, <code>swir1_s</code>, <code>swir2_s</code>, <code>ndvi_s</code>, <code>savi_s</code>, <code>msavi_s</code>, <code>evi_s</code>, <code>kndvi_s</code>, <code>flow_lend_d</code>, <code>pet</code>, <code>arid_ind</code>, <code>landform_iwa</code>, <code>namsoil_13</code>, <code>aspp</code>, <code>aez</code>, <code>veg_types</code>, <code>aez_n</code>, <code>cc</code>, <code>Slope</code>, <code>kaolinite</code>, <code>calcite</code>, <code>mafic</code>, <code>prec_wc2</code>, <code>tavg_wc2</code>, <code>geology_a</code>, <code>carb_diff</code>, <code>ferr_diff</code>, <code>iron</code>, <code>rock_out</code></li> <li><strong>30–60 cm:</strong> <code>dem</code>, <code>chili</code>, <code>swir1_w</code>, <code>msavi_w</code>, <code>evi_w</code>, <code>green_s</code>, <code>nir_s</code>, <code>swir1_s</code>, <code>ndvi_s</code>, <code>savi_s</code>, <code>msavi_s</code>, <code>evi_s</code>, <code>kndvi_s</code>, <code>flow_lend_d</code>, <code>arid_ind</code>, <code>aspp</code>, <code>aez</code>, <code>veg_types</code>, <code>aez_n</code>, <code>cc</code>, <code>carbonate</code>, <code>mafic</code>, <code>prec_wc2</code>, <code>tavg_wc2</code>, <code>geology_a</code>, <code>carb_diff</code>, <code>rock_out</code></li> <li><strong>60–100 cm:</strong> <code>dem</code>, <code>nir_w</code>, <code>swir1_w</code>, <code>msavi_w</code>, <code>evi_w</code>, <code>nir_s</code>, <code>evi_s</code>, <code>flow_lend_d</code>, <code>arid_ind</code>, <code>aez</code>, <code>veg_types</code>, <code>aez_n</code>, <code>prec_wc2</code>, <code>tavg_wc2</code>, <code>geology_a</code>, <code>carb_diff</code></li> </ul> <p><strong>Full stack of environmental covariates</strong></p> <table> <thead> <tr> <th>Covariate</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>dem</code></td> <td>Digital elevation model (altitude in metres)</td> </tr> <tr> <td><code>Slope</code></td> <td>Terrain gradient in degrees</td> </tr> <tr> <td><code>Aspect</code></td> <td>Slope facing direction (0–360°)</td> </tr> <tr> <td><code>Eastness</code></td> <td>East-west slope orientation (sin of aspect)</td> </tr> <tr> <td><code>Northness</code></td> <td>North-south slope orientation (cos of aspect)</td> </tr> <tr> <td><code>HorizontalCurvature</code></td> <td>Plan curvature; lateral flow convergence/divergence</td> </tr> <tr> <td><code>VerticalCurvature</code></td> <td>Profile curvature; flow acceleration along slope</td> </tr> <tr> <td><code>chili</code></td> <td>Continuous heat-insolation load index</td> </tr> <tr> <td><code>tpi</code></td> <td>Multi-scale topographic position index (ridges vs valleys)</td> </tr> <tr> <td><code>topo_diver</code></td> <td>Topographic diversity (habitat temperature/moisture variety)</td> </tr> <tr> <td><code>landforms_alos</code></td> <td>Hillslope position classes (15 landform types)</td> </tr> <tr> <td><code>flow_dir</code></td> <td>Local drainage flow direction</td> </tr> <tr> <td><code>hand</code></td> <td>Height above nearest drainage</td> </tr> <tr> <td><code>flow_accumul</code></td> <td>Upstream drainage area (km²)</td> </tr> <tr> <td><code>river_dist</code></td> <td>Distance to nearest drainage line</td> </tr> <tr> <td><code>flow_lend_d</code></td> <td>Flow length downstream to pour point</td> </tr> <tr> <td><code>flow_len_up</code></td> <td>Flow length upstream to farthest source</td> </tr> <tr> <td><code>landcover</code></td> <td>Land cover classes (11 classes, Sentinel-based)</td> </tr> <tr> <td><code>Prec_wc2</code></td> <td>Mean annual precipitation 1970–2000 (mm)</td> </tr> <tr> <td><code>tavg_wc2</code></td> <td>Mean annual temperature 1970–2000 (°C)</td> </tr> <tr> <td><code>arid_ind</code></td> <td>Aridity index (precipitation / potential evapotranspiration)</td> </tr> <tr> <td><code>pet</code></td> <td>Potential evapotranspiration 1970–2000</td> </tr> <tr> <td><code>blue_s</code></td> <td>Landsat blue band (summer)</td> </tr> <tr> <td><code>blue_w</code></td> <td>Landsat blue band (winter)</td> </tr> <tr> <td><code>green_s</code></td> <td>Landsat green band (summer)</td> </tr> <tr> <td><code>green_w</code></td> <td>Landsat green band (winter)</td> </tr> <tr> <td><code>red_s</code></td> <td>Landsat red band (summer)</td> </tr> <tr> <td><code>red_w</code></td> <td>Landsat red band (winter)</td> </tr> <tr> <td><code>nir_s</code></td> <td>Landsat near-infrared band (summer)</td> </tr> <tr> <td><code>nir_w</code></td> <td>Landsat near-infrared band (winter)</td> </tr> <tr> <td><code>swir1_s</code></td> <td>Landsat shortwave infrared 1 (summer)</td> </tr> <tr> <td><code>swir1_w</code></td> <td>Landsat shortwave infrared 1 (winter)</td> </tr> <tr> <td><code>swir2_s</code></td> <td>Landsat shortwave infrared 2 (summer)</td> </tr> <tr> <td><code>swir2_w</code></td> <td>Landsat shortwave infrared 2 (winter)</td> </tr> <tr> <td><code>ndvi_s</code></td> <td>Normalized Difference Vegetation Index (summer)</td> </tr> <tr> <td><code>ndvi_w</code></td> <td>Normalized Difference Vegetation Index (winter)</td> </tr> <tr> <td><code>savi_s</code></td> <td>Soil Adjusted Vegetation Index (summer)</td> </tr> <tr> <td><code>savi_w</code></td> <td>Soil Adjusted Vegetation Index (winter)</td> </tr> <tr> <td><code>msavi_s</code></td> <td>Modified Soil Adjusted Vegetation Index (summer)</td> </tr> <tr> <td><code>msavi_w</code></td> <td>Modified Soil Adjusted Vegetation Index (winter)</td> </tr> <tr> <td><code>evi_s</code></td> <td>Enhanced Vegetation Index (summer)</td> </tr> <tr> <td><code>evi_w</code></td> <td>Enhanced Vegetation Index (winter)</td> </tr> <tr> <td><code>kndvi_s</code></td> <td>Kernel NDVI (summer)</td> </tr> <tr> <td><code>kndvi_w</code></td> <td>Kernel NDVI (winter)</td> </tr> <tr> <td><code>carb_diff</code></td> <td>Carbonate normalization ratio (Landsat)</td> </tr> <tr> <td><code>clay_diff</code></td> <td>Clay normalization ratio (Landsat)</td> </tr> <tr> <td><code>ferr_diff</code></td> <td>Ferrous minerals normalization ratio (Landsat)</td> </tr> <tr> <td><code>iron</code></td> <td>Iron normalization ratio (Landsat)</td> </tr> <tr> <td><code>rock_out</code></td> <td>Rock outcrop normalization ratio (Landsat)</td> </tr> <tr> <td><code>kaolinite index</code></td> <td>ASTER kaolinite mineral index</td> </tr> <tr> <td><code>calcite index</code></td> <td>ASTER calcite mineral index</td> </tr> <tr> <td><code>quartz index</code></td> <td>ASTER quartz mineral index</td> </tr> <tr> <td><code>carbonate index</code></td> <td>ASTER carbonate mineral index</td> </tr> <tr> <td><code>mafic index</code></td> <td>ASTER mafic mineral index</td> </tr> <tr> <td><code>Aez</code></td> <td>Agro-ecological zones of Namibia (1996, categorical)</td> </tr> <tr> <td><code>aez_n</code></td> <td>Updated agro-ecological zones of Namibia (2021)</td> </tr> <tr> <td><code>cc</code></td> <td>Potential carrying capacity of Namibia (2021)</td> </tr> <tr> <td><code>namsoil_13</code></td> <td>National soil map (13 WRB reference soil groups)</td> </tr> <tr> <td><code>aspp</code></td> <td>Average seasonal plant productivity (1999–2019)</td> </tr> <tr> <td><code>veg_types</code></td> <td>Vegetation types</td> </tr> <tr> <td><code>geology_a</code></td> <td>Major rock groups by type and age</td> </tr> <tr> <td><code>geology</code></td> <td>Lithology units (geological map)</td> </tr> <tr> <td><code>Landform_iwa</code></td> <td>Iwahashi-Pike landform classification (slope, texture, convexity)</td> </tr> <tr> <td><code>convex</code></td> <td>Terrain convexity (ratio of positive curvature cells)</td> </tr> <tr> <td><code>curv_max</code></td> <td>Terrain curvature (rate of change in slope)</td> </tr> </tbody> </table> <p>The complete description and source details can be found in <em>S5 – Environmental covariates assembled in the predictor stack.pdf</em> file.</p> <p><strong>Modelling Framework</strong></p> <p>Spatial prediction was performed using the Random Forest algorithm. A bootstrap resampling strategy (20 iterations) was implemented, using an 80:20 calibration–validation split with replacement and a fixed random seed.</p> <p>Soil data preprocessing, hyperparameter tuning, feature selection, post-modelling metrics and external validation were executed in R, while covariate preparation, model implementation, and uncertainty quantification were conducted in Google Earth Engine.</p> <p>The Random Forest hyperparameters were:</p> <table> <thead> <tr> <th>Depth interval</th> <th>ntree</th> <th>mtry</th> <th>nodesize</th> <th>sampsize</th> </tr> </thead> <tbody> <tr> <td>0–30 cm</td> <td>150</td> <td>26</td> <td>5</td> <td>0.52</td> </tr> <tr> <td>30–60 cm</td> <td>150</td> <td>12</td> <td>13</td> <td>0.73</td> </tr> <tr> <td>60–100 cm</td> <td>150</td> <td>5</td> <td>4</td> <td>0.60</td> </tr> </tbody> </table> <p>where:<br><code>ntree</code>: number of decision trees in the forest<br><code>mtry</code>: the number of predictors randomly sampled at each RF split<br><code>nodesize</code>: the minimum number of samples required at a leaf node to prevent overfitting<br><code>sampsize</code>: the in-bag (internal RF bootstrap) sample size drawn to train each tree</p> <p><strong>Model Performance</strong></p> <p>Model performance was evaluated for each bootstrap iteration using Root Mean Square Error (RMSE) to quantify prediction errors and Coefficient of Determination (R²) to measure explained variance. The performance metrics, averaged across the 20 bootstrap runs, are:</p> <table> <thead> <tr> <th>Depth interval</th> <th>R² calibration</th> <th>RMSE calibration</th> <th>R² validation</th> <th>RMSE validation</th> </tr> </thead> <tbody> <tr> <td>0–30 cm</td> <td>0.764</td> <td>814.481</td> <td>0.457</td> <td>1080.892</td> </tr> <tr> <td>30–60 cm</td> <td>0.561</td> <td>741.769</td> <td>0.446</td> <td>830.434</td> </tr> <tr> <td>60–100 cm</td> <td>0.689</td> <td>591.810</td> <td>0.322</td> <td>835.761</td> </tr> </tbody> </table> <p><strong>Uncertainty Quantification</strong></p> <p>Uncertainty estimates were derived from the bootstrap prediction distributions. The 5<sup>th</sup> and 95<sup>th</sup> percentile maps represent lower and upper prediction limits.</p> <p>The 90% Prediction Interval Coverage Probability (PICP<sub>90</sub>) of <em>Extractable Calcium</em> for the three depth classes were:</p> <table> <thead> <tr> <th>Depth interval</th> <th>PICP<sub>90</sub></th> </tr> </thead> <tbody> <tr> <td>0–30 cm</td> <td>91.26</td> </tr> <tr> <td>30–60 cm</td> <td>91.03</td> </tr> <tr> <td>60–100 cm</td> <td>92.33</td> </tr> </tbody> </table> <p><strong>Data Outputs</strong></p> <p>Map outputs are provided as Cloud-Optimised GeoTIFFs (WGS84) for GIS and modelling applications, and PNG format for visualisation and reporting.</p> <p><strong>Data Access</strong></p> <p>The input soil data used for model training is available in the <em>Namibian Soil Profile Database (NSPD2025)</em> at <a href="https://doi.org/10.5281/zenodo.17618737">https://doi.org/10.5281/zenodo.17618737</a>.<br><strong>Predicted soil maps</strong> can be retrieved directly from Zenodo using the quick-start scripts for reading, cropping, and exporting NamSoil layers — without downloading the full files — available at: <a href="https://github.com/Gelsleichter/acquire_NamSoil/">https://github.com/Gelsleichter/acquire_NamSoil/</a>.<br>These scripts enable reproducible data retrieval workflows, allowing users to fetch and process specific layers programmatically.</p> <p><strong>Code Availability</strong></p> <p>The complete source code for data preprocessing, feature selection, hyperparameter tuning, model implementation, and post-processing is available at:<br><a href="https://doi.org/10.5281/zenodo.18776302">https://doi.org/10.5281/zenodo.18776302</a>, also published on <a href="https://github.com/Gelsleichter/NamSoil">https://github.com/Gelsleichter/NamSoil</a>.<br>The Google Earth Engine scripts for covariate preparation, regression matrix export, and Random Forest modelling with 20-iteration bootstrap are available at: <a href="https://code.earthengine.google.com/?accept_repo=users/Namibia_map/Soil_properties">https://code.earthengine.google.com/?accept_repo=users/Namibia_map/Soil_properties</a>.<br>Note that the GEE repository runs at a coarser spatial resolution than the published maps to reduce computational cost, memory usage, and export time within the Earth Engine environment. Users can adjust the output resolution to 90 m (or other) by modifying the scale parameter in the export functions, although this will require longer processing times and larger storage allocation.<br>All scripts, fixed random seeds, and parameter configurations are provided to ensure full reproducibility of the modelling pipeline — from covariate preparation through spatial prediction and uncertainty quantification. Users can replicate the entire workflow or adapt individual components to other study areas or soil properties.</p> <p><strong>Related Publication</strong></p> <p>A full methodological description, model evaluation framework, and interpretation of results are provided in:<br><em>[Publication DOI to be added]</em></p>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_18833031
institution Zenodo
language
publishDate 2026
publisher Zenodo
record_format zenodo
spellingShingle NamSoil v1.0: Predicted Extractable Calcium (mg kg-1) for Namibia at 90 m resolution (0–30, 30–60 and 60–100 cm)
Coetzee, Marina
Gelsleichter, Yuri
Soil properties
Soil information system
Digital soil mapping
Namibia
Africa
Random Forest
Google Earth Engine
Depth splines
Feature selection
Environmental covariates
Land evaluation
Machine learning
Uncertainty quantification
Bootstrap uncertainty
External validation
MIR spectroscopy
<p><strong>Dataset Overview</strong></p> <p>This dataset provides spatial predictions of <em>Extractable Calcium</em> (mg kg<sup>-1</sup>) content across Namibia at 90 m spatial resolution for three standard soil depth intervals: 0–30, 30–60, 60–100 cm. For each depth interval, the following outputs are provided: predicted mean; 5<sup>th</sup> percentile; 95<sup>th</sup> percentile; 90% prediction interval (PI<sub>90</sub>).</p> <p>The maps are intended for national- and regional-scale applications and support environmental modelling, land evaluation, and resource management.</p> <p><strong>Input Soil Data</strong></p> <p>Model training was based on analytical data from the <em>Namibian Soil Profile Database (NSPD2025)</em> (<a href="https://zenodo.org/records/17618737">https://zenodo.org/records/17618737</a>). Profile locations have spatial accuracy better than 0.0001° and were reprojected to WGS84. Soil observations were depth-harmonised to the three standard depth intervals prior to modelling.</p> <p>Summary statistics of observed <em>Extractable Calcium</em> (mg kg<sup>-1</sup>): </p> <table> <thead> <tr> <th> </th> <th>0–30 cm</th> <th>30–60 cm</th> <th>60–100 cm</th> </tr> </thead> <tbody> <tr> <td><strong>n</strong></td> <td>721</td> <td>390</td> <td>300</td> </tr> <tr> <td><strong>Min</strong></td> <td>1.05</td> <td>1.55</td> <td>3.11</td> </tr> <tr> <td><strong>Max</strong></td> <td>9815.93</td> <td>6882.31</td> <td>7300.61</td> </tr> <tr> <td><strong>Mean</strong></td> <td>1083.53</td> <td>744.83</td> <td>656.77</td> </tr> <tr> <td><strong>Median</strong></td> <td>447.17</td> <td>347.52</td> <td>257.49</td> </tr> <tr> <td><strong>SD</strong></td> <td>1547.25</td> <td>1096.64</td> <td>963.20</td> </tr> <tr> <td><strong>Skewness</strong></td> <td>2.26</td> <td>2.84</td> <td>2.89</td> </tr> </tbody> </table> <p><strong>Selected environmental covariates</strong></p> <p>Environmental covariates included in the final model for each depth interval are:</p> <ul> <li><strong>0–30 cm:</strong> <code>dem</code>, <code>topo_diver</code>, <code>blue_w</code>, <code>green_w</code>, <code>red_w</code>, <code>nir_w</code>, <code>swir1_w</code>, <code>swir2_w</code>, <code>ndvi_w</code>, <code>savi_w</code>, <code>msavi_w</code>, <code>evi_w</code>, <code>kndvi_w</code>, <code>blue_s</code>, <code>green_s</code>, <code>red_s</code>, <code>nir_s</code>, <code>swir1_s</code>, <code>swir2_s</code>, <code>ndvi_s</code>, <code>savi_s</code>, <code>msavi_s</code>, <code>evi_s</code>, <code>kndvi_s</code>, <code>flow_lend_d</code>, <code>pet</code>, <code>arid_ind</code>, <code>landform_iwa</code>, <code>namsoil_13</code>, <code>aspp</code>, <code>aez</code>, <code>veg_types</code>, <code>aez_n</code>, <code>cc</code>, <code>Slope</code>, <code>kaolinite</code>, <code>calcite</code>, <code>mafic</code>, <code>prec_wc2</code>, <code>tavg_wc2</code>, <code>geology_a</code>, <code>carb_diff</code>, <code>ferr_diff</code>, <code>iron</code>, <code>rock_out</code></li> <li><strong>30–60 cm:</strong> <code>dem</code>, <code>chili</code>, <code>swir1_w</code>, <code>msavi_w</code>, <code>evi_w</code>, <code>green_s</code>, <code>nir_s</code>, <code>swir1_s</code>, <code>ndvi_s</code>, <code>savi_s</code>, <code>msavi_s</code>, <code>evi_s</code>, <code>kndvi_s</code>, <code>flow_lend_d</code>, <code>arid_ind</code>, <code>aspp</code>, <code>aez</code>, <code>veg_types</code>, <code>aez_n</code>, <code>cc</code>, <code>carbonate</code>, <code>mafic</code>, <code>prec_wc2</code>, <code>tavg_wc2</code>, <code>geology_a</code>, <code>carb_diff</code>, <code>rock_out</code></li> <li><strong>60–100 cm:</strong> <code>dem</code>, <code>nir_w</code>, <code>swir1_w</code>, <code>msavi_w</code>, <code>evi_w</code>, <code>nir_s</code>, <code>evi_s</code>, <code>flow_lend_d</code>, <code>arid_ind</code>, <code>aez</code>, <code>veg_types</code>, <code>aez_n</code>, <code>prec_wc2</code>, <code>tavg_wc2</code>, <code>geology_a</code>, <code>carb_diff</code></li> </ul> <p><strong>Full stack of environmental covariates</strong></p> <table> <thead> <tr> <th>Covariate</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>dem</code></td> <td>Digital elevation model (altitude in metres)</td> </tr> <tr> <td><code>Slope</code></td> <td>Terrain gradient in degrees</td> </tr> <tr> <td><code>Aspect</code></td> <td>Slope facing direction (0–360°)</td> </tr> <tr> <td><code>Eastness</code></td> <td>East-west slope orientation (sin of aspect)</td> </tr> <tr> <td><code>Northness</code></td> <td>North-south slope orientation (cos of aspect)</td> </tr> <tr> <td><code>HorizontalCurvature</code></td> <td>Plan curvature; lateral flow convergence/divergence</td> </tr> <tr> <td><code>VerticalCurvature</code></td> <td>Profile curvature; flow acceleration along slope</td> </tr> <tr> <td><code>chili</code></td> <td>Continuous heat-insolation load index</td> </tr> <tr> <td><code>tpi</code></td> <td>Multi-scale topographic position index (ridges vs valleys)</td> </tr> <tr> <td><code>topo_diver</code></td> <td>Topographic diversity (habitat temperature/moisture variety)</td> </tr> <tr> <td><code>landforms_alos</code></td> <td>Hillslope position classes (15 landform types)</td> </tr> <tr> <td><code>flow_dir</code></td> <td>Local drainage flow direction</td> </tr> <tr> <td><code>hand</code></td> <td>Height above nearest drainage</td> </tr> <tr> <td><code>flow_accumul</code></td> <td>Upstream drainage area (km²)</td> </tr> <tr> <td><code>river_dist</code></td> <td>Distance to nearest drainage line</td> </tr> <tr> <td><code>flow_lend_d</code></td> <td>Flow length downstream to pour point</td> </tr> <tr> <td><code>flow_len_up</code></td> <td>Flow length upstream to farthest source</td> </tr> <tr> <td><code>landcover</code></td> <td>Land cover classes (11 classes, Sentinel-based)</td> </tr> <tr> <td><code>Prec_wc2</code></td> <td>Mean annual precipitation 1970–2000 (mm)</td> </tr> <tr> <td><code>tavg_wc2</code></td> <td>Mean annual temperature 1970–2000 (°C)</td> </tr> <tr> <td><code>arid_ind</code></td> <td>Aridity index (precipitation / potential evapotranspiration)</td> </tr> <tr> <td><code>pet</code></td> <td>Potential evapotranspiration 1970–2000</td> </tr> <tr> <td><code>blue_s</code></td> <td>Landsat blue band (summer)</td> </tr> <tr> <td><code>blue_w</code></td> <td>Landsat blue band (winter)</td> </tr> <tr> <td><code>green_s</code></td> <td>Landsat green band (summer)</td> </tr> <tr> <td><code>green_w</code></td> <td>Landsat green band (winter)</td> </tr> <tr> <td><code>red_s</code></td> <td>Landsat red band (summer)</td> </tr> <tr> <td><code>red_w</code></td> <td>Landsat red band (winter)</td> </tr> <tr> <td><code>nir_s</code></td> <td>Landsat near-infrared band (summer)</td> </tr> <tr> <td><code>nir_w</code></td> <td>Landsat near-infrared band (winter)</td> </tr> <tr> <td><code>swir1_s</code></td> <td>Landsat shortwave infrared 1 (summer)</td> </tr> <tr> <td><code>swir1_w</code></td> <td>Landsat shortwave infrared 1 (winter)</td> </tr> <tr> <td><code>swir2_s</code></td> <td>Landsat shortwave infrared 2 (summer)</td> </tr> <tr> <td><code>swir2_w</code></td> <td>Landsat shortwave infrared 2 (winter)</td> </tr> <tr> <td><code>ndvi_s</code></td> <td>Normalized Difference Vegetation Index (summer)</td> </tr> <tr> <td><code>ndvi_w</code></td> <td>Normalized Difference Vegetation Index (winter)</td> </tr> <tr> <td><code>savi_s</code></td> <td>Soil Adjusted Vegetation Index (summer)</td> </tr> <tr> <td><code>savi_w</code></td> <td>Soil Adjusted Vegetation Index (winter)</td> </tr> <tr> <td><code>msavi_s</code></td> <td>Modified Soil Adjusted Vegetation Index (summer)</td> </tr> <tr> <td><code>msavi_w</code></td> <td>Modified Soil Adjusted Vegetation Index (winter)</td> </tr> <tr> <td><code>evi_s</code></td> <td>Enhanced Vegetation Index (summer)</td> </tr> <tr> <td><code>evi_w</code></td> <td>Enhanced Vegetation Index (winter)</td> </tr> <tr> <td><code>kndvi_s</code></td> <td>Kernel NDVI (summer)</td> </tr> <tr> <td><code>kndvi_w</code></td> <td>Kernel NDVI (winter)</td> </tr> <tr> <td><code>carb_diff</code></td> <td>Carbonate normalization ratio (Landsat)</td> </tr> <tr> <td><code>clay_diff</code></td> <td>Clay normalization ratio (Landsat)</td> </tr> <tr> <td><code>ferr_diff</code></td> <td>Ferrous minerals normalization ratio (Landsat)</td> </tr> <tr> <td><code>iron</code></td> <td>Iron normalization ratio (Landsat)</td> </tr> <tr> <td><code>rock_out</code></td> <td>Rock outcrop normalization ratio (Landsat)</td> </tr> <tr> <td><code>kaolinite index</code></td> <td>ASTER kaolinite mineral index</td> </tr> <tr> <td><code>calcite index</code></td> <td>ASTER calcite mineral index</td> </tr> <tr> <td><code>quartz index</code></td> <td>ASTER quartz mineral index</td> </tr> <tr> <td><code>carbonate index</code></td> <td>ASTER carbonate mineral index</td> </tr> <tr> <td><code>mafic index</code></td> <td>ASTER mafic mineral index</td> </tr> <tr> <td><code>Aez</code></td> <td>Agro-ecological zones of Namibia (1996, categorical)</td> </tr> <tr> <td><code>aez_n</code></td> <td>Updated agro-ecological zones of Namibia (2021)</td> </tr> <tr> <td><code>cc</code></td> <td>Potential carrying capacity of Namibia (2021)</td> </tr> <tr> <td><code>namsoil_13</code></td> <td>National soil map (13 WRB reference soil groups)</td> </tr> <tr> <td><code>aspp</code></td> <td>Average seasonal plant productivity (1999–2019)</td> </tr> <tr> <td><code>veg_types</code></td> <td>Vegetation types</td> </tr> <tr> <td><code>geology_a</code></td> <td>Major rock groups by type and age</td> </tr> <tr> <td><code>geology</code></td> <td>Lithology units (geological map)</td> </tr> <tr> <td><code>Landform_iwa</code></td> <td>Iwahashi-Pike landform classification (slope, texture, convexity)</td> </tr> <tr> <td><code>convex</code></td> <td>Terrain convexity (ratio of positive curvature cells)</td> </tr> <tr> <td><code>curv_max</code></td> <td>Terrain curvature (rate of change in slope)</td> </tr> </tbody> </table> <p>The complete description and source details can be found in <em>S5 – Environmental covariates assembled in the predictor stack.pdf</em> file.</p> <p><strong>Modelling Framework</strong></p> <p>Spatial prediction was performed using the Random Forest algorithm. A bootstrap resampling strategy (20 iterations) was implemented, using an 80:20 calibration–validation split with replacement and a fixed random seed.</p> <p>Soil data preprocessing, hyperparameter tuning, feature selection, post-modelling metrics and external validation were executed in R, while covariate preparation, model implementation, and uncertainty quantification were conducted in Google Earth Engine.</p> <p>The Random Forest hyperparameters were:</p> <table> <thead> <tr> <th>Depth interval</th> <th>ntree</th> <th>mtry</th> <th>nodesize</th> <th>sampsize</th> </tr> </thead> <tbody> <tr> <td>0–30 cm</td> <td>150</td> <td>26</td> <td>5</td> <td>0.52</td> </tr> <tr> <td>30–60 cm</td> <td>150</td> <td>12</td> <td>13</td> <td>0.73</td> </tr> <tr> <td>60–100 cm</td> <td>150</td> <td>5</td> <td>4</td> <td>0.60</td> </tr> </tbody> </table> <p>where:<br><code>ntree</code>: number of decision trees in the forest<br><code>mtry</code>: the number of predictors randomly sampled at each RF split<br><code>nodesize</code>: the minimum number of samples required at a leaf node to prevent overfitting<br><code>sampsize</code>: the in-bag (internal RF bootstrap) sample size drawn to train each tree</p> <p><strong>Model Performance</strong></p> <p>Model performance was evaluated for each bootstrap iteration using Root Mean Square Error (RMSE) to quantify prediction errors and Coefficient of Determination (R²) to measure explained variance. The performance metrics, averaged across the 20 bootstrap runs, are:</p> <table> <thead> <tr> <th>Depth interval</th> <th>R² calibration</th> <th>RMSE calibration</th> <th>R² validation</th> <th>RMSE validation</th> </tr> </thead> <tbody> <tr> <td>0–30 cm</td> <td>0.764</td> <td>814.481</td> <td>0.457</td> <td>1080.892</td> </tr> <tr> <td>30–60 cm</td> <td>0.561</td> <td>741.769</td> <td>0.446</td> <td>830.434</td> </tr> <tr> <td>60–100 cm</td> <td>0.689</td> <td>591.810</td> <td>0.322</td> <td>835.761</td> </tr> </tbody> </table> <p><strong>Uncertainty Quantification</strong></p> <p>Uncertainty estimates were derived from the bootstrap prediction distributions. The 5<sup>th</sup> and 95<sup>th</sup> percentile maps represent lower and upper prediction limits.</p> <p>The 90% Prediction Interval Coverage Probability (PICP<sub>90</sub>) of <em>Extractable Calcium</em> for the three depth classes were:</p> <table> <thead> <tr> <th>Depth interval</th> <th>PICP<sub>90</sub></th> </tr> </thead> <tbody> <tr> <td>0–30 cm</td> <td>91.26</td> </tr> <tr> <td>30–60 cm</td> <td>91.03</td> </tr> <tr> <td>60–100 cm</td> <td>92.33</td> </tr> </tbody> </table> <p><strong>Data Outputs</strong></p> <p>Map outputs are provided as Cloud-Optimised GeoTIFFs (WGS84) for GIS and modelling applications, and PNG format for visualisation and reporting.</p> <p><strong>Data Access</strong></p> <p>The input soil data used for model training is available in the <em>Namibian Soil Profile Database (NSPD2025)</em> at <a href="https://doi.org/10.5281/zenodo.17618737">https://doi.org/10.5281/zenodo.17618737</a>.<br><strong>Predicted soil maps</strong> can be retrieved directly from Zenodo using the quick-start scripts for reading, cropping, and exporting NamSoil layers — without downloading the full files — available at: <a href="https://github.com/Gelsleichter/acquire_NamSoil/">https://github.com/Gelsleichter/acquire_NamSoil/</a>.<br>These scripts enable reproducible data retrieval workflows, allowing users to fetch and process specific layers programmatically.</p> <p><strong>Code Availability</strong></p> <p>The complete source code for data preprocessing, feature selection, hyperparameter tuning, model implementation, and post-processing is available at:<br><a href="https://doi.org/10.5281/zenodo.18776302">https://doi.org/10.5281/zenodo.18776302</a>, also published on <a href="https://github.com/Gelsleichter/NamSoil">https://github.com/Gelsleichter/NamSoil</a>.<br>The Google Earth Engine scripts for covariate preparation, regression matrix export, and Random Forest modelling with 20-iteration bootstrap are available at: <a href="https://code.earthengine.google.com/?accept_repo=users/Namibia_map/Soil_properties">https://code.earthengine.google.com/?accept_repo=users/Namibia_map/Soil_properties</a>.<br>Note that the GEE repository runs at a coarser spatial resolution than the published maps to reduce computational cost, memory usage, and export time within the Earth Engine environment. Users can adjust the output resolution to 90 m (or other) by modifying the scale parameter in the export functions, although this will require longer processing times and larger storage allocation.<br>All scripts, fixed random seeds, and parameter configurations are provided to ensure full reproducibility of the modelling pipeline — from covariate preparation through spatial prediction and uncertainty quantification. Users can replicate the entire workflow or adapt individual components to other study areas or soil properties.</p> <p><strong>Related Publication</strong></p> <p>A full methodological description, model evaluation framework, and interpretation of results are provided in:<br><em>[Publication DOI to be added]</em></p>
title NamSoil v1.0: Predicted Extractable Calcium (mg kg-1) for Namibia at 90 m resolution (0–30, 30–60 and 60–100 cm)
topic Soil properties
Soil information system
Digital soil mapping
Namibia
Africa
Random Forest
Google Earth Engine
Depth splines
Feature selection
Environmental covariates
Land evaluation
Machine learning
Uncertainty quantification
Bootstrap uncertainty
External validation
MIR spectroscopy
url https://doi.org/10.5281/zenodo.18833031