README document for the APHRO_EA_0804

 

                                                                                            (Last updated 24 March, 2008)

1.  Introduction 

 

    A suite of precipitation products are being constructed by the Asian Precipitation – Highly-Resolved Observational Data Integration Towards Evaluation of the Water Resources (APHRODITEfs water resources) project in collaboration of Research Institute for Humanity and Nature and Meteorological Research Institute of Japan Meteorological Agency.

 

The followings are included in the current data set (version 0804).

 

         1)  The East Asia Analysis

         2)  The Middle East Analysis

         3)  The Russian Analysis

          

    This document describes the data file structure for the East Asia Analysis (APHRO_EA_0804).

 

2.  General Information   

 

    2.1  The Products:

 

We release the two resolution data of the APHRO_EA_0804; Basic Product, 0.5 degree (Type-B), and General Product, 0.25 degree, (Type-G).  The gridded fields of daily precipitation are defined by interpolating rain-gauge observations from meteorological and hydrological stations over the region. We used daily precipitation climatology defined by Xie et al. (2007), and interpolate daily ratio to the climatology on 0.05 degree grid resolution, and multiply each gridded ratio to each grid climatology value day by day. Then we re-grid the 0.05 degree analysis to 0.5 degree grid and 0.25 degree grid. Number of gauges in each 0.5 (0.25) degree grid box shows reliability for the daily precipitation fields. Please refer to 5. References for technical details on how the gauge-based analyses are defined. 

   

    2.2  Spatial Coverage

 

       Coverage   :       65.0E - 155.0E;   5.0N - 60.0N

       Resolution :       0.5 degree latitude / longitude (Type-B) and 0.25 degree latitude /longitude (Type-G) 

 

 

    2.3  Time

 

       Coverage   :       January 1, 1980 - December 31, 2002;

       Resolution :       Daily;

 

    2.4  Units

 

       Precipitation :    mm/day

       Gauge Number  :    Number of Gauges (written in actual number) 

 

    2.5  Missing Code

 

       Precipitation :    -99.9

       Gauge number  : None   

 

 

 

3.  Data Files and Their Structure

 

    The product is stored in yearly files;

 

    3.1  Denotation

                                                                                                                     

       EA0804DP_X_yyyy

EA :   Region                                                                                                                     

0804:   Product Version

DP:    Daily precipitation

X   :    Resolution (B for Type-B, G for Type-G)

yyyy :   year number, e.g. 1980, 1979, ... 2002;

 

  

    3.2  Yearly File Structure    

 

-          The yearly data files are written in the format of PLAIN DIRECT ACCESS BINARY data files.

-          Each yearly file contains daily fields for 365 (366 for leap years) days. These daily fields are arranged according to Julian calendar.

-          For each day, there are two fields (data arrays) holding information on precipitation and gauge number. The array for the precipitation amounts comes first, followed by that for the gauge number.

-          Each field is a data array of 180 (in east-west direction) x 110 (in north-south direction) elements.  The data array goes from WEST to EAST and then from SOUTH to NORTH. The first element is for grid box at the southwest corner centered at [65.25E; 5.25N], the second at [65.75E;5.25N].... the 180th at [154.75E,5.25N], the 181st at [65.25E;5.75N]... (in case of Type-B).

-          Each data element (for both precipitation and gauge number) is written in 4-byte floating actual number.

-          The actual number is written in eLITTLE_ENDIANf byte order. You need to swap the byte order to big_endian if you are working with a work station other than a linux machine.

-          There is not any 'space', 'end of record', or 'end of file' marks in between. The size of a yearly file is 4 byte x 180 elements x 110 lines x 2 fields x 365 days = 57,816,000 bytes for a non-leap year, and 57,974,400 bytes for a leap year (in case of Type-B).

          

3.3  Sample of GrADS Control Files

 

-          Each data file needs *.ctl file to handle with the GrADS software (http://www.iges.org/grads/). For example, copy the sample script (3.3.1) to a new file named EA0804DP_B_2002.ctl. Then open this file after the ggah prompt (e.g., ga-> open EA0804DP_B_2002.ctl).

-          In case of operating other years, the following two lines should be rewritten.

DSET  :Rewrite input file name

TDEF  :Rewrite 366 in leap year and 365 for others.

Set four numbers of year at input file name.

-          You may define only one control file to operate the whole period of the same type (resolution) data as shown in 3.3.2.

-          To operate the 0.25 degree grid data (Type-G), see the sample control file shown in 3.3.3.

 

 

3.3.1  0.5-degree (Type B)

 

              DSET  ^EA0804DP_B_2002

              *

              UNDEF      -99.9

              OPTIONS   little_endian

              TITLE     Daily Precipitation Analysis

              *

              XDEF      180 LINEAR    65.25    0.50

              YDEF      110 LINEAR     5.25    0.50

              ZDEF        1 LEVELS        1

              TDEF      365 LINEAR  1JAN2002  1dy

              *

              VARS 2

              precip  1 00 daily precipitation analysis (mm/day)

              nobs    1 00 number of gauges in a 0.5 grid box

              ENDVARS

 

 

3.3.2  0.5-degree (Type B) sample control file with goption templateh

 

              DSET  ^EA0804DP_B_%y4

              *

              UNDEF      -99.9

              OPTIONS   little_endian template

              TITLE     Daily Precipitation Analysis

              *

              XDEF      180 LINEAR    65.25    0.50

              YDEF      110 LINEAR     5.25    0.50

              ZDEF        1 LEVELS        1

              TDEF     8500 LINEAR  1JAN1980  1dy

              *

              VARS 2

              precip  1 00 daily precipitation analysis (mm/day)

              nobs    1 00 number of gauges in a 0.5 grid box

              ENDVARS

 

3.3.3  0.25-degree (Type G)

 

              DSET      ^EA0804DP_G_2002

              *

              UNDEF      -99.9

              OPTIONS   little_endian

              TITLE     Daily Precipitation Analysis

              *

              XDEF      360 LINEAR    65.125    0.25

              YDEF      220 LINEAR     5.125    0.25

              ZDEF        1 LEVELS        1

              TDEF      365 LINEAR  1JAN2002  1dy

              *

              VARS 2

              precip       1 00 daily precipitation analysis (mm/day)

              nobs         1 00 number of gauges in a 0.25 grid box

              ENDVARS

 

 

4.   Sample Program in Fortran90

 

-  The order that bytes are written in little-endian.

-  Set year at g i4Yearh.

  -  Built and Run freely.

 

!==========================================

!

!          read_data_EA.F90

!

! Sample program to read both

! 0.5- (Type-B) and 0.25-degree (Type-G) files

!==========================================

program main

 

  implicit none

 

  !=====================================

  ! Set year and grid size

  !=====================================

  integer(4) :: i4Year = 2002 !year of input data

  integer(4) :: nx50   = 180  !x-grid mesh size of 0.50degree for output file

  integer(4) :: ny50   = 110  !y-grid mesh size of 0.50degree for output file

  integer(4) :: nx25   = 360  !x-grid mesh size of 0.25degree for output file

  integer(4) :: ny25   = 220  !y-grid mesh size of 0.25degree for output file

 

  !-----------------------------

  ! local

  !-----------------------------

  character(100) :: c100Fln_i50

  character(100) :: c100Fln_i25

  character(100) :: dir = './'

  integer :: nn

  integer :: kinp12, kinp11

  integer :: kday, nday

  integer(4) :: nrec

 

  !-----------------------------

  ! Define array for one day

  !-----------------------------

  real(4), allocatable  :: rain50(:,:)     ! daily precipitation analysis (Type-B)

  real(4), allocatable  :: samp50(:,:)    ! number of gauges in a 0.5 grid box (Type-B)

  real(4), allocatable  :: rain25(:,:)     ! daily precipitation analysis (Type-G)

  real(4), allocatable  :: samp25(:,:)    ! number of gauges in a 0.25 grid box (Type-G)

  allocate(rain50(nx50, ny50))

  allocate(samp50(nx50, ny50))

  allocate(rain25(nx25, ny25))

  allocate(samp25(nx25, ny25))

 

  !-----------------------------

  ! File open

  !-----------------------------

  write(c100Fln_i50, &

       &  fmt="(a,'/EA0804DP_B_',i4.4)") trim(dir), i4Year

  write(c100Fln_i25, &

       &  fmt="(a,'/EA0804DP_G_',i4.4)") trim(dir), i4Year

  inquire(iolength = nrec ) rain50

  open(50, file = c100Fln_i50, form = 'unformatted', access = 'direct', &

       & recl = nrec, convert = 'little_endian' )

  inquire(iolength = nrec ) rain25

  open(70, file = c100Fln_i25, form = 'unformatted', access = 'direct', &

       & recl = nrec, convert = 'little_endian' )

      

  !-----------------------------

  ! Check leap year

  !-----------------------------

  call cond_leapyear(i4Year, nn)

  if(nn == 0) then

     nday = 365

  else

     nday = 366

  end if

  

  !------------------------------------

  ! Do loop of days (365 or 366)

  !------------------------------------

  do kday = 1, nday

    

     !-------------------------

     ! calculate position

     !-------------------------

     kinp11 = (kday - 1) * 2 + 1 

     kinp12 = (kday - 1) * 2 + 2 

    

     !-------------------------

     ! read 0.5-degree data (Type-B)

     !-------------------------

     read(50, rec = kinp11) rain50(:,:)

     read(50, rec = kinp12) samp50(:,:)

     

     !-------------------------

     ! read 0.25-degree data (Type-G)

     !-------------------------

     read(70, rec = kinp11) rain25(:,:)

     read(70, rec = kinp12) samp25(:,:)

    

     !=====================================

     ! If necessary, ADD SOME ANALYSIS HERE

     !=====================================

     write(6,*) kday, rain50(50,50), samp50(50,50), rain25(80,80), samp25(80,80)

    

  end do !kday

 

  deallocate(rain50)

  deallocate(samp50)

  deallocate(rain25)

  deallocate(samp25)

  close(50)

  close(70)

 

end program main

 

 

!==========================================

! Check leap or non-leap year

!==========================================

!<return>

!      leap year(366) -> return 1

!  non-leap year(365) -> return 0

subroutine cond_leapyear(year, nflg_leapyear)

  implicit none

 

  integer, intent(in)  :: year

  integer, intent(out) :: nflg_leapyear

  !------------------------------------

 

  if( (mod(year, 4)==0 .and. mod(year,100)/=0 ) &

                       .or.  mod(year,400)==0 ) then

    nflg_leapyear = 1

  else

    nflg_leapyear = 0

  end if

 

  return

end subroutine cond_leapyear

 

 

 

5.  References 

 

Please check our gresearch activitiesh page (http://www.chikyu.ac.jp/precip/research/index.html) when you write/publish papers in order to know the last updated information of our reference papers which show our algorithms and products.

 

At the moment, we (APHRODITE project) have not published a reviewed paper which exactly shows our algorithm for APHRO_EA_0804. However, you can refer to the following papers. We (APHRO_EA_0804 and Yatagai et al., 2008a) took the similar algorithm steps that are defined in Xie et al. (2007, EA_0409). APHRO_EA_0804 differs from those of Xie et al. (2007) in the following two points. First, we used the Shepard (1968) algorithm for interpolation, whereas Xie et al. (2007) used optimum interpolation (OI) technique (Gandin, 1965). Second, APHRO_EA_0804 (Yatagai et al., 2008a) input more (2,000 to 8,000 stations of Asian monsoon countries, depending on year) rain-gauge data compared to EA_0409 (Xie et al., 2007). 

 

Yatagai, A., H. Kawamoto and P. Xie, 2008a: Products and validation of GAME re-analyses and JRA-25: Precipitation, Extended abstract for Third WCRP International Conference on Reanalysis, Jan. 28 - Feb. 1, 2008, Tokyo, Japan. (data and document used in this study are available at http://www.chikyu.ac.jp/precip/index.html)

Yatagai, A., P. Xie, P, 2006: Utilization of a rain-gauge-based daily precipitation dataset over Asia for validation of precipitation derived from TRMM/PR and JRA-25. SPIE 0604-53, doi:10.1117/12.723829. (data and document used in this study are available at http://www.chikyu.ac.jp/precip/index.html)

 

However, if you want to refer to the general algorithm, especially for showing orographic precipitation by adopting PRISM in climatology, you should refer the following paper (Xie et al., 2007).

 Xie, P., A. Yatagai, M. Chen, T. Hayasaka, Y. Fukushima, C. Liu and S. Yang, 2007: A Gauge-Based Analysis of Daily Precipitation over East Asia, J. Hydrometeor., 8, 607-627.

 

 

For Middle East analysis, we (APHRODITE project) have published a paper as follows (Yatagai et al., 2008b). Details are shown in the readme file of the Middle East Analysis (APHRO_ME_0804).

Yatagai, A., P. Xie and P. Alpert, 2008b: Development of a daily gridded precipitation data set for the Middle East, Adv. in Geosci., 12, 165-170.

 

 

 

6.  Contacts

 

    Please contact APHRODITE project (led by Dr. Akiyo Yatagai of RIHN) for further questions regarding this product.

 

  APHRODITEfs Water Resource project

   precinfo@chikyu.ac.jp

   http://www.chikyu.ac.jp/precip/index.html

 

    Dr. Akiyo Yatagai

    Research Institute for Humanity and Nature

    457-4 Motoyama, Kamigamo, Kita-ku

    Kyoto 603-8047, Japan

    Tel   :  +81-75-707-2204 (direct)

    Fax   :  +81-75-707-2506