NCL Home>
Application examples>
Data sets ||
Data files for some examples
Example pages containing:
tidbits |
resources |
functions/procedures
High Resolution Precipitation:
CMORPH, PERSIANN, TRMM, CPC_Famine
High Resolution Precipitation
Several high resolution precipitation datasets have beome available.
These datasets should be viewed as experimental.
The three datasets included in this suite of examples
are all freely available. Some are in binary format and
others in HDF.
Details descriptions of the datasets are available at:
- CMORPH: Climate Prediction Center Morphing Technique
- PERSIANN: Precipitation Estimation from Remotely Sensed Information using Artificial Neural Networks
- TRMM: Tropical Rainfall Measuring Mission
- CPC Famine Early Warning System daily estimates (New_Algo).
NCL Comments
Generally, the examples below process only one file.
To process multiple files would require only minor additions
to the sample codes.
dir = "./" ; input directory
fili = systemfunc("cd "+dir+" ; ls root*") ; 'root' is unique
nfil = dimsizes(fili)
do nf=0,nfil-1
:
; change all fili to fili(nf)
:
end do
------------------------------------------------------------------------
Reading "big endian" and "little endian" binary file types
is readily accomplished via
setfileoption("bin","ReadByteOrder","BigEndian")
or
setfileoption("bin","ReadByteOrder","LittleEndian")
------------------------------------------------------------------------
Interpolating high spatial/temporal resolution precipitation fields,
is best accomplished via area_hi2lores rather than
(say) linint2.
If netCDF creation is desired and file space is a concern,
it may be best to "pack" the precipitation values.
Using pack_values
will create a file half the size of those created
using float values. Some precision is lost but is not important here.
------------------------------------------------------------------------
Often, precipitation variables contain N-hourly accumulated
totals, where N=1 or 3 or 6 or 12. A common question:
Given hourly precipitation (eg, 0Z, 1Z, 2Z, ..., 23Z, 0Z, ...),
how can (say) 6-hourly (0Z, 6Z, 12Z, 18Z) totals be calculated?
Please see Example 5 of the dim_sum_n function.
cmorph_1.ncl:
Read a big endian binary file containing daily total
precipitation at 0.25 degree resolution. The plot contains
the merged satellite precipitation and the
Climate Prediction Center's morphed estimates. Create netCDF.
cmorph_2.ncl:
Interpolate the 0.25 gridded data to (a) 1x1 degree resolution
and (b) the Community Atmosphere Model (CAM) 1.9x2.5
degree grid. Create netCDF.
cmorph_3.ncl:
Read the 3-hourly CMORPH grids for one day: plot and create netCDF.
persiann_1.ncl:
Read a big endian binary file containing 3-hourly
precipitation at 0.25 degree resolution. The geographical
extent is 60N to 60S. Create a
packed netCDF
using the
pack_values function.
This creates a file half the size of those created
using float values. Some precision is lost but is not important here.
The plot style here mimics that used at the
PERSIANN WWW site.
persiann_2.ncl:
Analogous to the previous example but it uses
a big endian binary file containing 6-hourly
precipitation at 0.25 degree resolution. The geographical
extent is 50N to 50S. Create packed netCDF.
persiann_3.ncl:
Interpolate the 6-hourly 0.25 gridded data to (a) 1x1 degree resolution
and (b) the Community Atmosphere Model (CAM) 1.9x2.5
degree grid. Create packed netCDF.
trmm_1.ncl:
Read a HDF file containing 3-hourly
precipitation at 0.25 degree resolution. The geographical
extent is 40S to 40N. Create a
packed netCDF
using the
pack_values function.
This creates a file half the size of those created
using float values. Some precision is lost but is not important here.
The HDF file is classifed as a "Scientific Data Set" [HDF-SDS].
Unfortunately, it does not contain the geographical coordinates
or temporal information. The former must be obtained via
a web site while the time is in the file name.
cpcFamine_1.ncl:
Read a big endian binary file containing daily total
precipitation at 0.1 degree resolution. The
daily precipitation estimates are obtained by merging
GTS gauge observations and 3 kinds of satellite estimates:
GPI,SSM/I and AMSU. Create netCDF.
For this file, the areal average is 1.3 mm/day.
The maximum value is 265.4 mm/day.