# COM.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 = COM vegetation data for 2002 at admin level 2

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

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

# ISO3166-1 alpha3 code for the country
ISOKEY = COM
ADMIN_LEVEL = 2
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

KM-G-G020001 = 0.59,0.06,0.73,0.47,0.26,0.5,2.74,0.59,0.58,32.0,0.69,0.06,0.75,0.52,0.22,-1.27,3.6,0.69,0.71,32.0,0.69,0.06,0.8,0.55,0.25,0.17,3.37,0.69,0.69,32.0,0.77,0.04,0.83,0.64,0.19,-1.19,4.47,0.77,0.78,32.0,0.76,0.05,0.83,0.64,0.19,-0.33,2.32,0.76,0.76,32.0,0.76,0.06,0.85,0.61,0.24,-0.36,2.58,0.76,0.76,32.0,0.72,0.06,0.8,0.59,0.2,-0.38,2.36,0.72,0.73,32.0,0.66,0.05,0.76,0.57,0.19,0.27,2.4,0.67,0.66,32.0,0.63,0.06,0.75,0.51,0.24,0.47,2.87,0.64,0.63,32.0,0.62,0.06,0.74,0.46,0.28,-0.49,3.48,0.63,0.63,32.0,0.63,0.05,0.73,0.51,0.22,-0.66,3.86,0.64,0.64,32.0,0.67,0.04,0.75,0.57,0.18,-0.52,3.71,0.67,0.67,32.0
KM-ILM-G030001 = 0.66,0.06,0.72,0.51,0.21,-1.88,6.02,0.67,0.68,12.0,0.73,0.04,0.77,0.64,0.13,-0.67,2.27,0.73,0.74,12.0,0.71,0.05,0.76,0.6,0.16,-0.91,3.09,0.71,0.72,12.0,0.76,0.06,0.85,0.62,0.23,-0.8,3.24,0.76,0.77,12.0,0.77,0.06,0.83,0.61,0.22,-1.55,5.34,0.77,0.78,12.0,0.73,0.06,0.81,0.66,0.16,-0.19,1.49,0.74,0.74,12.0,0.72,0.04,0.78,0.64,0.15,-0.58,2.6,0.72,0.73,12.0,0.66,0.05,0.71,0.55,0.16,-0.77,2.34,0.66,0.67,12.0,0.57,0.07,0.63,0.44,0.19,-0.45,1.69,0.57,0.6,12.0,0.61,0.06,0.72,0.53,0.19,0.45,1.9,0.61,0.6,12.0,0.61,0.06,0.67,0.47,0.19,-1.13,3.59,0.62,0.64,12.0,0.7,0.06,0.75,0.57,0.18,-0.76,2.44,0.7,0.73,12.0
KM-M-G040001 = 0.66,0.14,0.81,0.49,0.33,-0.23,1.17,0.67,0.73,7.0,0.66,0.14,0.82,0.48,0.34,-0.3,1.37,0.68,0.74,7.0,0.7,0.11,0.8,0.55,0.25,-0.3,1.17,0.71,0.77,7.0,0.69,0.06,0.77,0.64,0.13,0.21,1.35,0.7,0.69,7.0,0.68,0.15,0.84,0.52,0.32,-0.2,1.15,0.7,0.75,7.0,0.69,0.18,0.88,0.47,0.41,-0.25,1.19,0.71,0.79,7.0,0.72,0.13,0.86,0.57,0.29,-0.19,1.15,0.73,0.78,7.0,0.66,0.15,0.81,0.46,0.35,-0.27,1.21,0.67,0.73,7.0,0.63,0.13,0.76,0.48,0.28,-0.22,1.14,0.64,0.69,7.0,0.55,0.09,0.66,0.44,0.22,-0.18,1.47,0.56,0.57,7.0,0.62,0.14,0.76,0.44,0.32,-0.3,1.19,0.64,0.71,7.0,0.68,0.15,0.83,0.52,0.3,-0.24,1.12,0.7,0.76,7.0
KM-NZ-G050001 = 0.6,0.06,0.66,0.51,0.15,-0.71,2.08,0.61,0.62,13.0,0.72,0.06,0.8,0.63,0.17,-0.46,1.71,0.72,0.74,13.0,0.73,0.07,0.86,0.59,0.27,-0.26,3.12,0.73,0.75,13.0,0.73,0.04,0.77,0.66,0.1,-0.79,1.72,0.73,0.75,13.0,0.77,0.06,0.83,0.68,0.15,-0.65,1.76,0.77,0.8,13.0,0.77,0.06,0.84,0.68,0.17,-0.47,1.6,0.78,0.8,13.0,0.73,0.05,0.81,0.67,0.14,-0.08,1.71,0.73,0.73,13.0,0.67,0.07,0.75,0.58,0.17,-0.38,1.32,0.68,0.71,13.0,0.59,0.05,0.65,0.53,0.12,-0.21,1.5,0.59,0.61,13.0,0.6,0.07,0.71,0.46,0.25,-0.22,2.57,0.61,0.59,13.0,0.61,0.07,0.73,0.51,0.22,-0.18,1.83,0.62,0.62,13.0,0.63,0.07,0.77,0.54,0.24,0.41,2.12,0.64,0.63,13.0
