# GNQ.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 = GNQ vegetation 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 = GNQ
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

GQ-AN = 0.09,NaN,0.09,0.09,0.0,NaN,-1.310985582975E10,0.09,0.09,2.0,0.19,0.0,0.19,0.19,0.0,82268.49,-2.141374090483E10,0.19,0.19,2.0,0.25,0.0,0.25,0.25,0.0,-98390.48,-1.873581109673E10,0.25,0.25,2.0,0.34,NaN,0.34,0.34,0.0,NaN,-4.110836645672E10,0.34,0.34,2.0,0.36,0.0,0.36,0.36,0.0,1.421052987E7,-2.594810666828229E13,0.36,0.36,2.0,0.35,0.0,0.35,0.35,0.0,-526067.28,3.319303612348E10,0.35,0.35,2.0,0.15,NaN,0.15,0.15,0.0,NaN,7321122.35,0.15,0.15,2.0,0.33,0.0,0.33,0.33,0.0,-160030.84,9.572793065E8,0.33,0.33,2.0,0.25,0.0,0.25,0.25,0.0,-108805.57,-5.205821175147E10,0.25,0.25,2.0,0.13,0.0,0.13,0.13,0.0,-3039876.46,8.3960286047793E11,0.13,0.13,2.0,0.22,NaN,0.22,0.22,0.0,NaN,2.847512995562E10,0.22,0.22,2.0,0.28,NaN,0.28,0.28,0.0,NaN,-3.432378179725E10,0.28,0.28,2.0
GQ-BN = 0.56,0.11,0.71,0.26,0.45,-0.89,3.28,0.57,0.61,21.0,0.6,0.13,0.77,0.28,0.5,-0.67,3.2,0.61,0.62,21.0,0.54,0.08,0.7,0.32,0.37,-0.79,4.86,0.55,0.54,21.0,0.57,0.06,0.69,0.44,0.25,-0.12,3.15,0.57,0.57,21.0,0.45,0.06,0.56,0.33,0.23,-0.19,2.28,0.46,0.46,21.0,0.21,0.04,0.28,0.12,0.16,-0.08,2.28,0.21,0.21,21.0,0.29,0.08,0.44,0.16,0.27,-0.21,2.29,0.3,0.3,21.0,0.25,0.08,0.43,0.12,0.3,0.42,2.4,0.26,0.23,21.0,0.32,0.08,0.48,0.19,0.29,0.14,2.01,0.33,0.31,21.0,0.31,0.06,0.42,0.22,0.2,0.26,2.08,0.31,0.31,21.0,0.38,0.07,0.52,0.27,0.25,0.23,2.35,0.39,0.37,21.0,0.53,0.06,0.64,0.44,0.2,-0.15,1.81,0.54,0.54,21.0
GQ-BS = 0.56,0.08,0.68,0.38,0.31,-0.58,2.75,0.57,0.57,45.0,0.53,0.07,0.65,0.39,0.26,-0.2,1.96,0.53,0.54,45.0,0.54,0.09,0.76,0.29,0.47,-0.36,3.18,0.55,0.55,45.0,0.64,0.06,0.75,0.47,0.29,-0.58,3.25,0.64,0.64,45.0,0.4,0.12,0.61,0.14,0.47,-0.28,2.48,0.42,0.38,45.0,0.13,0.09,0.29,0.02,0.27,0.22,1.58,0.16,0.13,45.0,0.22,0.14,0.46,0.05,0.42,0.03,1.47,0.26,0.23,45.0,0.14,0.07,0.28,0.05,0.23,0.22,1.71,0.16,0.13,45.0,0.21,0.1,0.42,0.07,0.36,0.49,2.22,0.24,0.2,45.0,0.3,0.06,0.41,0.15,0.26,-0.28,2.72,0.31,0.31,45.0,0.29,0.12,0.51,0.14,0.36,0.19,1.66,0.31,0.3,45.0,0.45,0.11,0.67,0.24,0.42,0.24,2.02,0.46,0.44,45.0
GQ-CS = 0.63,0.04,0.72,0.54,0.18,0.31,2.85,0.63,0.63,282.0,0.69,0.07,0.8,0.51,0.29,-0.6,2.44,0.69,0.7,282.0,0.76,0.06,0.87,0.61,0.26,-0.13,2.08,0.76,0.76,282.0,0.59,0.06,0.75,0.47,0.28,0.37,2.2,0.59,0.58,282.0,0.63,0.07,0.8,0.41,0.39,-0.73,3.53,0.64,0.64,282.0,0.27,0.06,0.47,0.14,0.34,0.64,3.84,0.27,0.26,282.0,0.62,0.13,0.82,0.22,0.6,-0.58,2.63,0.63,0.64,282.0,0.35,0.12,0.63,0.15,0.48,0.27,2.01,0.37,0.33,282.0,0.36,0.08,0.54,0.17,0.37,0.05,2.49,0.37,0.36,282.0,0.72,0.11,0.89,0.34,0.55,-0.82,3.5,0.73,0.73,282.0,0.6,0.06,0.74,0.42,0.32,-0.58,3.02,0.61,0.61,282.0,0.54,0.07,0.68,0.36,0.33,-0.29,2.35,0.54,0.55,282.0
GQ-KN = 0.62,0.03,0.68,0.55,0.13,-0.35,3.04,0.62,0.63,103.0,0.71,0.05,0.81,0.6,0.2,0.35,1.97,0.71,0.7,103.0,0.83,0.02,0.86,0.78,0.08,-0.25,2.94,0.83,0.83,103.0,0.61,0.04,0.69,0.53,0.16,0.25,2.86,0.61,0.6,103.0,0.66,0.05,0.8,0.51,0.3,-0.25,3.12,0.67,0.67,103.0,0.31,0.06,0.46,0.18,0.28,0.3,2.45,0.32,0.31,103.0,0.46,0.11,0.76,0.32,0.44,0.72,2.89,0.47,0.45,103.0,0.37,0.08,0.58,0.23,0.35,0.39,2.69,0.38,0.37,103.0,0.42,0.06,0.51,0.27,0.23,-0.7,2.85,0.42,0.43,103.0,0.66,0.09,0.86,0.37,0.49,-0.42,3.47,0.66,0.66,103.0,0.58,0.07,0.71,0.42,0.29,0.04,2.19,0.58,0.57,103.0,0.47,0.05,0.57,0.36,0.21,-0.07,2.36,0.47,0.47,103.0
GQ-LI = 0.57,0.09,0.76,-0.05,0.81,-5.29,37.44,0.58,0.58,245.0,0.58,0.1,0.73,-0.08,0.81,-4.33,29.23,0.59,0.59,245.0,0.69,0.1,0.79,0.03,0.76,-5.5,37.81,0.69,0.7,245.0,0.6,0.1,0.79,0.02,0.77,-2.81,16.92,0.61,0.61,243.0,0.59,0.08,0.8,0.4,0.4,0.01,2.59,0.6,0.59,241.0,0.33,0.14,0.66,-0.01,0.67,0.29,2.38,0.35,0.3,245.0,0.69,0.12,0.88,0.19,0.69,-0.96,3.74,0.7,0.74,245.0,0.41,0.18,0.73,-0.04,0.77,-0.34,1.86,0.45,0.45,245.0,0.37,0.13,0.69,0.04,0.65,0.02,2.71,0.39,0.38,245.0,0.57,0.11,0.81,-0.1,0.91,-2.13,13.88,0.58,0.59,241.0,0.62,0.11,0.79,0.07,0.71,-1.67,8.49,0.63,0.62,243.0,0.55,0.1,0.69,-0.03,0.72,-3.48,21.52,0.56,0.56,245.0
GQ-WN = 0.61,0.05,0.72,0.49,0.23,-0.26,2.53,0.62,0.62,199.0,0.75,0.03,0.81,0.67,0.14,-0.66,3.63,0.75,0.75,199.0,0.83,0.03,0.88,0.74,0.14,-0.93,3.27,0.84,0.84,199.0,0.55,0.05,0.69,0.44,0.26,0.82,2.86,0.55,0.53,199.0,0.69,0.04,0.8,0.56,0.24,-0.12,3.13,0.69,0.69,199.0,0.28,0.04,0.38,0.18,0.2,-0.02,2.35,0.28,0.28,199.0,0.6,0.14,0.79,0.17,0.61,-1.08,3.24,0.62,0.66,199.0,0.33,0.12,0.67,0.17,0.5,0.83,2.65,0.35,0.29,199.0,0.42,0.06,0.54,0.29,0.25,-0.17,2.13,0.42,0.43,199.0,0.72,0.08,0.88,0.55,0.33,-0.36,2.41,0.73,0.73,199.0,0.58,0.06,0.74,0.47,0.27,0.24,2.34,0.59,0.58,199.0,0.44,0.05,0.58,0.29,0.3,0.07,3.51,0.44,0.44,199.0
