# COG.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 = COG vegetation data for 2008 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=2008

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

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

CG-10 = 0.5,0.06,0.67,0.34,0.32,0.02,2.33,0.5,0.49,406.0,0.7,0.03,0.79,0.64,0.15,0.88,4.1,0.7,0.69,406.0,0.67,0.05,0.86,0.54,0.32,0.59,3.83,0.67,0.67,406.0,0.73,0.04,0.85,0.61,0.24,-0.15,3.94,0.73,0.73,406.0,0.61,0.08,0.75,0.38,0.38,-0.72,2.81,0.62,0.63,406.0,0.58,0.05,0.71,0.44,0.27,0.02,2.45,0.58,0.57,406.0,0.5,0.06,0.68,0.36,0.32,0.74,3.33,0.5,0.49,406.0,0.49,0.09,0.76,0.33,0.43,0.93,3.01,0.5,0.46,406.0,0.49,0.08,0.71,0.29,0.42,0.29,2.79,0.49,0.48,406.0,0.45,0.11,0.67,0.26,0.41,0.4,2.03,0.46,0.44,406.0,0.62,0.07,0.76,0.42,0.34,-0.39,2.63,0.62,0.62,406.0,0.61,0.06,0.76,0.44,0.32,-0.14,2.92,0.61,0.61,406.0
CG-12 = 0.55,0.06,0.71,0.31,0.4,-0.45,3.81,0.56,0.56,1142.0,0.63,0.07,0.79,0.38,0.41,-0.33,2.88,0.63,0.63,1142.0,0.61,0.06,0.84,0.35,0.49,0.0,4.66,0.62,0.61,1142.0,0.67,0.05,0.83,0.45,0.38,-0.32,3.66,0.68,0.68,1142.0,0.6,0.08,0.79,0.4,0.39,-0.44,2.86,0.6,0.61,1142.0,0.52,0.1,0.77,0.25,0.52,-0.68,3.09,0.53,0.55,1142.0,0.5,0.07,0.73,0.29,0.44,0.46,3.24,0.5,0.49,1142.0,0.53,0.07,0.79,0.27,0.52,0.39,4.18,0.53,0.52,1142.0,0.59,0.07,0.78,0.33,0.44,-0.35,3.78,0.59,0.59,1142.0,0.6,0.1,0.81,0.31,0.5,-0.77,2.81,0.61,0.63,1142.0,0.59,0.06,0.76,0.4,0.35,0.15,3.32,0.59,0.58,1142.0,0.61,0.05,0.75,0.43,0.32,-0.24,3.09,0.62,0.62,1142.0
CG-14 = 0.41,0.06,0.61,0.22,0.39,-0.19,3.08,0.42,0.41,438.0,0.7,0.06,0.8,0.4,0.4,-1.2,5.9,0.7,0.71,438.0,0.64,0.07,0.8,0.4,0.4,-0.63,3.29,0.64,0.65,438.0,0.77,0.09,0.89,0.43,0.46,-0.46,2.66,0.77,0.77,438.0,0.61,0.09,0.83,0.37,0.46,0.47,2.56,0.62,0.6,438.0,0.58,0.08,0.83,0.34,0.49,0.39,3.57,0.59,0.58,438.0,0.67,0.1,0.8,0.29,0.52,-1.18,3.83,0.68,0.71,438.0,0.39,0.09,0.6,0.16,0.44,-0.4,2.47,0.4,0.4,438.0,0.28,0.11,0.67,0.11,0.56,1.24,4.21,0.3,0.25,438.0,0.31,0.08,0.51,0.12,0.39,0.19,2.35,0.32,0.31,438.0,0.32,0.05,0.54,0.17,0.37,0.34,3.39,0.32,0.32,438.0,0.42,0.06,0.6,0.28,0.33,0.27,2.91,0.43,0.42,438.0
CG-2 = 0.45,0.09,0.7,0.26,0.44,0.28,2.62,0.46,0.44,693.0,0.72,0.06,0.82,0.5,0.32,-1.31,4.66,0.72,0.74,693.0,0.74,0.07,0.88,0.53,0.35,-0.65,3.41,0.75,0.75,693.0,0.82,0.06,0.9,0.63,0.27,-1.05,3.89,0.82,0.83,693.0,0.66,0.11,0.88,0.4,0.48,-0.04,2.16,0.67,0.66,693.0,0.56,0.1,0.78,0.3,0.49,-0.49,2.96,0.57,0.57,693.0,0.58,0.1,0.78,0.33,0.44,-0.25,2.46,0.59,0.59,693.0,0.56,0.12,0.82,0.18,0.64,-0.18,2.87,0.57,0.56,693.0,0.46,0.11,0.75,0.23,0.52,0.35,2.45,0.47,0.44,693.0,0.55,0.13,0.86,0.25,0.61,-0.06,2.11,0.57,0.56,693.0,0.53,0.08,0.75,0.34,0.41,-0.27,2.57,0.54,0.54,693.0,0.46,0.07,0.64,0.27,0.37,-0.07,2.33,0.47,0.46,693.0
CG-3 = 0.72,0.07,0.82,0.42,0.4,-1.27,4.64,0.72,0.73,1884.0,0.74,0.03,0.81,0.64,0.17,-0.02,2.71,0.74,0.74,1884.0,0.79,0.04,0.86,0.62,0.24,-0.79,3.3,0.79,0.8,1884.0,0.83,0.03,0.9,0.7,0.2,-0.56,3.05,0.83,0.83,1884.0,0.79,0.08,0.89,0.56,0.33,-0.85,2.62,0.79,0.81,1884.0,0.76,0.09,0.87,0.44,0.43,-1.27,3.62,0.76,0.79,1884.0,0.69,0.15,0.85,0.31,0.54,-0.98,2.41,0.71,0.77,1884.0,0.7,0.13,0.86,0.31,0.56,-0.59,2.1,0.71,0.73,1884.0,0.76,0.1,0.87,0.42,0.45,-1.34,3.69,0.77,0.81,1884.0,0.82,0.08,0.9,0.48,0.42,-1.9,6.2,0.82,0.85,1884.0,0.76,0.04,0.86,0.59,0.27,-0.41,2.81,0.76,0.76,1884.0,0.71,0.04,0.82,0.55,0.27,-1.05,4.89,0.71,0.72,1884.0
CG-4 = 0.59,0.06,0.77,0.31,0.46,0.23,3.41,0.6,0.59,1287.0,0.58,0.07,0.78,0.3,0.48,0.36,3.09,0.59,0.57,1287.0,0.6,0.07,0.81,0.31,0.5,0.38,3.31,0.6,0.59,1287.0,0.65,0.06,0.81,0.31,0.5,-0.13,3.71,0.66,0.65,1287.0,0.64,0.06,0.81,0.31,0.5,-0.32,5.12,0.64,0.63,1287.0,0.6,0.08,0.81,0.27,0.54,0.25,2.73,0.6,0.58,1287.0,0.56,0.09,0.81,0.28,0.52,0.22,2.57,0.56,0.54,1287.0,0.6,0.08,0.81,0.29,0.53,-0.17,3.05,0.6,0.6,1287.0,0.64,0.07,0.82,0.33,0.49,0.06,3.02,0.64,0.63,1287.0,0.64,0.07,0.83,0.33,0.5,0.19,3.1,0.64,0.63,1287.0,0.61,0.06,0.83,0.39,0.44,0.28,2.97,0.62,0.61,1287.0,0.62,0.05,0.8,0.37,0.43,0.15,3.63,0.63,0.62,1287.0
CG-7 = 0.7,0.04,0.79,0.5,0.28,-0.6,3.43,0.7,0.7,2166.0,0.75,0.05,0.81,0.51,0.3,-1.23,4.59,0.75,0.75,2166.0,0.79,0.04,0.84,0.48,0.36,-2.02,8.48,0.79,0.8,2166.0,0.8,0.04,0.88,0.52,0.36,-1.15,5.47,0.8,0.81,2166.0,0.81,0.04,0.89,0.59,0.3,-0.87,4.24,0.81,0.82,2166.0,0.8,0.04,0.86,0.51,0.35,-1.54,7.54,0.8,0.81,2166.0,0.76,0.05,0.86,0.55,0.31,-0.98,3.98,0.76,0.77,2166.0,0.8,0.05,0.88,0.53,0.35,-0.99,3.88,0.8,0.81,2166.0,0.79,0.04,0.86,0.53,0.33,-0.92,4.6,0.79,0.8,2166.0,0.86,0.05,0.9,0.55,0.35,-1.49,5.18,0.86,0.88,2166.0,0.76,0.05,0.84,0.57,0.27,-0.68,2.55,0.76,0.77,2166.0,0.72,0.04,0.79,0.49,0.3,-1.42,5.56,0.72,0.73,2166.0
CG-8 = 0.68,0.08,0.81,0.45,0.36,-0.91,3.08,0.69,0.7,2258.0,0.7,0.08,0.81,0.42,0.39,-1.25,3.96,0.71,0.73,2258.0,0.73,0.09,0.85,0.42,0.44,-1.24,3.96,0.74,0.76,2258.0,0.76,0.08,0.89,0.5,0.4,-0.78,3.38,0.76,0.77,2258.0,0.74,0.08,0.87,0.41,0.46,-1.03,3.71,0.75,0.76,2258.0,0.73,0.08,0.84,0.42,0.41,-1.37,4.47,0.73,0.75,2258.0,0.71,0.09,0.85,0.39,0.45,-1.25,3.92,0.72,0.74,2258.0,0.64,0.13,0.86,0.31,0.55,-0.37,2.12,0.65,0.66,2258.0,0.69,0.1,0.87,0.36,0.52,-0.85,3.37,0.7,0.71,2258.0,0.72,0.1,0.88,0.4,0.48,-0.77,2.92,0.73,0.74,2258.0,0.7,0.08,0.87,0.42,0.45,-0.83,3.32,0.7,0.71,2258.0,0.68,0.07,0.81,0.44,0.36,-0.73,3.24,0.68,0.68,2258.0
CG-9 = 0.43,0.08,0.6,0.25,0.35,-0.04,2.09,0.43,0.43,828.0,0.73,0.04,0.82,0.62,0.19,-0.2,2.61,0.73,0.73,828.0,0.68,0.06,0.84,0.48,0.36,0.5,2.69,0.68,0.66,828.0,0.8,0.07,0.9,0.61,0.29,-0.38,1.94,0.81,0.82,828.0,0.68,0.1,0.88,0.46,0.42,0.01,2.17,0.68,0.68,828.0,0.55,0.13,0.81,0.18,0.63,-0.37,2.7,0.57,0.56,828.0,0.57,0.11,0.78,0.26,0.52,-0.21,2.28,0.58,0.58,828.0,0.4,0.11,0.7,0.09,0.61,-0.33,3.21,0.41,0.41,828.0,0.42,0.1,0.69,0.14,0.55,-0.25,2.45,0.44,0.44,828.0,0.47,0.12,0.83,0.24,0.59,0.48,2.69,0.49,0.46,828.0,0.43,0.09,0.7,0.22,0.48,0.37,2.68,0.44,0.42,828.0,0.48,0.1,0.7,0.26,0.44,0.0,1.99,0.49,0.48,828.0
