Groundwater Atlas — CGWB¶
What CGWB Provides¶
| Dataset | Description | Access |
|---|---|---|
| National Groundwater Map | Aquifer types, hydrogeology map of India | |
| Dynamic GW Resources 2022 | Block-wise classification (Safe/Semi-critical/Critical/Over-exploited) | 🟢 Excel |
| Groundwater Yearbooks | State-wise depth to water table (pre/post-monsoon) | |
| Groundwater Quality Atlas | District-wise water quality (fluoride, arsenic, nitrate, salinity) | |
| NAQUIM (Aquifer Mapping) | Detailed aquifer maps for selected states | 🟡 Portal |
The Key Finding: Groundwater Crisis¶
India's Groundwater Emergency
CGWB's 2022 assessment classified:
| Category | Blocks | % of Total |
|---|---|---|
| Over-Exploited | 1,006 | 15.5% |
| Critical | 260 | 4.0% |
| Semi-Critical | 1,012 | 15.6% |
| Safe | 3,693 | 56.9% |
| Saline | 198 | 3.1% |
Over-exploited = extraction > recharge. Punjab, Haryana, Rajasthan, and parts of Tamil Nadu and Karnataka are severely affected.
How to Access¶
Block Classification Data 🟢¶
- Go to cgwb.gov.in
- Click "Ground Water Data" → "Dynamic Ground Water Resources"
- Download the 2022 assessment Excel — lists every block with its category
- Also available on data.gov.in: search "groundwater assessment block"
Groundwater Monitoring Wells (Depth Data) 🟡¶
- cgwb.gov.in → "Ground Water Data" → "State Reports"
- Download Groundwater Yearbook for your state
- Contains: pre-monsoon (May) and post-monsoon (November) depth to water table for all monitoring wells
Python: Map Over-Exploited Blocks¶
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
# Load CGWB 2022 block assessment (download from cgwb.gov.in)
cgwb = pd.read_excel("gw_assessment_2022.xlsx", sheet_name="Block_Data")
# Classification mapping
status_colors = {
'OVER EXPLOITED': '#d73027',
'CRITICAL': '#fc8d59',
'SEMI-CRITICAL': '#fee090',
'SAFE': '#91bfdb',
'SALINE': '#e0e0e0'
}
# Count by state
state_summary = cgwb.groupby(['State', 'Category'])['Block'].count().reset_index()
state_summary = state_summary.pivot(index='State', columns='Category', values='Block').fillna(0)
# Plot stacked bar for top 10 states by over-exploited blocks
state_summary = state_summary.sort_values('OVER EXPLOITED', ascending=False)
fig, ax = plt.subplots(figsize=(12, 8))
state_summary.head(15).plot(
kind='bar', stacked=True, ax=ax,
color=[status_colors.get(c, 'gray') for c in state_summary.columns]
)
ax.set_title("Groundwater Block Status by State (CGWB 2022)")
ax.set_xlabel("State")
ax.set_ylabel("Number of Blocks")
ax.legend(loc='upper right', fontsize=8)
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.savefig("cgwb_state_status.png", dpi=150)
plt.show()
✏️ Practice Exercise¶
Exercise 3.6 — Is Your Block Running Out of Water?
Goal: Find the groundwater status of every block in your district.
- Download CGWB 2022 assessment from cgwb.gov.in
- Open in Excel → Filter for your State → Filter for your District
- List all blocks and their status (Safe / Semi-Critical / Critical / Over-Exploited)
Questions: - [ ] How many blocks in your district are "Over-Exploited"? - [ ] What % of blocks are "Safe"? - [ ] Is there a geographic pattern — are certain parts of your district more stressed? - [ ] What is the depth to water table in May (pre-monsoon) vs November (post-monsoon) in your taluka?
Cross-reference: Compare with LULC data — are over-exploited blocks also those with more irrigated cropland?
Continue to Chapter 4: Infrastructure & Governance →