README
document for the APHRO_RU_0804
(Last updated
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
(APHRODITEfs water
resources) project in collaboration of Research Institute for Humanity
and Nature and Meteorological Research Institute of
The followings are included in the current
data set (version 0804).
1) The
2) The
3) The Russian Analysis
This document describes the
data file structure for the Russian Analysis (APHRO_RU_0804).
2. General
Information
2.1 The Products:
We release the two resolution data of the
APHRO_RU_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 new defined daily precipitation climatology
(see notes below), 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.
Notes
- The daily
precipitation climatology is derived from the raw daily precipitation (1960 - 1990),
which is not
adjusted by monthly climatology.
- In the
analysis region except former
is applied to APHRO_RU_0804. For former
the technique developed by Groisman
and Rankova (2001) in NCDC9813 was applied during
1980-2000.
And
GTS, the rain-gauge data in EA-0409, was used as input data in the following
years from
2001 to 2002.
2.2 Spatial Coverage
Coverage : 20.0E – 160.0E; 40.0N - 75.0N
Resolution : 0.5 degree latitude /
longitude (Type-B) and 0.25 degree latitude /longitude (Type-G)
2.3 Time
Coverage :
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
RU0804DP_X_yyyy
RU : 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 280 (in east-west direction) x 70 (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
[20.25E; 40.25N], the second at
[20.75E;40.25N].... the 280th at
[159.75E,40.25N], the 281st at [20.25E;40.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_ENDIANf 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 280 elements x 70 lines x 2 fields x 365 days =
57,232,000 bytes
for a non-leap year, and 57,388,800 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
RU0804DP_B_2002.ctl. Then open
this file after the ggah prompt
(e.g., ga-> open RU0804DP_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 ^RU0804DP_B_2002
*
UNDEF
-99.9
OPTIONS little_endian
template
TITLE
Averaged Daily Precipitation Value
*
XDEF
280 LINEAR
20.25 0.50
YDEF
70 LINEAR
40.25 0.50
ZDEF 1
LEVELS 1
TDEF
365 LINEAR
*
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 templateh
DSET ^RU0804DP_B_%y4
*
UNDEF
-99.9
OPTIONS little_endian template
TITLE
Daily Precipitation Analysis
*
XDEF
280 LINEAR
20.25 0.50
YDEF
70 LINEAR
40.25 0.50
ZDEF 1
LEVELS
1
TDEF 8500 LINEAR
*
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
^RU0804DP_G_2002
*
UNDEF
-99.9
OPTIONS little_endian
template
TITLE
Averaged Daily Precipitation Value
*
XDEF
560 LINEAR
20.125 0.25
YDEF
140 LINEAR
40.125 0.25
ZDEF 1 LEVELS 1
TDEF
365 LINEAR
*
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 i4Yearh.
- Built and Run freely.
!==============================================
!
!
read_data_RU.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 = 280 !x-grid mesh size of 0.50degree for
output file
integer(4) :: ny50 = 70
!y-grid mesh size of 0.50degree for output file
integer(4) :: nx25 = 560 !x-grid mesh size of 0.25degree for
output file
integer(4) :: ny25 = 140 !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,'/RU0804DP_B_',i4.4)") trim(dir),
i4Year
write(c100Fln_i25, &
& fmt="(a,'/RU0804DP_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 activitiesh 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_RU_0804. However, you can refer to the following papers.
Takashima, H., A. Yatagai, H. Kawamoto, O. Arakawa and K. Kamiguchi
(2008), Hydrological balance
over
northern
for
Hydro change 2008, 1-3 October, 2008,
Takashima, H., A. Yatagai, H. Kawamoto, O. Arakawa and K. Kamiguchi
(2008),
A gauge-based
high-resolution daily precipitation data set for northern
Spring Meeting of
Meteorological Society of
APHRO_RU_0804 took the similar algorithm
steps that are defined in Xie et al. (2007, EA_0409).
APHRO_RU_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,
because of difference in analysis area,
APHRO_RU_0804 inputs a lot of different
rain-gauge data compared to EA_0409 (Xie et al., 2007) .
If you want to refer to the general
algorithm, especially for orographic precipitation by
adopting PRISM in climatology, you should refer to 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
For
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 -
(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
723829.
(data
and document used in this study are available at
http://www.chikyu.ac.jp/precip/index.html)
For
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
6. Contacts
Please contact
APHRODITE project (led by Dr. Akiyo Yatagai of RIHN)
for further questions regarding
this
product.
APHRODITEfs 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,
Tel : +81-75-707-2204 (direct)
Fax : +81-75-707-2506