Updated: Apr 29
A list of the more important changes made to Assisi Forest during 2022.
Smaller bug fixes and interface enhancements are not generally listed.
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.