Soil Organic Carbon (SOC) Estimation Model for Northeast India

Model Description

This is an XGBoost Regressor trained to estimate Soil Organic Carbon (SOC) values (g/kg) across Northeast India.

It uses multi-source remote sensing data (Optical, Radar, Topography, and Climate) representing the year 2022. The model is designed to handle diverse landscapes, including forests, agricultural land, water bodies, and urban areas.

  • Region: Northeast India (89.4°E - 97.6°E).
  • Time Period: 2022 (Annual Median).
  • Input Data: Sentinel-2, Sentinel-1, SRTM Terrain, CHIRPS Rainfall, ERA5 Temperature.
  • Training Samples: ~10,000 points (Random stratified sampling).

Intended Use

  • Regional Soil Health Monitoring: rapid assessment of SOC without lab tests.
  • Carbon Baseline Studies: Establishing 2022 baselines for carbon projects.
  • Land Use Analysis: Distinguishing between high-carbon forests and low-carbon degraded lands.

Feature Inputs (16 Columns)

To use this model, your input dataframe must contain these 16 columns in this exact order:

Category Features
Sentinel-2 (Optical) S2_B2, S2_B3, S2_B4, S2_B8, S2_B11, S2_NDVI
Sentinel-1 (Radar) S1_VV, S1_VH
Terrain elevation, slope, aspect
Climate precip_annual, temp_mean
Soil/Location soil_texture, latitude, longitude

How to Use

import xgboost as xgb
from huggingface_hub import hf_hub_download
import pandas as pd

# 1. Download Model
model_path = hf_hub_download(
    repo_id="mona0125/soc-estimation-ne-india", 
    filename="soc_estimation_model_ne_india.json"
)

# 2. Load Model
model = xgb.XGBRegressor()
model.load_model(model_path)

# 3. Predict (Example Data)
# Ensure columns match the Feature Inputs list above!
data = pd.DataFrame({
    'S2_B2': [0.03], 'S2_B3': [0.05], 'S2_B4': [0.04], 'S2_B8': [0.25], 'S2_B11': [0.15], 'S2_NDVI': [0.72],
    'S1_VV': [-8.5], 'S1_VH': [-14.2],
    'elevation': [150], 'slope': [5.5], 'aspect': [120],
    'precip_annual': [1800], 'temp_mean': [24.5],
    'soil_texture': [2], 'latitude': [26.1], 'longitude': [91.7]
})

prediction = model.predict(data)
print(f"Predicted SOC: {prediction[0]:.2f} g/kg")
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support