NCL Home> Application examples> Data sets || Data files for some examples

Example pages containing: tips | resources | functions/procedures

High Resolution Precipitation:
CMORPH, PERSIANN, TRMM, CPC_Famine, GPCP

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:

  1. CMORPH: NOAA CPC Morphing Technique. Also, NCAR Research Data Archive.
  2. PERSIANN: Precipitation Estimation from Remotely Sensed Information using Artificial Neural Networks
  3. TRMM: Tropical Rainfall Measuring Mission
  4. GPCP: Global Precipitation Climatology Project
  5. 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_conserve_remap or area_hi2lores rather than (say) linint2. Note: As of NCL Version 5.2.0, area_hi2lores is deprecated.

All of the basic interpolation functions have "_Wrap" versions which preserve and create appropriate meta data: area_conserve_remap_Wrap, linint2_Wrap, area_hi2lores_Wrap.

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.


gpcp_4.ncl: Plot GPCP-1DD for a user specified date.


cpcuni_1.ncl: Plot CPC_Unified for a specific file. Create netCDF.