# ERI.properties
#/*******************************************************************************
# * Copyright (c) 2010 IBM Corporation and others.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html
# *
# * Contributors:
# *     IBM Corporation - initial API and implementation
# *******************************************************************************/

# This is the name of the class that will interpret the rainfall data file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.EarthPropertyFileSpecification

# The title
TITLE = ERI rainfall data for 2001 at admin level 1

# This is the date for which the values in this file are valid
# See http://purl.org/dc/terms/1.1/valid
VALID=start=2001

# The data is derived from the following primary source
#SOURCE = http://neo.sci.gsfc.nasa.gov/

# ISO3166-1 alpha3 code for the country
ISOKEY = ERI
ADMIN_LEVEL = 1
UNITS = MM
DATA_TYPE = rainfall

# 120 calculations comma-separated, 10 consecutive calculations for each month (from January to December)
# Field 1: Average
# Field 2: Standard Deviation
# Field 3: Maximum
# Field 4: Minimum
# Field 5: Range
# Field 6: Skewness
# Field 7: Kurtosis
# Field 8: Root Mean Square
# Field 9: Median
# Field 10: Sample Size
# No data points for a month indicated by 99999.0,0.0,0.0,0.0,0.0,0.0,-1.2,1.0,0.0,0.0
# Maximum: 2000.0
# Minimum: 1.0
# Data not available for locations above 35 degrees N and below 35 degrees S Latitude

ER-AK = 1.0,0.04,1.5,1.0,0.5,10.0,106.26,1.01,1.0,159.0,1.03,0.13,2.27,1.0,1.27,6.88,55.72,1.03,1.0,159.0,1.85,1.91,12.73,1.0,11.73,3.1,13.2,2.66,1.06,159.0,18.79,15.63,58.67,1.0,57.67,0.67,2.37,24.41,14.51,159.0,16.44,8.96,36.21,1.0,35.21,-0.08,2.13,18.71,16.54,159.0,23.91,13.22,74.68,4.8,69.88,1.32,4.65,27.3,20.29,159.0,68.74,23.26,154.02,22.35,131.68,0.55,3.53,72.55,65.56,159.0,91.73,22.8,145.01,52.0,93.01,0.21,2.15,94.5,89.66,159.0,21.65,18.14,100.97,2.96,98.01,2.16,8.14,28.21,16.44,159.0,16.17,9.88,46.09,1.03,45.06,1.06,3.45,18.93,13.44,159.0,1.57,1.24,7.1,1.0,6.1,2.29,7.65,2.0,1.0,159.0,3.89,2.32,23.03,1.57,21.46,5.08,36.45,4.52,3.3,159.0
ER-AKG = 1.28,0.34,2.06,1.0,1.06,0.92,2.59,1.32,1.16,41.0,2.48,1.11,4.66,1.0,3.66,0.1,1.77,2.71,2.25,41.0,85.51,44.69,227.97,16.53,211.44,1.0,4.52,96.23,80.09,41.0,40.36,15.05,76.6,10.51,66.09,-0.04,3.03,43.01,42.54,41.0,29.8,10.88,66.19,12.58,53.61,1.24,4.8,31.68,27.39,41.0,29.67,19.18,68.72,4.16,64.56,0.5,1.92,35.2,23.0,41.0,83.79,29.5,130.61,24.77,105.84,-0.23,2.13,88.72,84.26,41.0,119.18,27.9,163.6,36.66,126.94,-1.07,3.88,122.32,124.25,41.0,41.45,22.45,104.49,16.04,88.45,1.03,3.27,47.01,36.0,41.0,24.65,9.68,48.96,9.02,39.94,0.92,3.34,26.45,22.26,41.0,3.9,2.43,11.99,1.0,10.99,0.76,4.02,4.59,3.66,41.0,12.35,5.43,27.43,4.77,22.66,0.69,2.88,13.47,11.65,41.0
ER-AS = 1.04,0.15,2.26,1.0,1.26,5.23,34.08,1.05,1.0,176.0,1.1,0.38,3.55,1.0,2.55,4.42,23.52,1.16,1.0,176.0,92.02,66.22,249.56,1.06,248.5,0.22,1.99,113.26,92.4,176.0,14.64,7.93,40.85,1.0,39.85,0.6,3.19,16.64,13.76,176.0,13.67,9.53,42.1,1.0,41.1,0.67,2.69,16.64,11.41,176.0,14.01,14.27,48.73,1.0,47.73,0.59,1.83,19.97,7.36,176.0,12.31,7.12,50.46,1.0,49.46,1.5,7.5,14.21,11.07,176.0,59.44,24.09,116.72,9.08,107.64,0.03,2.65,64.11,61.53,176.0,31.87,26.9,136.52,1.0,135.52,1.48,5.26,41.65,25.95,176.0,9.68,12.38,52.0,1.0,51.0,1.42,3.83,15.69,2.89,176.0,1.3,0.9,8.77,1.0,7.77,5.04,34.13,1.58,1.0,176.0,4.06,3.38,21.04,1.02,20.02,2.31,9.04,5.28,3.04,176.0
ER-DK = 1.8,1.24,6.25,1.0,5.25,1.79,5.75,2.18,1.02,68.0,1.68,0.66,3.55,1.0,2.55,1.02,3.62,1.8,1.6,68.0,13.32,18.25,81.75,1.0,80.75,2.14,6.88,22.49,6.02,68.0,23.67,15.21,73.46,1.77,71.69,1.06,3.92,28.08,20.09,68.0,3.91,3.93,15.72,1.0,14.72,1.24,3.4,5.52,1.57,68.0,5.14,7.28,34.55,1.0,33.55,2.28,8.06,8.87,1.02,68.0,22.22,20.82,87.19,1.94,85.25,1.75,5.16,30.35,12.61,68.0,50.38,24.35,121.0,8.97,112.04,0.93,3.79,55.87,47.44,68.0,7.03,10.41,39.64,1.0,38.64,1.72,4.86,12.5,1.39,68.0,8.14,9.67,42.54,1.0,41.54,1.53,4.75,12.58,2.67,68.0,3.21,4.96,34.53,1.0,33.53,4.34,25.63,5.88,1.0,68.0,19.19,30.35,158.74,1.0,157.74,2.63,10.05,35.72,6.57,68.0
ER-GAS = 1.0,0.0,1.0,1.0,0.0,NaN,NaN,1.0,1.0,96.0,1.1,0.32,2.96,1.0,1.96,3.85,18.34,1.14,1.0,96.0,1.9,1.35,8.01,1.0,7.01,2.27,8.25,2.32,1.33,96.0,10.13,5.79,26.53,2.68,23.85,0.8,3.01,11.65,9.57,96.0,34.05,12.39,72.46,18.65,53.81,0.95,3.33,36.21,30.86,96.0,59.25,29.02,124.71,16.56,108.15,0.51,2.03,65.91,50.54,96.0,116.9,21.61,163.6,70.31,93.29,0.03,2.47,118.86,118.41,96.0,116.56,15.83,179.1,88.41,90.69,1.4,6.02,117.62,113.69,96.0,74.61,27.09,145.01,13.89,131.11,0.04,2.71,79.33,75.35,96.0,31.59,11.73,59.1,7.35,51.75,0.4,2.58,33.68,30.09,96.0,2.53,1.57,8.67,1.0,7.67,1.41,5.52,2.98,2.47,96.0,3.01,1.44,7.32,1.24,6.09,1.15,4.21,3.33,2.83,96.0
ER-HA = 2.72,3.05,11.51,1.0,10.51,1.8,5.35,4.01,1.0,16.0,1.33,0.48,2.63,1.0,1.63,1.54,4.36,1.41,1.1,16.0,22.88,8.82,46.09,11.39,34.7,1.19,4.19,24.42,21.03,16.0,66.47,12.2,97.97,48.15,49.82,1.01,4.03,67.51,64.13,16.0,17.74,2.29,22.35,12.6,9.75,-0.14,3.35,17.88,17.6,16.0,40.78,10.23,53.04,23.55,29.49,-0.27,1.63,41.97,41.38,16.0,105.8,11.74,126.96,85.62,41.34,0.05,2.05,106.41,104.84,16.0,76.59,15.52,107.92,58.67,49.25,0.6,2.22,78.05,71.7,16.0,35.47,9.86,56.93,21.65,35.27,0.75,2.58,36.74,32.41,16.0,22.2,11.29,52.0,9.6,42.4,1.17,4.03,24.75,19.17,16.0,20.7,17.0,66.19,4.39,61.8,1.37,4.26,26.45,16.71,16.0,21.14,7.64,43.39,13.79,29.6,1.5,5.47,22.39,20.59,16.0
ER-KE = 1.43,1.07,6.32,1.0,5.32,3.57,15.59,1.78,1.0,32.0,1.58,0.69,2.96,1.0,1.96,0.63,1.84,1.72,1.02,32.0,8.99,4.08,17.56,1.98,15.57,0.36,2.28,9.85,8.45,32.0,34.86,10.88,55.23,15.69,39.54,0.03,2.41,36.46,35.66,32.0,21.57,7.88,35.13,11.17,23.97,0.14,1.54,22.92,20.55,32.0,26.64,19.69,74.71,5.75,68.96,1.39,3.6,32.94,18.58,32.0,66.5,14.93,86.84,28.45,58.39,-0.66,2.81,68.1,68.5,32.0,55.31,18.34,99.09,35.13,63.95,0.93,2.67,58.18,49.59,32.0,10.09,5.89,29.24,1.0,28.24,1.29,4.79,11.63,8.1,32.0,19.62,8.86,44.66,7.13,37.53,1.05,3.57,21.47,17.56,32.0,4.06,6.58,33.6,1.0,32.6,3.32,14.46,7.64,1.0,32.0,7.13,4.53,27.28,3.99,23.29,3.24,14.08,8.41,5.97,32.0
ER-SA = 1.0,0.0,1.0,1.0,0.0,NaN,NaN,1.0,1.0,99.0,1.03,0.13,1.98,1.0,0.98,5.36,34.3,1.04,1.0,99.0,11.27,7.94,35.13,1.0,34.13,0.75,2.94,13.76,10.33,99.0,38.82,28.74,100.97,1.0,99.97,0.69,2.45,48.22,30.68,99.0,14.53,9.88,44.72,1.0,43.72,0.6,2.66,17.54,12.63,99.0,19.94,20.55,76.97,1.0,75.97,1.33,3.87,28.56,12.22,99.0,35.07,22.79,89.5,4.93,84.56,0.54,2.06,41.76,29.57,99.0,57.16,29.44,132.46,5.82,126.65,0.1,2.34,64.23,58.67,99.0,5.81,8.05,47.5,1.0,46.5,2.43,10.29,9.9,1.64,99.0,10.07,10.18,47.5,1.0,46.5,1.33,4.29,14.28,6.3,99.0,5.75,9.18,47.5,1.0,46.5,2.66,9.85,10.8,2.05,99.0,15.41,15.14,74.68,3.72,70.96,1.67,5.39,21.55,8.12,99.0
ER-SE = 1.02,0.06,1.31,1.0,0.31,3.44,14.63,1.02,1.0,35.0,1.6,0.99,4.66,1.0,3.66,1.74,4.93,1.87,1.11,35.0,8.2,3.27,17.77,2.69,15.08,0.9,3.79,8.81,7.91,35.0,24.27,12.68,64.23,7.32,56.9,1.25,4.52,27.3,20.71,35.0,23.2,9.07,49.63,12.99,36.65,1.26,4.09,24.86,21.05,35.0,81.67,15.16,113.92,42.1,71.82,-0.44,3.08,83.02,84.26,35.0,151.28,13.15,173.77,124.71,49.07,-0.22,1.96,151.84,151.14,35.0,124.45,19.75,158.74,95.06,63.68,-0.13,1.71,125.97,131.21,35.0,40.36,19.58,92.24,18.86,73.38,0.9,2.82,44.73,34.09,35.0,18.83,10.0,43.14,5.1,38.04,0.67,2.67,21.25,17.86,35.0,5.36,2.03,8.77,1.2,7.57,-0.34,2.21,5.72,5.44,35.0,17.64,10.2,50.46,3.66,46.8,1.04,4.21,20.31,15.04,35.0
