# ARE.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 vegetation data file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.EarthPropertyFileSpecification

# The title
TITLE = ARE vegetation data for 2009 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=2009

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

# ISO3166-1 alpha3 code for the country
ISOKEY = ARE
ADMIN_LEVEL = 1
UNITS = UNITS
DATA_TYPE = vegetation

# 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: 0.9 
# Minimum: -0.1

AE-AJ = 0.12,0.02,0.15,0.09,0.06,-0.28,1.71,0.12,0.13,9.0,0.12,0.02,0.14,0.09,0.06,-0.19,1.62,0.12,0.12,9.0,0.11,0.02,0.14,0.09,0.06,0.02,1.83,0.11,0.11,9.0,0.12,0.02,0.14,0.09,0.05,-0.2,1.96,0.12,0.12,9.0,0.11,0.02,0.14,0.08,0.06,0.18,1.76,0.11,0.1,9.0,0.1,0.02,0.13,0.07,0.06,-0.03,1.75,0.1,0.1,9.0,0.09,0.02,0.12,0.06,0.06,-0.12,1.55,0.1,0.1,9.0,0.1,0.02,0.13,0.07,0.06,0.06,1.64,0.1,0.1,9.0,0.11,0.02,0.14,0.08,0.06,0.07,1.72,0.11,0.11,9.0,0.1,0.02,0.14,0.08,0.06,0.14,1.75,0.11,0.1,9.0,0.11,0.02,0.13,0.08,0.05,-0.07,1.72,0.11,0.11,9.0,0.13,0.02,0.16,0.09,0.06,-0.34,1.98,0.13,0.13,9.0
AE-AZ = 0.1,0.02,0.23,-0.04,0.27,-0.45,7.07,0.11,0.11,2430.0,0.1,0.02,0.2,-0.1,0.3,-1.28,9.2,0.11,0.11,2432.0,0.11,0.02,0.17,-0.07,0.24,-1.26,8.21,0.11,0.11,2430.0,0.1,0.02,0.28,-0.08,0.35,-0.21,13.43,0.1,0.1,2425.0,0.1,0.02,0.24,-0.1,0.34,-1.0,9.82,0.11,0.11,2428.0,0.1,0.02,0.16,-0.1,0.26,-1.29,8.07,0.11,0.1,2422.0,0.1,0.02,0.15,-0.1,0.25,-2.0,12.39,0.1,0.1,2432.0,0.1,0.02,0.15,-0.1,0.25,-1.58,10.14,0.1,0.1,2430.0,0.1,0.02,0.16,-0.04,0.2,-1.28,7.51,0.1,0.1,2425.0,0.1,0.02,0.16,-0.1,0.26,-1.65,10.88,0.1,0.1,2422.0,0.1,0.02,0.51,-0.08,0.59,1.03,37.35,0.1,0.1,2427.0,0.1,0.02,0.18,-0.04,0.22,-0.67,6.11,0.1,0.1,2435.0
AE-DU = 0.11,0.01,0.13,0.09,0.05,0.34,2.31,0.11,0.1,144.0,0.11,0.01,0.13,0.08,0.05,-0.1,2.54,0.11,0.1,144.0,0.11,0.01,0.13,0.08,0.05,0.14,2.53,0.11,0.11,144.0,0.11,0.01,0.13,0.08,0.05,0.04,2.48,0.11,0.1,144.0,0.1,0.01,0.13,0.08,0.05,-0.16,2.88,0.11,0.1,144.0,0.1,0.01,0.12,0.08,0.05,-0.31,3.23,0.1,0.1,144.0,0.1,0.01,0.12,0.06,0.06,-0.64,4.16,0.1,0.1,144.0,0.1,0.01,0.12,0.07,0.05,-0.44,2.72,0.1,0.1,144.0,0.1,0.01,0.12,0.07,0.05,-0.13,2.7,0.1,0.1,144.0,0.1,0.01,0.12,0.07,0.05,-0.34,2.99,0.1,0.1,144.0,0.1,0.01,0.12,0.07,0.05,0.03,2.32,0.1,0.1,144.0,0.11,0.01,0.14,0.09,0.06,0.41,2.34,0.11,0.11,144.0
AE-FU = 0.09,0.01,0.12,0.07,0.06,0.08,2.47,0.09,0.09,58.0,0.09,0.01,0.13,0.06,0.07,0.24,3.04,0.09,0.09,58.0,0.09,0.01,0.11,0.06,0.06,-0.26,2.09,0.09,0.09,58.0,0.1,0.01,0.12,0.07,0.05,-0.38,1.94,0.1,0.1,58.0,0.08,0.01,0.11,0.05,0.06,-0.43,2.19,0.08,0.08,58.0,0.07,0.01,0.1,0.05,0.05,0.03,2.2,0.07,0.07,58.0,0.06,0.01,0.09,0.04,0.06,0.82,3.77,0.06,0.06,58.0,0.07,0.01,0.09,0.04,0.05,0.13,1.91,0.07,0.07,58.0,0.07,0.01,0.1,0.05,0.06,-0.35,2.15,0.08,0.08,58.0,0.07,0.01,0.1,0.04,0.06,-0.56,2.73,0.08,0.08,58.0,0.08,0.01,0.1,0.05,0.05,-0.2,2.83,0.08,0.08,58.0,0.1,0.01,0.13,0.07,0.06,0.53,3.56,0.1,0.1,58.0
AE-NEU = 0.1,0.02,0.13,0.09,0.05,0.69,1.61,0.1,0.09,6.0,0.1,0.02,0.13,0.09,0.04,0.68,1.62,0.1,0.09,6.0,0.1,0.02,0.13,0.09,0.05,0.69,1.58,0.11,0.09,6.0,0.11,0.01,0.13,0.1,0.03,0.65,1.63,0.11,0.1,6.0,0.1,0.02,0.13,0.08,0.05,0.72,1.56,0.1,0.08,6.0,0.09,0.02,0.13,0.07,0.05,0.71,1.57,0.09,0.08,6.0,0.08,0.03,0.12,0.05,0.06,0.68,1.51,0.08,0.06,6.0,0.08,0.03,0.12,0.07,0.05,0.71,1.55,0.09,0.07,6.0,0.09,0.02,0.12,0.08,0.05,0.68,1.6,0.09,0.08,6.0,0.09,0.02,0.12,0.07,0.05,0.68,1.53,0.09,0.07,6.0,0.09,0.02,0.12,0.07,0.05,0.68,1.56,0.09,0.08,6.0,0.1,0.01,0.13,0.09,0.03,0.74,1.77,0.11,0.1,6.0
AE-RK = 0.12,0.04,0.23,0.07,0.16,0.82,2.81,0.12,0.11,104.0,0.12,0.04,0.25,0.07,0.18,0.89,3.07,0.13,0.11,104.0,0.11,0.03,0.2,0.07,0.13,0.52,2.59,0.11,0.1,104.0,0.11,0.03,0.2,0.07,0.13,0.48,2.95,0.12,0.11,104.0,0.1,0.03,0.17,0.06,0.11,0.53,2.42,0.1,0.09,104.0,0.09,0.03,0.16,0.05,0.11,0.47,2.25,0.09,0.08,104.0,0.08,0.03,0.15,0.04,0.11,0.45,2.12,0.08,0.08,104.0,0.09,0.02,0.15,0.05,0.1,0.51,2.29,0.09,0.08,104.0,0.09,0.02,0.16,0.05,0.1,0.6,2.39,0.09,0.09,104.0,0.09,0.02,0.16,0.05,0.11,0.56,2.4,0.09,0.09,104.0,0.09,0.02,0.16,0.06,0.1,0.7,2.64,0.1,0.09,104.0,0.12,0.03,0.23,0.08,0.16,0.93,3.5,0.12,0.11,104.0
AE-SH = 0.12,0.01,0.14,0.08,0.07,-1.08,4.11,0.12,0.12,92.0,0.12,0.01,0.14,0.07,0.07,-1.27,4.23,0.12,0.12,92.0,0.12,0.02,0.15,0.07,0.08,-1.25,4.39,0.12,0.12,92.0,0.12,0.01,0.14,0.08,0.06,-1.1,4.25,0.12,0.12,92.0,0.11,0.02,0.14,0.07,0.07,-1.26,3.88,0.11,0.12,92.0,0.11,0.02,0.14,0.05,0.09,-1.45,4.54,0.11,0.12,92.0,0.1,0.02,0.13,0.05,0.09,-1.67,5.16,0.11,0.11,92.0,0.11,0.02,0.13,0.06,0.07,-1.4,4.53,0.11,0.11,92.0,0.11,0.01,0.14,0.07,0.07,-1.32,4.08,0.11,0.12,92.0,0.11,0.01,0.14,0.08,0.06,-0.9,3.1,0.11,0.12,92.0,0.11,0.01,0.14,0.07,0.07,-1.1,3.72,0.11,0.12,92.0,0.12,0.01,0.15,0.08,0.07,-1.19,3.96,0.13,0.13,92.0
AE-UQ = 0.13,0.02,0.15,0.09,0.07,-1.27,4.4,0.13,0.13,42.0,0.12,0.04,0.16,0.01,0.15,-2.3,7.22,0.13,0.13,42.0,0.11,0.04,0.14,0.0,0.13,-2.43,7.5,0.11,0.12,42.0,0.12,0.01,0.13,0.1,0.03,-0.86,2.35,0.12,0.12,38.0,0.11,0.03,0.13,0.03,0.11,-2.56,7.95,0.12,0.12,42.0,0.11,0.02,0.12,0.05,0.07,-1.51,4.35,0.11,0.11,42.0,0.1,0.03,0.12,0.02,0.1,-2.28,7.0,0.1,0.11,42.0,0.1,0.02,0.12,0.06,0.07,-1.26,3.58,0.1,0.11,42.0,0.11,0.01,0.13,0.08,0.06,-1.2,3.48,0.11,0.12,42.0,0.11,0.02,0.13,0.05,0.08,-1.64,4.78,0.11,0.12,42.0,0.12,0.01,0.14,0.09,0.04,-0.18,2.8,0.12,0.12,42.0,0.13,0.02,0.15,0.08,0.07,-1.63,4.81,0.13,0.14,42.0
