decnet User’s Manual and Tutorial Version 1.0, January 2005 Prepared for the USDA Forest Service by Associate Professor Timothy C. Haas School of Business Administration University of Wisconsin at Milwaukee P. O. Box 742, Milwaukee, WI 53201 (414) 229-4360, haas@uwm.edu 1 Introduction decnet (for decision network) is a Windows program written in Java that supports forest management decision making by running the USDA Forest Service’s Forest Vegetation Simulator (FVS) software package as necessary to create cases that are used to train an existing Netica decision network of a forest management problem. decnet graphically displays management plan impacts on the forest as computed from this trained network. Netica uses the word network to refer to both Bayesian belief networks (BBNs) and influence diagrams (IDs). The literature typically refers to a network that contains no decision option (management plan) nodes as a BBN versus one that does as an ID. Here, the word network will be used throughout. 2 2.1 decnet Operation Running and Quitting decnet After placing all decnet distribution files some directory, say decnetdir, click START > RUN and enter decnetdir\run Decnet. Or, at a DOS prompt in the directory decnetdir, type run Decnet to start decnet’s main window. The batch file, run.bat is: set PATH=C:\Program Files\Netica\NeticaJ_221\bin;%PATH% java -classpath ".;C:\Program Files\Netica\NeticaJ_221\bin\NeticaJ.jar; F:\polbio\ncssf\code" -Djava.library.path="C:\Program Files\Netica\NeticaJ_221\bin" %1 Change the class path and library path arguments to point to where you have placed the Netica .jar file, the decnet .class files, and the Netica executable files. 1 To close decnet, select File > Quit. 2.2 decnet Menus Table 1 gives all decnet menus and their associated items. Menu File Data Items Open a Netica network file Display network Quit Create cases by reading FVS output Create cases by first creating FVS output Train the network from cases Assess Compute impacts of options Single node (Display impacts) Multiple nodes (Display impacts) Description Opens and loads a Netica .dne file. Draws the opened network to the screen. Closes decnet. Reads existing FVS output files. Runs FVS over multiple stands and reads each stand’s output file. Runs a Netica API program to train the network on the FVS-based case file. Solve the network to compute the impact (nodal distribution) of each management option. Writes these distributions to a geo-referenced ASCII file. Distribution of a single node. Distribution of multiple nodes. Table 1: decnet menu structure. 3 FVS Interface 3.1 Overview and Terminology The hierarchy of geographic terms used in FVS documentation is as follows. A location contains one or more stands. A stand contains one or more inventory plots. An inventory plot contains one or more trees. FVS variants require a tree data file to be provided as input to the variant run command. decnet calls FVS to project only one stand at a time. This stand is always associated with the tree data file that is read when the FVS variant is executed. A variant is the FVS model tuned to a specific forest region. See below for details of how decnet runs an FVS variant. Suppose (see Forest Management Service Center (2004)) is a Windows program that writes the FVS keyword file and runs FVS. Suppose is designed to be an easy to use and graphical preprocessor to FVS. Suppose has two file types of its own – not recognized by FVS. These are a stand list file, and a locations file. Suppose expects one or more tree 2 data files, one or more stand list files, and one locations file. The stand list file associates each tree data file with a stand, and the locations file associates each stand list file with a geographic location. Note that Suppose will not produce a keyword file unless tree data files, stand list files, and a locations file exist prior to starting Suppose. FVS Writer (Van Dyck 2004) is another standalone Windows program that gives the user a graphical interface for creating FVS-acceptable tree data files, Suppose-acceptable stand list files, and a Suppose-acceptable locations file. In summary, Suppose is a preprocessor and graphical host for FVS; and FVSWriter is a Suppose preprocessor. decnet requires a stand list file but does not use a locations file. If a keyword file created by Suppose can be saved to a file that is accessible by decnet, then Suppose can be used to build the initial keyword file before decnet is run. Let a collection of management activities over a span of years applied to a group of stands be called a management plan. FVS allows such a plan to be given an identification code (ID). decnet allows the user to associate a set of management plans with the values of a decision node in a network. Then, FVS is used to produce the necessary cases to train the network under each plan so that the expected effects of each plan on this group of stands can be assessed. Additionally, decnet gives the user the option of simulating a fire on every stand at the beginning of the first cycle. 3.2 Cases from FVS Runs A fundamental assumption of case-based learning is that there are multiple cases to be learned from. In other words, replication of the phenomenon that the network is representing is possible. Within FVS, replication can be simulated in three ways: a) for simulations involving random numbers, multiple runs each with different random number generator seeds, b) replication over stands wherein differences between stands are either explained by stand characteristic variables that can be read from the FVS output, or it is assumed that stand differences are due to noise only, and c) replication across years, i.e., there are no temporal trends. This last source of replication is not relevant for studying the temporal effects of different management options on a forest and hence is not allowed 3 in this method. The current version of decnet only allows stand replication. To allow geographic variation, stands are partitioned by the user within decnet into replication groups. Such a group contains stands (tree data files) that the user considers to be different only due to random differences. Typically, such stands will share approximately the same elevation and other site specific characteristics. 3.3 FVS Structural statistics Table Under a particular management plan, decnet creates a Netica case file by translating multiple FVS Structural statistics Tables from the projection output on these stands – one stand yields one case. This Table in the FVS output was chosen for translation because it was developed by FVS personnel to support wildlife habitat and watershed assessments (Dixon 2003, p. 62). The keyword STRCLASS needs to be in the FVS keyword file that was read-in by decnet for this Table to be written by FVS. For time i, i = 1, . . . , number of cycles, FVS Structural statistics variables are given in Table 2. Also included in this Table are the names used in decnet dialog boxes for these FVS variables. FVS Variable Nominal DBH (Diameter at Breast Height) Crown Base Height Nominal Tree Height Shortest Tree Height Tallest Tree Height Percent Canopy Cover First Major Species Second Major Species Stand Classification decnet name nominaldbhTi Units inches crwnbasehghtTi nominalghtTi shortestTi tallestTi prcntcancovTi species1Ti species2Ti standclassTi feet feet feet feet percentage species code species code stand classification code Table 2: decnet name, and units of FVS Structural statistics Table variables. The Stand Classification variable takes on the values given in Table 3. 3.3.1 FVS Stratum Determination For a particular stand and time point, there can be as few as one stratum and as many as three strata. This is because FVS identifies strata by application of several heuristics to the distribution of tree height and crown cover within a stand and year. Because the num- 4 Stand Classification Symbol Bare Ground BG Stand Initiation SI Stem Exclusion SE Understory Reinitiation UR Young Forest Multistrata YM Old Forest Single Stratum OS Old Forest Multistrata OM Table 3: FVS Stand Classification variable values. ber of strata can vary across stands (decnet’s replication dimension) in an unpredictable way, no stratum-specific nodes are supported in decnet. The user selects a stratum aggregation rule in the FVS Specifications dialog box. Available rules are topstratum: use values from the highest (tallest) stratum only – note that this is ALWAYS stratum 1 in FVS; average: average across all strata except use stratum 1 species for 2 strata or stratum 2 species for 3 strata; middle: use stratum 1 values for 2 strata, use stratum 2 values for 3 strata. Each FVS output file includes the Structural statistics Table. See the Tutorial for examples of this FVS output Table. 3.4 Simulated Fires The dialog box that receives strata aggregation choices also allows the user to set a fire in each stand at the beginning of the first cycle. This is done with the Fire and Fuels Extension (FFE) to FVS (see Reinhardt and Crookston (2003)). Specifically, if this option is selected, decnet adds the commands Fmin SimFire End to the keyword file just before the PROCESS keyword. 3.5 Associating FVS Variables with Network Nodes A Netica .dne file has been read previously by decnet so that the number of network nodes and their identities are available to decnet. The user has entered the FVS output 5 file name in the FVS output file dialog box, and the Netica case file name in the case file dialog box. decnet only supports discrete nodes. There are three association algorithms between FVS variables and network nodes. These association algorithms follow. 3.5.1 FVS Management Plan decnet finds all management IDs by reading the FVS keyword file. These four character alphanumeric ID strings must be exactly the same as the values of the decision node states. A particular management plan’s ID will be written as the decision node’s value for all cases (one per stand) created by decnet under that management plan. 3.5.2 String-Valued FVS Variables String-valued FVS variables such as “Stand Classification” can only be associated with a single “chance” node. The integer value of the FVS variable is the node’s discrete value. It is assumed that the user has defined the node’s states to correspond exactly and exhaustively with the possible values of the associated FVS variable. 3.5.3 Multiple Continuously-Valued FVS Variables Several continuously-valued FVS variables are mapped to a chance node by forming a weighted sum. Let m be the number of states of the node that these variables will be mapped to. The interval 0 to 200 feet, 0 to 70 inches, or 0 to 100% is divided into m equal-width subintervals. If a case’s weighted sum on a node falls into subinterval i, state i is assigned to the node for that case. 3.6 FVS Keyword File Requirements The keyword file given to decnet must have the following characteristics. 1. The file needs to be partitioned by management ID (keyword MGMTID into management plan groups. Only these management plans will be used to train the network in a decnet session. 6 2. All stands to be projected need to be listed in the stand list file following the format of this file (see Van Dyck (2004, Appendix)). For example, the tutorial’s stand list file is: A stand1 fvsrun1.tre NoPointData nl B stand1 1999 20. 30. 1 hab 1999 1. 1. 1. 1. 1. 1. 1 1 1. 1. c1 10 c2 10 10 1. 1. c3 1 c4 c5 c6 A stand2 fvsrun2.tre NoPointData nl B stand1 1999 20. 30. 1 hab 1999 1. 1. 1. 1. 1. 1. 1 1 1. 1. c1 10 c2 10 10 1. 1. c3 1 c4 c5 c6 3. If a set of pre-existing FVS output files are to be read, one for each stand, these must be listed in a comment block in the keyword file with the format: decnetfvsoutfiles (each subsequent record containing a single file name). For example, three output files would be: decnetfvsoutfiles fvsrun1.out fvsrun2.out fvsrun3.out 4. The keyword STRCLASS must be present in each management plan group. 5. The keywords TIMEINT, NUMCYCLES, and INVYEAR must be present in each management plan group. All fields for these keywords must be filled-in. These keywords are used by decnet to figure out the time points of the projection cycles. 6. The keyword and unit number REWIND 2 must appear in every management plan group following the first one (so that the tree data file is re-read for each management plan following the first one). 3.7 How decnet Runs FVS The decnet distribution provides the files fvs.bat and fvs.in. The first file runs FVS using the second file for input. fvs.bat is: 7 c:\fvsbin\ni < fvs.in exit This file runs the variant used in the tutorial which is the Northern Idaho (Inland Empire) variant, ni.exe. Under the default FVS installation, variant executables are located in C:\Fvsbin\. FVS is a single stand simulator: a stand is projected (growth is simulated thru time) when a PROCESS keyword is encountered (Van Dyck 2003, p. 48). All FVS variant executables expect the user to input file names for the keyword file (.key), tree data file (.tre), output file (.out), tree list output file (.tls), output summary file (.sum), and CHEAPO economic analysis file (.chp). This is accomplished in decnet with the file fvs.in which follows: F:\polbio\ncssf\decnetkw.key F:\polbio\ncssf\fvsrun1.tre F:\polbio\ncssf\fvs.out F:\polbio\ncssf\fvsrun.tls F:\polbio\ncssf\fvsrun.sum F:\polbio\ncssf\fvsrun.chp Replace fvsrun1.tre with the name of the first tree data file of your set of stands to be run. decnet copies the given keyword file to a dummy file named decnetkw.key. See the Tutorial for a keyword file example. Before each FVS run, decnet automatically edits the dummy keyword file so that the supplemental record that follows the STDIDENT keyword is the ID of the stand being projected in that FVS run. decnet assumes that the user has created one tree data file for each stand to be projected. These stands are projected by running the FVS variant separately on each stand. Before each of these runs, decnet automatically edits fvs.run to give the associated tree data file name for the stand to be projected. See the Tutorial for tree data file examples. 4 Network Case-Based Training and Amount Learned Given a case’s parent values on a node, the probability distribution for the node under these parent values (called the probability vector in the Netica User’s Manual (Norsys, Inc. 1997) is modified by the case’s values via the formulas given the the Netica User’s Manual (see Norsys, Inc. (1997, p. 74). The theoretical justification for these formulas is given in Spiegelhalter et al. (1993, Section 4). 8 In what follows, let enew be one plus the number of cases that have a particular set of values on the parents of a node. Netica calls this value the experience value for that node and that configuration of parent values. For example, if one case is given a weight of 1 (called the degree in Netica), then, for the last case of enew − 1 cases, the probability of this last case’s observed state (called here the casestate) under the case’s set of parent values is: Pold (casestateC ) Pnew (casestate) = Pold (casestate) + enew (1) where casestateC is any state other than casestate. This formula can be interpreted as the updated probability of the casestate event being increased by a fraction of the probability of any other state occurring divided by the accumulated experience, i.e., the more experience, the smaller the increase in the probability of casestate. For any other node state (say statei ), Pnew (statei ) = Pold (statei ) − Pold (statei ) enew (2) which can be interpreted as the probability of each other state being decreased by a fraction which is becomes smaller as the accumulated experience increases. For a particular chance node in the network, Netica updates and stores an e value for each parent value configuration. These sets of e values are maintained for every chance node in the network and can be displayed by clicking ?? 5 Graphical Displays of the ID Solution decnet offers two graphical displays of an ID solution: the distribution of a node as a function of the values of a conditioning node, and the distribution of a set of nodes under a particular value of a conditioning node. The first display is typically used to show how the distribution of a habitat suitability node changes across management plans. For networks that use different nodes to represent habitat suitability at different times, the second display is typically used to show how the distribution of habitat suitability changes across time under a particular management plan. 9 6 Stand Spatial Location in decnet 6.1 Sources of Geo-Referenced Stand Data There are two main sources for geo-referenced tree data files: locally-maintained stand data sets, i.e., plots that are not under the jurisdiction of the USDA Forest Service’s Forest Inventory and Analysis (FIA) group, and FIA plot data that has been released to a decnet user through FIA’s Spatial Data Services Center (SDSC). Geo-referenced plot data (spatial data) from FIA can be requested by a user submitting a request to the SDSC (see www.fs.fed.us/ne/fia/spatial/charter.html). If the SDSC review board approves this request and the user signs request-specific nondisclosure agreements, SDSC will provide the requested plot data. 6.2 Files The Suppose software package reads a file referred to as the stand list file. This file describes each tree data file and has fields for the latitude and longitude of each stand’s centroid. See Van Dyck (2004, Appendix) for documentation of the stand list file’s format. decnet reads record types A and B of this file to store the spatial location of each stand used to create cases for the decision network. This approach allows decnet to use a common, Forest Service-supported file format to acquire spatial location information. The FVS keyword LOCATE needs to be present in the FVS keyword file read by decnet and is used to specify the spatial location of a stand during an FVS projection. For each FVS run, the LOCATE keyword is edited by decnet to give the latitude and longitude coordinates of the stand being projected. 6.3 decnet’s use of Geo-Referenced Stand Data Because replication is over stands in decnet, the following procedure is followed to produce spatial output from decnet. First, a set of replication stands is identified by finding groups of stands that share similar values on the stand characteristic variables of latitude, longitude, and elevation. The user enters the desired number of replication groups and associates each stand with one of these replication groups. 10 Then, when the user selects Compute impacts of options, decnet writes a file called “solution.dat” of the distribution of each node for each stand under each management option. All stands in a replication set have the same distribution. Table 4 gives this file’s format. This ASCII file is readable by a GIS package. Hence, a map of any node’s Field 1 2 3 4 5 6 7 8 Variable replication group number stand ID stand centroid latitude stand centroid longitude management option node name node’s number of values distribution wherein probabilities are separated by spaces Table 4: Output file format. distribution may be created. 7 decnet Tutorial 7.1 Summary In this Section, a tutorial is given on the use of decnet to assess the impact that forest management options have on a Critter’s habitat. This example is based on the introductory example in the FVS user’s manual, see Dixon (2003, pp. 19-69). The tutorial’s network models how a stand’s age distribution, percent crown cover, and fire risk affect the quality of a critter’s habitat at two different times and under several management options. Specifically, the tutorial has the user build a network in Netica, import it into decnet, create network training cases with FVS, train the network with these cases, compute management option impacts with this trained network, and finally, graphically display these impacts. 11 7.2 Tutorial Steps 1. Start Netica by selecting Start > Run and entering C: netica netica 1.12 Netica.exe for example. Within this Netica Application session, perform the following: (a) For times 1, and 2, create nodes to represent the stand characteristics of Age Distribution, and Percent Crown Cover. For the two Age Distribution nodes, use the values young, mixed, and old. For the two Percent Crown Cover nodes, use the values lt30, from30to60, and gt60. (b) Create a node for representing a crown fire at time 1. Call this node “CrownFire” and give it the values no fire, and fire. (c) Create Critter Habitat nodes at times 1 and 2 that have values poor, and good. (d) Create a Time 1 Management Option node with values no thin, and thin. (e) Use the mouse to draw the following sets of causal links: (a) from the stand nodes to the Critter Habitat nodes, (b) from the CrownFire node to the stand nodes, and (c) from the Management Option node to the stand nodes and the CrownFire node. The resultant network should be similar to the one in Figure 1. The .dne file for this network is listed in the Appendix. 2. Read this network into decnet with File > Read Netica network file. 12 Figure 1: Screen shot of the Critter habitat network. 13 3. To verify that decnet read the .dne file correctly, display this network with File > Display network. 4. Run FVS to create training cases for this network by selecting Data > Create cases by first creating FVS output. The required pre-existing keyword file, fvsrun.key is listed in the Appendix along with its associated tree data files. This keyword file runs FVS over 10, 10-year cycles starting in 1990. Therefore, the time points in the network are 1990 and 2090. decnet creates the FVS variable names as given in Table 2. After decnet reads this file, the screen should be appear as in Figure 2. Give decnet a case file name to use when it creates cases from FVS output. 5. Select a method for aggregating strata and click Finish. 14 Figure 2: Screen after the keyword file has been read. 15 6. Next, FVS output variables need to be associated with nodes. This is done by responding to the list boxes that appear after a case file name has been entered. Use the associations and weights given in Table 5 to respond to each node’s list box. For example, Figure 3 shows how to respond to the first node’s list box. Node CrownCovert1 AgeDistt1 CritHabt1 CrownFire CrownCovert2 AgeDistt2 CritHabt2 Associated FVS variable Weight prcntcancovt1 1.0 standclasst1 N/A (none) (none) prcntcancovt10 1.0 standclasst10 N/A (none) Table 5: Node to FVS variable association. 16 Figure 3: Screen with list box for selecting FVS variables to be associated with the CrownCovert1 node. 17 7. Select Data > Train the network from cases. Figure 4 shows the screen just after network training. 18 Figure 4: Screen after network training computation. 19 8. Select Assess > Compute impacts of options. The screen should appear as in Figure 5 after the network has been solved under each management option. 20 Figure 5: Screen after network is solved under each management option. 21 9. Select Assess > Display impacts > Single node to display the marginal distribution of CritterHabitat2 under each management option, see Figure 6. 8 Maintaining and Extending decnet To modify decnet, the Java Developer’s Kit and the Netica API need to be installed on the developer’s computer. Assuming this is so, a batch file is provided in the decnet distribution to make the compilation of .class files from source code file (.java files) convenient. As an example of this file’s use, at a DOS prompt, type compile FVScalcs.java to compile the decnet source code file, FVScalcs.java. This command creates the associated Java .class file, FVScalcs.class. The batch file, compile.bat is as follows: c:\j2sdk1.4.1_01\bin\javac -deprecation -d . -classpath "C:\jini\jini2_0\lib/outrigger.jar; C:\jini\jini2_0\lib\jini-core.jar;C:\jini\jini2_0\lib\jini-ext.jar; C:\jini\jini2_0\lib\sun-util.jar;.; C:\Program Files\Netica\NeticaJ_221\bin\NeticaJ.jar" %1 9 decnet Distribution A list of all files in the decnet distribution appears in Table 10. File Type Documentation Java Source Java Class DOS Batch Tutorial File(s) decnet.pdf Decnet.java, FVScalcs.java, Listwindow.java, Netcalcs.java, Plotwindow.java, Pltgrphps.java, Rndm.java, Simanel.java, Plotps.java Decnet.class, FVScalcs.class, Listwindow.class, Netcalcs.class, Plotwindow.class, Pltgrphps.class, Rndm.class, Simanel.class, Plotps.class fvs.bat, run.bat, compile.bat critter.dne, fvsrun.key, fvsrun1.tre, fvsrun2.tre, fvsrun.sls, fvs.in Table 6: Files in the decnet software package. These files can be obtained over the web by going to www.uwm.edu/∼haas/decnet.html. 22 Figure 6: Screen after the single node graphical display has been selected. 23 Appendix: Tutorial Files Netica .dne network file: // ~->[DNET-1]->~ // File created by HaasT at UWisconsin using Netica 1.12 // on Aug 12, 2004 at 12:08:01. bnet CritterHab { autoupdate = FALSE; whenchanged = 1092330462; visual V2 { defdispform = LABELBOX; nodelabeling = TITLE; nodefont = font {shape= "Arial"; size= 10;}; linkfont = font {shape= "Arial"; size= 9;}; windowposn = (44, 58, 838, 491); resolution = 72; drawingbounds = (1080, 720); showpagebreaks = FALSE; usegrid = TRUE; gridspace = (6, 6); PrinterSetting A { margins = (1270, 1270, 1270, 1270); landscape = FALSE; magnify = 1; }; }; node Option { kind = DECISION; discrete = TRUE; chance = CHANCE; states = (no_thin, thin); parents = (); probs = // no_thin thin (0.5, 0.5); title = "Decision Options"; visual V2 { center = (246, 114); height = 1; }; }; node CrownCovert1 { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (lt30, from30to60, gt60); parents = (Option); probs = // lt30 from30to60 gt60 ((0.3, 0.3, 0.4), (0.3, 0.3, 0.4)); visual V2 { center = (216, 198); height = 2; }; }; // Option // no_thin // thin ; 24 node AgeDistt1 { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (young, mixed, old); parents = (Option); probs = // young mixed old ((0.3, 0.3, 0.4), (0.3, 0.3, 0.4)); visual V2 { center = (138, 228); height = 3; }; }; node CrownFire { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (no_fire, fire); parents = (CrownCovert1); probs = // no_fire fire ((0.5, 0.5), (0.5, 0.5), (0.5, 0.5)); whenchanged = 1092330462; visual V2 { center = (54, 198); height = 4; }; }; // // // // // Option // no_thin // thin ; CrownCovert1 lt30 from30to60 gt60 ; node CrownCovert2 { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (lt30, from30to60, gt60); parents = (CrownFire, CrownCovert1); probs = // lt30 from30to60 gt60 (((0.3, 0.3, 0.4), (0.3, 0.3, 0.4), (0.3, 0.3, 0.4)), ((0.3, 0.3, 0.4), (0.3, 0.3, 0.4), (0.3, 0.3, 0.4))); visual V2 { center = (50, 114); height = 5; }; }; // // // // // // // 25 CrownFire no_fire no_fire no_fire fire fire fire CrownCovert1 lt30 from30to60 gt60 lt30 from30to60 gt60 ; node CritterHabitatt1 { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (poor, good); parents = (CrownCovert1, AgeDistt1); probs = // poor good // CrownCovert1 (((0.5, 0.5), // lt30 (0.5, 0.5), // lt30 (0.5, 0.5)), // lt30 ((0.5, 0.5), // from30to60 (0.5, 0.5), // from30to60 (0.5, 0.5)), // from30to60 ((0.5, 0.5), // gt60 (0.5, 0.5), // gt60 (0.5, 0.5))); // gt60 visual V2 { center = (54, 36); height = 6; }; }; node AgeDistt2 { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (young, mixed, old); parents = (CrownFire, AgeDistt1); probs = // young mixed old (((0.3, 0.3, 0.4), (0.3, 0.3, 0.4), (0.3, 0.3, 0.4)), ((0.3, 0.3, 0.4), (0.3, 0.3, 0.4), (0.3, 0.3, 0.4))); visual V2 { center = (138, 9); height = 7; }; }; // // // // // // // 26 AgeDistt1 young mixed old young mixed old young mixed old ; CrownFire no_fire no_fire no_fire fire fire fire AgeDistt1 young mixed old young mixed old ; node CritterHabitatt2 { kind = NATURE; discrete = TRUE; chance = CHANCE; states = (poor, good); parents = (CrownCovert2, AgeDistt2); probs = // poor good // CrownCovert2 (((0.5, 0.5), // lt30 (0.5, 0.5), // lt30 (0.5, 0.5)), // lt30 ((0.5, 0.5), // from30to60 (0.5, 0.5), // from30to60 (0.5, 0.5)), // from30to60 ((0.5, 0.5), // gt60 (0.5, 0.5), // gt60 (0.5, 0.5))); // gt60 visual V2 { center = (216, 36); height = 8; }; }; }; 27 AgeDistt2 young mixed old young mixed old young mixed old ; FVS keyword file: stdident s000000 This is a test stand * comment FVS keyword file ("fvsrun.key") for decnet tutorial. end * invyear 1990.0 numcycle 10.0 * design 11.0 1.0 stdinfo 118.0 570.0 60.0 315.0 30.0 * treelist 1 strclass * mgmtid tuid1 thinprsc 1990.0 0.999 * specpref 2020.0 2.0 999.0 specpref 2020.0 7.0 9999.0 thinbta 2020.0 157.0 * specpref 2050.0 3.0 -999.0 specpref 2050.0 4.0 -99.0 thinbta 2050.0 35.0 * thindbh 2060.0 3.0 * process * mgmtid tuid2 thinprsc 1990.0 0.100 * specpref 2020.0 2.0 999.0 specpref 2020.0 7.0 9999.0 thinbta 2020.0 157.0 * specpref 2050.0 3.0 -999.0 specpref 2050.0 4.0 -99.0 thinbta 2050.0 35.0 * thindbh 2060.0 3.0 * process stop 28 34.0 Tree data file for Stand 1: 101 102 102 102 102 103 103 103 103 104 104 105 105 105 105 105 106 106 106 107 108 108 108 109 109 110 110 110 110 111 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 11LP 11WH 31DF 11L 18L 11L 11GF 11L 11LP 11DF 11L 11DF 11DF 16LP 11C 11GF 11DF 11GF 11DF 115 65 1 79 346 80 62 84 95 40 82 12 19 72 1 53 100 61 127 10 73 23 30 2 06 75 11LP 11DF 11LP 11GF 11DF 11C 31GF 11C 11C 11GF 96 104 85 109 94 32 1 58 50 66 05 60 0 09 55 49 0 10 65 0 18 60 0 06 17 0 3 0 10 28 0 10 25 0 14 30 0 07 63 20 38 11 60 20 12 65 11 13 09 10 12 16 2 27 65 38 67 0 0 0 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0400000000000011 0800000000000011 0600000000000022 0300000000000011 0 10000000000032 0396000000000022 0500000000000011 0400000000000011 0300000000000011 50300000000000011 0550000000000011 42600000000000022 47500000000000022 0 11000000000032 0700000000000022 0700000000000011 0400000000000011 0800000000000011 0400000000000011 80 0300000000000022 0597000000000022 0300000000000011 0700000000000011 0400000000000011 32500000000000022 0700000000000022 0700000000000011 37300000000000011 0700000000000011 Tree data file for Stand 2: 101 102 102 102 102 103 103 103 103 104 104 105 105 105 105 105 106 106 106 107 108 108 108 109 109 110 110 110 110 111 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 11LP 11WH 31DF 11L 18L 11L 11GF 11L 11LP 11DF 11L 11DF 11DF 16LP 11C 11GF 11DF 11GF 11DF 115 65 1 79 346 80 62 84 95 40 82 12 19 72 1 53 100 61 127 10 73 23 30 2 06 75 11LP 11DF 11LP 11GF 11DF 11C 31GF 11C 11C 11GF 96 104 85 109 94 32 1 58 50 66 05 60 0 09 55 49 0 10 65 0 18 60 0 06 17 0 3 0 10 28 0 10 25 0 14 30 0 07 63 20 38 11 60 20 12 65 11 13 09 10 12 16 2 27 65 38 67 0 0 0 0 0 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0400000000000011 0800000000000011 0600000000000022 0300000000000011 0 10000000000032 0396000000000022 0500000000000011 0400000000000011 0300000000000011 50300000000000011 0550000000000011 42600000000000022 47500000000000022 0 11000000000032 0700000000000022 0700000000000011 0400000000000011 0800000000000011 0400000000000011 80 0300000000000022 0597000000000022 0300000000000011 0700000000000011 0400000000000011 32500000000000022 0700000000000022 0700000000000011 37300000000000011 0700000000000011 29 Structual statistics Tables in the FVS Output files: ACTIVITY SCHEDULE STAND ID= S248112 MGMT ID= NONE some comment Structural statistics for stand: S248112 ---------- Stratum1 Rm ---Height Year Cd 1990 0 9.8 66 75 55 43 26 DF L 2 5.8 30 38 2 7 41 GF C 1 0.0 0 0 0 0 5 --- 0 2 56 3=UR 2000 0 8.8 48 91 29 28 54 GF C 2 0.1 1 4 1 0 7 C WH 1 0.0 0 0 0 0 0 -- -- 0 2 58 3=UR ACTIVITY SCHEDULE STAND ID= S248112 MGMT ID= NONE some comment Structural statistics for stand: S248112 ---------- Stratum1 Rm ---Height Year Cd 1990 0 9.8 66 75 55 43 26 DF L 2 5.8 30 38 2 7 41 GF C 1 0.0 0 0 0 0 5 --- 0 2 56 3=UR 2000 0 8.8 48 91 29 28 54 GF C 2 0.1 1 4 1 0 7 C WH 1 0.0 0 0 0 0 0 -- -- 0 2 58 3=UR 30 References Dixon, Gary E. comp. (2003), Essential FVS: A User’s Guide to the Forest Vegetation Simulator, Internal Report, Fort Collins, CO: USDA Forest Service, Forest Management Service Center, 193p. Forest Management Service Center (2004), Suppose Overview, www.fs.fed.us/fmsc/fvs/description/suppose.php. Norsys, Inc. (1997), Netica Application User’s Guide, Version 1.05, available from www.norsys.com. Spiegelhalter, D. J., Dawid, P., Lauritzen, S. L., and Cowell, R. G. (1993), “Bayesian Analysis in Expert Systems,” Statistical Science, 8(3): 219-283. Reinhardt, E. D. and Crookston, N. L. (eds.) (2003), The Fire and Fuels Extension to the Forest Vegetation Simulator, General Technical Report RMRS-GTR-116, Ogden, UT: USDA Forest Service, Rocky Mountain Research Station, 209 pages. Van Dyck, M. G. comp. (2004), User’s Guide to the FVS Writer Data Entry Program, Internal Report, Fort Collins, CO: USDA Forest Service, Forest Management Service Center, 12p. Van Dyck, M. G. comp. (2003), Keyword Reference Guide for the Forest Vegetation Simulator, Internal Report, Fort Collins, CO: USDA Forest Service, Forest Management Service Center, 118p. 31