# JOR.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 = JOR 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 = JOR
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

JO-AM = 0.14,0.02,0.25,0.08,0.17,1.59,7.33,0.14,0.13,387.0,0.14,0.03,0.28,0.07,0.2,1.84,6.7,0.14,0.13,387.0,0.14,0.04,0.28,0.1,0.19,1.73,5.48,0.15,0.13,387.0,0.12,0.03,0.24,-0.01,0.25,0.31,6.98,0.13,0.12,387.0,0.11,0.02,0.2,-0.0,0.2,-0.47,7.07,0.12,0.11,387.0,0.11,0.03,0.19,-0.04,0.24,-1.87,12.36,0.11,0.11,387.0,0.11,0.03,0.19,-0.03,0.22,-2.05,12.42,0.11,0.11,387.0,0.11,0.02,0.18,-0.01,0.19,-1.42,9.74,0.11,0.1,387.0,0.11,0.02,0.19,0.04,0.15,0.32,4.87,0.11,0.1,387.0,0.1,0.02,0.2,0.0,0.2,-0.92,8.89,0.11,0.1,387.0,0.11,0.02,0.21,0.06,0.16,0.98,6.76,0.11,0.11,387.0,0.11,0.02,0.22,0.06,0.16,1.12,6.13,0.12,0.11,387.0
JO-AT = 0.13,0.01,0.15,0.1,0.06,-0.15,2.11,0.13,0.13,82.0,0.13,0.02,0.16,0.09,0.07,-0.05,2.04,0.13,0.13,82.0,0.14,0.02,0.19,0.09,0.1,0.09,2.17,0.14,0.14,82.0,0.12,0.02,0.16,0.09,0.07,0.06,2.49,0.12,0.12,82.0,0.12,0.01,0.14,0.09,0.06,-0.13,2.87,0.12,0.12,82.0,0.11,0.01,0.13,0.09,0.04,-0.46,2.92,0.11,0.11,82.0,0.11,0.01,0.12,0.09,0.04,-0.5,3.03,0.11,0.11,82.0,0.11,0.01,0.12,0.09,0.04,-0.53,3.0,0.11,0.11,82.0,0.11,0.01,0.12,0.08,0.04,-0.47,2.93,0.11,0.11,82.0,0.11,0.01,0.12,0.09,0.04,-0.01,2.49,0.11,0.11,82.0,0.11,0.01,0.13,0.09,0.05,-0.37,2.77,0.11,0.11,82.0,0.11,0.01,0.13,0.09,0.05,-0.34,2.9,0.11,0.11,82.0
JO-AZ = 0.12,0.02,0.26,0.07,0.19,2.08,11.78,0.13,0.12,195.0,0.12,0.03,0.3,0.07,0.23,3.28,16.8,0.12,0.11,195.0,0.11,0.03,0.31,0.07,0.24,3.63,18.76,0.12,0.11,195.0,0.11,0.02,0.23,0.08,0.15,2.82,14.79,0.11,0.11,195.0,0.11,0.02,0.19,0.07,0.12,1.66,9.48,0.11,0.11,195.0,0.11,0.01,0.17,0.07,0.1,1.14,6.83,0.11,0.1,195.0,0.1,0.01,0.17,0.07,0.09,0.85,5.9,0.1,0.1,195.0,0.1,0.01,0.16,0.07,0.09,0.82,6.01,0.1,0.1,195.0,0.1,0.01,0.16,0.07,0.09,1.13,7.12,0.1,0.1,195.0,0.1,0.01,0.17,0.07,0.1,1.46,8.55,0.1,0.1,195.0,0.1,0.01,0.17,0.07,0.1,0.97,6.99,0.1,0.1,195.0,0.1,0.02,0.18,0.07,0.11,1.19,7.86,0.1,0.1,195.0
JO-BA = 0.25,0.06,0.33,0.12,0.22,-0.85,2.93,0.25,0.27,40.0,0.27,0.07,0.37,0.12,0.25,-0.74,2.5,0.28,0.29,40.0,0.26,0.07,0.38,0.11,0.27,-0.36,2.23,0.27,0.27,40.0,0.19,0.05,0.28,0.08,0.21,-0.41,3.04,0.2,0.19,40.0,0.17,0.04,0.23,0.07,0.16,-1.12,4.17,0.18,0.18,40.0,0.16,0.04,0.21,0.05,0.16,-1.38,5.05,0.16,0.16,40.0,0.15,0.03,0.2,0.06,0.14,-1.24,4.82,0.16,0.16,40.0,0.15,0.03,0.19,0.06,0.13,-1.24,4.77,0.15,0.15,40.0,0.15,0.03,0.2,0.08,0.12,-1.11,4.14,0.15,0.16,40.0,0.16,0.03,0.2,0.07,0.13,-1.45,5.11,0.16,0.17,40.0,0.17,0.03,0.22,0.1,0.12,-1.05,3.99,0.18,0.18,40.0,0.18,0.03,0.24,0.09,0.15,-1.07,3.86,0.19,0.19,40.0
JO-IR = 0.32,0.08,0.5,0.15,0.35,-0.27,2.58,0.33,0.33,97.0,0.36,0.08,0.54,0.18,0.36,-0.31,2.82,0.37,0.36,97.0,0.37,0.06,0.48,0.2,0.28,-0.4,2.83,0.38,0.37,97.0,0.27,0.05,0.38,0.16,0.23,-0.13,3.01,0.27,0.27,97.0,0.23,0.05,0.36,0.13,0.24,0.1,2.94,0.24,0.23,97.0,0.21,0.05,0.34,0.12,0.22,0.25,2.85,0.22,0.21,97.0,0.2,0.05,0.33,0.12,0.21,0.28,2.75,0.21,0.2,97.0,0.2,0.04,0.31,0.11,0.2,0.27,2.7,0.2,0.19,97.0,0.2,0.04,0.31,0.11,0.2,0.23,2.61,0.2,0.19,97.0,0.2,0.04,0.32,0.12,0.2,0.25,2.7,0.21,0.2,97.0,0.22,0.05,0.35,0.12,0.24,0.12,2.53,0.23,0.22,97.0,0.24,0.06,0.37,0.12,0.25,-0.05,2.46,0.24,0.24,97.0
JO-KA = 0.12,0.03,0.16,-0.04,0.2,-2.84,14.64,0.12,0.12,147.0,0.12,0.04,0.19,-0.07,0.26,-1.76,9.43,0.13,0.12,147.0,0.13,0.05,0.23,-0.08,0.31,-0.98,6.42,0.14,0.12,147.0,0.11,0.04,0.2,-0.1,0.3,-1.55,8.31,0.12,0.11,147.0,0.1,0.03,0.15,-0.09,0.24,-2.63,12.69,0.11,0.1,147.0,0.1,0.03,0.13,-0.09,0.22,-2.96,13.63,0.1,0.1,147.0,0.1,0.03,0.13,-0.08,0.2,-2.9,12.9,0.1,0.1,147.0,0.09,0.03,0.12,-0.1,0.22,-3.15,14.55,0.1,0.1,147.0,0.09,0.03,0.12,-0.07,0.2,-2.97,13.86,0.1,0.1,147.0,0.09,0.03,0.14,-0.07,0.2,-3.09,14.71,0.1,0.1,147.0,0.1,0.03,0.15,-0.04,0.19,-2.51,12.48,0.1,0.1,147.0,0.1,0.02,0.15,-0.01,0.16,-1.79,10.05,0.11,0.1,147.0
JO-MA = 0.13,0.02,0.27,0.09,0.19,2.24,19.57,0.13,0.13,1018.0,0.12,0.02,0.33,0.09,0.24,4.21,32.87,0.12,0.12,1018.0,0.12,0.02,0.34,0.09,0.25,4.32,31.52,0.12,0.12,1018.0,0.12,0.02,0.24,0.09,0.16,1.6,9.62,0.12,0.11,1018.0,0.11,0.02,0.2,0.08,0.11,0.55,3.57,0.12,0.11,1018.0,0.11,0.02,0.18,0.09,0.09,0.39,2.86,0.12,0.11,1018.0,0.11,0.02,0.17,0.08,0.09,0.31,2.68,0.12,0.11,1018.0,0.11,0.02,0.17,0.08,0.09,0.33,2.72,0.11,0.11,1018.0,0.11,0.02,0.17,0.08,0.09,0.47,2.98,0.11,0.11,1018.0,0.1,0.01,0.17,0.07,0.1,0.35,3.3,0.11,0.1,1018.0,0.12,0.02,0.18,0.08,0.1,-0.11,2.41,0.12,0.12,1018.0,0.12,0.02,0.18,0.08,0.1,-0.14,2.81,0.12,0.12,1018.0
JO-MN = 0.12,0.02,0.16,0.04,0.12,-0.29,2.53,0.12,0.12,1443.0,0.12,0.02,0.16,0.07,0.09,-0.38,2.44,0.12,0.12,1443.0,0.12,0.02,0.16,0.07,0.09,-0.35,2.41,0.12,0.12,1443.0,0.12,0.02,0.16,0.05,0.1,-0.48,2.82,0.12,0.12,1443.0,0.12,0.02,0.16,0.05,0.11,-0.49,2.83,0.12,0.12,1443.0,0.12,0.02,0.16,0.07,0.09,-0.38,2.6,0.12,0.12,1443.0,0.12,0.02,0.16,0.06,0.1,-0.38,2.67,0.12,0.12,1443.0,0.11,0.02,0.15,0.04,0.11,-0.38,2.8,0.12,0.11,1443.0,0.11,0.02,0.15,0.04,0.11,-0.3,2.66,0.11,0.11,1443.0,0.11,0.02,0.14,0.05,0.09,-0.36,2.74,0.11,0.11,1443.0,0.11,0.02,0.15,0.07,0.08,-0.5,2.67,0.11,0.11,1443.0,0.11,0.02,0.15,0.04,0.11,-0.44,2.53,0.11,0.11,1443.0
