# BHR.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 = BHR vegetation data for combined 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=combined

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

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

# 120 calculations comma-separated, 10 consecutive calculations for each month (from January to December). Combined data from multiple years. Only Fields 1, 3, 4, and 5 are valid. All other Fields are NaN.
# 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

BH-B-G070001 = 0.1,NaN,0.14,0.07,0.07,NaN,NaN,NaN,NaN,NaN,0.09,NaN,0.13,0.04,0.09,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.12,0.04,0.08,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.11,0.02,0.09,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.09,0.02,0.07,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.11,0.0,0.11,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.12,-0.0,0.12,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.12,0.01,0.11,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.12,0.01,0.11,NaN,NaN,NaN,NaN,NaN,0.09,NaN,0.14,0.04,0.1,NaN,NaN,NaN,NaN,NaN,0.09,NaN,0.15,0.04,0.11,NaN,NaN,NaN,NaN,NaN,0.1,NaN,0.15,0.06,0.09,NaN,NaN,NaN,NaN,NaN
BH-B-G070002 = 0.08,NaN,0.21,0.01,0.2,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.15,0.0,0.15,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.14,-0.01,0.15,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.15,0.01,0.14,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.13,-0.01,0.14,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.13,0.0,0.13,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.2,0.0,0.2,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.14,0.02,0.12,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.14,-0.02,0.16,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.16,-0.01,0.17,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.15,-0.02,0.17,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.15,0.02,0.13,NaN,NaN,NaN,NaN,NaN
BH-B-G070003 = 0.11,NaN,0.15,0.08,0.07,NaN,NaN,NaN,NaN,NaN,0.1,NaN,0.13,0.07,0.06,NaN,NaN,NaN,NaN,NaN,0.09,NaN,0.1,0.07,0.03,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.09,0.05,0.04,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.08,0.05,0.03,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.1,0.04,0.06,NaN,NaN,NaN,NaN,NaN,0.07,NaN,0.11,0.04,0.07,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.11,0.04,0.07,NaN,NaN,NaN,NaN,NaN,0.08,NaN,0.1,0.05,0.05,NaN,NaN,NaN,NaN,NaN,0.09,NaN,0.13,0.07,0.06,NaN,NaN,NaN,NaN,NaN,0.09,NaN,0.15,0.07,0.08,NaN,NaN,NaN,NaN,NaN,0.1,NaN,0.14,0.07,0.07,NaN,NaN,NaN,NaN,NaN
BH-B-G070004 = 0.16,NaN,0.19,0.11,0.08,NaN,NaN,NaN,NaN,NaN,0.15,NaN,0.19,0.12,0.07,NaN,NaN,NaN,NaN,NaN,0.12,NaN,0.16,0.08,0.08,NaN,NaN,NaN,NaN,NaN,0.11,NaN,0.16,0.06,0.1,NaN,NaN,NaN,NaN,NaN,0.1,NaN,0.17,-0.01,0.18,NaN,NaN,NaN,NaN,NaN,0.1,NaN,0.15,0.04,0.11,NaN,NaN,NaN,NaN,NaN,0.1,NaN,0.17,0.04,0.13,NaN,NaN,NaN,NaN,NaN,0.12,NaN,0.15,0.08,0.07,NaN,NaN,NaN,NaN,NaN,0.12,NaN,0.18,-0.0,0.18,NaN,NaN,NaN,NaN,NaN,0.14,NaN,0.19,0.03,0.16,NaN,NaN,NaN,NaN,NaN,0.15,NaN,0.2,0.09,0.11,NaN,NaN,NaN,NaN,NaN,0.14,NaN,0.18,0.09,0.09,NaN,NaN,NaN,NaN,NaN
BH-B-G070005 = 0.07,NaN,0.13,0.03,0.1,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.12,0.03,0.09,NaN,NaN,NaN,NaN,NaN,0.04,NaN,0.08,0.02,0.06,NaN,NaN,NaN,NaN,NaN,0.03,NaN,0.06,0.0,0.06,NaN,NaN,NaN,NaN,NaN,0.02,NaN,0.06,-0.01,0.07,NaN,NaN,NaN,NaN,NaN,0.03,NaN,0.09,-0.01,0.1,NaN,NaN,NaN,NaN,NaN,0.03,NaN,0.1,-0.03,0.13,NaN,NaN,NaN,NaN,NaN,0.04,NaN,0.1,-0.03,0.13,NaN,NaN,NaN,NaN,NaN,0.04,NaN,0.09,-0.01,0.1,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.14,0.01,0.13,NaN,NaN,NaN,NaN,NaN,0.05,NaN,0.14,0.02,0.12,NaN,NaN,NaN,NaN,NaN,0.06,NaN,0.13,0.02,0.11,NaN,NaN,NaN,NaN,NaN
