[Thumbnail map] Middle East Rainfall Intensity
Middle East Peace Process, Multilateral Working Group on Water Resources
Rainfall Intensity Project Team

Version 2 of the Rainfall Intensity software is now available! It corrects many of the "bugs" reported in the previous version.

Rainfall Intensity Home
EXACT Home


USER'S MANUAL

 

REQUIRED DATABASES

Create a "rainfall" database

Create a "rainfall_stats" database

Set each database as a System DSN to allow connection to the RAIN software


 

RAINSTART

Open the RAIN software

Log On to RAIN software programs


 

RAINDIGITIZER

Getting Started - Things to Do Before You Begin Digitizing

Log On

Link to your "rainfall" database

Digitize a strip chart and save as an x,y ascii file on your hard drive

QC the digitized strip charts

Load digitized ascii file(s) to your "rainfall" database

Convert digitized ascii file(s) to meaningful rainfall data (time-depth series) and store in your "rainfall" database

 

RAINPLOT

Select a dataset (select data to analyze)

Quality control the selected data (view raw rainfall data)

Analyze the selected data using predictive statistical curve fits (includes IDF analysis)

Create a report (automated reports showing various results)

Show monthly and seasonal summaries

Display data on map using RAINMAP

Edit hydrologic default settings (customize program settings such as "months that comprise a water year" and others)

 

RAINSHARE

Log On

Edit, add, or delete data in your "rainfall" database

Export or import your "rainfall" database

 

Create a "Rainfall" Database (required)

 

Download a sample "rainfall" database (MS Access) (1.57 MB Zipped....Nov 3, 2003)

 

The "rainfall" database will be used to store your rainfall-intensity data. This database will then be linked to the RAIN software in order to generate statistical analyses, maps, and reports of the stored data.

The "rainfall" database contains geospatial coordinates, general station and instrument (recorder) information, raw, unprocessed (digitized) data files, time-depth rainfall-intensity data, daily rainfall values, and other related meta data. Two tables contain information about where and how the data were collected: STATION and INSTRUMENT. Other tables such as CHART_ASCII, CHART, MANUAL_GAGE, and JORDAN_CHARTS_BY_HAND contain actual rainfall data. The database contains fourteen tables in all. The following is a list of the most important "rainfall" database tables and the data they contain:

STATION.........station identifier, link to rainfall data, geospatial coordinates, and other meta data

INSTRUMENT....instrument identifier, link to station table, link to rainfall data, and other meta data

CHART_ASCII......raw, unprocessed (digitized x,y) strip chart data

CHART......processed time-depth data obtained from digitizing strip charts

MANUAL_GAGE.......daily rainfall values obtained from manually read totalizer gages

JORDAN_CHARTS_BY_HAND......summarized maxima data obtained by interpreting strip charts by hand

Other tables contain meta data of various types.

 

The design of the database follows standard rules of normalization with the exception of the ‘station’ field in each table; the ‘station’ field is included to simplify hand-typed data queries.

Important note: Before attempting to digitize or load any rainfall data into the database, a record containing geospatial and related information corresponding to the data must first exist in the STATION and the INSTRUMENT tables. That is, information about where the data were collected (station) and how they were collected (instrument) must be set up before storing the rainfall data itself. The naming conventions and required fields for these tables are outlined below. Enter data into the STATION table first, followed by the INSTRUMENT table. (Note: All dates should be loaded according to your computer’s operating system default format; for example, the Middle Eastern date format typically is dd/mm/yyyy.)

 

Naming conventions

The recommended naming conventions for the STATION and INSTRUMENT tables are given below.

STATION: The STATION table contains one record for each station. Each record contains information about the station and includes a unique field (primary key) called station_code_id. A station is a location that is defined by a set of coordinates utme and utmn. Although it is recommended that data be entered into all fields for each record, only the station_code_id field is mandatory.

· station_code_id: “[2 letter abbreviation of core party/agency] [-] [station name] [-] [station code] [-] [move sequence]”; no spaces between dashes; 35 characters max; capitalize first letter of “station name” and small case for the remaining letters

example:

IM-Tel Aviv-134950-1 (Israeli Meteorological Service, “Tel Aviv”, station code = 134950, 1 = original locale)

IM-Tel Aviv-134945-1 (Israeli Meteorological Service, “Tel Aviv”, station code = 134945, 1 = original locale)

IM-Tel Aviv-134940-2 (Israeli Meteorological Service, “Tel Aviv”, station code = 134940, 2 = 2nd locale)

· station_code: this is a code (typically 6 digits in length) used by an agency to identify a station (see station code examples above); no spaces; leading zeros are allowed; 9 characters max

· station: the english name given to the station; no spaces; 25 characters max; capitalize first letter of “station name”

· server_id: the same name used in the agency’s main database server; this is used to link to the agency’s main database server as needed

· other STATION fields are shown in the figure below

 

INSTRUMENT: The INSTRUMENT table contains records that define all of the instruments used at a given station. Each record contains a unique field (primary key) called instrument_code_id. Multiple instruments may be used at a given station over time, and the period of use for each instrument is tracked by its beginning and end dates. Although it is recommended that data be entered into all fields, only three fields are mandatory: instrument_code_id, station_code_id, and date_start_instrument.

· instrument_code_id: this is a concatenation of station_code_id and an abbreviation for an instrument; “[station_code_id] [-] [abbrev of instrument] [instrument sequence for this station]”; no spaces between dashes; 35 characters max

example:

IM-Tel Aviv-134950-1-D1 (Israeli Meteorological Service, “Tel Aviv”, station code = 134950, 1 = original locale, Dines200, first instrument of this type at this station)

IM-Tel Aviv-134950-1-L1 (Israeli Meteorological Service, “Tel Aviv”, station code = 134950, 1 = original locale, Lambrecht, first instrument of this type at this station)

IM-Tel Aviv-134950-1-C1 (Israeli Meteorological Service, “Tel Aviv”, station code = 134950, 1 = original locale, Dines361, first instrument of this type at this station)

IM-Tel Aviv-134945-1-D2 (Israeli Meteorological Service, “Tel Aviv”, station code = 134945, 1 = original locale, Dines200, 2nd instrument of this type used at this station)

IM-Tel Aviv-134940-2-D2 (Israeli Meteorological Service, “Tel Aviv”, station code = 134940, 2 = 2nd locale, Dines200, 2nd instrument of this type used at this station)

 

Tables, fields, and relationships

The "rainfall" database consists of the fourteen tables shown below. The fields and relationships for each of the tables also are shown.

 

 

 

CHART: The CHART table is populated automatically by the RAINDIGITIZER program when ascii files are converted to time-depth values. The table uses a composite primary key consisting of instrument_code_id, start_time, and end_time. These three fields combined make up the unique identifier for each record. Thus, for each instrument only unique start and end time entries are allowed. The other important field in this table is depth (depth of rainfall for the corresponding time period). Because data are populated into this table automatically using the RAINDIGITIZER program, you do not have to be aware of any naming conventions.

 

 

CHART_ASCII: The CHART_ASCII table is the location of raw digitized strip chart ascii files. This table uses a composite primary key consisting of instrument_code_id and chart_date. These two fields combined make up the unique identifier for each record. Thus, only one digitized strip chart may be loaded into the database for a given date. Because data files are populated to this table automatically using the RAINDIGITIZER program, you do not have to be aware of any naming conventions.

 

 

 

 

 

 

 

 

 

 

 

 

Scripts to create tables

The creation scripts for all of the tables in the database are shown below. The scripts provided here use very generic data types that must be adapted for a particular database software. For example, the use of VARCHAR data type would be VARCHAR2 in an Oracle database or TEXT in an Access database.
create table AREA_DESCRIPTION(
area_description_id      COUNTER,
station_code_id          VARCHAR( 35),
date_of_area_description DATETIME,
area_description         VARCHAR( 100),
image_file               LONGBINARY,
station                  VARCHAR( 25),
comments                 VARCHAR( 30));


create table CHART(
station                  VARCHAR( 25),
instrument_code_id       VARCHAR( 40),
start_time               DATETIME,
end_time                 DATETIME,
depth                    REAL,
computing_method         VARCHAR( 10),
data_reliability_code    VARCHAR( 20),
comments                 VARCHAR( 25),
autokey                  COUNTER);

create table CHART_ASCII(
station                  VARCHAR( 25),
instrument_code_id       VARCHAR( 40),
chart_date               DATETIME,
ascii_file               LONGBINARY,
chart_reliability_code   VARCHAR( 20),
comments                 VARCHAR( 200),
autokey                  COUNTER);
 

create table DATES_OF_DATA(
instrument_code_id       VARCHAR( 40),
date_data_begin          DATETIME,
date_data_end            DATETIME,
station                  VARCHAR( 25),
comments                 VARCHAR( 30));


create table INSTRUMENT(
instrument_code_id       VARCHAR( 40),
station_code_id          VARCHAR( 35),
instrument_type          VARCHAR( 15),
instrument_id            VARCHAR( 40),
manufacturer             VARCHAR( 25),
model_number             VARCHAR( 15),
station                  VARCHAR( 25),
date_start_instrument    DATETIME,
date_stop_instrument     DATETIME,
height_above_ground      DOUBLE,
purchase_year            INTEGER,
orifice_diameter         INTEGER,
instrument_accuracy      INTEGER,
systematic_errors        VARCHAR( 100),
minimum_time_unit        INTEGER,
minimum_depth_unit       DOUBLE,
comments                 VARCHAR( 100));

create table INSTRUMENT_VISIT(
instrument_code_id       VARCHAR( 40),
visit_date               DATETIME,
purpose_of_visit         VARCHAR( 25),
outcome_of_visit         VARCHAR( 25),
description_of_visit     VARCHAR( 100),
station                  VARCHAR( 25),
comments                 VARCHAR( 50));

create table JORDAN_CHARTS_BY_HAND(
instrument_code_id       VARCHAR( 40),
station                  VARCHAR( 25),
chart_date               DATETIME,
five_minute_max          DOUBLE,
ten_minute_max           DOUBLE,
fifteen_minute_max       DOUBLE,
twenty_minute_max        DOUBLE,
thirty_minute_max        DOUBLE,
sixty_minute_max         DOUBLE,
two_hour_max             DOUBLE,
six_hour_max             DOUBLE,
twelve_hour_max          DOUBLE,
hrly_depth_twelve_am_one DOUBLE,
hrly_depth_one_am_two    DOUBLE,
hrly_depth_two_am_three  DOUBLE,
hrly_depth_three_am_four DOUBLE,
hrly_depth_four_am_five  DOUBLE,
hrly_depth_five_am_six   DOUBLE,
hrly_depth_six_am_seven  DOUBLE,
hrly_depth_seven_am_eight DOUBLE,
hrly_depth_eight_am_nine DOUBLE,
hrly_depth_nine_am_ten   DOUBLE,
hrly_depth_ten_am_eleven DOUBLE,
hrly_depth_eleven_am_twelve DOUBLE,
hrly_depth_twelve_pm_one DOUBLE,
hrly_depth_one_pm_two    DOUBLE,
hrly_depth_two_pm_three  DOUBLE,
hrly_depth_three_pm_four DOUBLE,
hrly_depth_four_pm_five  DOUBLE,
hrly_depth_five_pm_six   DOUBLE,
hrly_depth_six_pm_seven  DOUBLE,
hrly_depth_seven_pm_eight DOUBLE,
hrly_depth_eight_pm_nine DOUBLE,
hrly_depth_nine_pm_ten   DOUBLE,
hrly_depth_ten_pm_eleven DOUBLE,
hrly_depth_eleven_pm_twelve DOUBLE,
comments                 VARCHAR( 75));

create table LOGGER(
station                  VARCHAR( 25),
instrument_code_id       VARCHAR( 40),
start_time               DATETIME,
end_time                 DATETIME,
depth                    DOUBLE,
data_reliability_code    VARCHAR( 20),
comments                 VARCHAR( 25),
autokey                  COUNTER);

create table LOGGER_BINARY(
station                  VARCHAR( 25),
instrument_code_id       VARCHAR( 40),
start_date               DATETIME,
end_date                 DATETIME,
binary_logger_file       LONGBINARY,
comments                 VARCHAR( 25),
autokey                  COUNTER);

create table LUT_GOVERNORATE(
governorate              VARCHAR( 60),
governorate_code         VARCHAR( 5));

create table LUT_LOCAL_BASIN(
local_basin              VARCHAR( 60),
local_basin_code         VARCHAR( 5));

create table LUT_LOCALITY(
locality                 VARCHAR( 60),
locality_code            VARCHAR( 5));

create table LUT_REGION(
region                   VARCHAR( 60),
region_code              VARCHAR( 5));

create table LUT_REGIONAL_BASIN(
regional_basin           VARCHAR( 60),
regional_basin_code      VARCHAR( 5));

create table MANUAL_GAGE(
instrument_code_id       VARCHAR( 40),
start_date               DATETIME,
end_date                 DATETIME,
depth                    DOUBLE,
method_to_obtain         VARCHAR( 50),
data_reliability_code    VARCHAR( 40),
station                  VARCHAR( 25),
comments                 VARCHAR( 25));

create table STATION(
station_code_id          VARCHAR( 35),
station                  VARCHAR( 25),
station_code             VARCHAR( 9),
move_sequence            INTEGER,
server_id                VARCHAR( 35),
links                    VARCHAR( 50),
date_opened              DATETIME,
date_moved_closed        DATETIME,
utme                     DOUBLE,
utmn                     DOUBLE,
utm_zone                 INTEGER,
region                   VARCHAR( 60),
governorate              VARCHAR( 60),
regional_basin           VARCHAR( 30),
local_basin              VARCHAR( 30),
locality                 VARCHAR( 60),
owner_core_party         VARCHAR( 12),
owner_agency             VARCHAR( 40),
old_pal_x                DOUBLE,
old_pal_y                DOUBLE,
horizontal_accuracy      DOUBLE,
altitude                 DOUBLE,
altitude_accuracy        DOUBLE,
full_or_partial_met      VARCHAR( 22),
local_station_name       VARCHAR( 50),
comments                 VARCHAR( 100));

 

Go to the main User's Manual page.

All content on this site was developed by members of the Rainfall Intensity Project, Middle East Peace Process, Multilateral Working Group on Water Resources. This website was last updated on January21, 2005. Information presented on this website is considered public information and may be distributed or copied. Use of appropriate byline/photo/image credit is requested. EXACT makes every effort to provide accurate and complete information; however, data such as names, telephone numbers, etc., may change frequently. Links are provided as a source of information and do not consitute an endorsement by EXACT of materials presented. EXACT provides no warranty, expressed or implied, as to the accuracy, reliability, or completeness of furnished data.