Precipitation Estimation from Remotely Sensed Information using Artificial Neural Networks-Cloud Classification System-Climate Data Record Version 2.0 (PERSIANN-CCS-CDR V2.0)
Data files
Jan 06, 2026 version files 521.39 MB
-
Examples.zip
521.38 MB
-
README.md
4.98 KB
-
Script.py
1.37 KB
Abstract
PERSIANN-CCS-CDR Version 2.0, a near-global 37+ year high-resolution precipitation dataset with both high spatial and temporal resolutions. Developed by the Center for Hydrometeorology and Remote Sensing (CHRS) at the University of California, Irvine (UCI). PERSIANN-CCS-CDR V2.0 consists of 2 sub-products PERSIANN-CCS-CDR B1 from 1983 to present and PERSIANN-CCS-CDR CPC from March 2000 to present, both provide precipitation estimates at 0.04° spatial and 3-hourly temporal resolutions over the global domain of 60°S to 60°N.
PERSIANN-CCS-CDR Version 2.0 is regularly updated; therefore, this page serves as the DOI landing page for the dataset. A few sample files are provided here for reference.
To access and download the full dataset, please visit the CHRS Data Portal. (https://chrsdata.eng.uci.edu/)
Dataset DOI: 10.5061/dryad.n8pk0p38q
Description of the data and file structure
PERSIANN-CCS-CDR Version 2.0 is regularly updated; therefore, this page serves as the DOI landing page for the dataset. A few sample files are provided here for reference.
PERSIANN-CCS-CDR V2.0 consists of 2 sub-products PERSIANN-CCS-CDR B1 from 1983 to present and PERSIANN-CCS-CDR CPC from March 2000 to present, both provide precipitation estimates at 0.04° spatial and 3-hourly temporal resolutions over the global domain of 60°S to 60°N.
To access and download the full dataset, please visit the CHRS Data Portal. (https://chrsdata.eng.uci.edu/)
The final PERSIANN-CCS-CDR rainfall data are accumulated (in mm) for
3hrly, 6hrly, daily, monthly, & yearly, provided in separate directories.
The files are named for the accumulation period and the
start time of the period.
PCCSCDRXXYYMMDDhh.bin.gz
XX -- will be 3h, 6h,1d, 1m, 1y
YYMMDD -- year month day
YYMM for 1m data
YYYY for 1y data
hh -- will be the starting hour of the accumulation period. For example:
PCCSCDR3h19010106.bin.gz
represents the mm accumulation over the 3 hour period on 2019 Jan 1st
from 06:00Z up through 08:59Z.
daily (1d) data do not have hh in the name and go from 00:00Z to 23:59Z of the given date.
monthly (1m) data are standardized to a 30day month.
yearly (1y) data are based on the accumulation for that calendar year.
All data are in flat binary files 4-byte float (float32) values in little-endian byte-order.
Area covered in .04 deg from 60N to 60S and 0 to 360 for
3000 rows x 9000 cols
Data are stored in the file in row-major orientation with the first 9000
values the N-most row centered at 59.98N with longitude centers from
.02 to 359.98
and the last row (S-most row) centered at 59.98S
The "Script.py" file can serve as an example on how to read the files.
just put the "Script.py" in "Example" folder, open CMD and run the following script:
cd C:\Users\User\Desktop\Examples #(replace this with directory of Examples folder on your system)
python .\Script.py
this script will read and plot the ".\PERSIANN-CCS-CDR CPC\PCCSCDR1d240101.bin.gz" file as an example. you can change the "PATH" variables to read different files.
The Script.py file can also be find bellow:
import numpy as np
def read_bin_file(filename, shape=(3000,9000)):
if filename[-3:] == ".gz":
import gzip
with gzip.open(filename, "rb") as f:
data = np.frombuffer(f.read(), dtype=np.float32)
else:
with open(filename, "rb") as f:
data = np.fromfile(f, dtype=np.float32) # Read as short integers
#data = data.byteswap().view(data.dtype.newbyteorder(">")) # You might need to remove,or # change this line based on your system default endian settings
data = data.reshape(shape)
mask=data<0
arr=np.full(data.shape,np.nan,dtype=np.float32)*np.nan
arr[~mask]=data[~mask]
return arr
# First exctract the Examples.zip files and then put the complete path name of #your desired file into variable "PATH"
PATH=r'.\PERSIANN-CCS-CDR CPC\PCCSCDR1d240101.bin.gz' # this path is probably #diffrent for your system
data=read_bin_file(PATH)
# to plot the data use this code:
import matplotlib.pyplot as plt
plt.figure()
plt.imshow(data,clim=(0,30))
cbar=plt.colorbar(fraction=.02)
cbar.set_label("mm")
xticks = [0, 4500,9000]
xlabels = ["0°", "180°", "360°",]
plt.xticks(xticks, xlabels)
yticks = [0, 1500, 3000]
ylabels = ["60°", "0°", "-60°",]
plt.yticks(yticks, ylabels)
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.savefig('ex.png')
plt.show()
Files and variables
PERSIANN-CCS-CDR Version 2.0 is regularly updated; therefore, this page serves as the DOI landing page for the dataset.
To access and download the full dataset, please visit the CHRS Data Portal. (https://chrsdata.eng.uci.edu/)
For reference purposes, a limited set of sample files is provided in Examples.zip. This archive contains two subdirectories:
- PERSIANN-CCS-CDR B1 – sample files for the PERSIANN-CCS-CDR B1 subproduct
- PERSIANN-CCS-CDR CPC – sample files for the PERSIANN-CCS-CDR CPC subproduct
Within each subdirectory, example files are included for the following temporal resolutions: 3-hourly, 6-hourly, daily, monthly, and yearly, following the naming convention described above.
All files are provided in binary format. Instructions for properly reading and loading these files are also described above.
Access information
Publicly accessible locations of the data:
