3-hourly global CMORPH precipitation data from the CPC

For documentation, see the following web page: http://www.cpc.ncep.noaa.gov/products/janowiak/cmorph.shtml

The appropriate reference for this data set is the following:

Joyce, R.J., J.E. Janowiak, P. A. Arkin and P. Xie, 2004: CMORPH: A Method that Produces Global Precipitation Estimates from Passive Microwave and Infrared Data at High Spatial and Temporal Resolution. J. Hydrometeorology, 5, 487-503.

The following information is excerpted from the "readme" file associated with this data set:

                 CMORPH 0.25 degree 3-hourly Information

                    Last Update: November 8 2004

The 0.25 degree 3-hourly CMORPH can be found on the ftpprd.ncep.noaa.gov
server in the /pub/precip/global_CMORPH/3-hourly_025deg/ directory

The data are compressed using the standard Unix compress function (files have a
suffix of ".Z"). Each file is composed of 16 direct access binary
("big_endian") records that are defined as follows:

Record 1: contains the merged microwave precipitation only for 00 UTC
Record 2: contains the "CMORPH" precipitation estimates for 00 UTC

Record 3: contains the merged microwave precipitation only for 03 UTC
Record 4: contains the "CMORPH" precipitation estimates for 03 UTC
Record 15: contains the merged microwave precipitation only for 21 UTC
Record 16: contains the "CMORPH" precipitation estimates for 21 UTC

All units are "mm/hr".  Missing data are denoted by values of "-9999."
Each record contains a 1440 x 480 REAL*4 array of data which is oriented
from 0.125E EASTward and from 59.875N SOUTHward, with a grid increment
of 0.25 degrees of latitude and longitude.  Thus, the grid locations
are the centers od a 0.25 degree lat/lon grid box.  Note that these 
estimates represent spatial averages, so the data are grid-centered, 
rather than lattice-centered.

For example (1,1) is 0.125E, 59.875N 
            (2,2) is 0.375E, 59.625N, etc.

There is an associated GrADS ctl file with this data set:

Below is FORTRAN code (run on an SGI) that will read the data sets:

      program cread
c    program cpc_advt+comb_read.f

      parameter (IRMAX=1440, JRMAX=480, PMAX=2)

      real*4 ssmipropREG(IRMAX,JRMAX,PMAX)
      character*115 in1ssmipropREG

      iyrmndy = 20031110
      irec = 0

c    Open input regional blended sensor rainfall file for 3
c      hour CPC micro rainfall file

      in1ssmipropREG = '/export-2/sgi109/irstat/blended_tech/cpc/data/02

      write (in1ssmipropREG(54:61),'(i8)') iyrmndy
        write(6,'('' file '',a88)') in1ssmipropREG

      open (unit=15, file=in1ssmipropREG, access='direct',
     &              recl=1440*480*2*4, form='unformatted')

c    Loop over 8 3 hourly periods for one day
      do ihr = 0, 21, 3

       irec = irec + 1

       write(6,'(//,''proc 3 hr starting '',i8,i4)') iyrmndy, ihr

       read (15, rec = irec) ssmipropREG

       write (6,'(/,'' cpc combined MW '')')
       do jreg = 271, 280
        write(6,'(15(f5.1))') (ssmipropREG(ireg,jreg,1),ireg=1161,1175)

       write (6,'(/,'' CMORPH '')')
       do jreg = 271, 280
        write(6,'(15(f5.1))') (ssmipropREG(ireg,jreg,2),ireg=1161,1175)

c    End 3 hour loop


      close (15)