#################################################################################################
# Logical decision tree to classify Soil type units in the SGDBE into HOST classes		#
# 												#
# M.K. Schneider, 10.4.07									#
# 												#
# 												#
# Rules are formulated as IF - THEN clauses with operators AND and OR				#
# IN means "is one of the items in the following list", e.g. IN (220,330) = either 220 or 330	#
# ":" means "all inbetween", e.g. 212:214 = 212, 213, 214					#
#												#
# Attributes of SGDBE used:									#
# MAT1: Dominant parent material								#
# WR: Water Regime										#
# HG: Hydrological Class									#
# IL: Impermeable Layer										#
# DGH: Depth to Gleyed Layer									#
# TEXT1: Dominant surface textural class							#
# TEXT2: Secondary surface textural class							#
# USE1: Primary land use		 							#
# 												#
#################################################################################################

Reclassifation of parent material (PMnew):

IF [MAT1 IN (220,330)] THEN PMnew = "A1"
IF [MAT1 IN (200,209,210,212:214,216:219,250)] THEN PMnew = "A2"
IF [MAT1 IN (311,410:419,450,454,457)] THEN PMnew = "A3"
IF [MAT1 IN (211,215,333,451,452,454:456,825,830)] THEN PMnew = "A4"
IF [MAT1 IN (111,112,140,400,420:442)] THEN PMnew = "A5"
IF [MAT1 IN (150,500:523)] THEN PMnew = "A6"
IF [MAT1 IN (100,110,113:120)] THEN Host_class = "E2"
IF [MAT1 IN (130,131,230:234,314:324,331,332,340,350,453,530,600:640,749)] THEN PMnew = "H1"
IF [MAT1 IN (240,459,539,700,709,710,711:732,739,740:745,750:824,900:902)] THEN PMnew = "H2"
IF [MAT1 IN (300,310,312:313)] THEN PMnew = "H3"
IF [MAT1 IN (910)] THEN PMnew = "H4"

Reclassifation of soil type units into Host_classes:

IF [(IL <= 1 OR DGH = "V") AND PMnew = "A1" ] THEN Host_class = 1
IF [(IL <= 1 OR DGH = "V") AND PMnew = "A2" ] THEN Host_class = 2
IF [(IL <= 1 OR DGH = "V") AND PMnew = "A3" ] THEN Host_class = 3
IF [(IL <= 1 OR DGH = "V") AND PMnew = "A4" ] THEN Host_class = 4
IF [(IL <= 1 OR DGH = "V") AND PMnew = "A5" ] THEN Host_class = 5
IF [(IL <= 1 OR DGH = "V") AND PMnew = "A6" ] THEN Host_class = 6

IF [(IL > 1 OR DGH = "M")] THEN Host_class = 13
IF [DGH = "S"] THEN Host_class = 14

IF [((HG = 2 OR WR >= 4) AND (PMnew = "A5")) OR PMnew = "E1"] THEN Host_class = 7
IF [((HG = 2 OR WR >= 4) AND (PMnew = "A6")) OR PMnew = "E2"] THEN Host_class = 8

IF [(HG = 2 OR WR >= 4) AND DGH = "S" AND (PMnew IN ("A5","A6")) AND (TEXT1 <= 2 OR (TEXT1 = 0 AND TEXT2 <= 2))] THEN Host_class = 9
IF [DGH = "S" AND (PMnew IN ("E1","E2")) AND (TEXT1 <= 2 OR (TEXT1 = 0 AND TEXT2 <= 2))] THEN Host_class = 9
IF [(HG = 2 OR WR >= 4) AND DGH = "S" AND (PMnew IN ("A5","A6")) AND (TEXT1 >= 3 OR (TEXT1 = 0 AND TEXT2 >= 3))] THEN Host_class = 10
IF [DGH = "S" AND (PMnew IN ("E1","E2")) AND (TEXT1 >= 3 OR (TEXT1 = 0 AND TEXT2 >= 3))] THEN Host_class = 10

IF [(IL <= 1 OR DGH = "V") AND PMnew = "H1" ] THEN Host_class = 16
IF [(IL <= 1 OR DGH = "V") AND PMnew IN ("H2","H3") ] THEN Host_class = 17

IF [PMnew = "H1" AND (DGH = "M" OR IL >=2)  AND (TEXT1 <= 3 AND TEXT2 <= 3)] THEN Host_class = 18
IF [PMnew = "H2" AND (DGH = "M" OR IL >=2)  AND (TEXT1 <= 3 AND TEXT2 <= 3)] THEN Host_class = 19
IF [PMnew = "H3" AND (DGH = "M" OR IL >=2) AND (TEXT1 <= 3 AND TEXT2 <= 3)] THEN Host_class = 20

IF [PMnew = "H1" AND (DGH = "M" OR IL >=2) AND (TEXT1 >= 4 OR TEXT2 >= 4)] THEN Host_class = 21
IF [PMnew = "H2" AND (DGH = "M" OR IL >=2) AND (TEXT1 >= 4 OR TEXT2 >= 4)] THEN Host_class = 22
IF [PMnew = "H3" AND (DGH = "M" OR IL >=2) AND (TEXT1 >= 4 OR TEXT2 >= 4)] THEN Host_class = 23

IF [PMnew = "H1"  AND DGH = "S"] THEN Host_class = 24
IF [PMnew IN ("H2","H3")  AND DGH = "S"] THEN Host_class = 25

IF [TEXT1 >= 9 OR (TEXT1 = 0 AND TEXT2 >= 9)] THEN Host_class = 15
IF [(TEXT1 >= 9 OR (TEXT1 = 0 AND TEXT2 >= 9)) AND (HG = 2 OR WR >= 4) AND (PMnew IN ("A5","A6","E1","E2"))] THEN Host_class = 12
IF [(TEXT1 >= 9 OR (TEXT1 = 0 AND TEXT2 >= 9)) AND (HG = 2 OR WR >= 4) AND (PMnew IN ("A5","A6","E1","E2")) AND USE1 IN (1,3,6,7,12:17)] THEN Host_class = 11

IF [(TEXT1 >= 9 OR (TEXT1 = 0 AND TEXT2 >= 9)) AND PMnew = "H1"] THEN Host_class = 26
IF [(TEXT1 >= 9 OR (TEXT1 = 0 AND TEXT2 >= 9)) AND PMnew IN ("H2","H3")] THEN Host_class = 27

IF [PMnew = "H4"] THEN Host_class = 29

