Dataset of a composite drought index based on remote sensing data for Niger

Published: 30 November 2022| Version 6 | DOI: 10.17632/47ydz8v6nd.6
Contributors:
Zakari Seybou Abdourahamane,
, Alisher Mirzabaev

Description

The present dataset was created for agricultural drought characterization in the Sahelian climate zone of Niger. The dataset comprises the seasonal time series of a composite drought index (CDI) and the corresponding drought classes at a spatial resolution of 1 km2 for the period 2000-2020. The CDI was computed from remotely sensed data, namely precipitation of the CHIRPS (Climate Hazards Group InfraRed Precipitation with Stations), normalized difference vegetation index (NDVI) and land surface temperature (LST) data from MODIS (Moderate Resolution Imaging Spectroradiometer). The files in the present dataset are: - A netcdf file containing drought intensities and drought classes - A netcdf of the accumulated seasonal CHIRPS rainfall data - A netcdf file of the mean seasonal NDVI data - A netcdf file of the mean day time LST data - A shapefile of the map of Niger - A jpeg file describing the study area - Three png file of the figure used in the data in brief article

Files

Steps to reproduce

Python codes to extract drought data for a given location using geographic coordinates # 1. Load the required libraries import pandas as pd import numpy as np import netCDF4 import xarray as xr import matplotlib.pyplot as plt %matplotlib inline import geopandas as gpd # 2. Read the data cdi = xr.open_dataset('NetCDF file location') cdi # Display data information # 3. Extract the CDI times series and drought classes for a given location using geographic coordinates # eg. For a location with latitude = 13.5 and longitude = 3 # 3.1 Extract the point drought data pt_drought = cdi.sel(lat = 13.5, lon = 3, method = 'nearest') pt_drought # Display the CDI data of the location # 3.2 Convert the point cdi from xarray to dataframe df_pt_drought = pt_drought.to_dataframe() df_pt_drought # Display the dataframe # 3.3 Save the point drought data into csv file df_pt_drought.to_csv("output directory/filename.csv") # 4. Extract drought information for a given area using its bounding box # 4.1 Extract data for an area with minimum latitude = 13, maximum latitude = 15, minimum longitude = 7 and maximum longitude = 10 areal_drought = cdi.sel(lat = slice(15, 13), lon = slice(7, 10)) areal_drought # Display data information # 4.2 Exemple of plotting CDI time series of the defined area for a given year (e.g. 2000) areal_drought.CDI.sel(year = 2000).plot() # 5. Extraction of drought data and drought map for the whole Sahel zone of the country for a given year (e.g. of 2000) # 5.1 Extract the CDI of 2000 cdi_2000 = cdi.sel(year = 2000) # 5.2 Plot the 2000 CDI time series data fig, ax = plt.subplots(1,1, figsize = (8, 5), sharex = True, sharey = True, constrained_layout=False) cmap = plt.get_cmap('viridis_r') # Spatial CDI values cdi_2000_plot = cdi_2000.CDI.plot(ax = ax, cmap = cmap) # Base map Niger_map = gpd.read_file(“shape file directory”) Niger_map.plot(ax = ax, color = "None", edgecolor = "k") # Set title ax.set_title('CDI of 2000', {'fontsize' : 16, 'fontweight': 'bold'}) # Set axis labels ax.set_xlabel('', fontsize = 11, y =0.1) ax.set_ylabel('Lat (degree)', fontsize = 14, x =0.1) # Set axis limits plt.xlim([-1, 18]) plt.ylim([11, 26]) # Set axis limits and ticks ax.xaxis.set_ticks(np.arange(-1, 18, 2)) ax.yaxis.set_ticks(np.arange(11, 26, 2)) # Set axis labels ax.set_xlabel('Lon (Degree)', fontsize = 14, y =0.1) ax.set_ylabel('Lat (degree)', fontsize = 14, x =0.1) plt.tight_layout() # Save the map as an image plt.savefig("CDI_2000.png", dpi=300, bbox_inches='tight') plt.show()

Categories

Climate Change, Drought

Licence