Download forecast precipitation dataset from CHIRPS-GEFS website using Python¶
Written by Men Vuthy, 2022
Objective¶
The objective is to download forecast daily precipitation from CHIRPS-GEFS website by using Python, and save in local directory.
Data folder:

Code¶
Import modules
[1]:
import os
import pandas as pd
from urllib import request
Parameter Setting
[4]:
# Main website url
url = 'https://data.chc.ucsb.edu/products/EWX/data/forecasts/CHIRPS-GEFS_precip_v12/05day/precip_mean/'
# Directory for export
export_dir = '/content/data_download/'
# Start date range from i to j
start_date_i = '2000-01-01'
start_date_j = '2000-01-10'
# End date range from i to j
end_date_i = '2000-01-05'
end_date_j = '2000-01-14'
Start download
[5]:
# Create list of start date
dateRange_pdcore = pd.date_range(start_date_i, start_date_j)
dateRange = pd.DataFrame({'date':dateRange_pdcore })
startDate = []
for i in range(len(dateRange)):
ts = pd.to_datetime(str(dateRange.date.values[i]))
d = ts.strftime('%Y%m%d')
startDate.append(d)
# Create list of end date
dateRange_pdcore = pd.date_range(end_date_i, end_date_j)
dateRange = pd.DataFrame({'date':dateRange_pdcore })
endtDate = []
for i in range(len(dateRange)):
ts = pd.to_datetime(str(dateRange.date.values[i]))
d = ts.strftime('%Y%m%d')
endtDate.append(d)
# download_url, save_localFile = [], []
for i in range(len(startDate)):
# Create file name
download_url = os.path.join(url + 'data-mean_'+ startDate[i]+ '_'+ endtDate[i]+ '.tif')
# Create file name for saving to local drive
save_localFile = export_dir + 'data-mean_'+ startDate[i]+ '_'+ endtDate[i]+ '.tif'
# Download remote and save locally
request.urlretrieve(download_url, save_localFile)
After executing above code, the downloaded data will be located in the export_dir.
Downloaded data:
