Assisi Forest 2022 Updates
Updated: May 17
A list of the more important changes made to Assisi Forest during 2022.
Smaller bug fixes and interface enhancements are not generally listed.
Stand SDI Added to Parsed Height Equations
Parsed height equations were not able access stand level SDI prior this version.
Species Group Moved to Calibration
Species groups have been moved to Calibrations. This allows each Calibration to group species differently.
Crown Closure now Scaled
The asymptotic scaling method from Parton & Inness (1972) is now applied to Crown Closure: CC = 100 * (1-Exp(-.0092*CC)) The value .0092 will scale crown closure values of 104.2 and less to be below 1. The .0092 value is currently not editable, but can be made so in the future if desired.
Stand Origin Added
Stand origin was added to track the regeneration source of trees. For example, whether "Planted" or "Natural". The AllowedOrigin table can be used to define different origin types, however Assisi reserves the origins "Planted" and "Natural" for internal use.
Origin can be found in two tables. Stands.Origin is the origin at the time a stand was cruised and is user entered. SummaryByStand.Origin is used to track changes to origin and set by Assisi after compilation or growth.
BA Height Weighting Added
Added BA weighting for height averages. Average height has defaulted to TPA weighting in the past, but now height averages can be weighted by either TPA or BA.
Equation Parsing Terms Added
The merch height term "MH" has been changed to "HM" in keeping with other height terms such as "HT" and "HCB"
A carriage return or line feed no longer determines the end of an equation. Only the semi colon determines the end of a equation. This allow long equations to occupy multiple lines when desired.
Additional terms were added for parsing:
HCB - Tree height to crown base.
CR - Tree crown ratio.
DBH5 - Average diameter of the 5 largest trees/acre by diameter.
HT5 - Average height of the 5 largest trees/acre by diameter.
SDI - Stand density index.
MAXSDI - Maximum stand density index.
CCF - Stand crown competition factor.
CCFL - Stand crown competition factor for trees with DBH > the current tree.
PCFL - Plot crown competition factor for trees with DBH > the current tree.
FVS NVEL Volumes Added
The FVS National Volume Estimator Library was added as a choice for tree level volume equations. Log level volumes are not added yet. Assisi's log level volume allows for many more options and settings. If there is demand for NVEL logs in the future, it will be added.
D2H Volume Equation Added
A linear equation of a + b * D2H was added for either board or cubic volume.
Kemp (1958) and Allen (1974) Volume Equations Added
The board volume equations for Kemp and Allen were added. As in FVS, Allen is used for upper bole and small trees. Kemp for large trees and lower bole.
Behre Hyperbola Taper Falls Back to Simple Code
Behre hyperbola taper falls back to using a simple cone for heights not within the Behre section. This worked as desired for large trees, but when Behre trees are missing merch or merch is below form point as can be the case for small trees or trees simply missing these measurements, warnings were issued and trees marked as no volume trees.
This version has such trees fall back to a simple cone using the taper points that are available, typically DBH, form point and/or total height. Small trees or trees without merch measured will now have cone volume when using Behre hyperbola.
New Cover Fields
Added Cover fields for: Count, Diameter, Circumference, StemCount, Age,Distance and Azimuth.
Stand Area and Operations
Stand area has been a fixed value set directly on a stand. But stands can be partially harvested with portions moved to new stands. Assisi can do this when actions such as Clearcut and Establish are carried out during growth or simulation.
To properly account for changes in stand area, area is now a part of the inventory and simulation results, not just field data. The field data stand area that is set in Stands.Area should be treated as the area at the time of a cruise. When compiled, this area is stored in the inventory SummaryByStand.Area field. When partially cut or portions moved to a new stand during growth, the SummaryByStand.Area is updated. Similarly, if cut or split during simulation the SummaryByYearStand.Area field is updated.
Move Prescriptions in Plan Editor
Moving prescriptions within the Plan Editor now clearly selects and moves all the actions in a prescription as a group. Clicking an action will open the rule in the Rules Editor.
Added Age, DBH & BA to Simulation Volume Chart
Age, DBH & BA were added to the Volume chart. Carbon was removed but is shown in full (tree, stem, leaves, etc) on the Carbon tab. Clicking an action on the Harvested plot labels the action then highlights the action in the Plan Editor.
Added Fixed and Other Expenses to Simulation Cash Flow Chart
The Cash Flow chart now displays Fixed and Other action expenses separately from Thin and Clearcut actions. Clicking an action on the Cash Flow plot labels the action then highlights the action in the Plan Editor.
Scaling Multiple Now Reflects Subtract Trim Setting
The "Subtract Trim from Log Lengths Called in the Field" setting is used to tell Assisi that log lengths called in the field include trim. In other words, calculated log lengths should be the length called in the field minus trim. The Scaling Multiple setting is used to walk up the tree and also as a minimum log length check.
In prior versions, log lengths minus trim were compared to the Scaling Multiple without trim subtracted. In this version, both log length and Scaling Multiple respect the "Subtract Trim..." setting. The effect will be an occasional log that was too small for the Scaling Multiple in prior versions but is now considered valid.
Grades and Sorts Added to Volume Optimizations
The optimize scaling method has used product definitions as criteria for optimizing log volume. Now grades and sorts can also be used as criteria. Product optimization typically uses grades and sorts as criteria along with product criteria. Now grade or sort definitions alone can be used.
Renamed Table SummarySample to SummaryBySample
Summary tables in Assisi use a "SummaryBy" naming convention. The SummarySample tables was the lone hold out. This has been fixed.
Removed TempPredictedTrees Table
TempPredictedTrees was used during growth calibration processing in the past. Growth calibration (comparing measured to predicted growth) is done by the Calibrator tool and does not use temporary tables so this table was removed.
Removed HarvestUnit and HarvestUnitCutOuts Tables
Harvest unit processing has been a part of Assisi Operation features for many years. These two legacy tables have now been formally removed.
New Designer for Custom Table Views.
Assisi Enterprise supports adding and customizing table views in the various editors. For example, here is a custom table called "Star BAR" added to the Inventory Editor...
This custom table view includes a band called "Star Bar" whose fields calculate the needed number of sample plots to achieve a certain percent standard error. The calculations for the Star BAR view were added to the standard "Stands" view and saved as a custom table view. Fields not needed for the Star BAR view were also removed. Custom views are added to the view list on the right side of the editors. Note the view "Star BAR" in the list of views to the right.
Custom views can have fields added and removed and be formatted as desired. Right click on the view to open the Table Designer to access table, band and field properties...
The Table Designer has access to all the usual properties of fields including formatting and summary functions...
Removed SourceInventory Field
SummaryByStand.SourceInventory was a legacy field meant to describe the source of an inventory in one field. Assisi supports many inventory sources: cruise, grown cruise, expansion, grown expansion or even none. SummaryByStand now includes many fields to fully describe all the possible sources: SourceUnit, SourceStand, SourceCruise and Source (CRUISE, GROWN, EXPAND, NONE).
New Tree Level Grading Fields
Additional grading fields were added to the Trees table for Quality, Potential and Grade. As with all list type tables, define entries for these types in their respective allowed values tables.
Entered Site Index
Site index can be directly entered on sample trees if the are tree site index values from other sources needing to be used. The values would be skipped however if a SI method was not set in the calibration. This version will read the entered tree SI values whether an SI method is set or not.
Volume Table and Log Distributions
Log distributions is the process of mapping tree level volumes to log level volumes using percentage values. The log distribution step has been after the user defined equation step which meant referencing log level volumes would appear null to user defined equations. This version moves the log distribution step forward in the code sequence so log level volumes are available for user defined equations.
CSV Data Import of List Fields
The CSV data import now handles import of "list" fields using either the direct field name itself, the lookup code or the a lookup ID. Previously only certain fields such as Species were able to use list fields such as Code and ID.
Boolean Fields Changed to Required
Most boolean fields in Assisi have been not required, meaning nulls are OK. Assisi has treated nulls as whatever the default value is for the boolean field. This has been tricky because Access databases do not allow nulls for booleans at all while SQL Server does allow nulls . The best approach is to not allow null anywhere.
With this version that is now the case. To update your database to this version, you will need to set any null booleans values to their default values then mark boolean fields as required. Here is a SQL script for all formal Assisi fields. After updating values, change the boolean fields to required. The Assisi database design check tool will flag fields not matching the formal Assisi design.
UPDATE Calibrations SET IsCompileRegenToSummaries = DEFAULT WHERE IsCompileRegenToSummaries IS NULL UPDATE Calibrations SET IsCompileGrownTreeDamage = DEFAULT WHERE IsCompileGrownTreeDamage IS NULL UPDATE Calibrations SET IsProcessBrokenTops = DEFAULT WHERE IsProcessBrokenTops IS NULL UPDATE Calibrations SET IsReduceSawlogToScale = DEFAULT WHERE IsReduceSawlogToScale IS NULL UPDATE Calibrations SET IsReduceMerchToScale = DEFAULT WHERE IsReduceMerchToScale IS NULL UPDATE Calibrations SET IsSubtractLogTrim = DEFAULT WHERE IsSubtractLogTrim IS NULL UPDATE Calibrations SET IsUsePlotSlopeAsDWDTilt = DEFAULT WHERE IsUsePlotSlopeAsDWDTilt IS NULL UPDATE Calibrations SET IsSegmentToScale = DEFAULT WHERE IsSegmentToScale IS NULL UPDATE Calibrations SET IsIncludeBrokenTopSnags = DEFAULT WHERE IsIncludeBrokenTopSnags IS NULL UPDATE Calibrations SET GIRIsDBH = DEFAULT WHERE GIRIsDBH IS NULL UPDATE Calibrations SET GIRIsMerchHeight = DEFAULT WHERE GIRIsMerchHeight IS NULL UPDATE Expansions SET IsSelected = DEFAULT WHERE IsSelected IS NULL UPDATE History SET IsInterplanting = DEFAULT WHERE IsInterplanting IS NULL UPDATE Markets SET IsGradeTipSection = DEFAULT WHERE IsGradeTipSection IS NULL UPDATE OperationSites SET IsSelected = DEFAULT WHERE IsSelected IS NULL UPDATE Plans SET IsSelected = DEFAULT WHERE IsSelected IS NULL UPDATE Plots SET IsHalfPlot = DEFAULT WHERE IsHalfPlot IS NULL UPDATE Plots SET IsSelected = DEFAULT WHERE IsSelected IS NULL UPDATE Plots SET IsInCruise = DEFAULT WHERE IsInCruise IS NULL UPDATE Plots SET IsLichens = DEFAULT WHERE IsLichens IS NULL UPDATE Plots SET IsIntact = DEFAULT WHERE IsIntact IS NULL UPDATE Plots SET IsIntact = DEFAULT WHERE IsIntact IS NULL UPDATE Plots SET IsIntact = DEFAULT WHERE IsIntact IS NULL UPDATE Stands SET IsEvenAge = DEFAULT WHERE IsEvenAge IS NULL UPDATE Stands SET IsSelected = DEFAULT WHERE IsSelected IS NULL UPDATE SummaryByGrownTree SET IsBrokenTop = DEFAULT WHERE IsBrokenTop IS NULL UPDATE SummaryByGrownTree SET IsSnag = DEFAULT WHERE IsSnag IS NULL UPDATE SummaryByStand SET IsVariableSpeciesIntensity = DEFAULT WHERE IsVariableSpeciesIntensity IS NULL UPDATE SummaryByStand SET IsDoubleSample = DEFAULT WHERE IsDoubleSample IS NULL UPDATE SummaryByTree SET IsBrokenTop = DEFAULT WHERE IsBrokenTop IS NULL UPDATE SummaryByTree SET IsSnag = DEFAULT WHERE IsSnag IS NULL UPDATE SummaryByYearTree SET IsBrokenTop = DEFAULT WHERE IsBrokenTop IS NULL UPDATE SummaryByYearTree SET IsSnag = DEFAULT WHERE IsSnag IS NULL UPDATE TempPredictedTrees SET IsBrokenTop = DEFAULT WHERE IsBrokenTop IS NULL UPDATE TempPredictedTrees SET IsSnag = DEFAULT WHERE IsSnag IS NULL UPDATE Trees SET IsBrokenTop = DEFAULT WHERE IsBrokenTop IS NULL UPDATE Trees SET IsSiteTree = DEFAULT WHERE IsSiteTree IS NULL UPDATE Trees SET IsOffPlot = DEFAULT WHERE IsOffPlot IS NULL UPDATE Trees SET IsSnag = DEFAULT WHERE IsSnag IS NULL UPDATE Trees SET IsStanding = DEFAULT WHERE IsStanding IS NULL UPDATE Trees SET IsDeadLimb = DEFAULT WHERE IsDeadLimb IS NULL UPDATE Trees SET IsReferenceTree = DEFAULT WHERE IsReferenceTree IS NULL
CSV Data Import
The CSV data import format was updated to include the latest field changes.