This research project focuses on monitoring crop phenology in the Birbhum district, West Bengal, India using multi-satellite remote sensing data. The study integrates optical and SAR (Synthetic Aperture Radar) satellite imagery to compute and analyze vegetation indices over the Kharif crop season (June–November 2024).
The core objective is to track crop growth stages by computing NDVI and EVI from multiple satellite sources and filling temporal gaps using SAR-derived backscatter data.
- Location: Birbhum District, West Bengal, India
- Field Campaigns: September 2024 and October 2024
- Coordinates Source: GPS-based field data (Shapefiles)
| Satellite | Type | Resolution | Data Used |
|---|---|---|---|
| Sentinel-2 | Optical | 10m | NDVI, EVI |
| Sentinel-1 | SAR (C-Band) | 10m | VV, VH Backscatter |
| Landsat 8 | Optical | 30m | NDVI, EVI |
| MODIS | Optical | 250m | NDVI, EVI |
NDVI = (NIR - RED) / (NIR + RED)
EVI = 2.5 * ((NIR - RED) / (NIR + 6RED - 7.5BLUE + 1))
NDVI_SAR = 1.0 - 0.6 * VV_norm - 0.4 * VH_norm
C/CP Ratio = VH / VV NPD Ratio = (VH - VV) / (VH + VV)
isro-internship/ │ ├── NDVI_EVI_Mean.py # Compute mean NDVI/EVI from Sentinel-2 + SAR ratios ├── Fill_NDVI_EVI_VALUES.py # Fill missing optical dates using SAR backscatter ├── NDVI_EVI_Export.py # Export NDVI/EVI GeoTIFFs from Sentinel-2 to Drive │ ├── Landsat_FILL.py # Fill Landsat gaps using SAR-derived NDVI/EVI ├── landsat_export.py # Export Landsat 8 NDVI/EVI images to Drive │ ├── MODIS.py # Export MODIS NDVI/EVI time series to Drive │ ├── Phenology.py # SAR backscatter phenology plot (September field) ├── Phenology_OCT_.py # SAR backscatter phenology plot (October field) │ ├── SENTINEL_2_SEPT.py # Optical NDVI/EVI phenology (September field) ├── Sentinel_2_Oct.py # Optical NDVI/EVI phenology (October field) │ ├── Single_Pass_descending.py # VH descending pass phenology analysis │ ├── Merged_Plot_Sept_.py # Multi-satellite EVI comparison (September) ├── Merged_Plot_Oct_.py # Multi-satellite EVI comparison (October) │ ├── Smoothening.py # Savitzky-Golay smoothing of EVI and VH time series │ └── main.py # Entry point
Computes vegetation indices from Sentinel-2, Landsat 8 and MODIS with cloud masking applied using QA bands.
When optical images are unavailable due to cloud cover, missing dates are filled using Sentinel-1 SAR backscatter (VV and VH polarizations) to estimate NDVI and EVI values.
Plots crop growth stages against SAR backscatter and optical vegetation indices, with field-observed phenology stages (sowing, tillering, flowering, harvesting) overlaid as vertical markers.
Merges EVI time series from Sentinel-2, Landsat 8 and MODIS for the same field plots to compare temporal resolution and accuracy across sensors.
Applies Savitzky-Golay filter to smooth noisy EVI and VH backscatter signals for better phenology detection.
Exports processed NDVI and EVI images as GeoTIFF files to Google Drive using Google Earth Engine batch export tasks.
earthengine-api # Google Earth Engine Python API geemap # GEE + GeoPandas integration geopandas # Shapefile handling rasterio # GeoTIFF reading and pixel extraction matplotlib # Plotting and visualization pandas # Data handling and Excel export numpy # Numerical computation scipy # Savitzky-Golay smoothing filter
All satellite data processing is performed on Google Earth Engine (GEE) cloud platform using the Python API. Local processing handles shapefile operations, pixel extraction from GeoTIFFs and visualization.
Field GPS Data (Shapefile) │ ▼ Google Earth Engine │ ┌────┴────┐ │ │ Optical SAR (Sentinel-1) Sentinel-2 VV + VH Landsat 8 MODIS │ │ ▼ ▼ NDVI/EVI Backscatter Computation Ratios │ │ └────┬────┘ │ Gap Filling (SAR fills missing optical dates) │ ▼ Phenology Plots (Growth stages overlaid) │ ▼ Smoothing (Savitzky-Golay filter) │ ▼ GeoTIFF Export (Google Drive)
- Computed NDVI and EVI time series for Kharif season (June to November 2024)
- Successfully filled cloud-affected optical gaps using SAR backscatter
- Generated phenology plots with field-observed crop stages
- Compared multi-satellite vegetation index profiles for the same field plots
- Exported processed imagery as GeoTIFF files for further GIS analysis
This repository contains research scripts developed during an internship at NRSC, ISRO. Proxy configurations, internal server paths and GEE project credentials have been used as per NRSC network setup and are not included for public use.
Harsh Kumar Sharma Internship: NRSC, ISRO GitHub: https://github.com/Harsh-2531