More Related Content Similar to ForestCoverClassificationProcedure Similar to ForestCoverClassificationProcedure (20) More from Tammy Kobliuk (10) ForestCoverClassificationProcedure1. Alberta Forest Cover Classification Procedure
Resource Analysis Section,
Forest Management Branch,
Alberta Sustainable Resource Development
Tammy Kobliuk
July 29, 2002
2. Alberta Forest Cover Classification Procedure
2
ALBERTA FOREST COVER CLASSIFICATION PROCEDURE........................................................1
1. BACKGROUND...................................................................................................................................2
2. INPUT DATA REQUIREMENTS ............................................................................................................2
3. OUTPUT DATA...................................................................................................................................3
4. FOREST COVER CLASSES...................................................................................................................4
5. GENERAL CLASSIFICATION METHODOLOGY .....................................................................................5
5.1. Species Roll-up ............................................................................................................................5
5.2. Forest Cover – No Structure........................................................................................................5
5.3. Forest Cover – Horizontal Stands ...............................................................................................6
5.4. Forest Cover – Multistory Stands................................................................................................6
5.5. Forest Cover – Understory Grasslands.......................................................................................6
5.6. Final Classification......................................................................................................................6
6. WETLANDS PREDICTION....................................................................................................................6
7. REFERENCES .....................................................................................................................................8
APPENDIX A: FOREST COVER CLASSIFICATION FIELD DEFINITIONS..........................................................9
APPENDIX B: .AML SOURCE CODE.........................................................................................................10
1. Background
The forest cover classification methodology was originally developed for the Landscape
Planning Pilot project (Olson and Diehl, 2000). There was a need to roll up the AVI
stand calls into a more general description in order to predict ecosite phase. That original
forest cover classification covered only the species and landscape classes found in the
Southern Rockies (FMU’s C5, CO1, and CO2). These classes were added to and
expanded to include species and classes found in other parts of Alberta.
The forest cover classification program is written in .AML and is intended to be run from
within ArcInfo workstation, from the Arc prompt. The .AML program anticipates that
the AVI attribute information is stored in INFO.
2. Input Data Requirements
The provincial AVI 2.1 data model is the required format for the input data set for the
forest cover classification. The required fields are as follows:
Table 1. Required AVI 2.1 fields
Field Name Description
SP1, SP2, SP3, SP4, SP5 Overstory species fields
SP1_PER, SP2_PER, SP3_PER, SP4_PER,
SP5_PER
Overstory species percentages
USP1, USP2, USP3, USP4, USP5 Understory species fields
USP1_PER, USP2_PER, USP3_PER,
USP4_PER, USP5_PER
Understory species percentages
MOIST_REG, UMOIST_REG Moisture regime (overstory, understory)
STRUC Stand structure
USTRUC_VAL Understory stand structure ‘extent’
(ie. For Horizontal stands)
DENSITY, UDENSITY Crown Closure (overstory, understory)
NFL, UNFL Naturally non-forested land
NAT_NON, UNAT_NON Naturally non-vegetated
ANTH_VEG, UANTH_VEG Anthropogenic vegetation
3. Alberta Forest Cover Classification Procedure
3
ANTH_NON, UANTH_NON Antrhopogenic non-vegetated
MOD1, MOD2 Stand modifiers
MOD1_EXT, MOD2_EXT Stand modifier extents
3. Output Data
The forest cover classification procedure requires the creation and population of various
additional fields:
Table 2. Species Roll-up: Overstory
Field Name Description
ASPEN_PCT Percentage of Trembling Aspen (Aw) and undifferentiated
deciduous (A)
TRUEFIR_PCT Percentage of Balsam Fir (Fb) and Sub-alpine Fir (Fa)
SPRUCE_PCT Percentage of White Spruce (Sw) and Engelmann Spruce (Se)
SPRUCEB_PCT Percentage of Black Spruce (Sb)
PINE_PCT Percentage of Lodgepole Pine (Pl), Jackpine (Pj), and
undifferentiated Pine (P)
WHITELIMB_PCT Percentage of White-bark Pine (Pa) and Limber Pine (Pf)
DOUGFIR_PCT Percentage of Douglas Fir (Fd)
LARCHA_PCT Percentage of Alpine Larch (La)
LARCHT_PCT Percentage of Larch Tamarack (Lt)
BIRCH_PCT Percentage of Paper Birch (Bw)
POPLAR_PCT Percentage of Balsam Poplar (Pb)
TOT_CONIFER Total percentage of conifer species
TOT_DECID Total percentage of deciduous species
Table 3. Species Roll-up: Understory
Field Name Description
UASPEN_PCT Percentage of Trembling Aspen (Aw) and undifferentiated
deciduous (A)
UTRUEFIR_PCT Percentage of Balsam Fir (Fb) and Sub-alpine Fir (Fa)
USPRUCE_PCT Percentage of White Spruce (Sw) and Engelmann Spruce (Se)
USPRUCEB_PCT Percentage of Black Spruce (Sb)
UPINE_PCT Percentage of Lodgepole Pine (Pl), Jackpine (Pj), and
undifferentiated Pine (P)
UWHITELMB_PCT Percentage of White-bark Pine (Pa) and Limber Pine (Pf)
UDOUGFIR_PCT Percentage of Douglas Fir (Fd)
ULARCHA_PCT Percentage of Alpine Larch (La)
ULARCHT_PCT Percentage of Larch Tamarack (Lt)
UBIRCH_PCT Percentage of Paper Birch (Bw)
UPOPLAR_PCT Percentage of Balsam Poplar (Pb)
UTOT_CONIFER Total percentage of conifer species
UTOT_DECID Total percentage of deciduous species
Table 4. Forest Cover Classification fields
Field Name Description
COVERCAT Concatenated species call
FC_NOSTR Forest cover class of overstory call (disregarding any understory
attributes)
FC_H_STR Forest cover classification of horizontal call
FC_M_STR Forest cover classification of ‘A’-density overstory multistory call
UGRASS Understory grass type call
FC_DOM Dominant forest cover classification
4. Alberta Forest Cover Classification Procedure
4
FC_SUBDOM Sub-dominant forest cover classification
FC_COMPLEX Concatenated dominant and sub-dominant forest cover class
4. Forest Cover Classes
The following is a complete list of the forest cover classes in this classification
procedure:
“Pure” Stands
1. Pine (Lodgepole/Jack)
2. White/Engelmann Spruce
3. Black Spruce
4. True Fir
5. Douglas Fir
6. Subalpine/Western Larch
7. Larch Tamarack
8. Whitebark/Limber Pine
9. Aspen
10. Balsam Poplar
11. Birch
Mixedwood Stands
12. Aspen Mixedwood
13. Balsam Poplar Mixedwood
14. Birch Mixedwood
15. Pine (Lodgepole/Jack) Mixedwood
16. White/Engelmann Spruce Mixedwood
17. Black Spruce Mixedwood
18. Larch Tamarack Mixedwood
19. True Fir Mixedwood
20. Douglas Fir Mixedwood
Mixed Conifer Stands
21. Mixed Conifer (Pine – Lodgepole/Jack)
22. Mixed Conifer (White/Engelmann Spruce)
23. Mixed Conifer (Black Spruce)
24. Mixed Conifer (True Fir)
25. Mixed Conifer (Douglas Fir)
26. Mixed Conifer (Whitebark/Limber Pine)
27. Mixed Conifer (Subalpine/Western Larch)
28. Mixed Conifer (Larch Tamarack)
Wetlands
29. Black Spruce Wetland
30. White Spruce Wetland
31. Black Spruce/Larch Tamarack Wetland
32. Larch Tamarack Wetland
33. Shrub Wetland
Non-Forested Lands
34. Shrub Meadow Open Mesic
35. Shrub Meadow Open Dry
5. Alberta Forest Cover Classification Procedure
5
36. Shrub Meadow Closed Mesic
37. Shrub Meadow Closed Dry
38. Wet Graminoid
39. Forb Meadow
40. Bryophytic
41. Grassland Mesic
42. Grassland Dry
43. Rock Barren
44. Cutbank/Sand
45. River
46. Lakes/Ponds
47. Permanent Ice/Snow
48. Flooded
49. Recent Burn
Anthropogenic Lands
50. Rough Pasture Open Mesic
51. Rough Pasture Open Dry
52. Rough Pasture Closed Mesic
53. Rough Pasture Closed Dry
54. Annual Crops
55. Perennial Crops
56. Perennial Forage Crops
57. Gravel Pits/Surface Mines
58. Rural Residential
59. Hamlets, Villages and Towns
60. Non-Veg ROWs
61. Farmsteads
62. Plant Sites/Sewage Lagoons
63. Industrial Reclamation-Vegetated
64. Partial Cut/Regenerating Clearcut
65. Herbaceous Clearcut
66. Herbaceous Clearing
5. General Classification Methodology
The forest cover classification procedure is broken up into several different sections.
5.1. Species Roll-up
The Species Roll-up section is a preparatory section that tabulates the amount of each
species in both the understory and overstory of a stand call. These species percentage
fields facilitate the forest cover classification queries in the next four sections.
5.2. Forest Cover – No Structure
A first-cut classification is done on the overstory call of all stands, irregardless of stand
structure type and understory call. These queries are used to populate the field
FC_NOSTR.
6. Alberta Forest Cover Classification Procedure
6
5.3. Forest Cover – Horizontal Stands
All horizontal stands (STRUC = H) are examined. Those stands having an understory
call containing > 50% of the polygon and containing tree species will be classified. The
classification field is FC_H_STR.
5.4. Forest Cover – Multistory Stands
All multistory stands having an ‘A’ density overstory and a forested understory with a
density greater than ‘A’ will be examined and classified. The classification field is
FC_M_STR.
5.5. Forest Cover – Understory Grasslands
This classification is intended to target complex grassland structures of horizontal and
multistory stands. The classification field is UGRASS. The following types of stands are
examined:
Non-forested closed shrub lands where shrub coverage is < 60%, no structure
is noted, and no understory non-forested call is noted.
Horizontal and multistory stands where the overstory is forested, no
understory non-forested call is present, and understory anthropogenic
vegetation is either rough pasture or not populated.
Non-forested closed shrub lands where shrub coverage is < 60%, no structure
is noted, and an understory non-forested call is noted.
Understory shrub calls with an understory anthropogenic vegetation call.
Understory herbaceous grass calls with wet or aquatic moisture regimes.
Any understory call of anthropogenic vegetation.
Any understory call of herbaceous grass.
Any understory call of anthropogenic non-vegetated land.
Any understory call on naturally non-vegetated land.
5.6. Final Classification
The final classification step assigns the calls from FC_NOSTR, FC_H_STR, FC_M_STR, and
UGRASS to the dominant and sub-dominant forest cover classes. The dominant and sub-
dominant and then concatenated into a complex forest cover class.
Dominant forest cover was considered as:
FC_NOSTR where no horizontal or multistory call was made.
FC_H_STR where a horizontal class was calculated..
FC_M_STR where a multistory class was calculated.
Sub-dominant forest cover was considered as:
FC_NOSTR where a horizontal or multistory class was calculated.
UGRASS where an understory grass class was calculated.
6. Wetlands Prediction
The original Landscape Planning Pilot forest cover classification procedure (Olson and
Diehl, 2000) classified only shrub wetlands and a generic spruce wetland type. Upon
expanding the forest cover classification procedure to the rest of the province, the
7. Alberta Forest Cover Classification Procedure
7
opportunity presented itself to be able to predict additional types of wetlands, which
might represent distinct ecological land types. Personal communication with Grant
Klappstein and Leonard Barnhardt of the Forest Management Branch of Alberta
Sustainable Resource Development facilitated definition of four types of forested
wetlands that could be predicted from AVI stand calls: black spruce wetland, white
spruce wetland, larch tamarack wetland, black spruce/larch tamarack wetland. Although
all wetland classes have a “wet” or “aquatic” moisture regime, it should be noted that not
all “wet” forested stands receive a wetland-type classification.
The following criteria were used to define the forested wetland types:
Black Spruce Wetland
Dominant presence of Black Spruce
No presence of Larch
No presence of White Spruce
No presence of Fir species
≤ 20% Lodgepole/Jack Pine
No presence of Aspen
≤ 10% Poplar
≤ 20% Birch
Cumulative presence of deciduous species ≤ 20%
White Spruce Wetland
Presence of White Spruce (≥ 20%) in a spruce wetland
< 50% Larch present
No presence of Fir species
≤ 20% Lodgepole/Jack Pine
No presence of Aspen
≤ 10% Poplar
≤ 20% Birch
Cumulative presence of deciduous species ≤ 20%
FC_NOSTR must not be already classified as “Black Spruce Wetland”
Larch Tamarack Wetland
Dominant Larch presence (≥ 80%)
< 50% Black Spruce in both the overstory and understory
< 50% White Spruce
No presence of Fir species
≤ 20% Lodgepole/Jack Pine
No presence of Aspen
≤ 10% Poplar
≤ 20% Birch
Cumulative presence of deciduous species ≤ 20%
Black Spruce/Larch Tamarack Wetland
No presence of Fir species
8. Alberta Forest Cover Classification Procedure
8
≤ 20% Lodgepole/Jack Pine
No presence of Aspen
≤ 10% Poplar
≤ 20% Birch
Cumulative presence of deciduous species ≤ 20%
AND
≥ 10% and < 80% Larch
≥ 10% Black Spruce
OR
Overstory or understory presence of Larch
Overstory presence of Black Spruce
OR
Overstory ≥ 30% Black Spruce or understory ≥ 50% Black Spruce
FC_NOSTR contains some type of Larch class
7. References
Alberta Department of Environmental Protection. 1991. Alberta Vegetation Inventory
Standards Manual, Version 2.1. Edmonton, Alberta. 53pp.
Barnhardt, Leonard. Personal communication March 2002. Forest Geneticist with the
Forest Management Branch of Alberta Sustainable Resource Development.
Klappstein, Grant. Personal communication March 2002. Growth and Yield Specialist
with the Forest Management Branch of Alberta Sustainable Resource
Development.
Olson, J.D. and S. Diehl. 2000. Forest Cover Classification Procedure. Alberta
Environment, unpublished report. 68pp.
9. Alberta Forest Cover Classification Procedure
9
Appendix A: Forest Cover Classification Field Definitions
Table 5. Classification Field Definitions
Field Name Input Width Output Width Field Type
ASPEN_PCT 2 2 I
TRUEFIR_PCT 2 2 I
SPRUCE_PCT 2 2 I
SPRUCEB_PCT 2 2 I
PINE_PCT 2 2 I
WHITELIMB_PCT 2 2 I
DOUGFIR_PCT 2 2 I
LARCHA_PCT 2 2 I
LARCHT_PCT 2 2 I
BIRCH_PCT 2 2 I
POPLAR_PCT 2 2 I
TOT_CONIFER 2 2 I
TOT_DECID 2 2 I
UASPEN_PCT 2 2 I
UTRUEFIR_PCT 2 2 I
USPRUCE_PCT 2 2 I
USPRUCEB_PCT 2 2 I
UPINE_PCT 2 2 I
UWHITELMB_PCT 2 2 I
UDOUGFIR_PCT 2 2 I
ULARCHA_PCT 2 2 I
ULARCHT_PCT 2 2 I
UBIRCH_PCT 2 2 I
UPOPLAR_PCT 2 2 I
UTOT_CONIFER 2 2 I
UTOT_DECID 2 2 I
COVERCAT 15 15 C
FC_NOSTR 40 40 C
FC_H_STR 40 40 C
FC_M_STR 40 40 C
UGRASS 30 30 C
FC_DOM 40 40 C
FC_SUBDOM 40 40 C
FC_COMPLEX 85 85 C
10. Alberta Forest Cover Classification Procedure
10
Appendix B: .AML Source Code
/*==========================
/* PROGRAM: fc_class.aml
/*==========================
/* DESCRIPTION: LANDSCAPE PLANNING PILOT FOREST COVER CLASSIFICATION PROCEDURE
/* This .aml calculates species percentages for both overstory and
/* understory. Calculates forest cover classification dominant,
/* sub-dominant, and complex calls. This .AML requires input inventory
/* data to be in the provincial(RDB) AVI 2.1 data model. At the time of
/* writing, the AVI attributes are expected to be in an INFO .ATT table.
/****************************************************************************
/* NOTE: THIS PROGRAM SHOULD ONLY BE RUN BY THOSE PERSONS WITH SUFFICIENT
/* BACKGROUND KNOWLEDGE TO CHECK THE VALIDITY OF THE FINAL RESULTS.
/* THE INTENDED DISTRIBUTION METHOD OF THIS PROGRAM IS AS AN ENCRIPTED
/* .aml FILE. THIS IS INTENDED TO ENFORCE VERSION CONTROL. SOURCE
/* CODING MAY BE DISTRIBUTED IN PASSWORD-PROTECTED .pdf FORMAT.
/* FOREST MANAGEMENT BRANCH WILL MAINTAIN AND MODIFY THE SOURCE CODE AS
/* NEEDED.
/****************************************************************************
/* USAGE: &run fc_class.aml
/*
/* ARGUMENTS: none
/*
/* CALLS: none
/*
/*================================
/*
/* PROGRAMMED BY: T.Kobliuk
/* PROGRAMMED FOR: Resource Analysis Section - Forest Management Branch,
/* Sustainable Resource Development
/*
/* DATE: September 28, 2001
/* LAST MODIFIED: October 9, 2001: (TK) main code OCALFIELDS routine
/* October 10, 2001: (TK) main code UCALCFIELDS routine
/* November 5, 2001: (TK) main code CHECKFIELDS routine
/* November 9, 2001: (TK) main code CLASSFIELDS, routine
/* November 10, 2001: (TK) main code NO_STRUCTURE routine
/* November 13, 2001: (TK) main code NO_STRUCTURE, MULTISTOREY
/* and UGRASS routines.
/* November 14, 2001: (TK) main code completion
/* March 11, 2002: (TK) updating for Weldwood AVI
/* March 12/13, 2002: (TK) updating for Lt and Sb partitions
/* March 14/15, 2002: (TK) error correction Wetland classes
/* March 19, 2002: (TK) Wetland class modifications
/* May 22, 2002: (TK) choice .ATT/.PAT
/*
/*================================
/* ROUTINES: BAILOUT - bails out of the aml due to an error condition
/* CHECKFIELDS - checks for existence of fields in ADDFIELDS routine;
/* Deletes fields if they exist.
/* ADDFIELDS - adds required species percent and classification fields
/* OCALCFIELDS - calculates values for overstory species percent fields
/* UCALCFIELDS - calculates values for understory species percent fields
/* CLASSFIELDS - calculates values for classification fields
/* NO_STRUCTURE - calculates forest cover class based on overstory calls.
/* Called from CLASSFIELDS.
/* HORZ_STRUCTURE - calculates forest cover class based on horizontal calls.
/* Called from CLASSFIELDS.
/* MULTISTOREY - calculates understory forest cover class based on
multistorey,
/* 'A' density overstory calls. Called from CLASSFIELDS.
/* UGRASS - calculates forest cover classification for understory
/* grassland components. Called from CLASSFIELDS.
11. Alberta Forest Cover Classification Procedure
11
/* -----------------------
/* [VARIABLES]
/*
/* GLOBALS: none
/*
/* LOCALS: tablename - selected AVI attribute table
/* uptablename - selected AVI attribute table name in uppercase
/* overcheckn - 'n' variable(s) to store location of searched overstory field.
/* Zero if it does not exist.
/* undercheckn - 'n' variable(s) to store location of searched understory field.
/* Zero if it does not exist.
/* classcheckn - 'n' variable(s) to store location of searched classification
fields.
/* Zero if it does not exist.
/*
/* SYSTEM: :program - current arcinfo module (ie. TABLES)
/*
/*===========================================================================
&severity &error &routine BAILOUT
&echo &on
&terminal 9999
display 9999
&setvar tabletype = [getchoice .att .pat .avi -prompt 'Where are your AVI
attributes?']
&setvar tablename = [after [after [entryname [getfile *%tabletype% -info]] !]
!]
/*&setvar tablename = [after [after [entryname [getfile *.att -info]] !] !]
&type Selected table for processing is [upcase %tablename%]
&call CHECKFIELDS
&call ADDFIELDS
&call OCALCFIELDS
&call UCALCFIELDS
&call CLASSFIELDS
&type
&type ***************************************
&type FC_CLASS.AML HAS SUCCESSFULLY COMPLETED
&type ***************************************
&echo &off
&return
/*===========================================================================
&routine CHECKFIELDS
/*===========================================================================
/* Checking for existence of forestcover calculation fields and removing them
/* if they exist.
/* Checking OVERSTORY fields.
&setvar overcheck1 = [token -[listitem %tablename% -info] -find ASPEN_PCT]
&setvar overcheck2 = [token -[listitem %tablename% -info] -find TRUEFIR_PCT]
&setvar overcheck3 = [token -[listitem %tablename% -info] -find SPRUCE_PCT]
&setvar overcheck4 = [token -[listitem %tablename% -info] -find PINE_PCT]
&setvar overcheck5 = [token -[listitem %tablename% -info] -find WHITELIMB_PCT]
&setvar overcheck6 = [token -[listitem %tablename% -info] -find DOUGFIR_PCT]
&setvar overcheck7 = [token -[listitem %tablename% -info] -find LARCHA_PCT]
&setvar overcheck8 = [token -[listitem %tablename% -info] -find BIRCH_PCT]
&setvar overcheck9 = [token -[listitem %tablename% -info] -find POPLAR_PCT]
&setvar overcheck10 = [token -[listitem %tablename% -info] -find TOT_CONIFER]
&setvar overcheck11 = [token -[listitem %tablename% -info] -find TOT_DECID]
&setvar overcheck12 = [token -[listitem %tablename% -info] -find LARCHT_PCT]
&setvar overcheck13 = [token -[listitem %tablename% -info] -find SPRUCEB_PCT]
12. Alberta Forest Cover Classification Procedure
12
/* Checking UNDERSTORY fields.
&setvar undercheck1 = [token -[listitem %tablename% -info] -find UASPEN_PCT]
&setvar undercheck2 = [token -[listitem %tablename% -info] -find UTRUEFIR_PCT]
&setvar undercheck3 = [token -[listitem %tablename% -info] -find USPRUCE_PCT]
&setvar undercheck4 = [token -[listitem %tablename% -info] -find UPINE_PCT]
&setvar undercheck5 = [token -[listitem %tablename% -info] -find UWHITELMB_PCT]
&setvar undercheck6 = [token -[listitem %tablename% -info] -find UDOUGFIR_PCT]
&setvar undercheck7 = [token -[listitem %tablename% -info] -find ULARCHA_PCT]
&setvar undercheck8 = [token -[listitem %tablename% -info] -find UBIRCH_PCT]
&setvar undercheck9 = [token -[listitem %tablename% -info] -find UPOPLAR_PCT]
&setvar undercheck10 = [token -[listitem %tablename% -info] -find UTOT_CONIFER]
&setvar undercheck11 = [token -[listitem %tablename% -info] -find UTOT_DECID]
&setvar undercheck12 = [token -[listitem %tablename% -info] -find ULARCHT_PCT]
&setvar undercheck13 = [token -[listitem %tablename% -info] -find USPRUCEB_PCT]
/* Checking CLASSIFICATION fields.
&setvar classcheck1 = [token -[listitem %tablename% -info] -find COVERCAT]
&setvar classcheck2 = [token -[listitem %tablename% -info] -find FC_NOSTR]
&setvar classcheck3 = [token -[listitem %tablename% -info] -find FC_H_STR]
&setvar classcheck4 = [token -[listitem %tablename% -info] -find FC_M_STR]
&setvar classcheck5 = [token -[listitem %tablename% -info] -find UGRASS]
&setvar classcheck6 = [token -[listitem %tablename% -info] -find FC_DOM]
&setvar classcheck7 = [token -[listitem %tablename% -info] -find FC_SUBDOM]
&setvar classcheck8 = [token -[listitem %tablename% -info] -find FC_COMPLEX]
/* Removing OVERSTORY fields
&if %overcheck1% ne 0 &then dropitem %tablename% %tablename% ASPEN_PCT
&if %overcheck2% ne 0 &then dropitem %tablename% %tablename% TRUEFIR_PCT
&if %overcheck3% ne 0 &then dropitem %tablename% %tablename% SPRUCE_PCT
&if %overcheck4% ne 0 &then dropitem %tablename% %tablename% PINE_PCT
&if %overcheck5% ne 0 &then dropitem %tablename% %tablename% WHITELIMB_PCT
&if %overcheck6% ne 0 &then dropitem %tablename% %tablename% DOUGFIR_PCT
&if %overcheck7% ne 0 &then dropitem %tablename% %tablename% larcha_PCT
&if %overcheck8% ne 0 &then dropitem %tablename% %tablename% BIRCH_PCT
&if %overcheck9% ne 0 &then dropitem %tablename% %tablename% POPLAR_PCT
&if %overcheck10% ne 0 &then dropitem %tablename% %tablename% TOT_CONIFER
&if %overcheck11% ne 0 &then dropitem %tablename% %tablename% TOT_DECID
&if %overcheck12% ne 0 &then dropitem %tablename% %tablename% larcht_PCT
&if %overcheck13% ne 0 &then dropitem %tablename% %tablename% SPRUCEB_PCT
/* Removing UNDERSTORY fields
&if %undercheck1% ne 0 &then dropitem %tablename% %tablename% UASPEN_PCT
&if %undercheck2% ne 0 &then dropitem %tablename% %tablename% UTRUEFIR_PCT
&if %undercheck3% ne 0 &then dropitem %tablename% %tablename% USPRUCE_PCT
&if %undercheck4% ne 0 &then dropitem %tablename% %tablename% UPINE_PCT
&if %undercheck5% ne 0 &then dropitem %tablename% %tablename% UWHITELMB_PCT
&if %undercheck6% ne 0 &then dropitem %tablename% %tablename% UDOUGFIR_PCT
&if %undercheck7% ne 0 &then dropitem %tablename% %tablename% ULARCHA_PCT
&if %undercheck8% ne 0 &then dropitem %tablename% %tablename% UBIRCH_PCT
&if %undercheck9% ne 0 &then dropitem %tablename% %tablename% UPOPLAR_PCT
&if %undercheck10% ne 0 &then dropitem %tablename% %tablename% UTOT_CONIFER
&if %undercheck11% ne 0 &then dropitem %tablename% %tablename% UTOT_DECID
&if %undercheck12% ne 0 &then dropitem %tablename% %tablename% Ularcht_PCT
&if %undercheck13% ne 0 &then dropitem %tablename% %tablename% USPRUCEB_PCT
/* Removing CLASSIFICATION fields
&if %classcheck1% ne 0 &then dropitem %tablename% %tablename% COVERCAT
&if %classcheck2% ne 0 &then dropitem %tablename% %tablename% FC_NOSTR
&if %classcheck3% ne 0 &then dropitem %tablename% %tablename% FC_H_STR
&if %classcheck4% ne 0 &then dropitem %tablename% %tablename% FC_M_STR
&if %classcheck5% ne 0 &then dropitem %tablename% %tablename% UGRASS
&if %classcheck6% ne 0 &then dropitem %tablename% %tablename% FC_DOM
&if %classcheck7% ne 0 &then dropitem %tablename% %tablename% FC_SUBDOM
13. Alberta Forest Cover Classification Procedure
13
&if %classcheck8% ne 0 &then dropitem %tablename% %tablename% FC_COMPLEX
&return
/*===========================================================================
&routine ADDFIELDS
/*===========================================================================
/* Adding general species percentage fields, and a total coniferous percent
/* field. Adding final classification fields.
tables
additem %tablename% aspen_pct 2 2 i
additem %tablename% truefir_pct 2 2 i
additem %tablename% spruce_pct 2 2 i
additem %tablename% spruceb_pct 2 2 i
additem %tablename% pine_pct 2 2 i
additem %tablename% whitelimb_pct 2 2 i
additem %tablename% dougfir_pct 2 2 i
additem %tablename% larcha_pct 2 2 i
additem %tablename% larcht_pct 2 2 i
additem %tablename% birch_pct 2 2 i
additem %tablename% poplar_pct 2 2 i
additem %tablename% tot_conifer 2 2 i
additem %tablename% tot_decid 2 2 i
additem %tablename% uaspen_pct 2 2 i
additem %tablename% utruefir_pct 2 2 i
additem %tablename% uspruce_pct 2 2 i
additem %tablename% uspruceb_pct 2 2 i
additem %tablename% upine_pct 2 2 i
additem %tablename% uwhitelmb_pct 2 2 i
additem %tablename% udougfir_pct 2 2 i
additem %tablename% ularcha_pct 2 2 i
additem %tablename% ularcht_pct 2 2 i
additem %tablename% ubirch_pct 2 2 i
additem %tablename% upoplar_pct 2 2 i
additem %tablename% utot_conifer 2 2 i
additem %tablename% utot_decid 2 2 i
additem %tablename% covercat 15 15 c
additem %tablename% fc_nostr 40 40 c
additem %tablename% fc_h_str 40 40 c
additem %tablename% fc_m_str 40 40 c
additem %tablename% ugrass 30 30 c
additem %tablename% fc_dom 40 40 c
additem %tablename% fc_subdom 40 40 c
additem %tablename% fc_complex 85 85 c
quit
&return
/*===========================================================================
&routine OCALCFIELDS
/*===========================================================================
/* Populating overstory fields added in routine ADDFIELDS.
tables
select %tablename%
/******************************
/* Calculating ASPEN percentage
14. Alberta Forest Cover Classification Procedure
14
/******************************
calc aspen_pct = 0
reselect sp1 = 'A' or sp1 = 'Aw'
calc aspen_pct = sp1_per
nselect
reselect sp2 = 'A' or sp2 = 'Aw'
calc aspen_pct = aspen_pct + sp2_per
nselect
reselect sp3 = 'A' or sp3 = 'Aw'
calc aspen_pct = aspen_pct + sp3_per
nselect
reselect sp4 = 'A' or sp4 = 'Aw'
calc aspen_pct = aspen_pct + sp4_per
nselect
reselect sp5 = 'A' or sp5 = 'Aw'
calc aspen_pct = aspen_pct + sp5_per
reselect
nselect
/**********************************
/* Calculating TRUE FIR percentage.
/**********************************
calc truefir_pct = 0
reselect sp1 = 'Fb' or sp1 = 'Fa'
calc truefir_pct = sp1_per
nselect
reselect sp2 = 'Fb' or sp2 = 'Fa'
calc truefir_pct = truefir_pct + sp2_per
nselect
reselect sp3 = 'Fb' or sp3 = 'Fa'
calc truefir_pct = truefir_pct + sp3_per
nselect
reselect sp4 = 'Fb' or sp4 = 'Fa'
calc truefir_pct = truefir_pct + sp4_per
nselect
reselect sp5 = 'Fb' or sp5 = 'Fa'
calc truefir_pct = truefir_pct + sp5_per
reselect
nselect
/********************************
/* Calculating SPRUCE percentage.
/********************************
calc spruce_pct = 0
reselect sp1 = 'Sw' or sp1 = 'Se'
calc spruce_pct = sp1_per
nselect
reselect sp2 = 'Sw' or sp2 = 'Se'
calc spruce_pct = spruce_pct + sp2_per
nselect
reselect sp3 = 'Sw' or sp3 = 'Se'
calc spruce_pct = spruce_pct + sp3_per
nselect
reselect sp4 = 'Sw' or sp4 = 'Se'
calc spruce_pct = spruce_pct + sp4_per
nselect
reselect sp5 = 'Sw' or sp5 = 'Se'
calc spruce_pct = spruce_pct + sp5_per
reselect
nselect
/**************************************
/* Calculating BLACK SPRUCE percentage.
15. Alberta Forest Cover Classification Procedure
15
/**************************************
calc spruceb_pct = 0
reselect sp1 = 'Sb'
calc spruceb_pct = sp1_per
nselect
reselect sp2 = 'Sb'
calc spruceb_pct = spruceb_pct + sp2_per
nselect
reselect sp3 = 'Sb'
calc spruceb_pct = spruceb_pct + sp3_per
nselect
reselect sp4 = 'Sb'
calc spruceb_pct = spruceb_pct + sp4_per
nselect
reselect sp5 = 'Sb'
calc spruceb_pct = spruceb_pct + sp5_per
reselect
nselect
/*********************************************
/* Calculating LODGEPOLE/JACK PINE percentage.
/*********************************************
calc pine_pct = 0
reselect sp1 = 'P' or sp1 = 'Pl' or sp1 = 'Pj'
calc pine_pct = sp1_per
nselect
reselect sp2 = 'P' or sp2 = 'Pl' or sp2 = 'Pj'
calc pine_pct = pine_pct + sp2_per
nselect
reselect sp3 = 'P' or sp3 = 'Pl' or sp3 = 'Pj'
calc pine_pct = pine_pct + sp3_per
nselect
reselect sp4 = 'P' or sp4 = 'Pl' or sp4 = 'Pj'
calc pine_pct = pine_pct + sp4_per
nselect
reselect sp5 = 'P' or sp5 = 'Pl' or sp5 = 'Pj'
calc pine_pct = pine_pct + sp5_per
reselect
nselect
/*************************************************
/* Calculating WHITEBARK / LIMBER PINE percentage.
/*************************************************
calc whitelimb_pct = 0
reselect sp1 = 'Pa' or sp1 = 'Pf'
calc whitelimb_pct = sp1_per
nselect
reselect sp2 = 'Pa' or sp2 = 'Pf'
calc whitelimb_pct = whitelimb_pct + sp2_per
nselect
reselect sp3 = 'Pa' or sp3 = 'Pf'
calc whitelimb_pct = whitelimb_pct + sp3_per
nselect
reselect sp4 = 'Pa' or sp4 = 'Pf'
calc whitelimb_pct = whitelimb_pct + sp4_per
nselect
reselect sp5 = 'Pa' or sp5 = 'Pf'
calc whitelimb_pct = whitelimb_pct + sp5_per
reselect
nselect
/************************************
/* Calculating DOUGLAS FIR percentage
16. Alberta Forest Cover Classification Procedure
16
/************************************
calc dougfir_pct = 0
reselect sp1 = 'Fd'
calc dougfir_pct = sp1_per
nselect
reselect sp2 = 'Fd'
calc dougfir_pct = dougfir_pct + sp2_per
nselect
reselect sp3 = 'Fd'
calc dougfir_pct = dougfir_pct + sp3_per
nselect
reselect sp4 = 'Fd'
calc dougfir_pct = dougfir_pct + sp4_per
nselect
reselect sp5 = 'Fd'
calc dougfir_pct = dougfir_pct + sp5_per
reselect
nselect
/*************************************************
/* Calculating SUBALPINE/WESTERN LARCH percentage.
/*************************************************
calc larcha_pct = 0
reselect sp1 = 'La' or sp1 = 'Lw'
calc larcha_PCT = sp1_per
nselect
reselect sp2 = 'La' or sp2 = 'Lw'
calc larcha_PCT = larcha_PCT + sp2_per
nselect
reselect sp3 = 'La' or sp3 = 'Lw'
calc larcha_PCT = larcha_PCT + sp3_per
nselect
reselect sp4 = 'La' or sp4 = 'Lw'
calc larcha_PCT = larcha_PCT + sp4_per
nselect
reselect sp5 = 'La' or sp5 = 'Lw'
calc larcha_PCT = larcha_PCT + sp5_per
reselect
nselect
/****************************************
/* Calculating LARCH TAMARACK percentage.
/****************************************
calc larcht_pct = 0
reselect sp1 = 'Lt'
calc larcht_PCT = sp1_per
nselect
reselect sp2 = 'Lt'
calc larcht_PCT = larcht_PCT + sp2_per
nselect
reselect sp3 = 'Lt'
calc larcht_PCT = larcht_PCT + sp3_per
nselect
reselect sp4 = 'Lt'
calc larcht_PCT = larcht_PCT + sp4_per
nselect
reselect sp5 = 'Lt'
calc larcht_PCT = larcht_PCT + sp5_per
reselect
nselect
/******************************
/* Calculating BIRCH percentage
17. Alberta Forest Cover Classification Procedure
17
/******************************
calc birch_pct = 0
reselect sp1 = 'Bw'
calc birch_pct = sp1_per
nselect
reselect sp2 = 'Bw'
calc birch_pct = birch_pct + sp2_per
nselect
reselect sp3 = 'Bw'
calc birch_pct = birch_pct + sp3_per
nselect
reselect sp4 = 'Bw'
calc birch_pct = birch_pct + sp4_per
nselect
reselect sp5 = 'Bw'
calc birch_pct = birch_pct + sp5_per
reselect
nselect
/******************************
/* Calculating POPLAR percentage
/******************************
calc poplar_pct = 0
reselect sp1 = 'Pb'
calc poplar_pct = sp1_per
nselect
reselect sp2 = 'Pb'
calc poplar_pct = poplar_pct + sp2_per
nselect
reselect sp3 = 'Pb'
calc poplar_pct = poplar_pct + sp3_per
nselect
reselect sp4 = 'Pb'
calc poplar_pct = poplar_pct + sp4_per
nselect
reselect sp5 = 'Pb'
calc poplar_pct = poplar_pct + sp5_per
reselect
nselect
/************************************************
/* Calculating TOTAL OVERSTORY CONIFER percentage
/************************************************
calc tot_conifer = 0
calc tot_conifer = spruce_pct + pine_pct + truefir_pct + dougfir_pct +
larcha_PCT + whitelimb_pct + spruceb_pct + larcht_pct
/**************************************************
/* Calculating TOTAL OVERSTORY DECIDUOUS percentage
/**************************************************
calc tot_decid = 0
calc tot_decid = poplar_pct + aspen_pct + birch_pct
quit
&return
/*========================================================================
&routine UCALCFIELDS
/*========================================================================
/* Populating understory fields added in routine ADDFIELDS.
tables
18. Alberta Forest Cover Classification Procedure
18
select %tablename%
/******************************
/* Calculating ASPEN percentage
/******************************
calc uaspen_pct = 0
reselect usp1 = 'A' or usp1 = 'Aw'
calc uaspen_pct = usp1_per
nselect
reselect usp2 = 'A' or usp2 = 'Aw'
calc uaspen_pct = uaspen_pct + usp2_per
nselect
reselect usp3 = 'A' or usp3 = 'Aw'
calc uaspen_pct = uaspen_pct + usp3_per
nselect
reselect usp4 = 'A' or usp4 = 'Aw'
calc uaspen_pct = uaspen_pct + usp4_per
nselect
reselect usp5 = 'A' or usp5 = 'Aw'
calc uaspen_pct = uaspen_pct + usp5_per
reselect
nselect
/**********************************
/* Calculating TRUE FIR percentage.
/**********************************
calc utruefir_pct = 0
reselect usp1 = 'Fb' or usp1 = 'Fa'
calc utruefir_pct = usp1_per
nselect
reselect usp2 = 'Fb' or usp2 = 'Fa'
calc utruefir_pct = utruefir_pct + usp2_per
nselect
reselect usp3 = 'Fb' or usp3 = 'Fa'
calc utruefir_pct = utruefir_pct + usp3_per
nselect
reselect usp4 = 'Fb' or usp4 = 'Fa'
calc utruefir_pct = utruefir_pct + usp4_per
nselect
reselect usp5 = 'Fb' or usp5 = 'Fa'
calc utruefir_pct = utruefir_pct + usp5_per
reselect
nselect
/************************************************
/* Calculating WHITE/ENGELMANN SPRUCE percentage.
/************************************************
calc uspruce_pct = 0
reselect usp1 = 'Sw' or usp1 = 'Se'
calc uspruce_pct = usp1_per
nselect
reselect usp2 = 'Sw' or usp2 = 'Se'
calc uspruce_pct = uspruce_pct + usp2_per
nselect
reselect usp3 = 'Sw' or usp3 = 'Se'
calc uspruce_pct = uspruce_pct + usp3_per
nselect
reselect usp4 = 'Sw' or usp4 = 'Se'
calc uspruce_pct = uspruce_pct + usp4_per
nselect
reselect usp5 = 'Sw' or usp5 = 'Se'
calc uspruce_pct = uspruce_pct + usp5_per
reselect
19. Alberta Forest Cover Classification Procedure
19
nselect
/**************************************
/* Calculating BLACK SPRUCE percentage.
/**************************************
calc uspruceb_pct = 0
reselect usp1 = 'Sb'
calc uspruceb_pct = usp1_per
nselect
reselect usp2 = 'Sb'
calc uspruceb_pct = uspruceb_pct + usp2_per
nselect
reselect usp3 = 'Sb'
calc uspruceb_pct = uspruceb_pct + usp3_per
nselect
reselect usp4 = 'Sb'
calc uspruceb_pct = uspruceb_pct + usp4_per
nselect
reselect usp5 = 'Sb'
calc uspruceb_pct = uspruceb_pct + usp5_per
reselect
nselect
/*********************************************
/* Calculating LODGEPOLE/JACK PINE percentage.
/*********************************************
calc upine_pct = 0
reselect usp1 = 'P' or usp1 = 'Pl' or usp1 = 'Pj'
calc upine_pct = usp1_per
nselect
reselect usp2 = 'P' or usp2 = 'Pl' or usp2 = 'Pj'
calc upine_pct = upine_pct + usp2_per
nselect
reselect usp3 = 'P' or usp3 = 'Pl' or usp3 = 'Pj'
calc upine_pct = upine_pct + usp3_per
nselect
reselect usp4 = 'P' or usp4 = 'Pl' or usp4 = 'Pj'
calc upine_pct = upine_pct + usp4_per
nselect
reselect usp5 = 'P' or usp5 = 'Pl' or usp5 = 'Pj'
calc upine_pct = upine_pct + usp5_per
reselect
nselect
/*************************************************
/* Calculating WHITEBARK / LIMBER PINE percentage.
/*************************************************
calc uwhitelmb_pct = 0
reselect usp1 = 'Pa' or usp1 = 'Pf'
calc uwhitelmb_pct = usp1_per
nselect
reselect usp2 = 'Pa' or usp2 = 'Pf'
calc uwhitelmb_pct = uwhitelmb_pct + usp2_per
nselect
reselect usp3 = 'Pa' or usp3 = 'Pf'
calc uwhitelmb_pct = uwhitelmb_pct + usp3_per
nselect
reselect usp4 = 'Pa' or usp4 = 'Pf'
calc uwhitelmb_pct = uwhitelmb_pct + usp4_per
nselect
reselect usp5 = 'Pa' or usp5 = 'Pf'
calc uwhitelmb_pct = uwhitelmb_pct + usp5_per
reselect
20. Alberta Forest Cover Classification Procedure
20
nselect
/************************************
/* Calculating DOUGLAS FIR percentage
/************************************
calc udougfir_pct = 0
reselect usp1 = 'Fd'
calc udougfir_pct = usp1_per
nselect
reselect usp2 = 'Fd'
calc udougfir_pct = udougfir_pct + usp2_per
nselect
reselect usp3 = 'Fd'
calc udougfir_pct = udougfir_pct + usp3_per
nselect
reselect usp4 = 'Fd'
calc udougfir_pct = udougfir_pct + usp4_per
nselect
reselect usp5 = 'Fd'
calc udougfir_pct = udougfir_pct + usp5_per
reselect
nselect
/*****************************************
/* Calculating SUBALPINE LARCH percentage.
/*****************************************
calc ularcha_PCT = 0
reselect usp1 = 'La' or usp1 = 'Lw'
calc ularcha_PCT = usp1_per
nselect
reselect usp2 = 'La' or usp2 = 'Lw'
calc ularcha_PCT = ularcha_PCT + usp2_per
nselect
reselect usp3 = 'La' or usp3 = 'Lw'
calc ularcha_PCT = ularcha_PCT + usp3_per
nselect
reselect usp4 = 'La' or usp4 = 'Lw'
calc ularcha_PCT = ularcha_PCT + usp4_per
nselect
reselect usp5 = 'La' or usp5 = 'Lw'
calc ularcha_PCT = ularcha_PCT + usp5_per
reselect
nselect
/*****************************************
/* Calculating LARCH TAMARACK percentage.
/*****************************************
calc ularcht_PCT = 0
reselect usp1 = 'Lt'
calc ularcht_PCT = usp1_per
nselect
reselect usp2 = 'Lt'
calc ularcht_PCT = ularcht_PCT + usp2_per
nselect
reselect usp3 = 'Lt'
calc ularcht_PCT = ularcht_PCT + usp3_per
nselect
reselect usp4 = 'Lt'
calc ularcht_PCT = ularcht_PCT + usp4_per
nselect
reselect usp5 = 'Lt'
calc ularcht_PCT = ularcht_PCT + usp5_per
reselect
21. Alberta Forest Cover Classification Procedure
21
nselect
/******************************
/* Calculating BIRCH percentage
/******************************
calc ubirch_pct = 0
reselect usp1 = 'Bw'
calc ubirch_pct = usp1_per
nselect
reselect usp2 = 'Bw'
calc ubirch_pct = ubirch_pct + usp2_per
nselect
reselect usp3 = 'Bw'
calc ubirch_pct = ubirch_pct + usp3_per
nselect
reselect usp4 = 'Bw'
calc ubirch_pct = ubirch_pct + usp4_per
nselect
reselect usp5 = 'Bw'
calc ubirch_pct = ubirch_pct + usp5_per
reselect
nselect
/******************************
/* Calculating POPLAR percentage
/******************************
calc upoplar_pct = 0
reselect usp1 = 'Pb'
calc upoplar_pct = usp1_per
nselect
reselect usp2 = 'Pb'
calc upoplar_pct = upoplar_pct + usp2_per
nselect
reselect usp3 = 'Pb'
calc upoplar_pct = upoplar_pct + usp3_per
nselect
reselect usp4 = 'Pb'
calc upoplar_pct = upoplar_pct + usp4_per
nselect
reselect usp5 = 'Pb'
calc upoplar_pct = upoplar_pct + usp5_per
reselect
nselect
/************************************************
/* Calculating TOTAL UNDERSTORY CONIFER percentage
/************************************************
calc utot_conifer = 0
calc utot_conifer = uspruce_pct + uspruceb_pct + upine_pct + utruefir_pct
+ udougfir_pct + ularcha_PCT + ularcht_pct + uwhitelmb_pct
/***************************************************
/* Calculating TOTAL UNDERSTORY DECIDUOUS percentage
/***************************************************
calc utot_decid = 0
calc utot_decid = upoplar_pct + uaspen_pct + ubirch_pct
quit
&return
/*=====================================================================
22. Alberta Forest Cover Classification Procedure
22
&routine CLASSFIELDS
/*=====================================================================
/* Calculates forest cover classification fields.
/* Calculating COVERCAT field
&setvar uptablename [upcase %tablename%]
&data arc INFO
ARC
SELECT %uptablename%
CONCATENATE COVERCAT FROM
SP1,SP1_PER,SP2,SP2_PER,SP3,SP3_PER,SP4,SP4_PER,SP5,SP5_PER
Q STOP
&end
&call NO_STRUCTURE
&call HORZ_STRUCTURE
&call MULTISTOREY
&call UGRASS
/* Calculating DOMINANT FORESTCOVER (FC_DOM) field.
tables
select %tablename%
calc fc_dom = ''
calc fc_subdom = ''
calc fc_complex = ''
calc fc_dom = fc_nostr
reselect fc_h_str ne ''
calc fc_dom = fc_h_str
nsel
reselect fc_m_str ne ''
calc fc_dom = fc_m_str
/* Calculating SUB-DOMINANT FORESTCOVER (FC_SUBDOM) field.
resel
nsel
reselect fc_h_str ne '' and fc_nostr ne fc_dom
calc fc_subdom = fc_nostr
nsel
reselect fc_m_str ne '' and fc_nostr ne fc_dom
calc fc_subdom = fc_nostr
resel
nsel
reselect ugrass ne ''
reselect ugrass ne fc_dom
calc fc_subdom = ugrass
quit
/*****************************************************
/* Calculating COMPLEX FORESTCOVER (FC_COMPLEX) field.
/*****************************************************
&data arc INFO
ARC
SELECT %uptablename%
RESELECT FC_SUBDOM NE ''
CONCATENATE FC_COMPLEX FROM FC_DOM +,'/ ',FC_SUBDOM
NSEL
CONCATENATE FC_COMPLEX FROM FC_DOM
Q STOP
&end
23. Alberta Forest Cover Classification Procedure
23
&return
/*=====================================================================
&routine NO_STRUCTURE
/*=====================================================================
/* Calculates Forest Cover Conditionals with NO Structure
tables
select %tablename%
calc fc_nostr = ''
/*************************
/* 1.PINE (lodgepole/jack)
/*************************
reselect ( pine_pct ge 9 and larcha_PCT = 0 and larcht_pct = 0 )
calc fc_nostr = 'Pine'
resel
nsel
reselect pine_pct >= 5
reselect tot_decid < 2
reselect pine_pct > spruce_pct
reselect pine_pct > spruceb_pct
reselect pine_pct > truefir_pct
reselect pine_pct > dougfir_pct
reselect larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'Pine (Lodgepole/Jack)'
commit
/***************************
/* 2. WHITE/ENGELMANN SPRUCE
/***************************
reselect spruce_pct ge 9
calc fc_nostr = 'White/Engelmann Spruce'
resel
nsel
reselect spruce_pct >= 5
reselect tot_decid < 2
reselect spruce_pct >= pine_pct
reselect spruce_pct > truefir_pct
reselect spruce_pct > dougfir_pct
reselect spruce_pct >= spruceb_pct
reselect larcha_PCT = 0 and larcht_pct = 0
reselect not ( spruce_pct = 5 and truefir_pct = 5 )
calc fc_nostr = 'White/Engelmann Spruce'
commit
/******************
/* 2a. BLACK SPRUCE
/******************
reselect spruceb_pct >= 9
calc fc_nostr = 'Black Spruce'
resel
nsel
reselect spruceb_pct >= 5
reselect tot_decid < 2
24. Alberta Forest Cover Classification Procedure
24
reselect spruceb_pct >= pine_pct
reselect spruceb_pct > truefir_pct
reselect spruceb_pct > dougfir_pct
reselect spruceb_pct >= spruce_pct
reselect larcha_pct = 0 and larcht_pct = 0
reselect not ( spruceb_pct = 5 and truefir_pct = 5 )
reselect not ( spruceb_pct = 5 and spruce_pct = 5 )
calc fc_nostr = 'Black Spruce'
/* This class was added March 12, 2002
/******************
/* 3. SUBALPINE FIR
/******************
reselect truefir_pct >= 9 and larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'True Fir'
resel
nsel
reselect truefir_pct >= 5
reselect tot_decid < 2
reselect truefir_pct >= pine_pct
reselect truefir_pct >= spruce_pct
reselect truefir_pct >= spruceb_pct
reselect truefir_pct > dougfir_pct
reselect larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'True Fir'
resel
nsel
reselect ( truefir_pct = 5 and pine_pct = 5 ) or ( truefir_pct = 5 and
spruce_pct = 5 ) or ( truefir_pct = 5 and spruceb_pct = 5 )
calc fc_nostr = 'True Fir'
commit
/****************
/* 4. DOUGLAS FIR
/****************
reselect dougfir_pct >= 9 and larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'Douglas Fir'
resel
nsel
reselect dougfir_pct >= 5
reselect tot_decid < 2
reselect dougfir_pct >= pine_pct
reselect dougfir_pct >= spruce_pct
reselect dougfir_pct >= spruceb_pct
reselect dougfir_pct > truefir_pct
reselect larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'Douglas Fir'
resel
nsel
reselect ( dougfir_pct = 5 and pine_pct = 5 ) or ( dougfir_pct = 5 and
spruce_pct = 5 )
calc fc_nostr = 'Douglas Fir'
resel
nsel
reselect ( dougfir_pct = 5 and truefir_pct = 5 ) or ( dougfir_pct = 5 and
spruceb_pct = 5 )
25. Alberta Forest Cover Classification Procedure
25
calc fc_nostr = 'Douglas Fir'
/* This case added November 13, 2001.
commit
/*********************
/* 5. SUBALPINE LARCH
/*********************
reselect larcha_PCT >= 9
calc fc_nostr = 'Subalpine/Western Larch'
resel
nsel
reselect larcha_PCT >= 5
reselect tot_decid < 2
reselect larcha_PCT >= pine_pct
reselect larcha_PCT >= spruce_pct
reselect larcha_pct >= spruceb_pct
reselect larcha_PCT >= truefir_pct
reselect larcha_PCT >= dougfir_pct
calc fc_nostr = 'Subalpine/Western Larch'
commit
/********************
/* 5a. LARCH TAMARACK
/********************
reselect larcht_pct >= 9
calc fc_nostr = 'Larch Tamarack'
resel
nsel
reselect larcht_pct >= 5
reselect tot_decid < 2
reselect larcht_pct >= pine_pct
reselect larcht_pct >= spruce_pct
reselect larcht_pct >= spruceb_pct
reselect larcht_pct >= truefir_pct
reselect larcht_pct >= dougfir_pct
calc fc_nostr = 'Larch Tamarack'
commit
/* Class added March 12, 2002
/*************************
/* 6.WHITEBARK/LIMBER PINE
/*************************
reselect ( sp1 = 'Pa' or sp1 = 'Pf' ) and ( sp1_per >= 5 )
calc fc_nostr = 'Whitebark/Limber Pine'
resel
nsel
reselect ( sp2 = 'Pa' or sp2 = 'Pf' )
reselect sp2_per >= 5
reselect tot_decid < 2
reselect larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'Whitebark/Limber Pine'
commit
/**********
/* 7. ASPEN
/**********
26. Alberta Forest Cover Classification Procedure
26
reselect aspen_pct >= 4
reselect tot_conifer <= 4
reselect aspen_pct > poplar_pct
reselect aspen_pct > birch_pct
calc fc_nostr = 'Aspen'
commit
/******************
/* 8. BALSAM POPLAR
/******************
reselect poplar_pct >= 5
reselect tot_conifer < 2
calc fc_nostr = 'Balsam Poplar'
commit
/*******
/* BIRCH
/*******
reselect birch_pct >= 5
reselect tot_conifer < 2
calc fc_nostr = 'Birch'
/********************
/* 9. ASPEN MIXEDWOOD
/********************
reselect aspen_pct >= 4
reselect tot_conifer >= 2 and tot_conifer <= 4
reselect aspen_pct > poplar_pct
reselect aspen_pct > birch_pct
reselect larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'Aspen Mixedwood'
resel
nsel
reselect aspen_pct <= 8
reselect tot_decid > tot_conifer
reselect aspen_pct >= poplar_pct
reselect aspen_pct >= birch_pct
reselect tot_conifer > 1
calc fc_nostr = 'Aspen Mixedwood'
/* Condition added March 12, 2002
commit
/*****************************
/* 10. BALSAM POPLAR MIXEDWOOD
/*****************************
reselect poplar_pct > 5
reselect tot_conifer >= 2 and tot_conifer <= 4
reselect aspen_pct <= poplar_pct
reselect birch_pct < poplar_pct
calc fc_nostr = 'Balsam Poplar Mixedwood'
resel
nsel
reselect poplar_pct <= 8 and poplar_pct >= 1
reselect tot_decid > tot_conifer
reselect aspen_pct <= poplar_pct
reselect birch_pct < poplar_pct
reselect tot_conifer > 1
calc fc_nostr = 'Balsam Poplar Mixedwood'
27. Alberta Forest Cover Classification Procedure
27
commit
/**********************
/* 10a. BIRCH MIXEDWOOD
/**********************
reselect birch_pct >= 4
reselect tot_conifer >= 2 and tot_conifer <= 4
reselect aspen_pct <= birch_pct
reselect poplar_pct <= birch_pct
calc fc_nostr = 'Birch Mixedwood'
resel
nsel
reselect birch_pct <= 8 and birch_pct >= 1
reselect tot_decid > tot_conifer
reselect aspen_pct <= birch_pct
reselect poplar_pct <= birch_pct
reselect tot_conifer > 1
calc fc_nostr = 'Birch Mixedwood'
commit
/* Class added March 12, 2002
/*************************************
/* 11. PINE (LODGEPOLE/JACK) MIXEDWOOD
/*************************************
reselect tot_decid <= tot_conifer
reselect tot_decid >= 2
reselect pine_pct > spruce_pct
reselect pine_pct > spruceb_pct
reselect pine_pct > truefir_pct
reselect pine_pct > dougfir_pct
reselect tot_conifer >= 3
calc fc_nostr = 'Pine (Lodgepole/Jack) Mixedwood'
commit
/**************************************
/* 12. WHITE/ENGELMANN SPRUCE MIXEDWOOD
/**************************************
reselect tot_decid <= tot_conifer
reselect spruce_pct >= pine_pct
reselect spruce_pct > truefir_pct
reselect spruce_pct > dougfir_pct
reselect spruce_pct >= spruceb_pct
reselect tot_conifer >= 3
reselect tot_decid >= 2
calc fc_nostr = 'White/Engelmann Spruce Mixedwood'
commit
/*****************************
/* 12a. BLACK SPRUCE MIXEDWOOD
/*****************************
reselect tot_decid <= tot_conifer
reselect spruceb_pct >= pine_pct
reselect spruceb_pct > truefir_pct
reselect spruceb_pct > dougfir_pct
reselect spruceb_pct > spruce_pct
reselect spruceb_pct > larcha_pct
reselect spruceb_pct > larcht_pct
reselect tot_conifer >= 3
28. Alberta Forest Cover Classification Procedure
28
reselect tot_decid >= 2
calc fc_nostr = 'Black Spruce Mixedwood'
commit
/* This class added March 12, 2002
/*******************************
/* 12b. LARCH TAMARACK MIXEDWOOD
/*******************************
reselect tot_decid <= tot_conifer
reselect larcht_pct >= pine_pct
reselect larcht_pct > truefir_pct
reselect larcht_pct > dougfir_pct
reselect larcht_pct > spruce_pct
reselect larcht_pct >= spruceb_pct
reselect tot_conifer >= 3
reselect tot_decid >= 2
calc fc_nostr = 'Larch Tamarack Mixedwood'
commit
/* This class added March 12, 2002
/************************
/* 13. TRUE FIR MIXEDWOOD
/************************
reselect tot_decid <= tot_conifer
reselect truefir_pct > dougfir_pct
reselect truefir_pct >= spruce_pct
reselect truefir_pct >= spruceb_pct
reselect truefir_pct > larcha_PCT
reselect truefir_pct > larcht_pct
reselect truefir_pct >= 1
reselect tot_conifer >= 3
reselect tot_decid >= 2
calc fc_nostr = 'True Fir Mixedwood'
commit
/***************************
/* 14. DOUGLAS FIR MIXEDWOOD
/***************************
reselect tot_decid <= tot_conifer
reselect dougfir_pct >= pine_pct
reselect dougfir_pct > truefir_pct
reselect dougfir_pct >= spruce_pct
reselect dougfir_pct >= spruceb_pct
reselect tot_conifer >= 3
reselect tot_decid >= 2
calc fc_nostr = 'Douglas Fir Mixedwood'
commit
/*****************************************
/* 15. MIXED CONIFER (LODGEPOLE/JACK PINE)
/*****************************************
reselect tot_decid <= 1
reselect pine_pct > dougfir_pct
reselect pine_pct > truefir_pct
reselect pine_pct > spruce_pct
reselect pine_pct > spruceb_pct
reselect larcha_PCT = 0 and larcht_pct = 0
reselect pine_pct <= 4 and pine_pct >= 1
calc fc_nostr = 'Mixed Conifer (Pine - Lodgepole/Jack)'
29. Alberta Forest Cover Classification Procedure
29
commit
/********************************************
/* 16. MIXED CONIFER (WHITE/ENGELMANN SPRUCE)
/********************************************
reselect tot_decid <= 1
reselect spruce_pct > dougfir_pct
reselect spruce_pct > truefir_pct
reselect spruce_pct >= pine_pct
reselect spruce_pct >= spruceb_pct
reselect larcha_PCT = 0 and larcht_pct = 0
reselect spruce_pct <= 4 and spruce_pct >= 1
calc fc_nostr = 'Mixed Conifer (White/Engelmann Spruce)'
commit
/***********************************
/* 16a. MIXED CONIFER (BLACK SPRUCE)
/***********************************
reselect tot_decid <= 1
reselect spruceb_pct > dougfir_pct
reselect spruceb_pct > truefir_pct
reselect spruceb_pct >= pine_pct
reselect spruceb_pct > spruce_pct
reselect larcha_pct = 0 and larcht_pct = 0
reselect spruceb_pct <= 4 and spruceb_pct >= 1
calc fc_nostr = 'Mixed Conifer (Black Spruce)'
commit
/* Class added March 12, 2002
/******************************
/* 17. MIXED CONIFER (TRUE FIR)
/******************************
reselect tot_decid <= 1
reselect truefir_pct > dougfir_pct
reselect truefir_pct >= spruce_pct
reselect truefir_pct >= spruceb_pct
reselect truefir_pct >= pine_pct
reselect larcha_PCT = 0 and larcht_pct = 0
reselect truefir_pct <= 4 and truefir_pct >= 1
calc fc_nostr = 'Mixed Conifer (True Fir)'
commit
/*********************************
/* 18. MIXED CONIFER (DOUGLAS FIR)
/*********************************
reselect tot_decid <= 1
reselect dougfir_pct >= truefir_pct
reselect dougfir_pct >= spruce_pct
reselect dougfir_pct >= spruceb_pct
reselect dougfir_pct >= pine_pct
reselect larcha_PCT = 0 and larcht_pct = 0
reselect dougfir_pct <= 4 and dougfir_pct >= 1
calc fc_nostr = 'Mixed Conifer (Douglas Fir)'
/* November 13, 2001: modified tot_decid = 0 to tot_decid <= 1
commit
/*******************************************
30. Alberta Forest Cover Classification Procedure
30
/* 19. MIXED CONIFER (WHITEBARK/LIMBER PINE)
/*******************************************
reselect tot_decid <= 1
reselect ( covercat cn 'Pa' or covercat cn 'Pf' )
reselect fc_nostr <> 'Whitebark/Limber Pine'
reselect whitelimb_pct <= 4 and whitelimb_pct >= 1
reselect whitelimb_pct >= larcha_PCT
reselect whitelimb_pct >= larcht_pct
reselect whitelimb_pct >= dougfir_pct
reselect whitelimb_pct >= truefir_pct
reselect whitelimb_pct >= pine_pct
reselect whitelimb_pct >= spruce_pct
reselect whitelimb_pct >= spruceb_pct
reselect larcha_PCT = 0 and larcht_pct = 0
calc fc_nostr = 'Mixed Conifer (Whitebark/Limber Pine)'
commit
/*********************************************
/* 20. MIXED CONIFER (SUBALPINE/WESTERN LARCH)
/*********************************************
reselect tot_decid <= 1
reselect larcha_PCT < 5
reselect larcha_PCT > 0
calc fc_nostr = 'Mixed Conifer (Subalpine/Western Larch)'
commit
/*************************************
/* 20a. MIXED CONIFER (LARCH TAMARACK)
/*************************************
reselect tot_decid <= 1
reselect larcht_pct < 5
reselect larcht_pct > 0
calc fc_nostr = 'Mixed Conifer (Larch Tamarack)'
commit
/* class added March 12, 2002
/********************
/* 21. SPRUCE WETLAND
/********************
/* reselect fc_nostr cn 'Spruce'
/* reselect ( moist_reg = 'a' or moist_reg = 'w' )
/* calc fc_nostr = 'Spruce Wetland'
/*commit
/* Class removed March 12, 2002
/***************************
/* 21a. BLACK SPRUCE WETLAND
/***************************
/*reselect fc_nostr cn 'Spruce'
reselect ( moist_reg = 'a' or moist_reg = 'w' )
reselect larcha_pct = 0 and larcht_pct = 0
reselect ularcha_pct = 0 and ularcht_pct = 0
reselect tot_decid <= 2
reselect aspen_pct = 0
reselect poplar_pct <= 1
reselect birch_pct <= 2
reselect truefir_pct = 0
reselect pine_pct <= 2
reselect spruce_pct = 0
31. Alberta Forest Cover Classification Procedure
31
reselect spruceb_pct > 0
calc fc_nostr = 'Black Spruce Wetland'
commit
/* Class added March 12, 2002
/* No larch presence allowed
/* No White spruce presence allowed
/* No aspen presence allowed
/* Minimal deciduous presence tolerated
/* No fir presence allowed
/***************************
/* 21b. WHITE SPRUCE WETLAND
/***************************
/*reselect fc_nostr cn 'Spruce'
reselect ( moist_reg = 'a' or moist_reg = 'w' )
reselect larcha_pct < 5 and larcht_pct < 5
reselect tot_decid <= 2
reselect aspen_pct = 0
reselect poplar_pct <= 1
reselect birch_pct <= 2
reselect truefir_pct = 0
reselect pine_pct <= 2
reselect spruce_pct >= 2
reselect fc_nostr <> 'Black Spruce Wetland'
calc fc_nostr = 'White Spruce Wetland'
commit
/* Class added March 12, 2002
/* Presence of Sw in a spruce wetland will make it a white spruce wetland.
/* No aspen allowed
/* Minimal deciduous presence tolerated
/******************************************
/* 21c. BLACK SPRUCE/LARCH TAMARACK WETLAND
/******************************************
/*reselect fc_nostr cn 'Spruce'
reselect ( moist_reg = 'a' or moist_reg = 'w' )
reselect larcha_pct >= 1 or larcht_pct >= 1
reselect larcht_pct < 8
reselect spruceb_pct >= 1
reselect tot_decid <= 2
reselect aspen_pct = 0
reselect poplar_pct <= 1
reselect birch_pct <= 2
reselect truefir_pct = 0
reselect pine_pct <= 2
calc fc_nostr = 'Black Spruce/Larch Tamarack Wetland'
resel
nsel
reselect ( moist_reg = 'a' or moist_reg = 'w' )
reselect larcha_pct > 0 or larcht_pct > 0 or ularcha_pct > 0 or ularcht_pct
> 0
reselect tot_decid <= 2
reselect aspen_pct = 0
reselect poplar_pct <= 1
reselect birch_pct <= 2
reselect truefir_pct = 0
reselect pine_pct <= 2
reselect spruceb_pct > 0
calc fc_nostr = 'Black Spruce/Larch Tamarack Wetland'
32. Alberta Forest Cover Classification Procedure
32
resel
nsel
reselect fc_nostr cn 'Larch'
reselect ( moist_reg = 'a' or moist_reg = 'w' )
reselect spruceb_pct >= 3 or uspruceb_pct >= 5
reselect tot_decid <= 2
reselect aspen_pct = 0
reselect poplar_pct <= 1
reselect birch_pct <= 2
reselect pine_pct <= 2
reselect truefir_pct = 0
calc fc_nostr = 'Black Spruce/Larch Tamarack Wetland'
commit
/* Class added March 12, 2002
/* Presence of Lt in a spruce wetland will make it a spruce/Lt wetland
/* No aspen allowed
/* Minimal deciduous component tolerated
/*****************************
/* 21d. LARCH TAMARACK WETLAND
/*****************************
reselect larcha_pct >= 8 or larcht_pct >= 8
reselect ( moist_reg = 'a' or moist_reg = 'w' )
reselect tot_decid <= 2
reselect aspen_pct = 0
reselect poplar_pct <= 1
reselect birch_pct <= 2
reselect truefir_pct = 0
reselect pine_pct <= 2
reselect uspruceb_pct < 5
reselect spruce_pct < 5
calc fc_nostr = 'Larch Tamarack Wetland'
commit
/* Class added March 12, 2002
/* Only low percentage of black spruce tolerated. Cannot have an Sb dominant
understory.
/* No aspen allowed
/* Minimal deciduous component tolerated
/*******************
/* 22. SHRUB WETLAND
/*******************
reselect ( nfl = 'SC' or nfl = 'SO' )
reselect ( moist_reg = 'a' or moist_reg = 'w' )
calc fc_nostr = 'Shrub Wetland'
commit
/*****************************
/* 23. SHRUB MEADOW OPEN MESIC
/*****************************
reselect nfl = 'SO'
reselect moist_reg = 'm'
calc fc_nostr = 'Shrub Meadow Open Mesic'
commit
/***************************
/* 24. SHRUB MEADOW OPEN DRY
/***************************
reselect nfl = 'SO'
33. Alberta Forest Cover Classification Procedure
33
reselect moist_reg = 'd'
calc fc_nostr = 'Shrub Meadow Open Dry'
commit
/*******************************
/* 25. SHRUB MEADOW CLOSED MESIC
/*******************************
reselect nfl = 'SC'
reselect moist_reg = 'm'
calc fc_nostr = 'Shrub Meadow Closed Mesic'
commit
/*****************************
/* 26. SHRUB MEADOW CLOSED DRY
/*****************************
reselect nfl = 'SC'
reselect moist_reg = 'd'
calc fc_nostr = 'Shrub Meadow Closed Dry'
commit
/******************************
/* 27. ROUGH PASTURE OPEN MESIC
/******************************
reselect nfl = 'SO'
reselect moist_reg = 'm'
reselect anth_veg = 'CPR'
calc fc_nostr = 'Rough Pasture Open Mesic'
commit
/****************************
/* 28. ROUGH PASTURE OPEN DRY
/****************************
reselect nfl = 'SO'
reselect moist_reg = 'd'
reselect anth_veg = 'CPR'
calc fc_nostr = 'Rough Pasture Open Dry'
commit
/********************************
/* 29. ROUGH PASTURE CLOSED MESIC
/********************************
reselect nfl = 'SC'
reselect moist_reg = 'm'
reselect anth_veg = 'CPR'
calc fc_nostr = 'Rough Pasture Closed Mesic'
commit
/******************************
/* 30. ROUGH PASTURE CLOSED DRY
/******************************
reselect nfl = 'SC'
reselect moist_reg = 'd'
reselect anth_veg = 'CPR'
calc fc_nostr = 'Rough Pasture Closed Dry'
commit
34. Alberta Forest Cover Classification Procedure
34
/*******************
/* 31. WET GRAMINOID
/*******************
reselect nfl = 'HG'
reselect ( moist_reg = 'a' or moist_reg = 'w' )
calc fc_nostr = 'Wet Graminoid'
commit
/******************
/* 32. ANNUAL CROPS
/******************
reselect anth_veg = 'CA'
calc fc_nostr = 'Annual Crops'
commit
/****************************
/* 33. PERENNIAL FORAGE CROPS
/****************************
reselect anth_veg = 'CP'
calc fc_nostr = 'Perennial Forage Crops'
commit
/*********************
/* 34. GRASSLAND MESIC
/*********************
reselect nfl = 'HG'
reselect moist_reg = 'm'
reselect mod1 <> 'CL'
calc fc_nostr = 'Grassland Mesic'
commit
/*******************
/* 35. GRASSLAND DRY
/*******************
reselect nfl = 'HG'
reselect moist_reg = 'd'
reselect mod1 <> 'CL'
calc fc_nostr = 'Grassland Dry'
commit
/*******************************
/* 36. GRAVEL PITS/SURFACE MINES
/*******************************
reselect ( anth_non = 'AIG' or anth_non = 'AIM' )
calc fc_nostr = 'Gravel Pits/Surface Mines'
commit
/***********************
/* 37. RURAL RESIDENTIAL
/***********************
reselect anth_non = 'ASR'
calc fc_nostr = 'Rural Residential'
commit
/*********************************
/* 38. HAMLETS, VILLAGES AND TOWNS
35. Alberta Forest Cover Classification Procedure
35
/*********************************
reselect anth_non = 'ASC'
calc fc_nostr = 'Hamlets, Villages and Towns'
commit
/******************
/* 39. NON-VEG ROWS
/******************
reselect anth_non = 'AIH'
calc fc_nostr = 'Non-Veg ROWs'
commit
/****************
/* 40. FARMSTEADS
/****************
reselect anth_non = 'AIF'
calc fc_nostr = 'Farmsteads'
commit
/********************************
/* 41. PLANT SITES/SEWAGE LAGOONS
/********************************
reselect anth_non = 'AII'
calc fc_nostr = 'Plant Sites/Sewage Lagoons'
commit
/*****************
/* 42. ROCK BARREN
/*****************
reselect nat_non = 'NMR'
calc fc_nostr = 'Rock Barren'
commit
/******************
/* 43. CUTBANK/SAND
/******************
reselect ( nat_non = 'NMC' or nat_non = 'NMS' )
calc fc_nostr = 'Cutbank/Sand'
commit
/***********
/* 44. RIVER
/***********
reselect nat_non = 'NWR'
calc fc_nostr = 'River'
commit
/*****************
/* 45. LAKES/PONDS
/*****************
reselect nat_non = 'NWL'
calc fc_nostr = 'Lakes/Ponds'
commit
36. Alberta Forest Cover Classification Procedure
36
/************************
/* 46. PERMANENT ICE/SNOW
/************************
reselect nat_non = 'NWI'
calc fc_nostr = 'Permanent Ice/Snow'
commit
/**************************************
/* 47. INDUSTRIAL RECLAMATION-VEGETATED
/**************************************
reselect anth_veg = 'CIP' or anth_veg = 'CIW'
calc fc_nostr = 'Industrial Reclamation-Vegetated'
commit
/*****************
/* 48. FORB MEADOW
/*****************
reselect nfl = 'HF'
calc fc_nostr = 'Forb Meadow'
commit
/*************
/* 49. FLOODED
/*************
reselect nat_non = 'NWF'
calc fc_nostr = 'Flooded'
commit
/****************
/* 50. BRYOPHYTIC
/****************
reselect nfl = 'BR'
calc fc_nostr = 'Bryophytic'
commit
/***********************
/* 51. FORESTED CLEARCUT
/***********************
reselect mod1 = 'CC'
reselect mod1_ext <= 4
reselect sp1 <> ''
calc fc_nostr = 'Partial Cut/Regenerating Clearcut'
commit
/*************************
/* 52. HERBACEOUS CLEARCUT
/*************************
reselect mod1 = 'CC'
reselect mod1_ext <= 5
reselect nfl <> ''
calc fc_nostr = 'Herbaceous Clearcut'
commit
/*********************
/* HERBACEOUS CLEARING
/*********************
37. Alberta Forest Cover Classification Procedure
37
reselect nfl = 'HG'
reselect moist_reg = 'm' or moist_reg = 'd'
reselect mod1 = 'CL'
calc fc_nostr = 'Herbaceous Clearing'
/* This class added November 13, 2001
commit
/*************
/* RECENT BURN
/*************
reselect nat_non = 'NMB'
calc fc_nostr = 'Recent Burn'
/*commit
/* This class added March 14, 2002
quit
&return
/*=====================================================================
&routine HORZ_STRUCTURE
/*=====================================================================
/* Calculates forest cover classification for stands with horizontal structure
/* where the understory call covers > 50% of the polygon and contains tree
/* species.
tables
select %tablename%
calc fc_h_str = ''
/***************************
/* 53. PINE (LODGEPOLE/JACK)
/***************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect upine_pct >= 9
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'Pine (Lodgepole/Jack)'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect upine_pct >= 5
reselect utot_decid < 2
reselect upine_pct > uspruce_pct
reselect upine_pct > uspruceb_pct
reselect upine_pct > utruefir_pct
reselect upine_pct > udougfir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'Pine (Lodgepole/Jack)'
commit
/****************************
/* 54. WHITE/ENGELMANN SPRUCE
/****************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect uspruce_pct >= 9
calc fc_h_str = 'White/Engelmann Spruce'
resel
nsel
38. Alberta Forest Cover Classification Procedure
38
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect uspruce_pct >= 5
reselect utot_decid < 2
reselect uspruce_pct >= upine_pct
reselect uspruce_pct >= uspruceb_pct
reselect uspruce_pct > utruefir_pct
reselect uspruce_pct > udougfir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect not ( uspruce_pct = 5 and utruefir_pct = 5 )
calc fc_h_str = 'White/Engelmann Spruce'
commit
/*******************
/* 54a. BLACK SPRUCE
/*******************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect uspruceb_pct >= 9
calc fc_h_str = 'Black Spruce'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect uspruceb_pct >= 5
reselect utot_decid < 2
reselect uspruceb_pct >= upine_pct
reselect uspruceb_pct >= utruefir_pct
reselect uspruceb_pct >= udougfir_pct
reselect uspruceb_pct >= spruce_pct
reselect ularcha_pct = 0 and ularcht_pct = 0
calc fc_h_str = 'Black Spruce'
commit
/* Class added March 12, 2002
/*************
/* 55.TRUE FIR
/*************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utruefir_pct >= 9
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'True Fir'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utruefir_pct >= 5
reselect utot_decid < 2
reselect utruefir_pct >= upine_pct
reselect utruefir_pct >= uspruce_pct
reselect utruefir_pct >= uspruceb_pct
reselect utruefir_pct > udougfir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'True Fir'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( utruefir_pct = 5 and upine_pct = 5 ) or ( utruefir_pct = 5 and
uspruce_pct = 5 ) or ( utruefir_pct = 5 and uspruceb_pct = 5 )
calc fc_h_str = 'True Fir'
commit
39. Alberta Forest Cover Classification Procedure
39
/*****************
/* 56. DOUGLAS FIR
/*****************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect udougfir_pct >= 9
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'Douglas Fir'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect udougfir_pct >= 5
reselect utot_decid < 2
reselect udougfir_pct >= upine_pct
reselect udougfir_pct >= uspruce_pct
reselect udougfir_pct >= uspruceb_pct
reselect udougfir_pct > utruefir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'Douglas Fir'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( udougfir_pct = 5 and upine_pct = 5 ) or ( udougfir_pct = 5 and
uspruce_pct = 5 ) or ( udougfir_pct = 5 and uspruceb_pct = 5 )
calc fc_h_str = 'Douglas Fir'
commit
/*****************************
/* 57. SUBALPINE/WESTERN LARCH
/*****************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ularcha_PCT >= 9
calc fc_h_str = 'Subalpine/Western Larch'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ularcha_PCT >= 5
reselect utot_decid < 2
reselect ularcha_PCT >= upine_pct
reselect ularcha_PCT >= uspruce_pct
reselect ularcha_pct >= uspruceb_pct
reselect ularcha_PCT >= utruefir_pct
reselect ularcha_PCT >= udougfir_pct
calc fc_h_str = 'Subalpine/Western Larch'
commit
/*********************
/* 57a. LARCH TAMARACK
/*********************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ularcht_PCT >= 9
calc fc_h_str = 'Larch Tamarack'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ularcht_pct >= 5
reselect utot_decid < 2
40. Alberta Forest Cover Classification Procedure
40
reselect ularcht_pct >= upine_pct
reselect ularcht_pct >= uspruce_pct
reselect ularcht_pct >= uspruceb_pct
reselect ularcht_pct >= utruefir_pct
reselect ularcht_pct >= udougfir_pct
calc fc_h_str = 'Larch Tamarack'
commit
/* Class added March 12, 2002
/***************************
/* 58. WHITEBARK/LIMBER PINE
/***************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( usp1 = 'Pa' or usp1 = 'Pf' )
reselect usp1_per >= 5
calc fc_h_str = 'Whitebark/Limber Pine'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect usp2 = 'Pa' or usp2 = 'Pf'
reselect usp2_per >= 5
reselect utot_decid < 2
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'Whitebark/Limber Pine'
commit
/***********
/* 59. ASPEN
/***********
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect uaspen_pct >= 4
reselect utot_conifer <= 4
reselect uaspen_pct > upoplar_pct
reselect uaspen_pct > ubirch_pct
calc fc_h_str = 'Aspen'
commit
/*******************
/* 60. BALSAM POPLAR
/*******************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect upoplar_pct >= 5
reselect utot_conifer < 2
calc fc_h_str = 'Balsam Poplar'
commit
/************
/* 60a. BIRCH
/************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ubirch_pct >= 5
reselect utot_conifer < 2
calc fc_h_str = 'Birch'
commit
/*********************
/* 61. ASPEN MIXEDWOOD
41. Alberta Forest Cover Classification Procedure
41
/*********************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect uaspen_pct >= 4
reselect utot_conifer >= 2
reselect utot_conifer <= 4
reselect uaspen_pct > upoplar_pct
reselect uaspen_pct > ubirch_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_h_str = 'Aspen Mixedwood'
commit
/*****************************
/* 62. BALSAM POPLAR MIXEDWOOD
/*****************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect upoplar_pct > 5
reselect utot_conifer >= 2
reselect utot_conifer <= 4
reselect uaspen_pct <= upoplar_pct
reselect upoplar_pct >= ubirch_pct
calc fc_h_str = 'Balsam Poplar Mixedwood'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect upoplar_pct <= 8
reselect utot_decid > utot_conifer
reselect uaspen_pct <= upoplar_pct
reselect upoplar_pct >= ubirch_pct
reselect utot_conifer > 1
calc fc_h_str = 'Balsam Poplar Mixedwood'
commit
/**********************
/* 62a. BIRCH MIXEDWOOD
/**********************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ubirch_pct > 5
reselect utot_conifer >= 2
reselect utot_conifer <= 4
reselect ubirch_pct >= uaspen_pct
reselect ubirch_pct > upoplar_pct
calc fc_h_str = 'Birch Mixedwood'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ubirch_pct <= 8 and ubirch_pct >= 1
reselect utot_decid > utot_conifer
reselect uaspen_pct <= ubirch_pct
reselect ubirch_pct > upoplar_pct
reselect utot_conifer > 1
calc fc_nostr = 'Birch Mixedwood'
commit
/* Class added March 12, 2002
/*************************************
/* 63. PINE (LODGEPOLE/JACK) MIXEDWOOD
/*************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
42. Alberta Forest Cover Classification Procedure
42
reselect utot_decid <= utot_conifer
reselect utot_decid >= 2
reselect upine_pct > uspruce_pct
reselect upine_pct > uspruceb_pct
reselect upine_pct > utruefir_pct
reselect upine_pct > udougfir_pct
reselect ( upine_pct > ularcha_pct ) and ( upine_pct > ularcht_pct )
reselect utot_conifer >= 3
calc fc_h_str = 'Pine (Lodgepole/Jack) Mixedwood'
commit
/**************************************
/* 64. WHITE/ENGELMANN SPRUCE MIXEDWOOD
/**************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= utot_conifer
reselect uspruce_pct >= upine_pct
reselect uspruce_pct > utruefir_pct
reselect uspruce_pct > udougfir_pct
reselect uspruce_pct > uspruceb_pct
reselect uspruce_pct > ularcha_pct
reselect uspruce_pct > ularcht_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_h_str = 'White/Engelmann Spruce Mixedwood'
commit
/*****************************
/* 64a. BLACK SPRUCE MIXEDWOOD
/*****************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= utot_conifer
reselect uspruceb_pct >= upine_pct
reselect uspruceb_pct > utruefir_pct
reselect uspruceb_pct > udougfir_pct
reselect uspruceb_pct > uspruce_pct
reselect ularcha_pct = 0 and ularcht_pct = 0
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_h_str = 'Black Spruce Mixedwood'
commit
/* Class added March 12, 2002
/*******************************
/* 64b. LARCH TAMARACK MIXEDWOOD
/*******************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= utot_conifer
reselect ularcht_pct >= pine_pct
reselect ularcht_pct > truefir_pct
reselect ularcht_pct > dougfir_pct
reselect ularcht_pct > spruce_pct
reselect ularcht_pct >= spruceb_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_h_str = 'Larch Tamarack Mixedwood'
commit
/* This class added March 12, 2002
43. Alberta Forest Cover Classification Procedure
43
/************************
/* 65. TRUE FIR MIXEDWOOD
/************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= utot_conifer
/*reselect utruefir_pct >= upine_pct
reselect utruefir_pct >= 1
reselect utruefir_pct > udougfir_pct
reselect utruefir_pct >= uspruce_pct
reselect utruefir_pct >= uspruceb_pct
reselect utruefir_pct > ularcha_PCT
reselect utruefir_pct > ularcht_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_h_str = 'True Fir Mixedwood'
commit
/***************************
/* 66. DOUGLAS FIR MIXEDWOOD
/***************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= utot_conifer
reselect udougfir_pct >= 1
reselect udougfir_pct >= upine_pct
reselect udougfir_pct > utruefir_pct
reselect udougfir_pct >= uspruce_pct
reselect udougfir_pct >= uspruceb_pct
reselect udougfir_pct >= ularcha_pct
reselect udougfir_pct >= ularcht_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_h_str = 'Douglas Fir Mixedwood'
commit
/*******************************************
/* 67. MIXED CONIFER (PINE - LODGEPOLE/JACK)
/*******************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect upine_pct > udougfir_pct
reselect upine_pct > utruefir_pct
reselect upine_pct > uspruce_pct
reselect upine_pct > uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect upine_pct <= 4 and upine_pct >= 1
calc fc_h_str = 'Mixed Conifer (Pine - Lodgepole/Jack)'
commit
/********************************************
/* 68. MIXED CONIFER (WHITE/ENGELMANN SPRUCE)
/********************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect uspruce_pct > udougfir_pct
reselect uspruce_pct > utruefir_pct
reselect uspruce_pct >= upine_pct
reselect uspruce_pct >= uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect uspruce_pct <= 4 and uspruce_pct >= 1
calc fc_h_str = 'Mixed Conifer (White/Engelmann Spruce)'
44. Alberta Forest Cover Classification Procedure
44
commit
/**********************************
/* 68. MIXED CONIFER (BLACK SPRUCE)
/**********************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect uspruceb_pct > udougfir_pct
reselect uspruceb_pct > utruefir_pct
reselect uspruceb_pct >= upine_pct
reselect uspruceb_pct >= uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect uspruceb_pct <= 4 and uspruceb_pct >= 1
calc fc_h_str = 'Mixed Conifer (Black Spruce)'
commit
/******************************
/* 69. MIXED CONIFER (TRUE FIR)
/******************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect utruefir_pct > udougfir_pct
reselect utruefir_pct >= uspruce_pct
reselect utruefir_pct >= uspruceb_pct
reselect utruefir_pct >= upine_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect utruefir_pct <= 4 and utruefir_pct >= 1
calc fc_h_str = 'Mixed Conifer (True Fir)'
commit
/*********************************
/* 70. MIXED CONIFER (DOUGLAS FIR)
/*********************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect udougfir_pct >= utruefir_pct
reselect udougfir_pct >= uspruce_pct
reselect udougfir_pct >= uspruceb_pct
reselect udougfir_pct >= upine_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect udougfir_pct <= 4 and udougfir_pct >= 1
calc fc_h_str = 'Mixed Conifer (Douglas Fir)'
commit
/*******************************************
/* 71. MIXED CONIFER (WHITEBARK/LIMBER PINE)
/*******************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect uwhitelmb_pct > 0
reselect fc_h_str <> 'Whitebark/Limber Pine'
reselect uwhitelmb_pct <= 4
reselect uwhitelmb_pct >= ularcha_PCT
reselect uwhitelmb_pct >= udougfir_pct
reselect uwhitelmb_pct >= utruefir_pct
reselect uwhitelmb_pct >= upine_pct
reselect uwhitelmb_pct >= uspruce_pct
reselect uwhitelmb_pct >= uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
45. Alberta Forest Cover Classification Procedure
45
calc fc_h_str = 'Mixed Conifer (Whitebark/Limber Pine)'
commit
/*********************************************
/* 72. MIXED CONIFER (SUBALPINE/WESTERN LARCH)
/*********************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect ularcha_PCT < 5
reselect ularcha_PCT > 0
calc fc_h_str = 'Mixed Conifer (Subalpine/Western Larch)'
commit
/*************************************
/* 72a. MIXED CONIFER (LARCH TAMARACK)
/*************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect utot_decid <= 1
reselect ularcht_pct < 5
reselect ularcht_pct > 0
calc fc_h_str = 'Mixed Conifer (Larch Tamarack)'
commit
/* Class added March 12, 2002
/********************
/* 73. SPRUCE WETLAND
/********************
/* reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
/* reselect fc_nostr cn 'Spruce'
/* reselect ( umoist_reg = 'a' or umoist_reg = 'w' )
/* calc fc_h_str = 'Spruce Wetland'
/* commit
/* Class removed March 12, 2002
/***************************
/* 73a. BLACK SPRUCE WETLAND
/***************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( umoist_reg = 'a' or umoist_reg = 'w' )
reselect ularcha_pct = 0 and ularcht_pct = 0
reselect utot_decid <= 2
reselect uaspen_pct = 0
reselect upoplar_pct <= 1
reselect ubirch_pct <= 2
reselect utruefir_pct = 0
reselect upine_pct <= 2
reselect uspruce_pct = 0
reselect uspruceb_pct >= 1
calc fc_h_str = 'Black Spruce Wetland'
commit
/* Class added March 13, 2002
/***************************
/* 73b. WHITE SPRUCE WETLAND
/***************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( umoist_reg = 'a' or umoist_reg = 'w' )
reselect ularcha_pct < 5 and ularcht_pct < 5
46. Alberta Forest Cover Classification Procedure
46
reselect utot_decid <= 2
reselect uaspen_pct = 0
reselect upoplar_pct <= 1
reselect ubirch_pct <= 2
reselect utruefir_pct = 0
reselect upine_pct <= 2
reselect uspruce_pct >= 1
reselect fc_nostr ne 'Black Spruce Wetland'
calc fc_h_str = 'White Spruce Wetland'
commit
/* Class added March 13, 2002
/******************************************
/* 73c. BLACK SPRUCE/LARCH TAMARACK WETLAND
/******************************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( umoist_reg = 'a' or umoist_reg = 'w' )
reselect utot_decid <= 2
reselect uaspen_pct = 0
reselect upoplar_pct <= 1
reselect ubirch_pct <= 2
reselect utruefir_pct = 0
reselect upine_pct <= 2
reselect uspruceb_pct >= 1
reselect ularcht_pct >= 1 and ularcht_pct < 8
calc fc_h_str = 'Black Spruce/Larch Tamarack Wetland'
resel
nsel
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( umoist_reg = 'a' or umoist_reg = 'w' )
reselect fc_nostr cn 'Larch'
reselect utot_decid <= 2
reselect uaspen_pct = 0
reselect upoplar_pct <= 1
reselect ubirch_pct <= 2
reselect utruefir_pct = 0
reselect upine_pct <= 2
reselect spruceb_pct >= 3 or uspruceb_pct >= 5
calc fc_h_str = 'Black Spruce/Larch Tamarack Wetland'
commit
/* Class added March 13, 2002
/*****************************
/* 73d. LARCH TAMARACK WETLAND
/*****************************
reselect struc = 'H' and ustruc_val > 5 and usp1 <> ''
reselect ( umoist_reg = 'a' or umoist_reg = 'w' )
reselect uspruceb_pct = 0
reselect ularcht_pct >= 8
reselect uspruce_pct < 5
reselect utot_decid <= 2
reselect uaspen_pct = 0
reselect upoplar_pct <= 1
reselect ubirch_pct <= 2
reselect utruefir_pct = 0
reselect upine_pct <= 2
calc fc_h_str = 'Larch Tamarack Wetland'
/*commit
/* Class added March 13, 2002
47. Alberta Forest Cover Classification Procedure
47
quit
&return
/*=====================================================================
&routine MULTISTOREY
/*=====================================================================
/* Calculates understory forest cover classification for Multistory structure
/* stands with 'A' density overstorey and understorey density > 'A'.
tables
select %tablename%
calc fc_m_str = ''
/***************************
/* 53. PINE (LODGEPOLE/JACK)
/***************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect upine_pct >= 9
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'Pine (Lodgepole/Jack)'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect upine_pct >= 5
reselect utot_decid < 2
reselect upine_pct > uspruce_pct
reselect upine_pct > uspruceb_pct
reselect upine_pct > utruefir_pct
reselect upine_pct > udougfir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'Pine (Lodgepole/Jack)'
commit
/****************************
/* 54. WHITE/ENGELMANN SPRUCE
/****************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect uspruce_pct >= 9
calc fc_m_str = 'White/Engelmann Spruce'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect uspruce_pct >= 5
reselect utot_decid < 2
reselect uspruce_pct >= upine_pct
reselect uspruce_pct > utruefir_pct
reselect uspruce_pct > udougfir_pct
reselect uspruce_pct >= uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect not ( uspruce_pct = 5 and utruefir_pct = 5 )
calc fc_m_str = 'White/Engelmann Spruce'
commit
/*******************
/* 54a. BLACK SPRUCE
/*******************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
48. Alberta Forest Cover Classification Procedure
48
reselect uspruceb_pct >= 9
calc fc_m_str = 'Black Spruce'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect uspruceb_pct >= 5
reselect utot_decid < 2
reselect uspruceb_pct >= upine_pct
reselect uspruceb_pct > utruefir_pct
reselect uspruceb_pct > udougfir_pct
reselect uspruceb_pct > uspruce_pct
reselect uspruceb_pct > ularcht_pct
reselect not ( uspruceb_pct = 5 and utruefir_pct = 5 )
calc fc_m_str = 'Black Spruce'
commit
/* Class added March 13, 2002
/**************
/* 55. TRUE FIR
/**************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utruefir_pct >= 9
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'True Fir'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utruefir_pct >= 5
reselect utot_decid < 2
reselect utruefir_pct >= upine_pct
reselect utruefir_pct >= uspruce_pct
reselect utruefir_pct >= uspruceb_pct
reselect utruefir_pct > udougfir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'True Fir'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ( utruefir_pct = 5 and upine_pct = 5 ) or ( utruefir_pct = 5 and
uspruce_pct = 5 ) or ( utruefir_pct = 5 and uspruceb_pct = 5 )
calc fc_m_str = 'True Fir'
commit
/*****************
/* 56. DOUGLAS FIR
/*****************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect udougfir_pct >= 9
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'Douglas Fir'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect udougfir_pct >= 5
reselect utot_decid < 2
reselect udougfir_pct >= upine_pct
49. Alberta Forest Cover Classification Procedure
49
reselect udougfir_pct >= uspruce_pct
reselect udougfir_pct >= uspruceb_pct
reselect udougfir_pct > utruefir_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'Douglas Fir'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ( udougfir_pct = 5 and upine_pct = 5 ) or ( udougfir_pct = 5 and
uspruce_pct = 5 ) or ( udougfir_pct = 5 and uspruceb_pct = 5 )
calc fc_m_str = 'Douglas Fir'
commit
/*****************************
/* 57. SUBALPINE/WESTERN LARCH
/*****************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ularcha_PCT >= 9
calc fc_m_str = 'Subalpine/Western Larch'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ularcha_PCT >= 5
reselect utot_decid < 2
reselect ularcha_PCT >= upine_pct
reselect ularcha_PCT >= uspruce_pct
reselect ularcha_pct >= uspruceb_pct
reselect ularcha_PCT >= utruefir_pct
reselect ularcha_PCT >= udougfir_pct
calc fc_m_str = 'Subalpine/Western Larch'
commit
/*********************
/* 57a. LARCH TAMARACK
/*********************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ularcht_pct >= 9
calc fc_m_str = 'Larch Tamarack'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ularcht_PCT >= 5
reselect utot_decid < 2
reselect ularcht_PCT >= upine_pct
reselect ularcht_PCT >= uspruce_pct
reselect ularcht_pct >= uspruceb_pct
reselect ularcht_PCT >= utruefir_pct
reselect ularcht_PCT >= udougfir_pct
calc fc_m_str = 'Larch Tamarack'
commit
/* Class added March 13, 2002
/***************************
/* 58. WHITEBARK/LIMBER PINE
/***************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ( usp1 = 'Pa' or usp1 = 'Pf' )
50. Alberta Forest Cover Classification Procedure
50
reselect usp1_per >= 5
calc fc_m_str = 'Whitebark/Limber Pine'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect usp2 = 'Pa' or usp2 = 'Pf'
reselect usp2_per >= 5
reselect utot_decid < 2
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'Whitebark/Limber Pine'
commit
/***********
/* 59. ASPEN
/***********
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect uaspen_pct >= 4
reselect utot_conifer <= 4
reselect uaspen_pct > upoplar_pct
reselect uaspen_pct > birch_pct
calc fc_m_str = 'Aspen'
commit
/*******************
/* 60. BALSAM POPLAR
/*******************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect upoplar_pct >= 5
reselect utot_conifer < 2
calc fc_m_str = 'Balsam Poplar'
commit
/************
/* 60a. BIRCH
/************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ubirch_pct >= 5
reselect utot_conifer < 2
calc fc_m_str = 'Birch'
commit
/* Class added March 13, 2002
/*********************
/* 61. ASPEN MIXEDWOOD
/*********************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect uaspen_pct >= 4
reselect utot_conifer >= 2
reselect utot_conifer <= 4
reselect uaspen_pct > upoplar_pct
reselect uaspen_pct > ubirch_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
calc fc_m_str = 'Aspen Mixedwood'
commit
/*****************************
/* 62. BALSAM POPLAR MIXEDWOOD
51. Alberta Forest Cover Classification Procedure
51
/*****************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect upoplar_pct > 5
reselect utot_conifer >= 2
reselect utot_conifer <= 4
reselect uaspen_pct <= upoplar_pct
reselect upoplar_pct > ubirch_pct
calc fc_m_str = 'Balsam Poplar Mixedwood'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect upoplar_pct <= 8 and upoplar_pct >= 1
reselect utot_decid > utot_conifer
reselect uaspen_pct <= upoplar_pct
reselect uaspen_pct > ubirch_pct
reselect utot_conifer > 1
calc fc_m_str = 'Balsam Poplar Mixedwood'
commit
/**********************
/* 62a. BIRCH MIXEDWOOD
/**********************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ubirch_pct >= 4
reselect utot_conifer >= 2
reselect utot_conifer <= 4
reselect ubirch_pct < uaspen_pct
reselect ubirch_pct < upoplar_pct
calc fc_m_str = 'Birch Mixedwood'
resel
nsel
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect ubirch_pct <= 8 and ubirch_pct >= 1
reselect utot_decid > utot_conifer
reselect ubirch_pct > uaspen_pct
reselect ubirch_pct > upoplar_pct
reselect utot_conifer > 1
calc fc_m_str = 'Birch Mixedwood'
commit
/* Class added March 13, 2002
/*************************************
/* 63. PINE (LODGEPOLE/JACK) MIXEDWOOD
/*************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= utot_conifer
reselect utot_decid >= 2
reselect upine_pct >= 1
reselect upine_pct > uspruce_pct
reselect upine_pct > uspruceb_pct
reselect upine_pct > utruefir_pct
reselect upine_pct > udougfir_pct
reselect upine_pct > uspruceb_pct
reselect upine_pct > ularcha_pct
reselect upine_pct > ularcht_pct
reselect utot_conifer >= 3
calc fc_m_str = 'Pine (Lodgepole/Jack) Mixedwood'
commit
52. Alberta Forest Cover Classification Procedure
52
/**************************************
/* 64. WHITE/ENGELMANN SPRUCE MIXEDWOOD
/**************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= utot_conifer
reselect uspruce_pct >= 1
reselect uspruce_pct >= upine_pct
reselect uspruce_pct > utruefir_pct
reselect uspruce_pct > udougfir_pct
reselect uspruce_pct >= uspruceb_pct
reselect uspruce_pct > ularcha_pct
reselect uspruce_pct > ularcht_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_m_str = 'White/Engelmann Spruce Mixedwood'
commit
/*****************************
/* 64a. BLACK SPRUCE MIXEDWOOD
/*****************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= utot_conifer
reselect uspruceb_pct >= 1
reselect uspruceb_pct >= upine_pct
reselect uspruceb_pct > utruefir_pct
reselect uspruceb_pct > udougfir_pct
reselect uspruceb_pct >= uspruceb_pct
reselect uspruceb_pct > ularcha_pct
reselect uspruceb_pct > ularcht_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_m_str = 'Black Spruce Mixedwood'
commit
/************************
/* 65. TRUE FIR MIXEDWOOD
/************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= utot_conifer
reselect utruefir_pct >= 1
reselect utruefir_pct >= upine_pct
reselect utruefir_pct > udougfir_pct
reselect utruefir_pct >= uspruce_pct
reselect utruefir_pct >= uspruceb_pct
reselect ( utruefir_pct > ularcha_PCT ) and ( utruefir_pct > ularcht_pct )
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_m_str = 'True Fir Mixedwood'
commit
/***************************
/* 66. DOUGLAS FIR MIXEDWOOD
/***************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= utot_conifer
reselect udougfir_pct >= 1
reselect udougfir_pct >= upine_pct
reselect udougfir_pct > utruefir_pct
reselect udougfir_pct >= uspruce_pct
53. Alberta Forest Cover Classification Procedure
53
reselect udougfir_pct >= uspruceb_pct
reselect utot_conifer >= 3
reselect utot_decid >= 2
calc fc_m_str = 'Douglas Fir Mixedwood'
commit
/*******************************************
/* 67. MIXED CONIFER (PINE - LODGEPOLE/JACK)
/*******************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect upine_pct > udougfir_pct
reselect upine_pct > utruefir_pct
reselect upine_pct > uspruce_pct
reselect upine_pct > uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect upine_pct <= 4 and upine_pct >= 1
calc fc_m_str = 'Mixed Conifer (Pine - Lodgepole/Jack)'
commit
/********************************************
/* 68. MIXED CONIFER (WHITE/ENGELMANN SPRUCE)
/********************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect uspruce_pct > udougfir_pct
reselect uspruce_pct > utruefir_pct
reselect uspruce_pct >= upine_pct
reselect uspruce_pct >= uspruceb_pct
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect uspruce_pct <= 4 and uspruce_pct >= 1
calc fc_m_str = 'Mixed Conifer (White/Engelmann Spruce)'
commit
/***********************************
/* 68a. MIXED CONIFER (BLACK SPRUCE)
/***********************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect uspruceb_pct > udougfir_pct
reselect uspruceb_pct > utruefir_pct
reselect uspruceb_pct >= upine_pct
reselect uspruceb_pct > uspruce_pct
reselect uspruceb_pct > ularcha_pct
reselect uspruceb_pct > ularcht_pct
reselect uspruceb_pct <= 4 and uspruceb_pct >= 1
calc fc_m_str = 'Mixed Conifer (Black Spruce)'
commit
/* Class added March 13, 2002
/******************************
/* 69. MIXED CONIFER (TRUE FIR)
/******************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect utruefir_pct > udougfir_pct
reselect utruefir_pct >= uspruce_pct
reselect utruefir_pct >= uspruceb_pct
reselect utruefir_pct >= upine_pct
54. Alberta Forest Cover Classification Procedure
54
reselect ularcha_PCT = 0 and ularcht_pct = 0
reselect utruefir_pct <= 4 and utruefir_pct >= 1
calc fc_m_str = 'Mixed Conifer (True Fir)'
commit
/*********************************
/* 70. MIXED CONIFER (DOUGLAS FIR)
/*********************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect udougfir_pct >= utruefir_pct
reselect udougfir_pct >= uspruce_pct
reselect udougfir_pct >= uspruceb_pct
reselect udougfir_pct >= upine_pct
reselect ularcha_pct = 0 and ularcht_pct = 0
reselect udougfir_pct <= 4 and udougfir_pct >= 1
calc fc_m_str = 'Mixed Conifer (Douglas Fir)'
commit
/*******************************************
/* 71. MIXED CONIFER (WHITEBARK/LIMBER PINE)
/*******************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect uwhitelmb_pct > 0
reselect fc_h_str <> 'Whitebark/Limber Pine'
reselect uwhitelmb_pct <= 4
reselect uwhitelmb_pct >= ularcha_pct
reselect uwhitelmb_pct >= ularcht_pct
reselect uwhitelmb_pct >= udougfir_pct
reselect uwhitelmb_pct >= utruefir_pct
reselect uwhitelmb_pct >= upine_pct
reselect uwhitelmb_pct >= uspruce_pct
reselect uwhitelmb_pct >= uspruceb_pct
reselect ularcha_PCT = 0
calc fc_m_str = 'Mixed Conifer (Whitebark/Limber Pine)'
commit
/*********************************************
/* 72. MIXED CONIFER (SUBALPINE/WESTERN LARCH)
/*********************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect ularcha_PCT < 5
reselect ularcha_PCT > 0
calc fc_m_str = 'Mixed Conifer (Subalpine/Western Larch)'
commit
/*************************************
/* 72a. MIXED CONIFER (LARCH TAMARACK)
/*************************************
reselect density = 'A' and struc = 'M' and usp1 ne '' and udensity ne 'A'
reselect utot_decid <= 1
reselect ularcht_pct < 5
reselect ularcht_pct > 0
calc fc_m_str = 'Mixed Conifer (Larch Tamarack)'
commit
/* Class added March 13, 2002