Skip to content

About

A multi-disciplinary framework quantifying India’s nocturnal radiance shifts. This research integrates VIIRS satellite telemetry with economic indicators to map the 'Dark Sky Economy.' An investigative study on light pollution trends by Abhilasha Das and Biswarup Majumdar, bridging satellite image data and time-series modeling.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stellar Drift Protocol

Stolen Stars: Symphony of Night Sky A Time-Series Investigation of Light Pollution Across Seven Indian Landscapes

License: MIT Python 3.10+ Data: VIIRS DNB

Authors

Abhilasha Das · GitHub · LinkedIn

Biswarup Majumdar · GitHub · LinkedIn

St. Xavier's College (Autonomous), Kolkata


About

Artificial light at night (ALAN) has become one of the most pervasive yet least examined indicators of human development. This project investigates the temporal dynamics of nighttime illumination across seven ecologically and culturally diverse regions of India using satellite-derived radiance data from the NOAA/VIIRS Day/Night Band archive (2014 to 2024).

The analysis combines satellite remote sensing, geospatial infrastructure data, and rigorous statistical modelling to separate genuine anthropogenic illumination from natural optical interference, quantify the drivers of radiance change, and forecast future light pollution trajectories.

Regions Studied

Region Coordinates Character
Hanle 78.96°E, 32.78°N India's first Dark Sky Reserve, high-altitude Ladakh
Spiti 78.07°E, 32.22°N Himalayan valley with growing tourism pressure
Kutch 70.03°E, 23.81°N Arid salt flats, uneven development
Sohra 91.73°E, 25.27°N One of the wettest places on Earth (Cherrapunji)
Araku 82.87°E, 18.33°N Emerging ecotourism destination, Eastern Ghats
Wayanad 76.13°E, 11.68°N Ecotourism hotspot, Western Ghats
Varanasi 82.97°E, 25.31°N Dense urban centre, cultural anchor

Each region is anchored to a fixed geographic coordinate within a standardised 20 km ecological buffer.

Methodology at a Glance

The project follows a six-stage analytical pipeline:

01 Data Downloading       Raw VIIRS radiance + OSM + GEE variables
        |
02 Cleaning & EDA         Astronomical/atmospheric filtering (17-22% retention)
        |
03 Data Preparation       Monthly panel dataset construction
        |
04 Trend & Changepoint    STL decomposition + PELT structural break detection
        |
05 Econometrics           Pooled OLS, VAR models, Granger causality testing
        |
06 Forecasting            SARIMAX models with residual diagnostics

Key Statistical Methods

  • STL Decomposition for separating trend, seasonality, and residual components
  • PELT Change-Point Detection for identifying structural breaks in radiance trends
  • Pooled OLS Regression with VIF and Breusch-Pagan diagnostics
  • Vector Autoregression (VAR) with AIC-based lag selection
  • Granger Causality Testing to assess temporal precedence between NDVI and radiance
  • SARIMAX Forecasting with Ljung-Box residual validation

Selected Results

Data Cleaning: Strict filtering retained 17 to 22% of raw observations, reducing variance by up to 99.9% (Kutch) while preserving genuine radiance signals.

OLS Regression: Built-up fraction is the dominant predictor of nighttime radiance (coefficient = 41.39, p < 0.001, R² = 0.438). NDVI was not significant in the pooled model.

Granger Causality: NDVI Granger-causes radiance in 6 of 7 regions (p < 0.05). The exception is Wayanad, where rapid infrastructure growth dominates.

SARIMAX Forecasts: Models achieved white-noise residuals in 4 of 7 regions, confirming successful temporal signal extraction.

Repository Structure

Stellar-Drift-Protocol/
|
|-- data/
|   |-- raw/                     # Unmodified VIIRS radiance, OSM, and GEE data
|   |-- processed/               # Cleaned daily radiance per region
|   |-- univariate_data/         # Single-variable formatted datasets
|   |-- features/                # Final merged_panel_data.csv
|   |-- regions_metadata.json    # Region coordinates and definitions
|
|-- notebooks/
|   |-- 01_Data_Downloading.ipynb
|   |-- 02_Data_Cleaning_and_EDA.ipynb
|   |-- 03_Data_Preparation.ipynb
|   |-- 04_Trend_Seasonality_ChangePoint.ipynb
|   |-- 05_Econometrics_VAR_Granger.ipynb
|   |-- 06_SARIMA_Forecasting.ipynb
|   |-- archive/                 # Deprecated scripts (git-ignored)
|
|-- plots/
|   |-- acf_pacf/                # Autocorrelation and partial autocorrelation
|   |-- changepoint/             # PELT structural break visualizations
|   |-- forecast_diag/           # SARIMAX forecast + residual diagnostics
|   |-- radiance_comparison/     # Raw vs. cleaned radiance time series
|   |-- stl_decomp/              # STL decomposition (trend, season, residual)
|
|-- docs/
|   |-- code_organisation.md     # Detailed pipeline documentation
|   |-- Lunar_Project.docx       # Project report
|
|-- .gitignore
|-- LICENSE                      # MIT License
|-- README.md

Getting Started

Prerequisites

  • Python 3.10 or higher
  • A Google Earth Engine account (for 01_Data_Downloading.ipynb)

Installation

git clone https://github.com/AbhilashaxData/Stellar-Drift-Protocol.git
cd Stellar-Drift-Protocol
or
git clone https://github.com/Mr-Rup/The-Nocturnal-Tapestry.git
cd The-Nocturnal-Tapestry
pip install -r requirements.txt

Dependencies

Package Purpose
pandas, numpy Data manipulation
matplotlib, seaborn Visualization
statsmodels STL, SARIMAX, VAR, Granger, OLS, diagnostics
ruptures PELT change-point detection
osmnx OpenStreetMap infrastructure extraction
geopandas, shapely Geospatial operations
earthengine-api Google Earth Engine access

Reproducing the Analysis

  1. Authenticate with Google Earth Engine: earthengine authenticate
  2. Run the notebooks in numerical order (01 through 06)
  3. Review generated outputs in plots/ and data/

Note: Notebook 01 requires active internet access and GEE authentication. Notebooks 02 through 06 can run offline using the data already present in data/raw/.

See docs/code_organisation.md for a detailed breakdown of each notebook's inputs, operations, and outputs.

Data Sources

Source Variable Access
NOAA/VIIRS DNB Daily nighttime radiance Google Earth Engine
Dynamic World Built-up fraction Google Earth Engine
MODIS MOD13Q1 NDVI (vegetation index) Google Earth Engine
OpenStreetMap Road density, hospitality infrastructure OSMnx (Python)

Citation

If you use this work in your research, please cite:

Das, A., & Majumdar, B. (2026). Stolen Stars: Symphony of Night Sky.
St. Xavier's College (Autonomous), Kolkata.
https://github.com/Mr-Rup/The-Nocturnal-Tapestry.git
https://github.com/AbhilashaxData/Stellar-Drift-Protocol

License

This project is licensed under the MIT License. See LICENSE for details.


Built with curiosity, satellite data, and a lot of late nights spent studying the night. 🌙

About

A multi-disciplinary framework quantifying India’s nocturnal radiance shifts. This research integrates VIIRS satellite telemetry with economic indicators to map the 'Dark Sky Economy.' An investigative study on light pollution trends by Abhilasha Das and Biswarup Majumdar, bridging satellite image data and time-series modeling.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages