<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.heurekaslu.se/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LarsSangstuvall</id>
	<title>Heureka Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.heurekaslu.se/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LarsSangstuvall"/>
	<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/wiki/Special:Contributions/LarsSangstuvall"/>
	<updated>2026-04-29T04:08:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10761</id>
		<title>Carbon in Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10761"/>
		<updated>2023-08-29T07:50:01Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added text on CO2 Emission variable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
[[Category:Harvested Wood Products]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Estimates of carbon pool in harvested wood products stemming from the forest analysis area]]. &lt;br /&gt;
&lt;br /&gt;
See [[Harvested_Wood_Products|model description for Harvested Wood Products]].&lt;br /&gt;
&lt;br /&gt;
The projected sequestration of carbon in Harvested Wood Products is a result of extracted volumes per assortment, and assumptions of the longevity of the derived products. &lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
Note! &lt;br /&gt;
&lt;br /&gt;
All results currently only consider the contribution to the carbon pool from the starting point of the simulation an onwards. Any historically extracted volumes from the same areas have - and may still - be a part of the wood products carbon pool, but cannot be included for an arbitrary forest analysis area due to missing data on historical harvest levels. Such an existing carbon pool must be described outside of the current Heureka implementation.&lt;br /&gt;
&lt;br /&gt;
Wood pulp and Wood based panels are made from Wood fiber commodity, which consists of pulpwood and sawmill by-products in the form of wood chips .&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| CO2 Emission||tonnes CO2||Emission of CO2 related to the extracted volumes stemming from the analysis area, i.e. (Decrease in stock due to degradation - Inflow) * conversion factor ton CO2 per ton C. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Pulp||tonnes C||Carbon pool inflow related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Sawn Wood||tonnes C||Carbon pool inflow related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Wood Based Panels||tonnes C||Carbon pool inflow related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Pulp||tonnes C||Carbon pool stock related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Sawn Wood||tonnes C||Carbon pool stock related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Wood Based Panels||tonnes C||Carbon pool stock related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Total||tonnes C||Sum of carbon pool stock related to all product types extracted in the analysis.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Storm_index&amp;diff=10759</id>
		<title>Storm index</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Storm_index&amp;diff=10759"/>
		<updated>2023-08-25T07:13:29Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Removed redundant sign &amp;quot;long vertical bar&amp;quot; in web references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Follow the links to view the model descriptions:&lt;br /&gt;
&lt;br /&gt;
[https://pub.epsilon.slu.se/9469/ Storm index according to Lagergren et al 2012]&lt;br /&gt;
&lt;br /&gt;
[https://shop.skogsstyrelsen.se/shop/9098/art13/4646113-ff7c25-1758.pdf Storm index according to Valinger et al 2006]&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10729</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10729"/>
		<updated>2023-05-09T12:50:40Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added clarity on the special database in Hedwall&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
===Bilberry and lingonberry cover models by Bohlin=== &lt;br /&gt;
version 1.0&lt;br /&gt;
updated 25.4.2023&lt;br /&gt;
&lt;br /&gt;
Model calculates the estimated bilberry and lingonberry shrub cover (%) based on the common stand attributes. Cover models are created based on the field data from Swedish NFI using general linear mixed effect models. Bilberry shrub cover is divided in two models, one for when site index is pine and one for when site index is spruce. &lt;br /&gt;
&lt;br /&gt;
Model estimates should be used as an indication of the potential shrub cover, not as absolute measure. &lt;br /&gt;
&lt;br /&gt;
Variables in Bilberry shrub cover models:&lt;br /&gt;
* When Site index for pine: Vegetation type class, temperature sum, soil moisture class, basal area, stand age, site index class, time since thinning&lt;br /&gt;
* When Site index for spruce: Vegetation type class, temperature sum, basal area, stand age, site index class, time since thinning&lt;br /&gt;
&lt;br /&gt;
Variables used in Lingonberry shrub cover model:&lt;br /&gt;
* Vegetation type, temperature sum, basal area, basal area for pine, stand age, site index, time since thinning and time since clearcut.&lt;br /&gt;
&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Models predicting the ground cover (%) of bilberry (Vaccinium myrtillus), cowberry (V. vitis-idaea) and heather (Calluna vulgaris) by Hedwall===&lt;br /&gt;
version 1.0&lt;br /&gt;
updated 04.05.2023&lt;br /&gt;
&lt;br /&gt;
Based on stand, soil and vegetation variables these models predict the percentage of the ground that is covered by either of the three dwarf-shrub species in summer. &lt;br /&gt;
&lt;br /&gt;
The models are Generalized Linear Mixed Models, that accounts for zero-inflation, based on data from the Swedish National Forest Inventory (NFI). The models predict the cover based on the following explanatory variables:&lt;br /&gt;
* The proportion of the ground that was covered by the focal dwarf-shrub 10 years earlier&lt;br /&gt;
* The ratio of carbon and nitrogen in the top-soil (C/N)&lt;br /&gt;
* The stand age (years)&lt;br /&gt;
* Basal area (m2/ha) of trees &lt;br /&gt;
* The proportion of the basal area that is constituted by Norway spruce (Picea abies)&lt;br /&gt;
* The proportion of the basal area that is constituted by broadleaved tree species&lt;br /&gt;
&lt;br /&gt;
The models therefore require a special database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer. At present, such data only exists as a special database containing a subset of NFI plots, and their representative area is not rescaled if only the plots with necessary data is selected.&lt;br /&gt;
&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10728</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10728"/>
		<updated>2023-05-04T19:57:26Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added Hedwall description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
===Bilberry and lingonberry cover models by Bohlin=== &lt;br /&gt;
version 1.0&lt;br /&gt;
updated 25.4.2023&lt;br /&gt;
&lt;br /&gt;
Model calculates the estimated bilberry and lingonberry shrub cover (%) based on the common stand attributes. Cover models are created based on the field data from Swedish NFI using general linear mixed effect models. Bilberry shrub cover is divided in two models, one for when site index is pine and one for when site index is spruce. &lt;br /&gt;
&lt;br /&gt;
Model estimates should be used as an indication of the potential shrub cover, not as absolute measure. &lt;br /&gt;
&lt;br /&gt;
Variables in Bilberry shrub cover models:&lt;br /&gt;
* When Site index for pine: Vegetation type class, temperature sum, soil moisture class, basal area, stand age, site index class, time since thinning&lt;br /&gt;
* When Site index for spruce: Vegetation type class, temperature sum, basal area, stand age, site index class, time since thinning&lt;br /&gt;
&lt;br /&gt;
Variables used in Lingonberry shrub cover model:&lt;br /&gt;
* Vegetation type, temperature sum, basal area, basal area for pine, stand age, site index, time since thinning and time since clearcut.&lt;br /&gt;
&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Models predicting the ground cover (%) of bilberry (Vaccinium myrtillus), cowberry (V. vitis-idaea) and heather (Calluna vulgaris) by Hedwall===&lt;br /&gt;
version 1.0&lt;br /&gt;
updated 04.05.2023&lt;br /&gt;
&lt;br /&gt;
Based on stand, soil and vegetation variables these models predict the percentage of the ground that is covered by either of the three dwarf-shrub species in summer. &lt;br /&gt;
&lt;br /&gt;
The models are Generalized Linear Mixed Models, that accounts for zero-inflation, based on data from the Swedish National Forest Inventory (NFI). The models predict the cover based on the following explanatory variables:&lt;br /&gt;
* The proportion of the ground that was covered by the focal dwarf-shrub 10 years earlier&lt;br /&gt;
* The ratio of carbon and nitrogen in the top-soil (C/N)&lt;br /&gt;
* The stand age (years)&lt;br /&gt;
* Basal area (m2/ha) of trees &lt;br /&gt;
* The proportion of the basal area that is constituted by Norway spruce (Picea abies)&lt;br /&gt;
* The proportion of the basal area that is constituted by broadleaved tree species&lt;br /&gt;
&lt;br /&gt;
The models therefore require a special database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer. &lt;br /&gt;
&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10719</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10719"/>
		<updated>2023-04-25T12:35:47Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
===Bilberry and lingonberry cover models by Bohlin=== &lt;br /&gt;
version 1.0&lt;br /&gt;
updated 25.4.2023&lt;br /&gt;
&lt;br /&gt;
Model calculates the estimated bilberry and lingonberry shrub cover (%) based on the common stand attributes. Cover models are created based on the field data from Swedish NFI using general linear mixed effect models. Bilberry shrub cover is divided in two models, one for when site index is pine and one for when site index is spruce. &lt;br /&gt;
&lt;br /&gt;
Model estimates should be used as an indication of the potential shrub cover, not as absolute measure. &lt;br /&gt;
&lt;br /&gt;
Variables in Bilberry shrub cover models:&lt;br /&gt;
* When Site index for pine: Vegetation type class, temperature sum, soil moisture class, basal area, stand age, site index class, time since thinning&lt;br /&gt;
* When Site index for spruce: Vegetation type class, temperature sum, basal area, stand age, site index class, time since thinning&lt;br /&gt;
&lt;br /&gt;
Variables used in Lingonberry shrub cover model:&lt;br /&gt;
* Vegetation type, temperature sum, basal area, basal area for pine, stand age, site index, time since thinning and time since clearcut.&lt;br /&gt;
&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Hedwall===&lt;br /&gt;
requires a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer. To be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10718</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10718"/>
		<updated>2023-04-25T11:40:02Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
This is a large update to Heureka that has been long in the works. It introduces a range of useful features, quality-of-life changes, improved performance and of course, numerous bug fixes.&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. Several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. There is currently no support for stochastic input data (e.g. forest data or timber prices).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | Viewing a report for a Monte Carlo simulation allows the user to see confidence interval, standard deviation and min/max values&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
For further details and instructions on how to use the functionality, consult the [https://www.heurekaslu.se/help/en/index.htm?monte_carlo-simulering.htm Heureka Help]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please consult the [https://www.heurekaslu.se/help/en/index.htm?schackruteskotsel.htm Heureka Help]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the [[ControlTable_Production_Model | Production Model]] control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result group [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables useful for assessing the fulfilment of the national environmental goal '''Levande skogar'''  have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10717</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10717"/>
		<updated>2023-04-25T11:39:13Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Sammanfattning==&lt;br /&gt;
Detta är en stor uppdatering av Heureka som introducerar en rad användbara nya funktioner, förbättrad användarupplevelse, förbättrad prestanda och en hel del buggfixar.&lt;br /&gt;
==Ny funktionalitet==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simuleringar i RegVis===&lt;br /&gt;
En Monte Carlo-simulering liknar en vanlig simulering, men simuleringen upprepas automatiskt ett användardefinierat antal gånger. Resultaten av de upprepade simuleringarna sparas i databasen och kan visas i rapporter där följande statistik presenteras per variabel: medel-, min och max-värden, standardavvikelse och konfidensintervall.&lt;br /&gt;
&lt;br /&gt;
Syftet med funktionaliteten är att kunna testa effekterna av stokastiska element i framskrivningen vid en Heureka-analys: skogens ingående tillstånd och de olika modellerna som tillsammans används för att prognostisera utvecklingen av skogen över tid. Flera av modellerna som används för att beräkna skogens utveckling och tilldela åtgärder kan köras i stokastiskt läge: Mortalitet och inväxning i etablerad skog, höjdfördelningsfunktioner, skador i ungskog och hur bestånd tilldelas till kontrollkategorierna inom en skogsdomän och prioriteras i åtgärdsplaneringen. Det finns för närvarande inget stöd för stokastiska indata (t.ex. skogliga data eller timmerpriser).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | I rapportvisaren för Monte Carlo-simuleringar kan man se konfidensintervall, standardavvikelse och min/max-värden&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?monte_carlo-simulering.htm Heureka-hjälpen]&lt;br /&gt;
===Schackruteskötsel/-huggning i PlanVis===&lt;br /&gt;
Det är nu möjligt att simulera skog med skötselsystemet Schackruteskötsel även i PlanVis (tidigare tillgängliggjort i RegVis i 2.18).&lt;br /&gt;
&lt;br /&gt;
När schackrutehuggning simuleras så delas ytan upp i en &amp;quot;vit&amp;quot; och en &amp;quot;svart&amp;quot; del, där slutavverkning på den vita delen fördröjs tills efter föryngrad ungskog på den svarta ytan nått den medelhöjd som specificerats av användaren.&lt;br /&gt;
&lt;br /&gt;
För närvarande har de två delarna ingen spatial utsträckning och inga kanteffekter - varken (positiva) på den vita delen eller (negativa) på den svarta - tas i beaktning när simulering utförs med schackrutehuggning.&lt;br /&gt;
&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?schackruteskotsel.htm Heureka-hjälpen]&lt;br /&gt;
&lt;br /&gt;
===Justeringsfaktorer per trädslag och period===&lt;br /&gt;
Inställningarna Growth Factor and Mortality Factor Established Forest har flyttats till en ny kontrolltabellinställning kallad '''Growth and Mortality Adjustment Factors''', i [[ControlTable_Production_Model | Production Model]] kontrolltabellen. Möjligheten att ange en faktor även för höjdtillväxt har lagts till.&lt;br /&gt;
&lt;br /&gt;
Faktorerna ligger i en ny dialog och kan anges som specifika inställningar för varje artgrupp och period. Om en faktor inte finns angiven för en period används faktorn från närmast föregående angiven period. &lt;br /&gt;
&lt;br /&gt;
Dessa faktorer är endast avsedda för känslighetsanalyser och forskning och bör inte ändras vid normal användning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Exempel på editeringsdialogen för justeringsfaktorer.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modeller för risväxters täckningsgrad===&lt;br /&gt;
Tre nya resultatvariabler har lagts till: Täckningsgrad för blåbär, lingon och ljung. Dessa ligger i resultatgruppen [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
Två olika modeller kan användas för beräkningen av täckningsgrad av blåbär och lingon. Dessa kan väljas i kontrolltabellen [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Notera att Hedwalls modeller endast kan användas tillsammans med en skogsdatabas innehållande inventerade värden för initial täckningsgrad, samt kol:kväve-kvoten i humuslagret. &lt;br /&gt;
&lt;br /&gt;
===Miljömålsindikatorer===&lt;br /&gt;
I databasen finns nu fyra nya resultatvariabler som kan användas för att snabbt utvärdera hur det går att uppfylla miljökvalitetsmålet Levande skogar. Dessa har lagts till resultatgruppen [[Structural_Diversity_Results | Structural Diversity]], som anger klassificering relativt följande villkor:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': mer än 20 kubikmeter per dödved med minst 20 cm i diameter per hektar.&lt;br /&gt;
* '''Forest with 60+ large tree''': minst 60 grova träd per hektar. Med grova träd avses för tall, gran och ädellöv, träd som är 45 cm eller mer i diameter. För övriga lövträd gäller minst 35 cm i diameter.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': äldre än 80 år i boreal region och äldre än 60 år i boreonemoral och nemoral region samt där minst 25 % av grundytan utgörs av lövträd.&lt;br /&gt;
* '''Old forest''': genomsnittlig trädålder över 140 år i Norrland och Dalarnas, Värmlands, och Örebro län (Boreal region) samt över 120 år i övriga landet (Boreonemoral och nemoral region)&lt;br /&gt;
&lt;br /&gt;
En ny rapportmall finns att ladda hem som innehåller dessa variabler. Klicka på '''Ladda ner standardmallar'''. Välj att inte skriva över befintliga mallar (om du inte verkligen vill det). Den nya mallen sparas under mappen 6. Naturvård, och heter '''Miljöförhållanden'''.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland när stokastisk mortalitet tillämpades&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10715</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10715"/>
		<updated>2023-04-25T11:28:14Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
===Bilberry and lingonberry cover models by Bohlin=== &lt;br /&gt;
version 1.0&lt;br /&gt;
updated 25.4.2023&lt;br /&gt;
&lt;br /&gt;
Model calculates the estimated bilberry and lingonberry shrub cover (%) based on the common stand attributes. Cover models are created based on the field data from Swedish NFI using general linear mixed effect models. Bilberry shrub cover is divided in two models, one for when site index is pine and one for when site index is spruce. &lt;br /&gt;
&lt;br /&gt;
Model estimates should be used as an indication of the potential shrub cover, not as absolute measure. &lt;br /&gt;
&lt;br /&gt;
Variables in Bilberry shrub cover models:&lt;br /&gt;
-	When Site index for pine: Vegetation type class, temperature sum, soil moisture class, basal area, stand age, site index class, time since thinning&lt;br /&gt;
-	When Site index for spruce: Vegetation type class, temperature sum, basal area, stand age, site index class, time since thinning&lt;br /&gt;
Variables used in Lingonberry shrub cover model:&lt;br /&gt;
-	Vegetation type, temperature sum, basal area, basal area for pine, stand age, site index, time since thinning and time since clearcut.&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Hedwall===&lt;br /&gt;
requires a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer. To be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10714</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10714"/>
		<updated>2023-04-25T11:27:41Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
===Bilberry and lingonberry cover models by Bohlin=== &lt;br /&gt;
version 1.0&lt;br /&gt;
updated 25.4.2023&lt;br /&gt;
&lt;br /&gt;
Model calculates the estimated bilberry and lingonberry shrub cover (%) based on the common stand attributes. Cover models are created based on the field data from Swedish NFI using general linear mixed effect models. Bilberry shrub cover is divided in two models, one for when site index is pine and one for when site index is spruce. &lt;br /&gt;
&lt;br /&gt;
Model estimates should be used as an indication of the potential shrub cover, not as absolute measure. &lt;br /&gt;
&lt;br /&gt;
Variables in Bilberry shrub cover models:&lt;br /&gt;
-	When Site index for pine: Vegetation type class, temperature sum, soil moisture class, basal area, stand age, site index class, time since thinning&lt;br /&gt;
-	When Site index for spruce: Vegetation type class, temperature sum, basal area, stand age, site index class, time since thinning&lt;br /&gt;
Variables used in Lingonberry shrub cover model:&lt;br /&gt;
-	Vegetation type, temperature sum, basal area, basal area for pine, stand age, site index, time since thinning and time since clearcut.&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Hedwall=== requires a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer. To be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10713</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10713"/>
		<updated>2023-04-25T11:26:05Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added Bohlin description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Shrub Cover Models==&lt;br /&gt;
&lt;br /&gt;
Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
====Bilberry and lingonberry cover models by Bohlin==== &lt;br /&gt;
version 1.0&lt;br /&gt;
updated 25.4.2023&lt;br /&gt;
&lt;br /&gt;
Model calculates the estimated bilberry and lingonberry shrub cover (%) based on the common stand attributes. Cover models are created based on the field data from Swedish NFI using general linear mixed effect models. Bilberry shrub cover is divided in two models, one for when site index is pine and one for when site index is spruce. &lt;br /&gt;
&lt;br /&gt;
Model estimates should be used as an indication of the potential shrub cover, not as absolute measure. &lt;br /&gt;
&lt;br /&gt;
Variables in Bilberry shrub cover models:&lt;br /&gt;
-	When Site index for pine: Vegetation type class, temperature sum, soil moisture class, basal area, stand age, site index class, time since thinning&lt;br /&gt;
-	When Site index for spruce: Vegetation type class, temperature sum, basal area, stand age, site index class, time since thinning&lt;br /&gt;
Variables used in Lingonberry shrub cover model:&lt;br /&gt;
-	Vegetation type, temperature sum, basal area, basal area for pine, stand age, site index, time since thinning and time since clearcut.&lt;br /&gt;
Report including detailed description of the model will be published soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Hedwall''' requires a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer. To be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10712</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10712"/>
		<updated>2023-04-25T10:35:02Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Checkerboard Forestry in PlanWise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
This is a large update to Heureka that has been long in the works. It introduces a range of useful features, quality-of-life changes, improved performance and of course, numerous bug fixes.&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. Several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. There is currently no support for stochastic input data (e.g. forest data or timber prices).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | Viewing a report for a Monte Carlo simulation allows the user to see confidence interval, standard deviation and min/max values&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
For further details and instructions on how to use the functionality, consult the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please consult the [[https://www.heurekaslu.se/help/en/index.htm?schackruteskotsel.htm Heureka Help]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the [[ControlTable_Production_Model | Production Model]] control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result group [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables useful for assessing the fulfilment of the national environmental goal '''Levande skogar'''  have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10711</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10711"/>
		<updated>2023-04-25T10:34:04Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Schackruteskötsel/-huggning i PlanVis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Sammanfattning==&lt;br /&gt;
Detta är en stor uppdatering av Heureka som introducerar en rad användbara nya funktioner, förbättrad användarupplevelse, förbättrad prestanda och en hel del buggfixar.&lt;br /&gt;
==Ny funktionalitet==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simuleringar i RegVis===&lt;br /&gt;
En Monte Carlo-simulering liknar en vanlig simulering, men simuleringen upprepas automatiskt ett användardefinierat antal gånger. Resultaten av de upprepade simuleringarna sparas i databasen och kan visas i rapporter där följande statistik presenteras per variabel: medel-, min och max-värden, standardavvikelse och konfidensintervall.&lt;br /&gt;
&lt;br /&gt;
Syftet med funktionaliteten är att kunna testa effekterna av stokastiska element i framskrivningen vid en Heureka-analys: skogens ingående tillstånd och de olika modellerna som tillsammans används för att prognostisera utvecklingen av skogen över tid. Flera av modellerna som används för att beräkna skogens utveckling och tilldela åtgärder kan köras i stokastiskt läge: Mortalitet och inväxning i etablerad skog, höjdfördelningsfunktioner, skador i ungskog och hur bestånd tilldelas till kontrollkategorierna inom en skogsdomän och prioriteras i åtgärdsplaneringen. Det finns för närvarande inget stöd för stokastiska indata (t.ex. skogliga data eller timmerpriser).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | I rapportvisaren för Monte Carlo-simuleringar kan man se konfidensintervall, standardavvikelse och min/max-värden&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm Heureka-hjälpen]&lt;br /&gt;
===Schackruteskötsel/-huggning i PlanVis===&lt;br /&gt;
Det är nu möjligt att simulera skog med skötselsystemet Schackruteskötsel även i PlanVis (tidigare tillgängliggjort i RegVis i 2.18).&lt;br /&gt;
&lt;br /&gt;
När schackrutehuggning simuleras så delas ytan upp i en &amp;quot;vit&amp;quot; och en &amp;quot;svart&amp;quot; del, där slutavverkning på den vita delen fördröjs tills efter föryngrad ungskog på den svarta ytan nått den medelhöjd som specificerats av användaren.&lt;br /&gt;
&lt;br /&gt;
För närvarande har de två delarna ingen spatial utsträckning och inga kanteffekter - varken (positiva) på den vita delen eller (negativa) på den svarta - tas i beaktning när simulering utförs med schackrutehuggning.&lt;br /&gt;
&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?schackruteskotsel.htm Heureka-hjälpen]&lt;br /&gt;
&lt;br /&gt;
===Justeringsfaktorer per trädslag och period===&lt;br /&gt;
Inställningarna Growth Factor and Mortality Factor Established Forest har flyttats till en ny kontrolltabellinställning kallad '''Growth and Mortality Adjustment Factors''', i [[ControlTable_Production_Model | Production Model]] kontrolltabellen. Möjligheten att ange en faktor även för höjdtillväxt har lagts till.&lt;br /&gt;
&lt;br /&gt;
Faktorerna ligger i en ny dialog och kan anges som specifika inställningar för varje artgrupp och period. Om en faktor inte finns angiven för en period används faktorn från närmast föregående angiven period. &lt;br /&gt;
&lt;br /&gt;
Dessa faktorer är endast avsedda för känslighetsanalyser och forskning och bör inte ändras vid normal användning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Exempel på editeringsdialogen för justeringsfaktorer.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modeller för risväxters täckningsgrad===&lt;br /&gt;
Tre nya resultatvariabler har lagts till: Täckningsgrad för blåbär, lingon och ljung. Dessa ligger i resultatgruppen [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
Två olika modeller kan användas för beräkningen av täckningsgrad av blåbär och lingon. Dessa kan väljas i kontrolltabellen [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Notera att Hedwalls modeller endast kan användas tillsammans med en skogsdatabas innehållande inventerade värden för initial täckningsgrad, samt kol:kväve-kvoten i humuslagret. &lt;br /&gt;
&lt;br /&gt;
===Miljömålsindikatorer===&lt;br /&gt;
I databasen finns nu fyra nya resultatvariabler som kan användas för att snabbt utvärdera hur det går att uppfylla miljökvalitetsmålet Levande skogar. Dessa har lagts till resultatgruppen [[Structural_Diversity_Results | Structural Diversity]], som anger klassificering relativt följande villkor:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': mer än 20 kubikmeter per dödved med minst 20 cm i diameter per hektar.&lt;br /&gt;
* '''Forest with 60+ large tree''': minst 60 grova träd per hektar. Med grova träd avses för tall, gran och ädellöv, träd som är 45 cm eller mer i diameter. För övriga lövträd gäller minst 35 cm i diameter.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': äldre än 80 år i boreal region och äldre än 60 år i boreonemoral och nemoral region samt där minst 25 % av grundytan utgörs av lövträd.&lt;br /&gt;
* '''Old forest''': genomsnittlig trädålder över 140 år i Norrland och Dalarnas, Värmlands, och Örebro län (Boreal region) samt över 120 år i övriga landet (Boreonemoral och nemoral region)&lt;br /&gt;
&lt;br /&gt;
En ny rapportmall finns att ladda hem som innehåller dessa variabler. Klicka på '''Ladda ner standardmallar'''. Välj att inte skriva över befintliga mallar (om du inte verkligen vill det). Den nya mallen sparas under mappen 6. Naturvård, och heter '''Miljöförhållanden'''.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland när stokastisk mortalitet tillämpades&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10709</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10709"/>
		<updated>2023-04-25T09:25:44Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
This is a large update to Heureka that has been long in the works. It introduces a range of useful features, quality-of-life changes, improved performance and of course, numerous bug fixes.&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. Several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. There is currently no support for stochastic input data (e.g. forest data or timber prices).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | Viewing a report for a Monte Carlo simulation allows the user to see confidence interval, standard deviation and min/max values&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
For further details and instructions on how to use the functionality, consult the [https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please consult the [https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Help]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the [[ControlTable_Production_Model | Production Model]] control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result group [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables useful for assessing the fulfilment of the national environmental goal '''Levande skogar'''  have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10708</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10708"/>
		<updated>2023-04-25T09:18:47Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
This is a large update to Heureka that has been long in the works. It introduces a range of useful features, quality-of-life changes, improved performance and of course, numerous bug fixes.&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. Several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. There is currently no support for stochastic input data (e.g. forest data or timber prices).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | Viewing a report for a Monte Carlo simulation allows the user to see confidence interval, standard deviation and min/max values&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
For further details and instructions on how to use the functionality, consult the [https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please consult the [https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Help]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10707</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10707"/>
		<updated>2023-04-25T09:18:30Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Sammanfattning==&lt;br /&gt;
Detta är en stor uppdatering av Heureka som introducerar en rad användbara nya funktioner, förbättrad användarupplevelse, förbättrad prestanda och en hel del buggfixar.&lt;br /&gt;
==Ny funktionalitet==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simuleringar i RegVis===&lt;br /&gt;
En Monte Carlo-simulering liknar en vanlig simulering, men simuleringen upprepas automatiskt ett användardefinierat antal gånger. Resultaten av de upprepade simuleringarna sparas i databasen och kan visas i rapporter där följande statistik presenteras per variabel: medel-, min och max-värden, standardavvikelse och konfidensintervall.&lt;br /&gt;
&lt;br /&gt;
Syftet med funktionaliteten är att kunna testa effekterna av stokastiska element i framskrivningen vid en Heureka-analys: skogens ingående tillstånd och de olika modellerna som tillsammans används för att prognostisera utvecklingen av skogen över tid. Flera av modellerna som används för att beräkna skogens utveckling och tilldela åtgärder kan köras i stokastiskt läge: Mortalitet och inväxning i etablerad skog, höjdfördelningsfunktioner, skador i ungskog och hur bestånd tilldelas till kontrollkategorierna inom en skogsdomän och prioriteras i åtgärdsplaneringen. Det finns för närvarande inget stöd för stokastiska indata (t.ex. skogliga data eller timmerpriser).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | I rapportvisaren för Monte Carlo-simuleringar kan man se konfidensintervall, standardavvikelse och min/max-värden&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm Heureka-hjälpen]&lt;br /&gt;
===Schackruteskötsel/-huggning i PlanVis===&lt;br /&gt;
Det är nu möjligt att simulera skog med skötselsystemet Schackruteskötsel även i PlanVis (tidigare tillgängliggjort i RegVis i 2.18).&lt;br /&gt;
&lt;br /&gt;
När schackrutehuggning simuleras så delas ytan upp i en &amp;quot;vit&amp;quot; och en &amp;quot;svart&amp;quot; del, där slutavverkning på den vita delen fördröjs tills efter föryngrad ungskog på den svarta ytan nått den medelhöjd som specificerats av användaren.&lt;br /&gt;
&lt;br /&gt;
För närvarande har de två delarna ingen spatial utsträckning och inga kanteffekter - varken (positiva) på den vita delen eller (negativa) på den svarta - tas i beaktning när simulering utförs med schackrutehuggning.&lt;br /&gt;
&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka-hjälpen]&lt;br /&gt;
&lt;br /&gt;
===Justeringsfaktorer per trädslag och period===&lt;br /&gt;
Inställningarna Growth Factor and Mortality Factor Established Forest har flyttats till en ny kontrolltabellinställning kallad '''Growth and Mortality Adjustment Factors''', i [[ControlTable_Production_Model | Production Model]] kontrolltabellen. Möjligheten att ange en faktor även för höjdtillväxt har lagts till.&lt;br /&gt;
&lt;br /&gt;
Faktorerna ligger i en ny dialog och kan anges som specifika inställningar för varje artgrupp och period. Om en faktor inte finns angiven för en period används faktorn från närmast föregående angiven period. &lt;br /&gt;
&lt;br /&gt;
Dessa faktorer är endast avsedda för känslighetsanalyser och forskning och bör inte ändras vid normal användning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Exempel på editeringsdialogen för justeringsfaktorer.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modeller för risväxters täckningsgrad===&lt;br /&gt;
Tre nya resultatvariabler har lagts till: Täckningsgrad för blåbär, lingon och ljung. Dessa ligger i resultatgruppen [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
Två olika modeller kan användas för beräkningen av täckningsgrad av blåbär och lingon. Dessa kan väljas i kontrolltabellen [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Notera att Hedwalls modeller endast kan användas tillsammans med en skogsdatabas innehållande inventerade värden för initial täckningsgrad, samt kol:kväve-kvoten i humuslagret. &lt;br /&gt;
&lt;br /&gt;
===Miljömålsindikatorer===&lt;br /&gt;
I databasen finns nu fyra nya resultatvariabler som kan användas för att snabbt utvärdera hur det går att uppfylla miljökvalitetsmålet Levande skogar. Dessa har lagts till resultatgruppen [[Structural_Diversity_Results | Structural Diversity]], som anger klassificering relativt följande villkor:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': mer än 20 kubikmeter per dödved med minst 20 cm i diameter per hektar.&lt;br /&gt;
* '''Forest with 60+ large tree''': minst 60 grova träd per hektar. Med grova träd avses för tall, gran och ädellöv, träd som är 45 cm eller mer i diameter. För övriga lövträd gäller minst 35 cm i diameter.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': äldre än 80 år i boreal region och äldre än 60 år i boreonemoral och nemoral region samt där minst 25 % av grundytan utgörs av lövträd.&lt;br /&gt;
* '''Old forest''': genomsnittlig trädålder över 140 år i Norrland och Dalarnas, Värmlands, och Örebro län (Boreal region) samt över 120 år i övriga landet (Boreonemoral och nemoral region)&lt;br /&gt;
&lt;br /&gt;
En ny rapportmall finns att ladda hem som innehåller dessa variabler. Klicka på '''Ladda ner standardmallar'''. Välj att inte skriva över befintliga mallar (om du inte verkligen vill det). Den nya mallen sparas under mappen 6. Naturvård, och heter '''Miljöförhållanden'''.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland när stokastisk mortalitet tillämpades&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10706</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10706"/>
		<updated>2023-04-25T09:03:34Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-25]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Sammanfattning==&lt;br /&gt;
Detta är en stor uppdatering av Heureka som introducerar en rad användbara nya funktioner, förbättrad användarupplevelse, förbättrad prestanda och en hel del buggfixar.&lt;br /&gt;
==Ny funktionalitet==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simuleringar i RegVis===&lt;br /&gt;
En Monte Carlo-simulering liknar en vanlig simulering, men simuleringen upprepas automatiskt ett användardefinierat antal gånger. Resultaten av de upprepade simuleringarna sparas i databasen och kan visas i rapporter där följande statistik presenteras per variabel: medel-, min och max-värden, standardavvikelse och konfidensintervall.&lt;br /&gt;
&lt;br /&gt;
Syftet med funktionaliteten är att kunna testa effekterna av stokastiska element i framskrivningen vid en Heureka-analys: skogens ingående tillstånd och de olika modellerna som tillsammans används för att prognostisera utvecklingen av skogen över tid. Flera av modellerna som används för att beräkna skogens utveckling och tilldela åtgärder kan köras i stokastiskt läge: Mortalitet och inväxning i etablerad skog, höjdfördelningsfunktioner, skador i ungskog och hur bestånd tilldelas till kontrollkategorierna inom en skogsdomän och prioriteras i åtgärdsplaneringen. Det finns för närvarande inget stöd för stokastiska indata (t.ex. skogliga data eller timmerpriser).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | I rapportvisaren för Monte Carlo-simuleringar kan man se konfidensintervall, standardavvikelse och min/max-värden&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm Heureka-hjälpen]&lt;br /&gt;
===Schackruteskötsel/-huggning i PlanVis===&lt;br /&gt;
Det är nu möjligt att simulera skog med skötselsystemet Schackruteskötsel även i PlanVis (tidigare tillgängliggjort i RegVis i 2.18).&lt;br /&gt;
&lt;br /&gt;
När schackrutehuggning simuleras så delas ytan upp i en &amp;quot;vit&amp;quot; och en &amp;quot;svart&amp;quot; del, där slutavverkning på den vita delen fördröjs tills efter föryngrad ungskog på den svarta ytan nått den medelhöjd som specificerats av användaren.&lt;br /&gt;
&lt;br /&gt;
För närvarande har de två delarna ingen spatial utsträckning och inga kanteffekter - varken (positiva) på den vita delen eller (negativa) på den svarta - tas i beaktning när simulering utförs med schackrutehuggning.&lt;br /&gt;
&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används hänvisar vi till [https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka-hjälpen]&lt;br /&gt;
&lt;br /&gt;
===Justeringsfaktorer per trädslag och period===&lt;br /&gt;
Inställningarna Growth Factor and Mortality Factor Established Forest har flyttats till en ny kontrolltabellinställning kallad '''Growth and Mortality Adjustment Factors''', i [[ControlTable_Production_Model | Production Model]] kontrolltabellen. Möjligheten att ange en faktor även för höjdtillväxt har lagts till.&lt;br /&gt;
&lt;br /&gt;
Faktorerna ligger i en ny dialog och kan anges som specifika inställningar för varje artgrupp och period. Om en faktor inte finns angiven för en period används faktorn från närmast föregående angiven period. &lt;br /&gt;
&lt;br /&gt;
Dessa faktorer är endast avsedda för känslighetsanalyser och forskning och bör inte ändras vid normal användning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Exempel på editeringsdialogen för justeringsfaktorer.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modeller för risväxters täckningsgrad===&lt;br /&gt;
Tre nya resultatvariabler har lagts till: Täckningsgrad för blåbär, lingon och ljung. Dessa ligger i resultatgruppen [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]].&lt;br /&gt;
&lt;br /&gt;
Två olika modeller kan användas för beräkningen av täckningsgrad av blåbär och lingon. Dessa kan väljas i kontrolltabellen [[ControlTable_Recreation | Recreation]].&lt;br /&gt;
&lt;br /&gt;
Notera att Hedwalls modeller endast kan användas tillsammans med en skogsdatabas innehållande inventerade värden för initial täckningsgrad, samt kol:kväve-kvoten i humuslagret. &lt;br /&gt;
&lt;br /&gt;
===Miljömålsindikatorer===&lt;br /&gt;
I databasen finns nu fyra nya resultatvariabler som kan användas för att snabbt utvärdera hur det går att uppfylla miljökvalitetsmålet Levande skogar. Dessa har lagts till resultatgruppen [[Structural_Diversity_Results | Structural Diversity]], som anger klassificering relativt följande villkor:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': mer än 20 kubikmeter per dödved med minst 20 cm i diameter per hektar.&lt;br /&gt;
* '''Forest with 60+ large tree''': minst 60 grova träd per hektar. Med grova träd avses för tall, gran och ädellöv, träd som är 45 cm eller mer i diameter. För övriga lövträd gäller minst 35 cm i diameter.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': äldre än 80 år i boreal region och äldre än 60 år i boreonemoral och nemoral region samt där minst 25 % av grundytan utgörs av lövträd.&lt;br /&gt;
* '''Old forest''': genomsnittlig trädålder över 140 år i Norrland och Dalarnas, Värmlands, och Örebro län (Boreal region) samt över 120 år i övriga landet (Boreonemoral och nemoral region)&lt;br /&gt;
&lt;br /&gt;
En ny rapportmall finns att ladda hem som innehåller dessa variabler. Klicka på '''Ladda ner standardmallar'''. Välj att inte skriva över befintliga mallar (om du inte verkligen vill det). Den nya mallen sparas under mappen 6. Naturvård, och heter '''Miljöförhållanden'''.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland när stokastisk mortalitet tillämpades&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-25&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10702</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10702"/>
		<updated>2023-04-24T19:51:55Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Schackrutehuggning i PlanVis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Sammanfattning==&lt;br /&gt;
Detta är en stor uppdatering av Heureka som introducerar en rad användbara nya funktioner, förbättrad användarupplevelse, förbättrad prestanda och en hel del buggfixar.&lt;br /&gt;
==Ny funktionalitet==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simuleringar i RegVis===&lt;br /&gt;
En Monte Carlo-simulering liknar en vanlig simulering, men simuleringen upprepas automatiskt ett användardefinierat antal gånger. Resultaten av de upprepade simuleringarna sparas i databasen och kan visas i rapporter där följande statistik presenteras per variabel: medel-, min och max-värden, standardavvikelse och konfidensintervall.&lt;br /&gt;
&lt;br /&gt;
Syftet med funktionaliteten är att kunna testa effekterna av stokastiska element i framskrivningen vid en Heureka-analys: skogens ingående tillstånd och de olika modellerna som tillsammans används för att prognostisera utvecklingen av skogen över tid. Flera av modellerna som används för att beräkna skogens utveckling och tilldela åtgärder kan köras i stokastiskt läge: Mortalitet och inväxning i etablerad skog, höjdfördelningsfunktioner, skador i ungskog och hur bestånd tilldelas till kontrollkategorierna inom en skogsdomän och prioriteras i åtgärdsplaneringen. Det finns för närvarande inget stöd för stokastiska indata (t.ex. skogliga data eller timmerpriser).&lt;br /&gt;
&amp;lt;gallery widths=400px, heights=327px&amp;gt;&lt;br /&gt;
File:MonteCarloDiagram.png | | I rapportvisaren för Monte Carlo-simuleringar kan man se konfidensintervall, standardavvikelse och min/max-värden&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används, hänvisar vi till [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm Heureka-hjälpen]]&lt;br /&gt;
===Schackruteskötsel/-huggning i PlanVis===&lt;br /&gt;
Det är nu möjligt att simulera skog med skötselsystemet Schackruteskötsel även i PlanVis (tidigare tillgängliggjort i RegVis i 2.18).&lt;br /&gt;
&lt;br /&gt;
När schackrutehuggning simuleras så delas ytan upp i en &amp;quot;vit&amp;quot; och en &amp;quot;svart&amp;quot; del, där slutavverkning på den vita delen fördröjs tills efter föryngrad ungskog på den svarta ytan nått den medelhöjd som specificerats av användaren.&lt;br /&gt;
&lt;br /&gt;
För närvarande har de två delarna ingen spatial utsträckning och inga kanteffekter - varken (positiva) på den vita delen eller (negativa) på den svarta - tas i beaktning när simulering utförs med schackrutehuggning.&lt;br /&gt;
&lt;br /&gt;
För mer detaljer och instruktioner hur funktionen används, hänvisar vi till [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka-hjälpen]]&lt;br /&gt;
&lt;br /&gt;
===Justeringsfaktorer per trädslag och period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Miljömålsindikatorer===&lt;br /&gt;
Fyra nya resultatvariabler har lagts till resultatgruppen [[Structural_Diversity_Results | Structural Diversity]], som anger klassificering relativt följande villkor:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': mer än 20 kubikmeter per dödved med minst 20 cm i diameter per hektar.&lt;br /&gt;
* '''Forest with 60+ large tree''': minst 60 grova träd per hektar. Med grova träd avses för tall, gran och ädellöv, träd som är 45 cm eller mer i diameter. För övriga lövträd gäller minst 35 cm i diameter.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': äldre än 80 år i boreal region och äldre än 60 år i boreonemoral och nemoral region samt där minst 25 % av grundytan utgörs av lövträd.&lt;br /&gt;
* '''Old forest''': genomsnittlig trädålder över 140 år i Norrland och Dalarnas, Värmlands, och Örebro län (Boreal region) samt över 120 år i övriga landet (Boreonemoral och nemoral region)&lt;br /&gt;
&lt;br /&gt;
En ny rapportmall finns att ladda hem som innehåller dessa variabler. Klicka på '''Ladda ner standardmallar'''. Välj att inte skriva över befintliga mallar (om du inte verkligen vill det). Den nya mallen sparas under mappen 6. Naturvård, och heter '''Miljöförhållanden'''.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland i RegVis&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-24&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10698</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10698"/>
		<updated>2023-04-24T13:11:31Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Environmental Goal Indicators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Help]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Miljömålsindikatorer===&lt;br /&gt;
Fyra nya resultatvariabler har lagts till resultatgruppen [[Structural_Diversity_Results | Structural Diversity]], som anger klassificering relativt följande villkor:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': mer än 20 kubikmeter per dödved med minst 20 cm i diameter per hektar.&lt;br /&gt;
* '''Forest with 60+ large tree''': minst 60 grova träd per hektar. Med grova träd avses för tall, gran och ädellöv, träd som är 45 cm eller mer i diameter. För övriga lövträd gäller minst 35 cm i diameter.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': äldre än 80 år i boreal region och äldre än 60 år i boreonemoral och nemoral region samt där minst 25 % av grundytan utgörs av lövträd.&lt;br /&gt;
* '''Old forest''': genomsnittlig trädålder över 140 år i Norrland och Dalarnas, Värmlands, och Örebro län (Boreal region) samt över 120 år i övriga landet (Boreonemoral och nemoral region)&lt;br /&gt;
&lt;br /&gt;
En ny rapportmall finns att ladda hem som innehåller dessa variabler. Klicka på '''Ladda ner standardmallar'''. Välj att inte skriva över befintliga mallar (om du inte verkligen vill det). Den nya mallen sparas under mappen 6. Naturvård, och heter '''Miljöförhållanden'''.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland i RegVis&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-24&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Structural_Diversity_Results&amp;diff=10696</id>
		<title>Structural Diversity Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Structural_Diversity_Results&amp;diff=10696"/>
		<updated>2023-04-24T12:58:54Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added environmental goal indicator variables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
This result group contains results that describe the [[ResultCategoryDescription::Structural diversity of the trees in a treatment unit]]. &lt;br /&gt;
&lt;br /&gt;
{| {{table}} width = 700px&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 35%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 55%;&amp;quot;|'''Description'''&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Deadwood-rich forest||boolean||Indicates if a treatment unit holds at least 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Even-aged Class||code||Even-aged type. &amp;lt;ol start=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Unknown: No information &amp;lt;li&amp;gt;EvenAged: If at least 95% of the volume is within a 5-year range. &amp;lt;li&amp;gt;MostlyEvenAged: If at least 80% of the volume is within a 20-year age range &amp;lt;li&amp;gt;UnevenAged: Otherwise.&amp;lt;/ol&amp;gt;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Forest with 60+ large trees||boolean||Indicates if a treatment unit holds at least 60 large trees per hectare: At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Mature broadleaf-rich forest||boolean||Indicates if a treatment unit holds forest older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Old forest||boolean||Indicates if a treatment unit holds forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Tree Size Diversity (Gini Coefficient)||0-1||The [http://en.wikipedia.org/wiki/Gini_coefficient Gini coefficient] is an equality index between 0 (=maximum equality, i.e. all trees have the the same size) and 1 (=maximum inequality). The index has been proposed to be used for forestry planning by Lexerød &amp;amp; Eid (2006)&amp;lt;ref name=&amp;quot;LexerodEid2006_GiniCoeff&amp;quot;&amp;gt;.  {{:Bibliografi:LexerodEid2006_GiniCoeff}}&amp;lt;/ref&amp;gt;. &lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Tree Size Diversity Class (Hugin def.)||code||Tree size diversity class according the Hugin system definition. Trees are grouped into four diameter classes, with class width = (dbh&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;-dbb&amp;lt;sub&amp;gt;min&amp;lt;/sub&amp;gt;)/4. If the number of trees in class&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; &amp;gt; class&amp;lt;sub&amp;gt;i+1&amp;lt;/sub&amp;gt;, the diameter class distribution is set as InverseJShaped, otherwise as Homogeneous.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calculation of Gini coefficient in Heureka==&lt;br /&gt;
The Gini coefficient is calculated with the formula for a discrete probability distribution (see https://en.wikipedia.org/wiki/Gini_coefficient).&lt;br /&gt;
&lt;br /&gt;
First trees are sorted in ascending order so that ''g&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' &amp;lt; ''g''&amp;lt;sub&amp;gt;''i''+ 1&amp;lt;/sub&amp;gt;, where ''g&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' = basal area of type tree ''i''. Basal area is used to take into account that the stand volume is highly affected by the largest trees (see Lexeröd and Eid 2006). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle G = 1 - \frac {\sum\limits_{i=1}^n (f(g_i))(S_{i-1} + S_i) }{S_n} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;where&lt;br /&gt;
&amp;lt;math&amp;gt; S_i = \sum_{j=1}^i f(g_j)g_j&amp;lt;/math&amp;gt;, and&lt;br /&gt;
&amp;lt;br&amp;gt;''S''&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; = 0, and&lt;br /&gt;
&amp;lt;br&amp;gt;''f''(''g_i'') = Frequency distribution, where ''g&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'', ''i'' = 1..''n'', are the tree basal areas, indexed in increasing order (''g&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;''&amp;lt; ''g''&amp;lt;sub&amp;gt;''i''+1&amp;lt;/sub&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10694</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10694"/>
		<updated>2023-04-24T12:43:36Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Help]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Övriga ändringar==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Buggfixar==&lt;br /&gt;
* RotationAgeFactor beaktades inte vid beräkning av Ingående tillstånd&lt;br /&gt;
* Registrera träddata-formuläret hade en felaktig kontroll av yt-typ&lt;br /&gt;
* Fel väntetid mellan gallring och andra åtgärder i taktisk TPG i vissa fall&lt;br /&gt;
* Trädlisteimporten visade inget felmeddelande när den obligatoriska kolumnen InventoryYear var tom&lt;br /&gt;
* Mortaliteten över- och underskattades ibland i RegVis&lt;br /&gt;
* Fel nedbrytningsklass tilldelad till döda träd vid import av IPAK-data&lt;br /&gt;
* Nuvärde beräknades felaktigt i högerklick-egenskapsrutan för en optimering (men inte i själva optimeringen och resultatrapporterna)&lt;br /&gt;
* BeståndsVis: Överståndare som tidigare avverkats återuppstod när man backade till period 0, för att sedan inte avverkas igen.&lt;br /&gt;
* Åtgärdat fel vid möjligt tidsmässigt överlapp mellan röjning och föryngringsavverkning i TPG&lt;br /&gt;
* Åtgärdat fel vid import av modell-element&lt;br /&gt;
* Åtgärdat fel vid beräkning av klickar och kluster för spatiala analyser&lt;br /&gt;
* Skotningskostnaden beräknades till ett negativt värde vid extremt svåra förhållanden (Y, L = 5, 5)&lt;br /&gt;
* Vid alternativgenerering efter tillämpat Åtgärdsförslag användes kontrollkategoriinställningarna för första generationen, även om Åtgärdsförslag = Föryngringsavverkning utförts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-24&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detaljer från bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10692</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10692"/>
		<updated>2023-04-24T12:30:59Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Help]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Uppgraderat ramverk till .NET Framework 4.8&lt;br /&gt;
* Namnändrat [[ControlTable_Carbon | Soil Model]] till [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Namnändrat resultatgruppen [[Recreation_Index_Results | Recreation Index Results]] till [[Non-Wood_Ecosystem_Services_Results | Non-wood ecosystem services]], including also the shrub cover model results&lt;br /&gt;
* Namnändrat resultatgruppen [[Carbon_in_Harvested_Wood_Products_Results|Harvested Wood Products]] till [[Carbon_in_Harvested_Wood_Products_Results | Carbon in Harvested Wood Products]]&lt;br /&gt;
* Lagt till ändringar för kol i skogsprodukter &amp;quot;Harvested Wood Products&amp;quot; till [[ControlTable_Carbon | kontrolltabellen Carbon]] &lt;br /&gt;
* Tidsintervall mellan en gallring och ytterligare gallringar, eller föryngringsavverkning, anges nu i år istället för perioder i [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]]-kontrolltabellen&lt;br /&gt;
* Snabbare initiering av kartan i fliken Ingående tillstånd&lt;br /&gt;
* [https://www.heurekaslu.se/help/index.html?importing_optimization_solutio.html Förenklat importformat] för optimeringsresultat (det gamla formatet stöds fortfarande men är inte länge beskrivet i dokumentationen)&lt;br /&gt;
* Björk redovisas nu i en egen kategori i [[Dead_Wood_Results | Dead Wood]]-resultatgruppen&lt;br /&gt;
* Användare kan nu ange en andel av avverkade stammar som lämnas i skogen efter föryngringsavverkning i [[ControlTable_Treatment_Model | Treatment Model]]-kontrolltabellen. Tidigare var detta bara möjligt i gallring och selektionshuggning.&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Non-Wood_Ecosystem_Services_Results&amp;diff=10691</id>
		<title>Non-Wood Ecosystem Services Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Non-Wood_Ecosystem_Services_Results&amp;diff=10691"/>
		<updated>2023-04-24T12:06:38Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Results related to Non-Wood Ecosystem Services, e.g. recreation and shrub cover]]. &lt;br /&gt;
&lt;br /&gt;
==Calculation==&lt;br /&gt;
See [[Recreation_Value_Model|Recreation Value Model]] and [[Shrub_Cover_Models|Shrub Cover Models]] for documentation.&lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Bilberry cover||%|| Proportion of ground layer covered by bilberry. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Cowberry cover||%|| Proportion of ground layer covered by cowberry.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Heather cover||%|| Proportion of ground layer covered by heather.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Recreation index||0-1|| Stand-level recreation index (value between 0 and 1) as a function of stand structure. &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Non-Wood_Ecosystem_Services_Results&amp;diff=10690</id>
		<title>Non-Wood Ecosystem Services Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Non-Wood_Ecosystem_Services_Results&amp;diff=10690"/>
		<updated>2023-04-24T12:05:54Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Created page with &amp;quot;Category:Result Variables This result group contains: ResultCategoryDescription::Results related to Non-Wood Ecosystem Services, e.g. recreation and shrub cover.   ==C...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Results related to Non-Wood Ecosystem Services, e.g. recreation and shrub cover]]. &lt;br /&gt;
&lt;br /&gt;
==Calculation==&lt;br /&gt;
See [[Recreation_Value_Model Recreation Value Model]] and [[Shrub_Cover_Models Shrub Cover Models]] for documentation.&lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Bilberry cover||%|| Proportion of ground layer covered by bilberry. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Cowberry cover||%|| Proportion of ground layer covered by cowberry.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Heather cover||%|| Proportion of ground layer covered by heather.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Recreation index||0-1|| Stand-level recreation index (value between 0 and 1) as a function of stand structure. &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=ControlTable_Production_Model&amp;diff=10689</id>
		<title>ControlTable Production Model</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=ControlTable_Production_Model&amp;diff=10689"/>
		<updated>2023-04-24T11:41:45Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added Growth and Mortality Adjustment Factors, started updating whole table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Control Tables|Production Model]]&lt;br /&gt;
[[Category:Reference Manual]]&lt;br /&gt;
&amp;lt;!--See also [{{HeurekaHelpLinkEng}}kontrolltbl_production_model.htm Heureka Helpdoc]. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The production model control table contains [[ControlTableDescription::settings that affect forest development, such as tree growth and mortality]]. &lt;br /&gt;
&lt;br /&gt;
== Growth and yield ==&lt;br /&gt;
:Growth model settings&lt;br /&gt;
&lt;br /&gt;
====Growth Model Whole-Stand====&lt;br /&gt;
:'''None''' implies that no basal area development, as the sum for all trees at the plot-level, will be used in growth calculations.&lt;br /&gt;
:'''Elfving2009:''' the model by Elfving (2009) will be used in calculation of basal area development at the plot-level (the prediction unit).&lt;br /&gt;
&lt;br /&gt;
====Growth Model Individual-Tree====&lt;br /&gt;
:'''Elfving:''' the single tree model by Elfving (2004) will be used in calculation of each trees' diameter development at the plot-level (the prediction unit).&lt;br /&gt;
:'''Soderberg:''' implies that the model by Söderberg (1986) will be used in calculation of each trees' diameter development at the plot-level (the prediction unit).&lt;br /&gt;
:'''Low Production Nyström:''' implies that the model by Nyström will be used in calculation of each trees' diameter development at the plot-level (the prediction unit). Intended for use on non-productive forest land only.&lt;br /&gt;
&lt;br /&gt;
BIOMASS&lt;br /&gt;
&lt;br /&gt;
BARK&lt;br /&gt;
&lt;br /&gt;
====Growth: Include Thinning Response====&lt;br /&gt;
:True if thinning response function should be applied, false otherwise. Only applied to even-aged stands.&lt;br /&gt;
&lt;br /&gt;
====Growth and Mortality Adjustment Factors====&lt;br /&gt;
:Adjustment factors for basal area and height growth, as well as mortality, in established forest. Default = 1, i.e. no adjustment. From version 2.21, factors are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used. Should normally not be changed, intended for research purposes.&lt;br /&gt;
&lt;br /&gt;
====Volume Function====&lt;br /&gt;
:Selected volume function.&lt;br /&gt;
&lt;br /&gt;
====Height Development Model====&lt;br /&gt;
:'''ErikssonElfving''' implies that the model by Eriksson and Elving will be used in calculation of height development.&lt;br /&gt;
:'''SoderbergWithTreeAge''' implies that the model by Söderberg including single tree ages will be used in calculation of height development.&lt;br /&gt;
:'''SoderbergWithStandAge''' implies that the model by Söderberg including average stand ages will be used in calculation of height development.&lt;br /&gt;
:'''Low Production Nyström:''' implies that the model by Nyström will be used in calculation of height development. Intended for use on non-productive forest land only.&lt;br /&gt;
&lt;br /&gt;
====Height: Initial Height Function====&lt;br /&gt;
:'''SoderbergWithTreeAge''' implies that the model by Söderberg including single tree ages will be used in calculation of initial tree heights.&lt;br /&gt;
:'''SoderbergWithStandAge''' implies that the model by Söderberg including average stand ages will be used in calculation of initial tree heights.&lt;br /&gt;
&lt;br /&gt;
====Height:Initial Height Source====&lt;br /&gt;
:'''UseFunction''' implies that the model selected in '''InitialHeightModel''' (above) will be used.&lt;br /&gt;
:'''FromDatabase''' implies that initial tree heights will be obtained from the input database.&lt;br /&gt;
&lt;br /&gt;
====Height Calibration====&lt;br /&gt;
'''True''' means that tree heights will be calibrated, '''False''' do not. Calibration factors are calculated using sample tree data.&lt;br /&gt;
&lt;br /&gt;
====Mortality Implementation====&lt;br /&gt;
:'''Deterministic''' will apply deterministic components in the mortality model (recommended).&lt;br /&gt;
:'''Stochastic''' will apply stochastic components in the mortality model &lt;br /&gt;
&lt;br /&gt;
====Mortality Model====&lt;br /&gt;
:Selected mortality model. Default value for parameter &amp;quot;Calibrate Bengtsson&amp;quot; will  depend on what mortality model is selected.&lt;br /&gt;
&lt;br /&gt;
====Mortality Factor Established Forest====&lt;br /&gt;
:Adjustment factor for mortailty in established forest (mean height &amp;gt; about 7 m). Default = 1, i.e. no adjustment.&lt;br /&gt;
&lt;br /&gt;
====Calibrate Bengtsson====&lt;br /&gt;
:Set to True if mortality rates according to Göte Bengtsson should be applied (for small basal areas), independent of selected Mortality Model. This means the mortality model is only responible for distributing mortality over trees.&lt;br /&gt;
&lt;br /&gt;
====Calibrate Söderberg====&lt;br /&gt;
:Set to True if the self thinning limit (for large basal areas) according to Söderberg (1986) should be applied. This means the mortality model is only responible for distributing mortality over trees.&lt;br /&gt;
&lt;br /&gt;
====Mortality for Retained Trees 1-5====&lt;br /&gt;
:Mortality rate for retained trees during the first 5-year period, defined per each species group.&lt;br /&gt;
&lt;br /&gt;
====Mortality for Retained Trees 6-10====&lt;br /&gt;
:Mortality rate for retained trees during the second 5-year period, defined per each species group.&lt;br /&gt;
&lt;br /&gt;
====Adjust Mortality for Retention Patches====&lt;br /&gt;
:Set to '''FixedMortality''' to let mortality in a retention patch depend (i.e. increase) if and when the main stand is clear cut. If FixedMortality is selected, mortality is set in '''Mortality in Retention Patches'''. These parameters are hidden if '''NoAdjustment''' is chosen, meaning that the mortality is not affected by a clear cut of the main stand.&lt;br /&gt;
&lt;br /&gt;
'''Note!''' To have effect, parameter '''Retention Patches as Dependent''' must be set to true in the [[ControlTable Nature Conservation#Retention Patches as Dependent | Nature Conservation control table]].&lt;br /&gt;
&lt;br /&gt;
====Mortality in Retention Patches year 1-5 and 6-10====&lt;br /&gt;
:These parameters has the same functionality as Mortality for Retention Trees, but applies to all trees in retentions patches and edge zones if '''Adjust Mortality for Retention Patches''' = Fixed Mortality.&lt;br /&gt;
&lt;br /&gt;
====Site Index Ajdustment====&lt;br /&gt;
:Adjustment factor for site index. Default value = 1. Intended for research purposes.&lt;br /&gt;
&lt;br /&gt;
====Height Threshold Young/Mature====&lt;br /&gt;
:Defines the arithmetic mean tree height at which a &amp;quot;sapling&amp;quot; stand is considered a &amp;quot;mature&amp;quot; &amp;quot;tree&amp;quot; plot. Calculated for each plot. When at least 90% (?) of the plots are no longer sapling plots, then the stand is classified as a mature stand and not young.&lt;br /&gt;
&lt;br /&gt;
== Age settings ==&lt;br /&gt;
Allows you to control how different types of ages, at tree-level, should be handled in the simulations.&lt;br /&gt;
&lt;br /&gt;
====Year to Breast Height Model====&lt;br /&gt;
:'''Elfving''' implies that the model by Elfving will be used in calculation of the age of a tree when it reach breast height (1.3 m).&lt;br /&gt;
:'''Tax''' implies that the model from the Swedish NFI will be used in calculation of the age of a tree when it reach breast height (1.3 m). &lt;br /&gt;
&lt;br /&gt;
====&amp;lt;div id=&amp;quot;Calibrate Age To Register Value Established Stands&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;Calibrate Age To Register Value, Established Stands====&lt;br /&gt;
:'''True''' implies that tree ages will be calibrated so that the mean age will be as close as possible to the mean age according to the input data. '''False''' do not. Calibration is not applied if the mean age according to Heureka differs by more than 30 % to the input data. &lt;br /&gt;
&lt;br /&gt;
====&amp;lt;div id=&amp;quot;Calibrate Age To Register Value Young Stands&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;Calibrate Age To Register Value, Young Stands====&lt;br /&gt;
:'''True''' implies that sapling ages will be calibrated. True if computed mean age of main saplings in young stands should equal the mean age according to the input data.&lt;br /&gt;
&lt;br /&gt;
====Initial Age Source====&lt;br /&gt;
:'''UseFunction''': The built-in function will be used to assign initial ages. &lt;br /&gt;
:'''FromDatabase''' If the database contains tree ages, these will be used as intial tree ages.&lt;br /&gt;
&lt;br /&gt;
== Regeneration ==&lt;br /&gt;
Allows you to control how the forest regeneration, the establishment of new trees, should be handled in the simulations.&lt;br /&gt;
&lt;br /&gt;
====Deterministic Simulation====&lt;br /&gt;
:If True, a deterministic approach will be applied when simulating establishment of new stands (stem density and height distribution), and when simulating mortality and damages in young stands. This mean that the results will reflect an &amp;quot;average&amp;quot; regeneration, and for example mortality probabilities will be handled as frequencies, by adjusting the tree weight factors for the tree objects. If False, a stochastic approach will be applied. The default is determinstic.&lt;br /&gt;
&lt;br /&gt;
====Ingrowth Model====&lt;br /&gt;
:'''Deterministic''' applies deterministic ingrowth model components, where ingrowth is defined as the establishment of other seedlings than those planted.&lt;br /&gt;
:'''Stochastic''' applies stochastic ingrowth model components, where ingrowth is defined as the establishment of other seedlings than those planted.&lt;br /&gt;
:'''None''' applies no ingrowth/establishment of other seedlings than those planted.&lt;br /&gt;
&lt;br /&gt;
====Min Mean Age Invoke Ingrowth====&lt;br /&gt;
:Minimum mean age before invoking ingrowth function. When a young stand enters the established phase, part of the tree population may be truncated. Originally, the idea in Heureka was that trees smaller thatn 4 cm, should not be transferred to the established phase but instead represented by the new trees generated by the ingrowth functions. This has been modified, so that with diameter &amp;amp;ge; 2 cm are transferred. Running the ingrowth function immediately after the established phase is started, would overstimate the number of samll trees. It has been found resonable that at a stand age of 50 years, no trees that come from the young phase are less than 4 cm, allowing us to activate the ingrowth function at that age.&lt;br /&gt;
&lt;br /&gt;
:This means that the value of this parameter should depend on the minium diameter you set. If set to 4 cm, set this parameter to 0.&lt;br /&gt;
&lt;br /&gt;
====Random Seed====&lt;br /&gt;
:Random seed in sapling damage function. Must be at least 1, otherwise ignored. In deterministic application, ensures that the same result is obtained even if run on different computers. If deterministic application and seed 0 or less, result could vary between computers. In stochastic application, seed is used if at least 0, otherwise &amp;quot;truly&amp;quot; random.&lt;br /&gt;
&lt;br /&gt;
====Ingrowth Species====&lt;br /&gt;
:Allows you to deactivate the ingroth function for selected species.&lt;br /&gt;
&lt;br /&gt;
====Max Age Ingrown Trees====&lt;br /&gt;
:Age limit for ingrown trees (brh). The minimum of this and the age calculated with the tree age function will be used (in the first period the ingrown trees occurs).&lt;br /&gt;
&lt;br /&gt;
====Sapling Diameter Model====&lt;br /&gt;
Model for assigning sapling diameter (based on height-diameter relation)&lt;br /&gt;
:'''Elfving''' implies that the model by Elfving will be used in calculation of the saplings' diameter.&lt;br /&gt;
:'''NystromSoderberg''' implies that the model by Nyström and Söderberg will be used in calculation of the saplings' diameter.&lt;br /&gt;
&lt;br /&gt;
====Skip Ingrowth Step One====&lt;br /&gt;
:'''True''' means that the first step in the ingrowth model (Wikberg P-E), is skipped in the first 5-yr period and replaced with the actual number of small trees. This requires that your input data has information on the number of small trees in an established stand (for example NFI data). '''False''' if this step should be included (default).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;Sapling Damage Factors&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====Sapling Damage Factor====&lt;br /&gt;
:Weight factor for the mortality rate and occurrence of damages on young trees. The larger the weight, the larger the mortality and number of damaged trees. With 0 weight, no mortality and damages occur. Default value = 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Growth ==&lt;br /&gt;
Allows you to control if spatiality should be taken into account in the growth simulations. The results of a spatial growth model will depend on the trees' positions.&lt;br /&gt;
&lt;br /&gt;
'''Spatial'''&lt;br /&gt;
:'''True''' implies that spatial growth models are to be used, '''False''' do not.&lt;br /&gt;
&lt;br /&gt;
== Ingrowth calculations (only if spatial growth modelling is '''True''') ==&lt;br /&gt;
Allows you to control the establishment of new trees, as naturally regenerated seedlings.&lt;br /&gt;
&lt;br /&gt;
'''IngrowthAffectingRadius'''&lt;br /&gt;
:Defines the radius, in meters, of a circular area around a tree that will have impact on the ingrowth of new trees.&lt;br /&gt;
'''IngrowthRasterCellsize'''&lt;br /&gt;
:Defines the size, in meters, of the side of a square cell in which the ingrowth simulation is to be made.&lt;br /&gt;
&lt;br /&gt;
== Virtual plot (only if spatial growth modelling is '''True''') ==&lt;br /&gt;
Allows you to control the initial state of the forest regarding tree positions, when these positions are to be simulated.&lt;br /&gt;
&lt;br /&gt;
'''SmallestDistanceBetweenTrees'''&lt;br /&gt;
:Defines the minimum distance, in meters, between two adjacent trees.&lt;br /&gt;
'''VirtualPlotSize'''&lt;br /&gt;
:Defines the radius, in meters, of a circular plot virtualized in the simulations.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10688</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10688"/>
		<updated>2023-04-24T08:16:29Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Shrub Cover Models==&lt;br /&gt;
===To be updated===&lt;br /&gt;
Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
'''Bohlin''' uses standard forest and site metrics as independent variables and works for all stands in Heureka.&lt;br /&gt;
&lt;br /&gt;
'''Hedwall''' requires a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10687</id>
		<title>Shrub Cover Models</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Shrub_Cover_Models&amp;diff=10687"/>
		<updated>2023-04-24T08:15:30Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Created page with &amp;quot;==Shrub Cover Models== ===To be updated=== Two models for estimating shrub cover percentage are available in Heureka.  '''Bohlin''' uses standard forest and site metrics as in...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Shrub Cover Models==&lt;br /&gt;
===To be updated===&lt;br /&gt;
Two models for estimating shrub cover percentage are available in Heureka.&lt;br /&gt;
&lt;br /&gt;
'''Bohlin''' uses standard forest and site metrics as independent variables and works for all stands in Heureka.&lt;br /&gt;
&lt;br /&gt;
'''Hedwall''' requires a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;br /&gt;
[[Category:Shrub Cover Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10686</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10686"/>
		<updated>2023-04-24T06:52:00Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Checkerboard Forestry in PlanWise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Help]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10685</id>
		<title>Version 2.21/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21/sv&amp;diff=10685"/>
		<updated>2023-04-24T06:51:26Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Created page with &amp;quot;&amp;lt;noinclude&amp;gt; Version 2.21 {{Languages| Version 2.21}} newsdate::2023-04-18    &amp;lt;/noinclude&amp;gt; &amp;lt;startFeed /&amp;gt; ==Summary==  ==New Features==  ===Monte Carlo-simu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::sv| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Wiki]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10684</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10684"/>
		<updated>2023-04-24T06:00:12Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Adjustment Factors per Species and Period */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Wiki]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors''', in the '''Production Model''' control table. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&lt;br /&gt;
These factors are only intended for sensitivity analyses and research.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10683</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10683"/>
		<updated>2023-04-24T05:57:00Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Checkerboard Forestry in PlanWise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
It is now possible to simulate a forest management system called Checkerboard felling (available from versions 2.18 in RegWise) also in PlanWise.&lt;br /&gt;
&lt;br /&gt;
When simulating Checkerboard forestry, the treatment unit is split in a &amp;quot;white&amp;quot; and a &amp;quot;black&amp;quot; part, where the final felling of the white part is delayed until the regeneration/young forest of the black part has reached the specified mean height. &lt;br /&gt;
&lt;br /&gt;
At present the white and black colors have no spatial extent, and no edge effects - neither (positive) on the white part nor (negative) on the black part - are considered in the simulation of Checkerboard forestry.&lt;br /&gt;
&lt;br /&gt;
For further details and instructions, please confer the [[https://www.heurekaslu.se/help/en/index.htm?checkerboard.htm Heureka Wiki]]&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors'''. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=ControlTable_Treatment_Program_Generator&amp;diff=10682</id>
		<title>ControlTable Treatment Program Generator</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=ControlTable_Treatment_Program_Generator&amp;diff=10682"/>
		<updated>2023-04-24T04:01:09Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Always Cleaning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Control Tables|Treatment Program Generator]]&lt;br /&gt;
[[Category:Reference Manual]]&lt;br /&gt;
Overview of parameters in control table Treatment Program Generator. This table is [[ControlTableDescription::available in PlanWise and StandWise and contains settings for how management programs are constructed]].&lt;br /&gt;
&lt;br /&gt;
Usage: see [http://heurekaslu.org/help/index.html?kontrolltabell_treatment_progr.htm Heureka online help documentation].&lt;br /&gt;
&lt;br /&gt;
== Treatment timing - General ==&lt;br /&gt;
Allows you to control how treatment programs are generated.&lt;br /&gt;
&lt;br /&gt;
====Management System====&lt;br /&gt;
:Type of management system to generate treatment programs for:&lt;br /&gt;
:'''EvenAged''' generates alternatives for even-aged management.&lt;br /&gt;
:'''Uneven-aged (CCF)''' generates alternatives for continuous cover management (also referred to as CCF, uneven-aged, selective felling, or selection harvesting).&lt;br /&gt;
:'''Unmanaged''' generates an alternative without any treatments.&lt;br /&gt;
&lt;br /&gt;
====Thinning Period Delay Max====&lt;br /&gt;
:Defines the number of periods, from a certain stand age, to vary the simulation of first thinning.&lt;br /&gt;
&lt;br /&gt;
====High Priority Thinning Criteria====&lt;br /&gt;
:If a stand is so dense that the thinning grade suggested by the thinning guide exceeds this value, then the thinning is not allowed to be postponed further.&lt;br /&gt;
&lt;br /&gt;
====Rotation Age Adjustment Factor====&lt;br /&gt;
:Rotation age adjustment factor. Lowest final felling age is multiplied with this factor. For example, factor 1.1 means that the miniumm rotation age allowed is increased by 10%.&lt;br /&gt;
&lt;br /&gt;
====Final Felling Period Min====&lt;br /&gt;
:Defines the minimum number of 5-year periods to postpone final felling after the corresponding lowest allowable stand age has been reached. &lt;br /&gt;
&lt;br /&gt;
====Final Felling Period Max====&lt;br /&gt;
:Defines the maximum number 5-year periods to postpone final felling after the corresponding lowest allowable stand age has been reached. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Min Final Felling Contorta====&lt;br /&gt;
:There is not legal minimum felling age for contorta, but the program needs a recommended one in order to generate reasonable programs.&lt;br /&gt;
&lt;br /&gt;
====Min Final Felling Deciduous====&lt;br /&gt;
:The minimum final felling age is 35 years according to Swedish forestry regulations for deciduous forests (except for ash (50 yrs),  beech (80 yrs) and oak (90 yrs)). However, most users wish to apply longer rotations than 35 years.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Treatment timing - Strategic planning ==&lt;br /&gt;
====Always Cleaning====&lt;br /&gt;
:True: Only save programs that include cleanings, if cleaning is recommended according to Cleaning settings.&lt;br /&gt;
:False: Programs without cleanings are also saved, even if cleaning is possible/recommended according to Cleaning settings.&lt;br /&gt;
&lt;br /&gt;
====Always Thinning====&lt;br /&gt;
:True: If thinning is possible before a certain final felling period, then only programs with thinnings are saved, given that final felling period. &lt;br /&gt;
:False: Programs without thinnings are also saved, even if thinning is possible according to thinning guide.&lt;br /&gt;
&lt;br /&gt;
====Cleaning Period Delay Max====&lt;br /&gt;
:Defines the number of periods, from a certain stand age, to vary the simulation of cleaning. &lt;br /&gt;
 &lt;br /&gt;
====Max Number of Thinnings====&lt;br /&gt;
:Defines the maximum number of thinnings to be simulated in a treatment unit, in the same generation.&lt;br /&gt;
&lt;br /&gt;
====Min Years Between Thinning and Final Felling====&lt;br /&gt;
:Defines the minimum number of years years between thinning and final felling.&lt;br /&gt;
&lt;br /&gt;
====Min Years Between Two Thinnings====&lt;br /&gt;
:Defines the minimum number of years between thinnings simulated in a treatment unit.&lt;br /&gt;
&lt;br /&gt;
====Treatment Priority====&lt;br /&gt;
:Defines the order, by '''Prio1''', '''Prio2''', and '''Prio3''', in which treatments are to be generated in the alternative programs.&lt;br /&gt;
&lt;br /&gt;
==Treatment timing - Tactical planning==&lt;br /&gt;
Note that &amp;quot;tactical planning&amp;quot; is about much more than to generate stand management programs, but PlanWise support for tactical planning is limited to this. This mean the tactical TPG could be used for generating forest input data to some other (external) model for tactical planning, that takes into account for example road planning.&lt;br /&gt;
&lt;br /&gt;
====Include Final Felling====&lt;br /&gt;
If true, final felling is included if possible during the tactical planning horizon. If false, final felling is ignored as an option during the tactical horizon.&lt;br /&gt;
&lt;br /&gt;
====Include Thinning====&lt;br /&gt;
If true, thinning is included if possible during the tactical planning horizon. If false, thinning is ignored as an option during the tactical horizon.&lt;br /&gt;
&lt;br /&gt;
====Include Unmanaged====&lt;br /&gt;
If true, a program without harvesting during the tactical horizon is included. If false, all programs generated must include a harvest treatment during the tactical planning horizon.&lt;br /&gt;
&lt;br /&gt;
== Fertilization ==&lt;br /&gt;
Allows you to control if and how fertilization programs are generated.&lt;br /&gt;
&lt;br /&gt;
====FertilizationPolicy====&lt;br /&gt;
:Allows you to select the type of system to generate alternative programs (in treatment units where site and stand restricitions are met) according to:&lt;br /&gt;
:'''FP_NONE''' generates alternatives without any fertilization (default).&lt;br /&gt;
:'''FP_FIRSTTHIN''' generates alternatives with fertilization prior to first thinning.&lt;br /&gt;
:'''FP_FINALFELLING''' generates alternatives with fertilization prior to final felling.&lt;br /&gt;
:'''FP_FINALFELLING_TIMESTWO''' generates alternatives with two fertilizations, with a time interval of five years, prior to final felling.&lt;br /&gt;
:'''FP_LASTTHIN_AND_FINALFELLING''' generates alternatives with fertilization prior to last thinning and final felling.&lt;br /&gt;
:'''FP_EVERY_THIN''' generates alternatives with fertilization prior to all thinnings.&lt;br /&gt;
:'''FP_EVERY_HARVEST''' generates alternatives with fertilization prior to all harvests.&lt;br /&gt;
:'''FP_INTENSIVE''' generates alternatives with intensive fertilization, performed already in young stands and repeated with a certain time interval. ''Note that certain site restrictions must be met to allow for intensive fertilization.''&lt;br /&gt;
:'''FP_EVERY_TEN_YEARS''' generates fertilization every ten years, irrespective of occurence of harvesting.&lt;br /&gt;
&lt;br /&gt;
==Biofuel Extraction ==&lt;br /&gt;
Settings to determine if biofuel should extracted after an harvest operation.&lt;br /&gt;
&lt;br /&gt;
====FinalFelling==== &lt;br /&gt;
Set to true if biofuel should be extracted after final &lt;br /&gt;
&lt;br /&gt;
====Thinning==== &lt;br /&gt;
Set to true if biofuel should be extracted after thinning. &lt;br /&gt;
&lt;br /&gt;
====SelectionFelling====&lt;br /&gt;
Set to true if biofuel should be extracted after selection felling.&lt;br /&gt;
&lt;br /&gt;
==Treatment Proposals==&lt;br /&gt;
====Apply Proposals==== &lt;br /&gt;
:True: User-defined treatment proposals should be applied, if available. &lt;br /&gt;
:False: Ignore treatment proposals.&lt;br /&gt;
&lt;br /&gt;
====Override Min Final Felling Age==== &lt;br /&gt;
:True: Final felling proposals are always applied. &lt;br /&gt;
:False: If mean age calculated by Heureka is less than minimum final age then the final felling proposal is not applied.&lt;br /&gt;
&lt;br /&gt;
====Override Thinning Check==== &lt;br /&gt;
:True: Thinning proposals are always applied. &lt;br /&gt;
:False: If thinning is not applicable in the given period according to the condition used by Heureka then the thinning proposal is not applied.&lt;br /&gt;
&lt;br /&gt;
====Treatment Proposals Missing==== &lt;br /&gt;
Handling of stands that have no treatment proposals. &lt;br /&gt;
:'''NoActivity''': Do not apply any treatments during first 10 years to stands that have no proposals.&lt;br /&gt;
:'''LetPtgDecide''': Generate treatment programs according to control category settings.&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10681</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10681"/>
		<updated>2023-04-24T03:55:23Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: /* Monte Carlo-simulations in RegWise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
A Monte Carlo simulation is similar to a regular simulation, but the simulation is automatically repeated a user-defined number of times. The results of all simulations are stored in the database, and can be viewed as summary statistics per variable: mean, minimum and maximum value, standard deviation and confidence interval. &lt;br /&gt;
&lt;br /&gt;
The purpose of the functionality is to test the effects of stochastic elements in the input conditions of a Heureka analysis: the input data and the different models that together are used to forecast forest development over time. There is currently no support for stochastic input data (e.g. forest data or timber prices). However, several models used in projecting forest development and assigning treatments can be run in stochastic mode: Mortality and Ingrowth in established forests, Height distribution and Damages in young forests, and the allocation of treatment units to control categories within a forest domain and jumps in priority order in action planning. &lt;br /&gt;
&lt;br /&gt;
For further details and instructions on how to use the functionality, confer the [[https://www.heurekaslu.se/help/en/index.htm?montecarlosimulation.htm. Heureka Help ]]&lt;br /&gt;
&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
&lt;br /&gt;
===Adjustment Factors per Species and Period===&lt;br /&gt;
The settings Growth Factor and Mortality Factor Established Forest have been moved into a new control table setting called '''Growth and Mortality Adjustment Factors'''. A factor for height growth has also been added.&lt;br /&gt;
&lt;br /&gt;
The new setting comes with an editor that allow for setting these Factors per period and species. Growth and mortality adjustment factors (in established forest) are set per period and species' group. If data entry for a period is missing, closest previous period's value will be used. If data entry for a species is missing the user specified default value is used.&lt;br /&gt;
&amp;lt;gallery widths=375px, heights=250px&amp;gt;&lt;br /&gt;
File:AdjustmentFactorsExample.png | | Example demonstrating the look of the Adjustment Factors editor.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
Three new result variables have been added: Bilberry-, Heather- and Cowberry-cover. These can be found in the result category '''Non-wood ecosystem services'''.&lt;br /&gt;
&lt;br /&gt;
There are two available models for calculating Bilberry- and Cowberry-cover. These can be changed in the control table '''Recreation'''.&lt;br /&gt;
&lt;br /&gt;
Please note that the Hedwall models can only be used with a database containing data for inventoried cover for respective species and the carbon:nitrogen-ratio in the humus layer.&lt;br /&gt;
&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
Four new result variables have been added to the result category '''Structural Diversity''', with conditions to be classified as such as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Deadwood-rich forest''': 20 m3 of dead wood with a diameter of at least 20 cm.&lt;br /&gt;
* '''Forest with 60+ large tree''': At least 60 large trees per hectare. At least 45 cm in diameter for conifers, beech and oak. At least 35 cm in diameter for other species.&lt;br /&gt;
* '''Mature broadleaf-rich forest''': Forest that older than 80 years in boreal regions or 60 years in boreonemoral and nemoral regions, and at least 25 % of the basal area is broadleaf.&lt;br /&gt;
* '''Old forest''': Forest older than 140 years in boreal regions or 120 years in Boreonemoral and nemoral regions.&lt;br /&gt;
&lt;br /&gt;
There is a premade report called '''Miljöförhållanden''' for displaying the environmental goal indicators. Download it by clicking the '''Download Templates'''-button. It can then be found in category 6. Naturvård.&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10673</id>
		<title>Carbon in Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10673"/>
		<updated>2023-04-20T10:40:03Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
[[Category:Harvested Wood Products]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Estimates of carbon pool in harvested wood products stemming from the forest analysis area]]. &lt;br /&gt;
&lt;br /&gt;
See [[Harvested_Wood_Products|model description for Harvested Wood Products]].&lt;br /&gt;
&lt;br /&gt;
The projected sequestration of carbon in Harvested Wood Products is a result of extracted volumes per assortment, and assumptions of the longevity of the derived products. &lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
Note! &lt;br /&gt;
&lt;br /&gt;
All results currently only consider the contribution to the carbon pool from the starting point of the simulation an onwards. Any historically extracted volumes from the same areas have - and may still - be a part of the wood products carbon pool, but cannot be included for an arbitrary forest analysis area due to missing data on historical harvest levels. Such an existing carbon pool must be described outside of the current Heureka implementation.&lt;br /&gt;
&lt;br /&gt;
Wood pulp and Wood based panels are made from Wood fiber commodity, which consists of pulpwood and sawmill by-products in the form of wood chips .&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| CO2 Emission||tonnes CO2||Emission of CO2 related to the extracted volumes stemming from the analysis area. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Pulp||tonnes C||Carbon pool inflow related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Sawn Wood||tonnes C||Carbon pool inflow related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Wood Based Panels||tonnes C||Carbon pool inflow related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Pulp||tonnes C||Carbon pool stock related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Sawn Wood||tonnes C||Carbon pool stock related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Wood Based Panels||tonnes C||Carbon pool stock related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Total||tonnes C||Sum of carbon pool stock related to all product types extracted in the analysis.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10672</id>
		<title>Carbon in Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10672"/>
		<updated>2023-04-20T10:37:46Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
[[Category:Carbon in Harvested Wood Products]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Estimates of carbon pool in harvested wood products stemming from the forest analysis area]]. &lt;br /&gt;
&lt;br /&gt;
See [[Harvested_Wood_Products|model description for Harvested Wood Products]].&lt;br /&gt;
&lt;br /&gt;
The projected sequestration of carbon in Harvested Wood Products is a result of extracted volumes per assortment, and assumptions of the longevity of the derived products. &lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
Note! &lt;br /&gt;
&lt;br /&gt;
All results currently only consider the contribution to the carbon pool from the starting point of the simulation an onwards. Any historically extracted volumes from the same areas have - and may still - be a part of the wood products carbon pool, but cannot be included for an arbitrary forest analysis area due to missing data on historical harvest levels. Such an existing carbon pool must be described outside of the current Heureka implementation.&lt;br /&gt;
&lt;br /&gt;
Wood pulp and Wood based panels are made from Wood fiber commodity, which consists of pulpwood and sawmill by-products in the form of wood chips .&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| CO2 Emission||tonnes CO2||Emission of CO2 related to the extracted volumes stemming from the analysis area. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Pulp||tonnes C||Carbon pool inflow related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Sawn Wood||tonnes C||Carbon pool inflow related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Wood Based Panels||tonnes C||Carbon pool inflow related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Pulp||tonnes C||Carbon pool stock related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Sawn Wood||tonnes C||Carbon pool stock related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Wood Based Panels||tonnes C||Carbon pool stock related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Total||tonnes C||Sum of carbon pool stock related to all product types extracted in the analysis.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Harvested_Wood_Products_Results&amp;diff=10671</id>
		<title>Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Harvested_Wood_Products_Results&amp;diff=10671"/>
		<updated>2023-04-20T10:02:55Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: LarsSangstuvall moved page Harvested Wood Products Results to Carbon in Harvested Wood Products Results: Renamed feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Carbon in Harvested Wood Products Results]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10670</id>
		<title>Carbon in Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10670"/>
		<updated>2023-04-20T10:02:54Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: LarsSangstuvall moved page Harvested Wood Products Results to Carbon in Harvested Wood Products Results: Renamed feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
[[Category:Harvested Wood Products]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Estimates of carbon pool in harvested wood products stemming from the forest analysis area]]. &lt;br /&gt;
&lt;br /&gt;
See [[Harvested_Wood_Products|model description for Harvested Wood Products]].&lt;br /&gt;
&lt;br /&gt;
The projected sequestration of carbon in Harvested Wood Products is a result of extracted volumes per assortment, and assumptions of the longevity of the derived products. &lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
Note! &lt;br /&gt;
&lt;br /&gt;
All results currently only consider the contribution to the carbon pool from the starting point of the simulation an onwards. Any historically extracted volumes from the same areas have - and may still - be a part of the wood products carbon pool, but cannot be included for an arbitrary forest analysis area due to missing data on historical harvest levels. Such an existing carbon pool must be described outside of the current Heureka implementation.&lt;br /&gt;
&lt;br /&gt;
Wood pulp and Wood based panels are made from Wood fiber commodity, which consists of pulpwood and sawmill by-products in the form of wood chips .&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| CO2 Emission||tonnes CO2||Emission of CO2 related to the extracted volumes stemming from the analysis area. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Pulp||tonnes C||Carbon pool inflow related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Sawn Wood||tonnes C||Carbon pool inflow related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Wood Based Panels||tonnes C||Carbon pool inflow related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Pulp||tonnes C||Carbon pool stock related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Sawn Wood||tonnes C||Carbon pool stock related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Wood Based Panels||tonnes C||Carbon pool stock related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Total||tonnes C||Sum of carbon pool stock related to all product types extracted in the analysis.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10669</id>
		<title>Carbon in Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10669"/>
		<updated>2023-04-20T08:17:48Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
[[Category:Harvested Wood Products]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Estimates of carbon pool in harvested wood products stemming from the forest analysis area]]. &lt;br /&gt;
&lt;br /&gt;
See [[Harvested_Wood_Products|model description for Harvested Wood Products]].&lt;br /&gt;
&lt;br /&gt;
The projected sequestration of carbon in Harvested Wood Products is a result of extracted volumes per assortment, and assumptions of the longevity of the derived products. &lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
Note! &lt;br /&gt;
&lt;br /&gt;
All results currently only consider the contribution to the carbon pool from the starting point of the simulation an onwards. Any historically extracted volumes from the same areas have - and may still - be a part of the wood products carbon pool, but cannot be included for an arbitrary forest analysis area due to missing data on historical harvest levels. Such an existing carbon pool must be described outside of the current Heureka implementation.&lt;br /&gt;
&lt;br /&gt;
Wood pulp and Wood based panels are made from Wood fiber commodity, which consists of pulpwood and sawmill by-products in the form of wood chips .&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| CO2 Emission||tonnes CO2||Emission of CO2 related to the extracted volumes stemming from the analysis area. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Pulp||tonnes C||Carbon pool inflow related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Sawn Wood||tonnes C||Carbon pool inflow related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Wood Based Panels||tonnes C||Carbon pool inflow related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Pulp||tonnes C||Carbon pool stock related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Sawn Wood||tonnes C||Carbon pool stock related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Wood Based Panels||tonnes C||Carbon pool stock related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Total||tonnes C||Sum of carbon pool stock related to all product types extracted in the analysis.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10668</id>
		<title>Carbon in Harvested Wood Products Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Carbon_in_Harvested_Wood_Products_Results&amp;diff=10668"/>
		<updated>2023-04-20T08:17:22Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
[[Category:Harvested Wood Products2]]&lt;br /&gt;
This result group contains: [[ResultCategoryDescription::Estimates of carbon pool in harvested wood products stemming from the forest analysis area]]. &lt;br /&gt;
&lt;br /&gt;
See [[Harvested_Wood_Products|model description for Harvested Wood Products]].&lt;br /&gt;
&lt;br /&gt;
The projected sequestration of carbon in Harvested Wood Products is a result of extracted volumes per assortment, and assumptions of the longevity of the derived products. &lt;br /&gt;
&lt;br /&gt;
==Result variables==&lt;br /&gt;
Note! &lt;br /&gt;
&lt;br /&gt;
All results currently only consider the contribution to the carbon pool from the starting point of the simulation an onwards. Any historically extracted volumes from the same areas have - and may still - be a part of the wood products carbon pool, but cannot be included for an arbitrary forest analysis area due to missing data on historical harvest levels. Such an existing carbon pool must be described outside of the current Heureka implementation.&lt;br /&gt;
&lt;br /&gt;
Wood pulp and Wood based panels are made from Wood fiber commodity, which consists of pulpwood and sawmill by-products in the form of wood chips .&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 10%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Description'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| CO2 Emission||tonnes CO2||Emission of CO2 related to the extracted volumes stemming from the analysis area. &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Pulp||tonnes C||Carbon pool inflow related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Sawn Wood||tonnes C||Carbon pool inflow related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Inflow Wood Based Panels||tonnes C||Carbon pool inflow related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Pulp||tonnes C||Carbon pool stock related to wood pulp stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Sawn Wood||tonnes C||Carbon pool stock related to sawnwood stemming from sawtimber extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Wood Based Panels||tonnes C||Carbon pool stock related to wood based panels stemming from the wood fiber commodity extracted in the analysis.&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| Stock Total||tonnes C||Sum of carbon pool stock related to all product types extracted in the analysis.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10667</id>
		<title>Version 2.21</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.21&amp;diff=10667"/>
		<updated>2023-04-20T08:00:55Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added Shrub, Env goals, HWP name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.21&lt;br /&gt;
{{Languages| Version 2.21}}&lt;br /&gt;
[[newsdate::2023-04-18]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
==Summary==&lt;br /&gt;
&lt;br /&gt;
==New Features==&lt;br /&gt;
===Correction Factors per Species and Period===&lt;br /&gt;
===Monte Carlo-simulations in RegWise===&lt;br /&gt;
===Checkerboard Forestry in PlanWise===&lt;br /&gt;
===Shrub Cover Models===&lt;br /&gt;
===Environmental Goal Indicators===&lt;br /&gt;
&lt;br /&gt;
==Other Changes==&lt;br /&gt;
* Updated application suite to .NET Framework 4.8&lt;br /&gt;
* Changed name of control table [[ControlTable_Carbon | Soil Model]] to [[ControlTable_Carbon | Carbon]]&lt;br /&gt;
* Changed name of result group '''Recreation''' to '''Non-wood ecosystem services''', including also the shrub cover model results&lt;br /&gt;
* Changed name of result group '''Harvested Wood Products''' to '''Carbon in Harvested Wood Products'''&lt;br /&gt;
* Added settings for Harvested Wood Products to the [[ControlTable_Carbon | Carbon]] control table&lt;br /&gt;
* Time between thinning and final felling is now specified in years instead of periods, in the [[ControlTable_Treatment_Program_Generator | Treatment Program Generator]] control table&lt;br /&gt;
* Faster loading of map control in initial state&lt;br /&gt;
* [https://www.heurekaslu.se/help/en/index.htm?importing_optimization_solutio.htm Simplified import format] for optimization results (the old format is still supported)&lt;br /&gt;
* Birch added as its own category in the [[Dead_Wood_Results | Dead Wood]] result group&lt;br /&gt;
* User can now specify a fraction of cut stems to leave in forest as dead wood after a final felling treatment in the [[ControlTable_Treatment_Model | Treatment Model]] control table&lt;br /&gt;
&lt;br /&gt;
==Bug Fixes==&lt;br /&gt;
* RotationAgeFactor was not considered when calculating initial state&lt;br /&gt;
* Register Tree Data had a faulty plot type check&lt;br /&gt;
* Possible incorrect wait time between thinnings and other treatments in tactical TPG&lt;br /&gt;
* Tree List Importer didn't show an error when the mandatory column InventoryYear was missing&lt;br /&gt;
* Mortality was sometimes over- or underestimated in RegWise&lt;br /&gt;
* Wrong decay class assigned to dead trees in IPAK importer&lt;br /&gt;
* NPV incorrectly calculated in the optimization summary (not in the actual results)&lt;br /&gt;
* StandWise: Overstorey trees that were previously removed would return when backing to period 0, and never be removed again&lt;br /&gt;
* Fixed error when cleaning period overlapped final felling period in TPG&lt;br /&gt;
* Fixed error when importing optimization model item&lt;br /&gt;
* Fixed crash when calculating cliques and clusters&lt;br /&gt;
* Forwarder cost could be calculated to a negative value in very harsh conditions&lt;br /&gt;
* After treatment proposals were applied, the control category for the first generation was always used even if a final felling was performed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2023-04-18&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Details from bugtracker==&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
resolution = fixed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.21.0&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Definition:ManagementClass&amp;diff=10659</id>
		<title>Definition:ManagementClass</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Definition:ManagementClass&amp;diff=10659"/>
		<updated>2023-03-30T08:32:59Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added english v1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
[[Category:Definitions | ManagementClass]]&lt;br /&gt;
==Skogsstyrelsen Management Class Codes==&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''English'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Swedish'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Short name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Number Code'''&lt;br /&gt;
|-&lt;br /&gt;
| Nature conservation set-aside, unmanaged||Naturvård orörd||NO||0||&lt;br /&gt;
|-&lt;br /&gt;
| Nature conservation set-aside, managed||Naturvård skötsel||NS||1||&lt;br /&gt;
|-&lt;br /&gt;
| Production-oriented management with normal retention of trees and patches||Produktion generell hänsyn||PG||2||&lt;br /&gt;
|-&lt;br /&gt;
| Production-oriented management with extra retention of trees and patches||Produktion förstärkt hänsyn||PF||3||&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Definition}}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Disturbance_Risk_Results&amp;diff=10654</id>
		<title>Disturbance Risk Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Disturbance_Risk_Results&amp;diff=10654"/>
		<updated>2023-01-26T19:31:46Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added info on overstorey trees in spruce bark beetle index&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Result Variables]]&lt;br /&gt;
&lt;br /&gt;
This result group contains: [[ResultCategoryDescription:: Results that describe risks of disturbances (forest damages) as a function of forest characteristics.]] Results include data for each treatment unit, alternative and time period. It is currently possible to estimate the risk of disturbances from storm and Spruce bark beetle respectively, presented as indices (0-1).  Also, estimations regarding [[Root_rot|Root rot]] have been moved to this Result variable category. Here, both Before- and After-values can be found, regarding estimations before and after any simulated treatment in the current time period.    &lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 50%;&amp;quot;|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| Root Rot Potential Basal Area||m2/ha||Basal area of trees predicted having root rot&lt;br /&gt;
|-&lt;br /&gt;
| Root Rot Potential Volume||m3sk/ha||Volume of trees predicted having root rot (not same as rotten volume!)&lt;br /&gt;
|-&lt;br /&gt;
| Root Rot Stems||trees/ha||Predicted number of stems affected by root rot&lt;br /&gt;
|-&lt;br /&gt;
| Spruce Bark Beetle Index||0-3.46||Risk Index For Spruce Bark Beetle Damage. The risk index is developed by Michelle Nordkvist and is a measure of the relative sensitivity/susceptability for a stand to be attacked by spruce bark beetles based on stand and climate variables. The risk index can be used as a basis for comparison between stands with different characteristics, climate or applied management, but not as an absolute measure of risk. Note that overstorey trees are included in the calculation of the index. [https://www.heurekaslu.se/w/images/1/18/Rapport_Risk_index_granbarkborre_MNordkvist20220314.pdf]&lt;br /&gt;
|-&lt;br /&gt;
| Storm index (Lagergren)||0-1||Storm index according to Lagergren et al 2012 [https://pub.epsilon.slu.se/9469/]&lt;br /&gt;
|-&lt;br /&gt;
| Storm index (Valinger)||0-1||Storm index according to Valinger et al 2006 [https://shop.skogsstyrelsen.se/shop/9098/art13/4646113-ff7c25-1758.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Spruce_bark_beetle_index/sv&amp;diff=10653</id>
		<title>Spruce bark beetle index/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Spruce_bark_beetle_index/sv&amp;diff=10653"/>
		<updated>2023-01-18T16:18:05Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Lade till länk till vetenskalig artikel samt info om hantering av överståndare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Spruce_bark_beetle_index}}&lt;br /&gt;
{{DISPLAYTITLE:Granbarkborre riskindex}}&lt;br /&gt;
[[Category:Model|Granbarkborre riskindex]]&lt;br /&gt;
&lt;br /&gt;
Modellen för riskindex för granbarkborre är publicerad här: [[https://www.sciencedirect.com/science/article/pii/S2666719322001704 Nordkvist et al. 2023]]&lt;br /&gt;
&lt;br /&gt;
Implementeringen i Heureka bygger på skogstillståndet såväl före som efter skötselåtgärder, och inkluderar såväl huvudskiktet av träd som eventuella överståndare i båda fallen.&lt;br /&gt;
&lt;br /&gt;
Klicka på länken nedan för att öppna modellbeskrivningen:&lt;br /&gt;
&lt;br /&gt;
[[https://www.heurekaslu.se/w/images/1/18/Rapport_Risk_index_granbarkborre_MNordkvist20220314.pdf | Beskrivning av riskindex för granbarkborre för Heureka]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Referens: Nordkvist, M., Eggers, J., Fustel, T. L.-A., &amp;amp; Klapwijk, M. J. (2023). Development and implementation of a spruce bark beetle susceptibility index: A framework to compare bark beetle susceptibility on stand level. Trees, Forests and People, 11, 100364.&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Spruce_bark_beetle_index&amp;diff=10651</id>
		<title>Spruce bark beetle index</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Spruce_bark_beetle_index&amp;diff=10651"/>
		<updated>2023-01-18T16:08:44Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added scientific publication, and a clarification on the overstorey trees being included&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The spruce bark beetle risk index model is published here: [[https://www.sciencedirect.com/science/article/pii/S2666719322001704 Nordkvist et al. 2023]]&lt;br /&gt;
&lt;br /&gt;
Its implementation in Heureka is based the forest conditions both before and after management activities in each period, and include the main tree layer as well as overstorey trees in both cases.&lt;br /&gt;
&lt;br /&gt;
Follow the link below to view the detailed model description (only in Swedish):&lt;br /&gt;
&lt;br /&gt;
[[https://www.heurekaslu.se/w/images/1/18/Rapport_Risk_index_granbarkborre_MNordkvist20220314.pdf Spruce bark beetle index model description]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
References: Nordkvist, M., Eggers, J., Fustel, T. L.-A., &amp;amp; Klapwijk, M. J. (2023). Development and implementation of a spruce bark beetle susceptibility index: A framework to compare bark beetle susceptibility on stand level. Trees, Forests and People, 11, 100364.&lt;br /&gt;
&lt;br /&gt;
[[Category:Model]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Category:Plugins&amp;diff=10650</id>
		<title>Category:Plugins</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Category:Plugins&amp;diff=10650"/>
		<updated>2023-01-17T10:14:24Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added sapling and optimization bullets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Reference Manual]]&lt;br /&gt;
It is possible to replace some of Heureka's built-in functions with your own plugins. You need to program such functions in C#. When you have built a plugin-function, you can place it in My Dcouments &amp;gt; Heureka &amp;gt; Common &amp;gt; Plugins-folder. After that, when you start a Heureka application (StandWise, PlanWise or RegWise), the program will scan this folder for functions that implements a certain so called interface. For example, if there is a plugin (dll) that implements the cost function interface, it will be imported to the application in run-time, and be available as an option the control tables interface. &lt;br /&gt;
&lt;br /&gt;
Plugins are available for the following models:&lt;br /&gt;
&lt;br /&gt;
*Single-tree growth &lt;br /&gt;
*Stand-level growth&lt;br /&gt;
*Sapling growth &lt;br /&gt;
*Tree volume &lt;br /&gt;
*Tree height &lt;br /&gt;
*Tree height growth &lt;br /&gt;
*Bark thickness &lt;br /&gt;
*Mortality&lt;br /&gt;
*Age to breast height&lt;br /&gt;
*Forwarder and harvester cost (time consumption)&lt;br /&gt;
*Optimization solvers&lt;br /&gt;
&lt;br /&gt;
==Writing plugins for Heureka==&lt;br /&gt;
The easiest way to start writing a plugin is to use a template that we provide as a starting point [https://www.heurekaslu.se/FilerepositoryDev PluginTemplateProject.zip]. Either open the included project in Visual Studio 2015 or later, or start a new project and include only the required templates. All templates need a reference to 'Slu.Heureka.BaseLayer.dll' and to 'Slu.Heureka.DomainLayer.dll'. This library can be found with all installations of Heureka in the root of the installation directory.&lt;br /&gt;
&lt;br /&gt;
Comments in the templates will tell you what Heureka expects as a return value from the functions. If a plugin needs to read settings that the user has made to, for example, the ProductionModel control table, Heureka will supply this to the plugin constructor if it finds a matching constructor that accepts a single ProductionModelControlTable as an argument. Otherwise the parameterless constructor will be used. At least one of these two constructors MUST be available.&lt;br /&gt;
&lt;br /&gt;
If you want to supply custom arguments to the time consumption model, you can use the property CustomFunctionParameters, which is similar to a C# dictionary consisting of key-value pairs, see below. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''' Plugins must have a unique Name string among plugins of the same type. Heureka uses the name to identify which plugin is currently selected.&lt;br /&gt;
&lt;br /&gt;
After building the template project, the plugin .dll files are copied to the solution directory.&lt;br /&gt;
&lt;br /&gt;
==Custom cost functions ==&lt;br /&gt;
Creating plugins for cost functions is done a bit differently. There is a plugin interface, but it is not really intended for implementing from scratch. Instead, you should either create a class that derives from *Slu.Heureka.DomainLayer.ValueModel.CostCalculatorSkogforskAdvanced, or &lt;br /&gt;
*Slu.Heureka.DomainLayer.ValueModel.CostCalculatorSkogforskSimple, or from the abstract class&lt;br /&gt;
*Slu.Heureka.DomainLayer.ValueModel.CostCalculatorBase (which the two above derive from).&lt;br /&gt;
&lt;br /&gt;
Each of these implements IPlugin, so you do not have to worry about anything but overriding for example CostCalculatorSkogforskAdvanced properly. Below is a dummy dode example to calculate cost for a imagined cable logging system.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:70%&amp;quot; data-expandtext=&amp;quot;Show code&amp;quot; data-collapsetext=&amp;quot;Hide&amp;quot;&amp;gt;&lt;br /&gt;
Code example for harvester and forwarder cost function&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using Slu.Heureka;&lt;br /&gt;
using Slu.Heureka.BaseLayer;&lt;br /&gt;
using Slu.Heureka.BaseLayer.ConfigurationHandling;&lt;br /&gt;
using Slu.Heureka.DomainLayer.CommonForestModels;&lt;br /&gt;
using Slu.Heureka.DomainLayer.Forest;&lt;br /&gt;
using Slu.Heureka.DomainLayer.TreatmentModel;&lt;br /&gt;
using Slu.Heureka.DomainLayer.ValueModel;&lt;br /&gt;
&lt;br /&gt;
namespace MyCostFunctions&lt;br /&gt;
{&lt;br /&gt;
    public class MyLoggingCostFunction : CostCalculatorSkogforskAdvanced&lt;br /&gt;
    {&lt;br /&gt;
        private double _area;&lt;br /&gt;
        private double _ayd;&lt;br /&gt;
        private GenericPropertyArray&amp;lt;double&amp;gt; _functionParameters = new GenericPropertyArray&amp;lt;double&amp;gt;(&amp;quot;CableLoggingCoeffs&amp;quot;,&lt;br /&gt;
            propertyLabel:new string[]&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;A&amp;quot;,&amp;quot;B&amp;quot;,&amp;quot;SystemUtilization&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            values:new double[] {0.25d, 3.0d, 0.9d},&lt;br /&gt;
            defaultValues:new double[] { 0.25d, 3.0d, 0.9d },&lt;br /&gt;
            descriptions:new string[] {&amp;quot;Param A (min/tree)&amp;quot;,&lt;br /&gt;
                &amp;quot;Param B (min/m3)&amp;quot;,&lt;br /&gt;
                &amp;quot;Utilization degree expressed as proportion&amp;quot;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
               /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Empty constructor required for IPlugin handler&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        public MyLoggingCostFunction () { }&lt;br /&gt;
&lt;br /&gt;
        public MyLoggingCostFunction (IControlCategory cc) : base(cc)&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override string Name { get { return &amp;quot;MyLoggingCostFunction1&amp;quot;; } }&lt;br /&gt;
&lt;br /&gt;
        public override GenericPropertyArray&amp;lt;double&amp;gt; CustomFunctionParameters&lt;br /&gt;
        {&lt;br /&gt;
            get { return _functionParameters; }&lt;br /&gt;
            set { _functionParameters = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Initializes data needed by the models&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;tUnit&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;period&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;treatment&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;results&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;value&amp;quot;&amp;gt;Felling value&amp;lt;/param&amp;gt;&lt;br /&gt;
        protected override void Initialize(TreatmentUnit tUnit, int period, Treatment treatment, IList&amp;lt;Result&amp;gt; results, FellingValue value)&lt;br /&gt;
        {&lt;br /&gt;
            base.Initialize(tUnit, period, treatment, results, value);&lt;br /&gt;
            int periodIndex = period == 0 ? 0 : period - tUnit.StartPeriod;&lt;br /&gt;
            object[] treatmentInfo = (object[])results[periodIndex].Treatment(typeof(TreatmentData));&lt;br /&gt;
            int index = FindFirstCuttingTreatment(treatmentInfo);&lt;br /&gt;
            CalculateBasicVariables((TreatmentData)treatmentInfo[index], value);&lt;br /&gt;
            &lt;br /&gt;
            if (Configuration.CustomHarvesterCostParameters != null &amp;amp;&amp;amp;&lt;br /&gt;
               _functionParameters.Label == Configuration.CustomHarvesterCostParameters.Label)&lt;br /&gt;
            {&lt;br /&gt;
                _functionParameters = Configuration.CustomHarvesterCostParameters;  &lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override double ForwarderCostFinalFelling()&lt;br /&gt;
        {&lt;br /&gt;
            return 0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override double HarvesterCostFinalFelling()&lt;br /&gt;
        {&lt;br /&gt;
            // No cable logging required: use ordinaary function&lt;br /&gt;
            if (Slope &amp;lt; SlopeType.ThirtyThreeToFifty)&lt;br /&gt;
                return base.HarvesterCostFinalFelling();&lt;br /&gt;
&lt;br /&gt;
            // Add some code for calulating the cost...&lt;br /&gt;
            // var cost = ... _functionParameters[&amp;quot;B&amp;quot;]*AverageVolumeOfFelledTrees ...&lt;br /&gt;
&lt;br /&gt;
            return _functionParameters[&amp;quot;SystemUtilization&amp;quot;] &amp;gt; 0 ? cost / _functionParameters[&amp;quot;SystemUtilization&amp;quot;] : cost;&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
There are specific functions for different treatments. The plugin interface (ICostCalculator) provided will probably be quite daunting to implement, and a better option is most likely to create a plugin that derives from Heureka's CostCalculatorBase (see below), if you wish to supply custom functions for for example precommercial thinning (cleaning). To add custom functions only for harvesting and forwarding, considered deriving from class SkogforskAdvanced.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
====ICostCalculator interface====&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:70%&amp;quot; data-expandtext=&amp;quot;Show code&amp;quot; data-collapsetext=&amp;quot;Hide&amp;quot;&amp;gt;&lt;br /&gt;
CostCalculatorTemplate code&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using Slu.Heureka.BaseLayer;&lt;br /&gt;
using Slu.Heureka.DomainLayer.Forest;&lt;br /&gt;
using Slu.Heureka.DomainLayer.ValueModel;&lt;br /&gt;
 public class CostCalculatorTemplate : ICostCalculator&lt;br /&gt;
    {&lt;br /&gt;
        //Include this constructor with this signature if the plugin needs to read settings from the control category.&lt;br /&gt;
        //If present, this constructor will be used. Otherwise, the empty constructor will be used.&lt;br /&gt;
        //public CostCalculatorTemplate(IControlCategory controlCategory)&lt;br /&gt;
        //{}&lt;br /&gt;
&lt;br /&gt;
        public CostCalculatorTemplate()&lt;br /&gt;
        {&lt;br /&gt;
            //Empty constructor required for plugins&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Get the display name of this plugin&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        public string Name { get { return &amp;quot;Cost Calculator Template&amp;quot;;  } }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Calculates the cost of a treatment.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;tUnit&amp;quot;&amp;gt;Treatment unit that has been treated&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;period&amp;quot;&amp;gt;Period to calculate cost for&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;treatment&amp;quot;&amp;gt;Treatment that has been applied&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;results&amp;quot;&amp;gt;Existing results for treatment unit&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;value&amp;quot;&amp;gt;Felling value&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Cost of treatment&amp;lt;/returns&amp;gt;&lt;br /&gt;
        public Cost CalculateCost(TreatmentUnit tUnit, int period, Treatment treatment, IList&amp;lt;Result&amp;gt; results, FellingValue value)&lt;br /&gt;
        {&lt;br /&gt;
            return null;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Optional parameters, displayed in the Cost Control Table&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        public GenericPropertyArray&amp;lt;double&amp;gt; CustomFunctionParameters { get { return null; } set {} }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====CostCalculatorBase====&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:70%&amp;quot; data-expandtext=&amp;quot;Show code&amp;quot; data-collapsetext=&amp;quot;Hide&amp;quot;&amp;gt;&lt;br /&gt;
CostCalculatorBase code&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using Slu.Heureka.BaseLayer;&lt;br /&gt;
using Slu.Heureka.BaseLayer.ConfigurationHandling;&lt;br /&gt;
using Slu.Heureka.DomainLayer.CommonForestModels;&lt;br /&gt;
using Slu.Heureka.DomainLayer.Recreation;&lt;br /&gt;
using Slu.Heureka.DomainLayer.TreatmentModel;&lt;br /&gt;
using Slu.Heureka.DomainLayer.Forest;&lt;br /&gt;
using Slu.Heureka.DomainLayer.TreatmentModel.Thinning;&lt;br /&gt;
&lt;br /&gt;
namespace Slu.Heureka.DomainLayer.ValueModel&lt;br /&gt;
{&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// Provides a base class for CostCalculator classes&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    public class CostCalculatorBase : ICostCalculator&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
        Treatment _treatment;&lt;br /&gt;
        int _period;&lt;br /&gt;
        private TreatmentUnit _treatmentUnit;&lt;br /&gt;
        private CostControlTable _configuration;&lt;br /&gt;
        private readonly RecreationControlTable _recreationControlTable;&lt;br /&gt;
        private readonly TreatmentModelControlTable _treatmentModelControlTable;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        private double _extractedHarvestResidueMass;&lt;br /&gt;
        private double _harvestedStumps;&lt;br /&gt;
        SoilMoistureType _soilMoistType;&lt;br /&gt;
        private SlopeType _slope;&lt;br /&gt;
        private SlopeType _terrainRoadSlope;&lt;br /&gt;
        private double _terrainTransportDistance;&lt;br /&gt;
        private SurfaceType _surface;&lt;br /&gt;
&lt;br /&gt;
        protected SoilMoistureType SoilMoistType&lt;br /&gt;
        {&lt;br /&gt;
            get { return _soilMoistType; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected TreatmentUnit TreatmentUnit&lt;br /&gt;
        {&lt;br /&gt;
            get { return _treatmentUnit; }&lt;br /&gt;
        }&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets the treatment cost is calculated for&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        protected Treatment Treatment&lt;br /&gt;
        {&lt;br /&gt;
            get { return _treatment; }&lt;br /&gt;
            set { _treatment = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        ///// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///// Gets cost control table&lt;br /&gt;
        ///// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        //protected CostControlTable configuration&lt;br /&gt;
        //{&lt;br /&gt;
        //    get { return Configuration; }&lt;br /&gt;
        //}&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Within stand slope &lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        protected SlopeType Slope&lt;br /&gt;
        {&lt;br /&gt;
            get { return _slope; }&lt;br /&gt;
            set { _slope = value; }&lt;br /&gt;
        }&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Average slope in the terrain road (may include slope of neighboring stands that the forwarder must drive through)&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        protected SlopeType TerrainRoadSlope&lt;br /&gt;
        {&lt;br /&gt;
            get { return _terrainRoadSlope; }&lt;br /&gt;
            set { _terrainRoadSlope = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected double TerrainTransportDistance&lt;br /&gt;
        {&lt;br /&gt;
            get { return _terrainTransportDistance; }&lt;br /&gt;
            set { _terrainTransportDistance = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected SurfaceType Surface&lt;br /&gt;
        {&lt;br /&gt;
            get { return _surface; }&lt;br /&gt;
            set { _surface = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected CostControlTable Configuration&lt;br /&gt;
        {&lt;br /&gt;
            get { return _configuration; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected RecreationControlTable RecreationControlTable&lt;br /&gt;
        {&lt;br /&gt;
            get { return _recreationControlTable; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected TreatmentModelControlTable TreatmentModelControlTable&lt;br /&gt;
        {&lt;br /&gt;
            get { return _treatmentModelControlTable; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public double ExtractedHarvestResidueMass&lt;br /&gt;
        {&lt;br /&gt;
            get { return _extractedHarvestResidueMass; }&lt;br /&gt;
            set { _extractedHarvestResidueMass = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public double HarvestedStumps&lt;br /&gt;
        {&lt;br /&gt;
            get { return _harvestedStumps; }&lt;br /&gt;
            set { _harvestedStumps = value; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Represents a base class for CostCalculator classes&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;us&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        internal CostCalculatorBase(IControlCategory us)&lt;br /&gt;
        {&lt;br /&gt;
            _configuration = (CostControlTable)us.GetControlTable(typeof(CostControlTable));&lt;br /&gt;
            if (Configuration == null)&lt;br /&gt;
                throw new ArgumentException(&amp;quot;Configuration for Cost has not been initialized&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            _recreationControlTable = (Recreation.RecreationControlTable)us.GetControlTable(typeof(Recreation.RecreationControlTable));&lt;br /&gt;
            if (RecreationControlTable == null)&lt;br /&gt;
                throw new ArgumentException(&amp;quot;Configuration for Recreation has not been initialized&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            _treatmentModelControlTable = (TreatmentModelControlTable)us.GetControlTable(typeof(TreatmentModelControlTable));&lt;br /&gt;
            if (TreatmentModelControlTable == null)&lt;br /&gt;
                throw new ArgumentException(&amp;quot;Configuration for TreatmentModel has not been initialized&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// To enable alternative constructor for tests of derived class&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        protected CostCalculatorBase()&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets cost of extracting harvest residues after thinning&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual double HarvestResidueExtractionCostThinning()&lt;br /&gt;
        {&lt;br /&gt;
            if (Treatment.CuttingDetails.HarvestResiduesExtracted)&lt;br /&gt;
                //return configuration.HarvestResidueThinningCost * _extractedHarvestResidueMass;&lt;br /&gt;
                return ExtractedHarvestResidueMass *&lt;br /&gt;
                   (Configuration.HarvestResidueExtractionCostThinning.A0 +&lt;br /&gt;
                    Configuration.HarvestResidueExtractionCostThinning.A1 * _terrainTransportDistance); // Do not adjust for cost trend factor here, only adjust in methods of type Cost&lt;br /&gt;
            return 0.0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets cost of extracting harvest residues after final felling&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual double HarvestResidueExtractionFinalFelling()&lt;br /&gt;
        {&lt;br /&gt;
            if (Treatment.CuttingDetails.HarvestResiduesExtracted)&lt;br /&gt;
                //return configuration.HarvestResidueFinalFellingCost * _extractedHarvestResidueMass;&lt;br /&gt;
                return ExtractedHarvestResidueMass *&lt;br /&gt;
                       (Configuration.HarvestResidueExtractionCostFinalFelling.A0 +&lt;br /&gt;
                        Configuration.HarvestResidueExtractionCostFinalFelling.A1 * _terrainTransportDistance); // Do not adjust for cost trend factor here, only adjust in methods of type Cost&lt;br /&gt;
            return 0.0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets cost of extracting stumps&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual double StumpExtractionCost()&lt;br /&gt;
        {&lt;br /&gt;
            if (Treatment.CuttingDetails.HarvestResiduesExtracted)&lt;br /&gt;
                return HarvestedStumps *&lt;br /&gt;
                       (Configuration.StumpHarvestCostCoefficients.A0 +&lt;br /&gt;
                        Configuration.StumpHarvestCostCoefficients.A1 * _terrainTransportDistance); // Do not adjust for cost trend factor here, only adjust in methods of type Cost&lt;br /&gt;
            return 0.0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Calulates cost of planting.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Cost of planting, SEK/ha&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual Cost PlantingCost()&lt;br /&gt;
        {&lt;br /&gt;
            double treatedArea = _treatment.TreatedArea.HasValue ? _treatment.TreatedArea.Value : 1.0;&lt;br /&gt;
            double corrFactor = Configuration.TreatmentCostTrend[TreatmentCostTrendType.Planting, TreatmentYear];&lt;br /&gt;
&lt;br /&gt;
            // Number of plants not known or price per sapling is not known&lt;br /&gt;
            SpeciesGroupCode plantedSpecies = Treatment.RegenerationDetails.SpeciesGroup;&lt;br /&gt;
            if (Treatment.RegenerationDetails == null || Treatment.RegenerationDetails.NumberOfSaplings &amp;lt;= double.Epsilon || Configuration.SaplingCostPlant[plantedSpecies] &amp;lt;= double.Epsilon)&lt;br /&gt;
                return new Cost(Configuration.PlantCostArea * corrFactor * treatedArea);&lt;br /&gt;
&lt;br /&gt;
            double c = Treatment.RegenerationDetails.NumberOfSaplings * Configuration.SaplingCostPlant[plantedSpecies] * corrFactor * treatedArea;&lt;br /&gt;
            return new Cost(c);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Calculates cost of fertilization.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Cost of fertilization, SEK/ha&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual Cost FertilizationCost()&lt;br /&gt;
        {&lt;br /&gt;
            if (_treatment.FertilizationDetails.Intensive)&lt;br /&gt;
                return new Cost(Configuration.IntensiveFertilizationCostArea);&lt;br /&gt;
&lt;br /&gt;
            if (_treatmentUnit.PredictionUnits.Count == 0)&lt;br /&gt;
                return new Cost(0.0);&lt;br /&gt;
&lt;br /&gt;
            double treatedArea = _treatment.TreatedArea.HasValue ? _treatment.TreatedArea.Value : 1.0;&lt;br /&gt;
&lt;br /&gt;
            double cost = treatedArea *&lt;br /&gt;
                          (Configuration.FertilizationFixedCost +&lt;br /&gt;
                           TreatmentModelControlTable.FertilizerAmount *&lt;br /&gt;
                           Configuration.FertilizerUnitCost) *&lt;br /&gt;
                          Configuration.TreatmentCostTrend[TreatmentCostTrendType.Fertilization, TreatmentYear];&lt;br /&gt;
&lt;br /&gt;
            return new Cost(cost);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected double TreatmentYear&lt;br /&gt;
        {&lt;br /&gt;
            get { return _treatmentUnit.GetYear(_period) + Treatment.YearOffset; }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Calculates cost of burning&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Cost of burning, SEK/ha&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual Cost BurningCost()&lt;br /&gt;
        {&lt;br /&gt;
            return new Cost(Configuration.BurningCost * Configuration.TreatmentCostTrend[TreatmentCostTrendType.Burning, TreatmentYear]);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Calculates cost of ground preparation&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Cost of ground preparation, SEK/ha&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual Cost PreparationCost()&lt;br /&gt;
        {&lt;br /&gt;
            double treatedArea = _treatment.TreatedArea.HasValue ? _treatment.TreatedArea.Value : 1.0;&lt;br /&gt;
            return new Cost(Configuration.PreparationCost * Configuration.TreatmentCostTrend[TreatmentCostTrendType.SoilPreparation, TreatmentYear] * treatedArea);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets cost of sowing&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual Cost SowingCost()&lt;br /&gt;
        {&lt;br /&gt;
            return new Cost(Configuration.SeedCostArea * Configuration.TreatmentCostTrend[TreatmentCostTrendType.Sowing, TreatmentYear]);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Retrieves forwarder capacity for thinning&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;thinNumber&amp;quot;&amp;gt;Thinning number&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;capacity in ton&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual double GetForwarderCapacityThinning(ThinningNumber thinNumber)&lt;br /&gt;
        {&lt;br /&gt;
            return thinNumber == ThinningNumber.First ? Configuration.FirstThinningCapacity : Configuration.LaterThinningCapacity;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Retrieves forwarder capacity when doing final felling&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;capcity in ton&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected virtual double GetForwarderCapacityFinalFelling()&lt;br /&gt;
        {&lt;br /&gt;
            return Configuration.FinalFellingCapacity;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Retrievs thinning number for a TreatmentUnit&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;tUnit&amp;quot;&amp;gt;TreatmentUnit&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;currentPeriod&amp;quot;&amp;gt;The current period&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;ThinningNumber&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected ThinningNumber GetThinningNumber(TreatmentUnit tUnit, int currentPeriod)&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            switch (tUnit.Treatments.Occurences(currentPeriod, TreatmentCollection.Thinning, TreatmentCollection.Regeneration))&lt;br /&gt;
            {&lt;br /&gt;
                case 1:&lt;br /&gt;
                    return ThinningNumber.First;&lt;br /&gt;
                case 2:&lt;br /&gt;
                    return ThinningNumber.Second;&lt;br /&gt;
                default:&lt;br /&gt;
                    return ThinningNumber.Later;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Returns the first treatment with cutting treatment&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;treatmentInfo&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br /&gt;
        protected int FindFirstCuttingTreatment(object[] treatmentInfo)&lt;br /&gt;
        {&lt;br /&gt;
            // Find first treatment with cutting treatment&lt;br /&gt;
            int index = 0;&lt;br /&gt;
            for (int i = 0; i &amp;lt; treatmentInfo.Length; i++)&lt;br /&gt;
            {&lt;br /&gt;
                TreatmentType tType = ((TreatmentData)treatmentInfo[i]).Treatment;&lt;br /&gt;
                if ((tType &amp;amp; TreatmentCollection.Felling) &amp;gt; 0)&lt;br /&gt;
                {&lt;br /&gt;
                    index = i;&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            return index;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets treatment unit data&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;tUnit&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;period&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;results&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;value&amp;quot;&amp;gt;Felling value&amp;lt;/param&amp;gt;&lt;br /&gt;
        protected virtual void Initialize(TreatmentUnit tUnit, int period, Treatment treatment, IList&amp;lt;Result&amp;gt; results, FellingValue value)&lt;br /&gt;
        {&lt;br /&gt;
            _soilMoistType = tUnit.SiteData.SoilMoistCode;&lt;br /&gt;
            _treatment = treatment;&lt;br /&gt;
            _treatmentUnit = tUnit;&lt;br /&gt;
            _period = period;&lt;br /&gt;
 &lt;br /&gt;
            _terrainTransportDistance = (Configuration.TerrainTransportDistanceDataSource == DataSource.DefaultValue || _treatmentUnit.StandObjectData == null) ?&lt;br /&gt;
                Configuration.TerrainTransportDistance :&lt;br /&gt;
                _terrainTransportDistance = _treatmentUnit.StandObjectData.TerrainTransportDistance.GetValueOrDefault((int)Configuration.TerrainTransportDistance);&lt;br /&gt;
&lt;br /&gt;
            _surface = (Configuration.SurfaceDataSource == DataSource.DefaultValue || _treatmentUnit.StandObjectData == null) ?&lt;br /&gt;
                Configuration.Surface :&lt;br /&gt;
                _treatmentUnit.StandObjectData.Surface.GetValueOrDefault(Configuration.Surface);&lt;br /&gt;
            if ((int)_surface &amp;lt; 1)&lt;br /&gt;
                _surface = Configuration.Surface;&lt;br /&gt;
&lt;br /&gt;
            _slope = (Configuration.SlopeDataSource == DataSource.DefaultValue) ?&lt;br /&gt;
                Configuration.Slope :&lt;br /&gt;
                _treatmentUnit.SiteData.Slope.GetValueOrDefault(Configuration.Slope);&lt;br /&gt;
            if ((int)_slope &amp;lt; 1)&lt;br /&gt;
                _slope = Configuration.Slope;&lt;br /&gt;
&lt;br /&gt;
            _terrainRoadSlope = _treatmentUnit.StandObjectData == null ? _slope:&lt;br /&gt;
                _terrainRoadSlope = _treatmentUnit.StandObjectData.TerrainRoadSlope.GetValueOrDefault(_slope);&lt;br /&gt;
            if ((int)_terrainRoadSlope &amp;lt; 1)&lt;br /&gt;
                _terrainRoadSlope = _slope;&lt;br /&gt;
&lt;br /&gt;
            _soilMoistType = _treatmentUnit.SiteData.SoilMoistCode;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Calculates the cost of a treatment.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;tUnit&amp;quot;&amp;gt;Treatment unit that has been treated&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;period&amp;quot;&amp;gt;Period to calculate cost for&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;treatment&amp;quot;&amp;gt;Treatment that has been applied&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;results&amp;quot;&amp;gt;Existing results for treatment unit&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;value&amp;quot;&amp;gt;Felling value&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Cost of treatment&amp;lt;/returns&amp;gt;&lt;br /&gt;
        public virtual Cost CalculateCost(TreatmentUnit tUnit, int period, Treatment treatment, IList&amp;lt;Result&amp;gt; results, FellingValue value)&lt;br /&gt;
        {&lt;br /&gt;
            Initialize(tUnit, period, treatment, results, value);&lt;br /&gt;
&lt;br /&gt;
            var trmtType = treatment.TreatmentType;&lt;br /&gt;
&lt;br /&gt;
            switch (trmtType)&lt;br /&gt;
            {&lt;br /&gt;
                case TreatmentType.Planting:&lt;br /&gt;
                    return PlantingCost();&lt;br /&gt;
                case TreatmentType.Sowing:&lt;br /&gt;
                    return SowingCost();&lt;br /&gt;
                case TreatmentType.Fertilization:&lt;br /&gt;
                    return FertilizationCost();&lt;br /&gt;
                case TreatmentType.SoilPreparation:&lt;br /&gt;
                    return PreparationCost();&lt;br /&gt;
                case TreatmentType.Burning:&lt;br /&gt;
                    return BurningCost();&lt;br /&gt;
                default:&lt;br /&gt;
                    return new Cost(0.0);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public virtual GenericPropertyArray&amp;lt;double&amp;gt; CustomFunctionParameters { get; set; } = null;&lt;br /&gt;
&lt;br /&gt;
        public virtual string Name { get { return string.Empty; } }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Creating a plugin that derives from CostCalculatorBase====&lt;br /&gt;
ICostCalculator : IPlugin&lt;br /&gt;
CostCalculatorBase : ICostCalculator&lt;br /&gt;
CostCalcultorHarvestBase : CostCalculatorBase &lt;br /&gt;
CostCalculatorSkogforskAdvanced : CostCalcultorHarvestBase &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Creating a plugin that derives from time consumption function SkogforskAdvanced====&lt;br /&gt;
Below is a code example for a plugin that derives from Heureka's default time consumption function for harvesting and forwarding (SkogforskAdvanced).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Getting Heureka to load the plugins==&lt;br /&gt;
&lt;br /&gt;
Plugins are loaded from the current user's \Documents\Heureka\Common\Plugins directory. If successful, the plugin will show up in the drop-down box for that particular feature.&lt;br /&gt;
&lt;br /&gt;
If a plugin failed to load, an error will show up in the 'General' output window with information of what went wrong.&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Forest_Data_Results&amp;diff=10649</id>
		<title>Forest Data Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Forest_Data_Results&amp;diff=10649"/>
		<updated>2022-12-19T10:14:40Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This result group contains: [[ResultCategoryDescription::State for each treatment unit. Results include data for each treatment unit, alternative and time period. Please note that species-wise data is placed in a separate group (Data per Species).]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 50%;&amp;quot;|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| Mean Age (excl. overstorey)||yr||Mean total age for non-overstorey trees, basal area weighted if established stand, arithmetic of main saplings if young stand&lt;br /&gt;
|-&lt;br /&gt;
| Mean Age ||yr||Basal area weighted mean age all trees, including overstorey trees. &lt;br /&gt;
|-&lt;br /&gt;
| Mean Age Main Saplings||m||Mean age of main saplings&lt;br /&gt;
|-&lt;br /&gt;
| Stand Age||yr||Years since regeneration&lt;br /&gt;
|-&lt;br /&gt;
| Basal area (incl. overstorey)||m&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;/ha||Basal area including overstorey trees&lt;br /&gt;
|-&lt;br /&gt;
| Basal area (excl. overstorey)||m&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;/ha||Basal area excl. Overstorey&lt;br /&gt;
|-&lt;br /&gt;
| Basal area (overstorey)||m&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;/ha||Basal area of overstorey trees (retention-, seed- and shelterwood trees)&lt;br /&gt;
|-&lt;br /&gt;
| Closure||unitless||Ratio between the volume of the forest, compared to the volume that would be optimal to harness the wood production potential of the site. In young stands, the number of main saplings is used instead of volume.&lt;br /&gt;
|-&lt;br /&gt;
| {{DgvLink}} ||cm ||Basal area weighted mean diameter of trees, excluding overstorey trees&lt;br /&gt;
|-&lt;br /&gt;
| {{DgvLink}}  Overstorey||cm ||Basal area weighted mean diameter of overstorey trees &lt;br /&gt;
|-&lt;br /&gt;
| {{HgvLink}}||m||Basal area weighted mean height for non-overstorey trees &lt;br /&gt;
|-&lt;br /&gt;
| {{HgvLink}} Overstorey||m||Basal area weighted mean height for overstorey trees (retention-, seed- and shelterwood trees)&lt;br /&gt;
|-&lt;br /&gt;
| Mean Height Main Saplings (arithmetic)||m||Arithmetic mean height for main saplings (calculated as weighted averaged using calculated crop tree probabibilites as weights)&lt;br /&gt;
|-&lt;br /&gt;
| Mean Height All Saplings (arithmetic)||m||Arithmetic mean height for all saplings&lt;br /&gt;
|-&lt;br /&gt;
| SI Management||H100 m||Site index for management to be used when calculating minimum final felling age (LSÅ)&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Species||species||Regeneration species or species with largest basal area or stems&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Height||m||Dominant height based on the 100 largest trees (with respect to tree diameter) per ha of dominant species&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Height From {{DgvLink}}||m||Dominant height calculated with a function using Hgv as explantory variable (Björn Elfving)&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Height From Trees||m||Dominant height calculated from tree list&lt;br /&gt;
|-&lt;br /&gt;
| Initial Min Final Felling Age||yr||Initial minimum final felling age (in year 0). &lt;br /&gt;
|-&lt;br /&gt;
| Min Final Felling Age||yr||Minimum final felling age. This can change over time if the next generation is regenerated with another species, or if climate models are applied (cf. SIS (projected) below).&lt;br /&gt;
|-&lt;br /&gt;
| Volume (incl. overstorey)||{{m3skLink}}||Volume (incl. overstorey)&lt;br /&gt;
|-&lt;br /&gt;
| Volume overstorey||{{m3skLink}}||Volume of overstorey trees (retention-, seed- and shelterwood trees)&lt;br /&gt;
|-&lt;br /&gt;
| Volume (excl. overstorey)||{{m3skLink}}||Volume (excl. overstorey)&lt;br /&gt;
|-&lt;br /&gt;
| Volume &amp;amp;ge; 8cm dbh (incl. overstorey)||{{m3skLink}}||Volume of trees &amp;amp;ge; 8 cm dbh (incl. overstorey)&lt;br /&gt;
|-&lt;br /&gt;
| Stems||stems/ha||Stem density (all trees)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;Regeneration Species&amp;quot;&amp;gt;Regeneration Species&amp;lt;/div&amp;gt;||[[Definition:SpeciesCode|SpeciesCode]]||Species for which the current rotation was regenerated (if even-aged management), or dominant species if regeneration species is unknown&lt;br /&gt;
|-&lt;br /&gt;
| Waiting State||true/false||True if young stand that has not yet reach 2-3 meters height and is waiting to be activated. Interpolated state.&lt;br /&gt;
|-&lt;br /&gt;
| SIS (projected)||H100 m ||[[Variable:SiteIndex|Site index]] determined from site index factors, and adjusted for climate change if climate model is actived. &lt;br /&gt;
|-&lt;br /&gt;
| SIH (estimated)||H100 m ||see [[Variable:SiteIndexH (SIH)]]. Calculated with site index equations for height development of dominant trees. H100, for birch H50. &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Result Variables]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Forest_Data_Results&amp;diff=10648</id>
		<title>Forest Data Results</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Forest_Data_Results&amp;diff=10648"/>
		<updated>2022-12-19T10:10:32Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Added explanation on Min Final Felling Age climate sensitivity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This result group contains: [[ResultCategoryDescription::State for each treatment unit. Results include data for each treatment unit, alternative and time period. Please note that species-wise data is placed in a separate group (Data per Species).]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 30%;&amp;quot;|'''Variable name'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 20%;&amp;quot;|'''Unit'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background:#f0f0f0;width: 50%;&amp;quot;|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| Mean Age (excl. overstorey)||yr||Mean total age for non-overstorey trees, basal area weighted if established stand, arithmetic of main saplings if young stand&lt;br /&gt;
|-&lt;br /&gt;
| Mean Age ||yr||Basal area weighted mean age all trees, including overstorey trees. &lt;br /&gt;
|-&lt;br /&gt;
| Mean Age Main Saplings||m||Mean age of main saplings&lt;br /&gt;
|-&lt;br /&gt;
| Stand Age||yr||Years since regeneration&lt;br /&gt;
|-&lt;br /&gt;
| Basal area (incl. overstorey)||m&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;/ha||Basal area including overstorey trees&lt;br /&gt;
|-&lt;br /&gt;
| Basal area (excl. overstorey)||m&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;/ha||Basal area excl. Overstorey&lt;br /&gt;
|-&lt;br /&gt;
| Basal area (overstorey)||m&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;/ha||Basal area of overstorey trees (retention-, seed- and shelterwood trees)&lt;br /&gt;
|-&lt;br /&gt;
| Closure||unitless||Ratio between the volume of the forest, compared to the volume that would be optimal to harness the wood production potential of the site. In young stands, the number of main saplings is used instead of volume.&lt;br /&gt;
|-&lt;br /&gt;
| {{DgvLink}} ||cm ||Basal area weighted mean diameter of trees, excluding overstorey trees&lt;br /&gt;
|-&lt;br /&gt;
| {{DgvLink}}  Overstorey||cm ||Basal area weighted mean diameter of overstorey trees &lt;br /&gt;
|-&lt;br /&gt;
| {{HgvLink}}||m||Basal area weighted mean height for non-overstorey trees &lt;br /&gt;
|-&lt;br /&gt;
| {{HgvLink}} Overstorey||m||Basal area weighted mean height for overstorey trees (retention-, seed- and shelterwood trees)&lt;br /&gt;
|-&lt;br /&gt;
| Mean Height Main Saplings (arithmetic)||m||Arithmetic mean height for main saplings (calculated as weighted averaged using calculated crop tree probabibilites as weights)&lt;br /&gt;
|-&lt;br /&gt;
| Mean Height All Saplings (arithmetic)||m||Arithmetic mean height for all saplings&lt;br /&gt;
|-&lt;br /&gt;
| SI Management||H100 m||Site index for management to be used when calculating minimum final felling age (LSÅ)&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Species||species||Regeneration species or species with largest basal area or stems&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Height||m||Dominant height based on the 100 largest trees (with respect to tree diameter) per ha of dominant species&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Height From {{DgvLink}}||m||Dominant height calculated with a function using Hgv as explantory variable (Björn Elfving)&lt;br /&gt;
|-&lt;br /&gt;
| Dominant Height From Trees||m||Dominant height calculated from tree list&lt;br /&gt;
|-&lt;br /&gt;
| Initial Min Final Felling Age||yr||Initial minimum final felling age (in year 0). &lt;br /&gt;
|-&lt;br /&gt;
| Min Final Felling Age||yr||Minimum final felling age. This can change over time if the next generation is regenerated with another species, or if climate models are applied (cf. SIS (projected below)).&lt;br /&gt;
|-&lt;br /&gt;
| Volume (incl. overstorey)||{{m3skLink}}||Volume (incl. overstorey)&lt;br /&gt;
|-&lt;br /&gt;
| Volume overstorey||{{m3skLink}}||Volume of overstorey trees (retention-, seed- and shelterwood trees)&lt;br /&gt;
|-&lt;br /&gt;
| Volume (excl. overstorey)||{{m3skLink}}||Volume (excl. overstorey)&lt;br /&gt;
|-&lt;br /&gt;
| Volume &amp;amp;ge; 8cm dbh (incl. overstorey)||{{m3skLink}}||Volume of trees &amp;amp;ge; 8 cm dbh (incl. overstorey)&lt;br /&gt;
|-&lt;br /&gt;
| Stems||stems/ha||Stem density (all trees)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;div id=&amp;quot;Regeneration Species&amp;quot;&amp;gt;Regeneration Species&amp;lt;/div&amp;gt;||[[Definition:SpeciesCode|SpeciesCode]]||Species for which the current rotation was regenerated (if even-aged management), or dominant species if regeneration species is unknown&lt;br /&gt;
|-&lt;br /&gt;
| Waiting State||true/false||True if young stand that has not yet reach 2-3 meters height and is waiting to be activated. Interpolated state.&lt;br /&gt;
|-&lt;br /&gt;
| SIS (projected)||H100 m ||[[Variable:SiteIndex|Site index]] determined from site index factors, and adjusted for climate change if climate model is actived. &lt;br /&gt;
|-&lt;br /&gt;
| SIH (estimated)||H100 m ||see [[Variable:SiteIndexH (SIH)]]. Calculated with site index equations for height development of dominant trees. H100, for birch H50. &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Result Variables]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Optimization&amp;diff=10645</id>
		<title>Optimization</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Optimization&amp;diff=10645"/>
		<updated>2022-12-16T00:17:31Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User's Guides]]&lt;br /&gt;
[[Category:Optimization]]&lt;br /&gt;
&lt;br /&gt;
==New help documentation==&lt;br /&gt;
See also {{HeurekaHelpLinkEng}}optimering.htm , under construction.&lt;br /&gt;
&lt;br /&gt;
==About the optimization tool==&lt;br /&gt;
====Assignment problem====&lt;br /&gt;
The optimization problem solved in Heureka can be categorized as an '''assignment problem''': Each treatment unit should be assigned a treatment schedule.  The problem types handled are linear programming (LP) and 0/1 mixed-integer linear programming (MIP or MILP). The difference between the two is how treatment schedules are assigned. If a treatment unit can be assigned one and only one alternative, then the associated decision variables are set to binary (by the user). If the management of a treatment unit can be &amp;quot;split&amp;quot; and spatial integrity is not an issue, then these variables can be treated as continuous variables (default). In this case the value of the decision variables refers to the proportion of treatment unit area that should be managed with a certain schedule. More information on decision variables is given below.&lt;br /&gt;
&lt;br /&gt;
====ZIMPL====&lt;br /&gt;
For PlanWise a very flexible optimization tool is built-in for formulating and solving LP and MIP problems. The optimization tool is basically a graphical user interface to the [http://zimpl.zib.de/ ZIMPL optimization modelling language]. For solving a problem, external third-party solvers are used and directly linked to the optimization tool. Currently, the solvers available are listed below:&lt;br /&gt;
&lt;br /&gt;
====Solvers====&lt;br /&gt;
For solving a problem, external third-party solvers are used and directly linked to the optimization tool. Currently, the solvers available are &lt;br /&gt;
&lt;br /&gt;
*[https://www.coin-or.org/ CoinOR CLP/CBC], which is freely available under the Eclipse public license v 2.0 and included in the Heureka installation. &lt;br /&gt;
*[https://soplex.zib.de SoPlex], which is freely available for academic use. You will need the SCIP Windows binary (exe) file (&amp;quot;SCIP version 3.0 (Windows/PC 64 bit)&amp;quot; has been tested with Heureka), and specify the path under Settings. &lt;br /&gt;
*[https://www.gurobi.com Gurobi&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], versions 9.0 - 10.0&lt;br /&gt;
*[https://www.ibm.com/support/pages/how-do-i-download-cplex-optimization-studio?mhsrc=ibmsearch_a&amp;amp;mhq=cplex IBM CPLEX&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], version 22.1.0 &lt;br /&gt;
*[https://www.mosek.com MOSEK&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], version 7-8.1&lt;br /&gt;
*[https://www.fico.com/en/products/fico-xpress-solver FICO Xpress&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], version 7.9&lt;br /&gt;
&lt;br /&gt;
CPLEX, Gurobi, Xpress and MOSEK are very efficient, state-of-the-art solvers. They require a license, which can be obtained for free for academic use. These solvers must be obtained and installed by the user, they are not distributed with the Heureka install package.&lt;br /&gt;
&lt;br /&gt;
CoinOR CLP/CBC is an efficient free alternative and performs well in benchmarks.  &lt;br /&gt;
&lt;br /&gt;
LpSolve is no longer supported (from version 2.20).&lt;br /&gt;
&lt;br /&gt;
====Integration with prognosis data====&lt;br /&gt;
The optimization model is linked to a Heureka-formatted SQL Server database used for storing input data, simulation data, and result data. This enables a seamless integration with the input data required by the optimization model, as well as direct presentation of optimization results in the form of tables, graphs, and maps. This simplifies the analysis and visualization of scenarios or plans of forest development and outputs.  &lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
{{:Optimization_Settings}}&lt;br /&gt;
&lt;br /&gt;
==Managing models==&lt;br /&gt;
A standard optimization model is distributed with the program. There is also the opportunity to create a new model from scratch, or to use a wizard guide to taylor an optimization model with some of the most common objective functions and restrictions. All these models can then be further modified and saved by the user.&lt;br /&gt;
&lt;br /&gt;
To create and save models, used the buttons at the top of Optimization Model window, or the Model Wizard button in the Models section further down in the same window.&lt;br /&gt;
&lt;br /&gt;
For more info on the Model Wizard, please confer [https://www.heurekaslu.se/help/en/index.htm?model_wizard.htm the Heureka Help]&lt;br /&gt;
&lt;br /&gt;
==Editing an optimization model==&lt;br /&gt;
====Sets====&lt;br /&gt;
When you create a new model, the following set are added automatically:&lt;br /&gt;
* treatmentUnits: Set of all treatment units. Index = i.&lt;br /&gt;
* alternatives: Set of all management schedule numbers. Index = j. Note: Alternative j for one treatment unit has nothing to with alternative j for another unit. The number of available j:s varies between treatment units.&lt;br /&gt;
* periods: Time periods. Index = p. The length of a period is five years in strategic planning, and one year in tactical planning.&lt;br /&gt;
* rowNo: Index for the treatment number in a time period that a treatment unit alternative refers to.&lt;br /&gt;
&lt;br /&gt;
When adding opening size constraints (from the menu Optimization &amp;gt; Add Opening Size Constraint), additional sets are added.&lt;br /&gt;
&lt;br /&gt;
You can also add arbitrary sets manually, for e.g. organizational units, road ID columns, and so on.&lt;br /&gt;
&lt;br /&gt;
====Decision variables====&lt;br /&gt;
When you create a new model, some basic problem elements are added automatically (the sets and some constraints), including the most important decision variables. The decision variable &amp;lt;code&amp;gt;x[i,j] &amp;lt;/code&amp;gt; is always added:&lt;br /&gt;
&lt;br /&gt;
x[i,j] = proportion of the area of treatment unit ''i'' that is managed with management schedule ''j''.&lt;br /&gt;
&lt;br /&gt;
By default, the x[i,j] variables are continuous (non-integer) and bounded between 0 and 1. You can change the variable to binary (0/1-integer) by changing its RangeType to Binary, thus changing the problem type from LP to MIP.&lt;br /&gt;
&lt;br /&gt;
A constraint called &amp;lt;code&amp;gt;maxArea &amp;lt;/code&amp;gt; is also added automatically. It ensures that the area managed for each treatment unit is correct, so that the whole area (no more and no less) is assigned a schedule. Each treatment unit must be fully assigned a management. &amp;quot;No management&amp;quot; may be counted as an alternative, depending on what control categories are used when generating the alternative with the Treatment Program Generator.&lt;br /&gt;
&lt;br /&gt;
====Adding an accounting variable====&lt;br /&gt;
Accounting variables are preferrably added to the optimization model to improve readability and simplify the writing of constraints. An accounting variable is ''defined'' - it is a function of other decision variables in the model. The definition is actually an equality constraint in the the optimization model. &lt;br /&gt;
&lt;br /&gt;
One example of a useful accounting variable is total harvested volume in a period. This variable can then be used in other constraints.&lt;br /&gt;
&lt;br /&gt;
To add an accounting variable:&lt;br /&gt;
# In the Optimization Model window, right-click in the &amp;quot;Variables&amp;quot; section and Select &amp;quot;Add new variable&amp;quot;&lt;br /&gt;
# Right-click on the variable and change its name from &amp;lt;code&amp;gt;&amp;quot;DefaultName...&amp;quot;&amp;lt;/code&amp;gt; to something more proper, in the example below &amp;lt;code&amp;gt;volTot&amp;lt;/code&amp;gt;.&lt;br /&gt;
# To define an indexed variable, for example to have one variable for each time period, click on Data binding &amp;gt; Sets, and add the index set, for example &amp;quot;periods&amp;quot;. After that the variable name should have a suffix (&amp;lt;code&amp;gt;[p]&amp;lt;/code&amp;gt;).&lt;br /&gt;
# In the syntax window, type the definition with the the expression on the left side and the name of the variable on the right-hand side of an equality-symbol marked as &amp;lt;code&amp;gt;&amp;quot;==&amp;quot;&amp;lt;/code&amp;gt;. Example: An ccounting variable for total stand volume is defined, with an index p for time period. Note that before adding the variable, the parameter &amp;lt;code&amp;gt;volume[i,j,p]&amp;lt;/code&amp;gt; (which is linked to the Heureka result variable Forest Data.Volume Before) must have been added. Syntax:&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;FORALL &amp;lt;p&amp;gt; IN periods DO &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; SUM &amp;lt;i,j&amp;gt; IN treatmentunits * alternatives WITH altIncluded[i,j] == 1:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; volume[i,j,p] * area[i] * x[i,j] == volTot[p]; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Important!''' By default, a variable (decision or accounting) has the property RangeType set to non-negative. This means that negative values are considered infeasible. For example, a volume cannot be negative. However, some accounting variables should  be allowed to take negative values, for example the net revenue in a period can be negative if costs are larger than revenues. In this case you must change its RangeType to &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Adding a parameter which is linked to a prognosis variable ====&lt;br /&gt;
The coefficients in the LP-models (the coefficient matrix is usually denoted as '''A''') are constant values in the optimization model. In Heureka, these coefficients are generated by the Treatment Program Generator and referred to as Heureka result variables. A coefficient may represent for example stand volume for a given treatment unit, management schedule alternative, and time period.&lt;br /&gt;
Hence, stand volume is a variable in a prognosis, but a constant/parameter in the optimization model. &lt;br /&gt;
&lt;br /&gt;
# In the Optimization Model window, right-click in the &amp;quot;Parameters&amp;quot;-section and Select &amp;quot;Add new parameter&amp;quot;&lt;br /&gt;
# Type a name, for example &amp;quot;pulpWood&amp;quot; (without apostrophes)&lt;br /&gt;
# Let &amp;quot;Heureka result variable&amp;quot; be selected&lt;br /&gt;
# Click Next&lt;br /&gt;
# Select Financial Value &amp;gt; PulpWood Volume Total (if this is the variable you are interested in)&lt;br /&gt;
# Click Finish&lt;br /&gt;
&lt;br /&gt;
To check what Heureka variable a certain parameter is linked to:&lt;br /&gt;
# Select the parameter&lt;br /&gt;
# In the Properties window for the parameter (under the syntax window), under Databinding &amp;gt; ResultProperty, you can see what Heureka variable the parameter is bounded to. If you click on it you can change the binding.&lt;br /&gt;
&lt;br /&gt;
====Adding a parameter that has a definition====&lt;br /&gt;
# In the Optimization Model window, right-click in &amp;quot;Parameters&amp;quot; section and Select &amp;quot;Add new parameter&amp;quot;&lt;br /&gt;
# Type a name, for example &amp;quot;totalArea&amp;quot; (without apostrophes)&lt;br /&gt;
# Select &amp;quot;Formula&amp;quot; as parameter type&lt;br /&gt;
# Click Next&lt;br /&gt;
# In the syntax window, type the defiintion, for example &lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sum &amp;lt;i&amp;gt; in treatmentunits: area[i];&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  &lt;br /&gt;
#:(This can be edited later)&lt;br /&gt;
# Click Finish&lt;br /&gt;
&lt;br /&gt;
;Note 1: When defining an accounting variable (see above), you would also add a definition to the variable itself, such as &amp;lt;code&amp;gt;== VariableName&amp;lt;/code&amp;gt;. For a defined parameter, you only type the expression.&lt;br /&gt;
;Note 2: A shortcoming of a parameter with a formula is that you cannot preview its value.&lt;br /&gt;
&lt;br /&gt;
====Adding a constraint====&lt;br /&gt;
# In the Optimization Model window, right-click in &amp;quot;Constraints&amp;quot; and select &amp;quot;Add new constraint&amp;quot;&lt;br /&gt;
# Type a name, for example &amp;quot;MinOldForestArea&amp;quot; (without apostrophes)&lt;br /&gt;
# Click OK&lt;br /&gt;
# Select the constraint in the model tree and type the definition in the syntax window. For example, to add a constraint to ensure a non-declining harvest over time, you would type:&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;forall &amp;lt;p&amp;gt; in periods with p &amp;gt;= 1 : TotalHarvestVolume[p] &amp;gt;= TotalHarvestVolume*[p-1];&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  &lt;br /&gt;
#:(If you have defined an accounting variable for total harvest volume)&lt;br /&gt;
# Click Finish&lt;br /&gt;
&lt;br /&gt;
;Note: For constraints, you do not add indices explicitly as you do with variables. In the example, we do not add &amp;quot;p&amp;quot; for periods, but the &amp;quot;forall&amp;quot;-statement will take care of generating one constraint for each time period.&lt;br /&gt;
&lt;br /&gt;
;Tip: Use accounting variables in constraints to simplify reading and formulating the model, as well as to minimize problem size (considerably fewer coefficients and only a few additional variables).&lt;br /&gt;
&lt;br /&gt;
====Adding opening size constraints====&lt;br /&gt;
The generation of an EARM-model (see Goycoolea et al 2005) &amp;lt;ref name=&amp;quot;Goycoolea&amp;quot;&amp;gt; Goycoolea, M., Murray, A. T., Barahona, F., Epstein, R., Weintraub, A. 2005. Harvest scheduling subject to maximum area restrictions: Exploring exact approaches. Operations Research, 2005. Volume 53. Number 3.[http://mgoycool.uai.cl/papers/mgw04.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
is automated. The original model have been adapted to suit the way management alternatives are handled in Heureka (decision variables are defined for complete treatment schedules instead of single treatment activities). To formulate and EARM-model, select Add Opening Size Constraints from menu Optimization. &lt;br /&gt;
&lt;br /&gt;
To use this functionality, you must have provided a [[Import_of_forest_map_and_background_image | forest map]].&lt;br /&gt;
There is a built-in function to compute adjacency pairs, and enumeration of harvest blocks (combinations of polygons) that meet a given maximum opening size tolerance. (The computed adjacency pairs and their common border lengths can also be used in user-defined spatial constraints such as a URM (Unit Restriction Model)). The program can then calculate all feasible combinations of treatment units (that form harvest clusters), compute all so called cliques, and all constraints necessary. For more info, see &amp;lt;ref name=&amp;quot;Goycoolea&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A very fast algorithm has been developed in Heureka to compute what Goycoolea et al (2005) refer to as cliques and clusters.&lt;br /&gt;
&lt;br /&gt;
====Linking management in partial set-asides to parent stands====&lt;br /&gt;
*Partial set-asides (hänsynsytor) within stands can be handled as separate treatment units, in which no harvest activities are carried out. The development in such set-asides is in reality affected by the surroundings in the way that the risk of mortality increases in the set-aside after clear-cutting the main stand. In PlanWise, you can let the program generate alternatives for the set-aside area for each management program generated for the main stand, let the mortality be affected by when and if clear-cutting takes place in the main stand, and also choose to link nature conservation management activities to coincide with management activities in the parent stand. This is non-default, by default only one alternative is generated for the set-aside. If choosing the non-default optiona link between the set-aside and the main stand is added automatically to the optimization model. Read more here: http://heurekaslu.se/help/index.html?naturvardsatgarder.htm, section &amp;quot;Lämnande av hänsynsytor&amp;quot; (only in Swedish).&lt;br /&gt;
&lt;br /&gt;
====Using neighborhood relations for habitat analyses====&lt;br /&gt;
Neighborhood areas can be calculated for each stand. This means that for a user-specified radius originating from the centroid of each stand, the area for every other stand that is overlapped by the circle is computed. This information can then be used in optimization models that take habitat area requirements into account (see [http://www.nrcresearchpress.com/doi/abs/10.1139/x10-232#.Uz5hhfmSx8E Öhman et. al 2011]). The necessary variables can be added to any optimization model, for modification of the habitat conditions to reflect the species of interest. &lt;br /&gt;
&lt;br /&gt;
The needed model parameters, variables, and constraints for including a habitat demands are pre-formulated in Heureka and can automatically be included in the model formulation of an optimization problem. This is done by adding neighbourhood constraints available in the optimization tab (Optimization / Add Neighborhood Constraints). After this is done the user must specify three parameters in the optimization model:&lt;br /&gt;
*the stand specific conditions that should be fulfilled before a stand qualifies as a habitat (the habitat condition parameter, habitatCondition[i,j,p), &lt;br /&gt;
*the amount of suitable habitat required within a stand's neighbourhood for the stand to be qualified as habitat (minHabitatAreaInNeighbourhood)&lt;br /&gt;
*the minimum proportion of the entire forest that should meet the habitat conditions in each period (minTotalHabitatAreaProportion)&lt;br /&gt;
Before solving the optimization problem, the user must also run the tool ”compute stand neighbourhood” to calculate the area of each other stand that is within the neighboring area of a stand. When this tool is executed the parameter standNeighbourhood is filled out.&lt;br /&gt;
&lt;br /&gt;
==Solving problems and saving optimization results==&lt;br /&gt;
When a problem has been formulated and is ready to be solved, and you have run the Treatment Program Generator (TPG), the problem is ready to be solved:&lt;br /&gt;
#Right-click in the optimization model tree view, and select &amp;quot;Compile and Solve&amp;quot;&lt;br /&gt;
#Select the TPG result that the optimization model will be solved for and click OK&lt;br /&gt;
#Wait until the solver has finished&lt;br /&gt;
&lt;br /&gt;
After solving, you will see the problem status in the output window (at the bottom). If you have obtained a feasible solution the solution status will be reported as &amp;quot;Optimal&amp;quot;. To be able to view the optimization results in [[User'27s_guide_to_PlanWise#Analyzing_Results | reports]], you must first '''save the optimization result'''. You do this by clicking on the button &amp;quot;Save Optimization Result&amp;quot;, at the top of the Optimization Model window.&lt;br /&gt;
&lt;br /&gt;
====Infeasible solution?====&lt;br /&gt;
If the problem status is Infeasible, no solution has been found. There are two main reason why this may occur:&lt;br /&gt;
*There is some error in the optimization model.&lt;br /&gt;
*No solution exists. The constraints are too severe. &lt;br /&gt;
&lt;br /&gt;
To identify the cause of the problem, include constraints, one by one, in a systematic order. Try to solve the problem after including each constraint.&lt;br /&gt;
;Note: Do not exclude the constraint &amp;quot;maxArea&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Importing optimization solutions from external sources==&lt;br /&gt;
You can use an external analytics software to solve your optimization problem outside the interface of PlanWise, for example AIMMS, AMPL, Python or R. It is then possible to import that solution to PlanWise, for example to use the report tool to build charts. See the Help for further instructions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Download_and_install/sv&amp;diff=10639</id>
		<title>Download and install/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Download_and_install/sv&amp;diff=10639"/>
		<updated>2022-12-15T08:19:59Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Tagit bort överflödig info om Cplex insticks-dll&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Download_and_install}}&lt;br /&gt;
&lt;br /&gt;
==Registrering==&lt;br /&gt;
Heurekas programvaror är gratis att används men vi vill att du registrerar dig: [{{HeurekaRegisterUrlSv}} Registreringssida]&lt;br /&gt;
&lt;br /&gt;
== Licens ==&lt;br /&gt;
För Heurekas programvaror gäller följande licensvillkor: [[Heureka_EULA | End-User License Agreement (EULA)]].&lt;br /&gt;
&lt;br /&gt;
==Systemkrav==&lt;br /&gt;
Windows XP3, Windows Vista, Windows 7 eller Windows 10&lt;br /&gt;
&amp;lt;br&amp;gt;64 bitar&lt;br /&gt;
&lt;br /&gt;
== Instruktioner ==&lt;br /&gt;
Se [{{HeurekaHelpLink}}installera_heureka.htm Heurekas hjäldokumentation]&lt;br /&gt;
&lt;br /&gt;
==Hämta programvaror==&lt;br /&gt;
&amp;lt;!--'''Vi har för närvarande problem med MSI version 2.5, men så fort det är löst blir de tillgängliga.'''--&amp;gt;&lt;br /&gt;
Notera att den automatiska uppgraderingen från version 2.4 inte fungerar denna gång, och du måste avinstallera gamla versioner innan du installerar version 2.5.&lt;br /&gt;
====MSI (rekommenderat)====&lt;br /&gt;
MSI ([http://en.wikipedia.org/wiki/Windows_Installer Windows Installer]) innebär att programmet installeras som ett &amp;quot;vanligt&amp;quot; program under t ex C:\Program Files. &lt;br /&gt;
&lt;br /&gt;
{{#clear_external_data:}} &lt;br /&gt;
{{#get_web_data:url={{HeurekaPublishUrl}}MSIversions.xml&lt;br /&gt;
|format=XML&lt;br /&gt;
|data=x86version=x86,x64version=x64,HabitatPrognosis=HabitatPrognosis,StandWise=x32Subset}}&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Application'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Platform'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Note'''&lt;br /&gt;
|-&lt;br /&gt;
| StandWise, PlanWise, PlanEval, RegWise ||x64 (64-bit)|| [{{HeurekaPublishUrl}}MSI/Slu.Heureka.Setup_x64.msi {{#external_value:x64version}}] || &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|-&lt;br /&gt;
| StandWise, PlanWise, PlanEval, RegWise ||x86 (32-bit)|| [{{HeurekaPublishUrl}}MSI/Slu.Heureka.Setup_x86.msi {{#external_value:x86version}}] || &lt;br /&gt;
|-&lt;br /&gt;
| StandWise || x86 (32-bit)|| [{{HeurekaPublishUrl}}MSI/Slu.Heureka.Setup_StandWise_x86.msi {{#external_value:StandWise}}] || StandWise kan bara köras som 32-bitars version (men fungerar på 64-bitars system!).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Clickonce====&lt;br /&gt;
&amp;quot;ClickOnce&amp;quot; innebär att programmet installeras under användares egen profil, och administratör-rättigheter behövs inte (vilket dock behövs för att installera SQL Server). Nackdelen med ClickOnce är att de olika applikationerna installerar varsin Heureka-kärna, vilket gör att programmen tar något mer plats på din hårddisk (ca 50 MB per applikation).&lt;br /&gt;
&lt;br /&gt;
{{#get_web_data:url={{HeurekaPublishUrl}}ClickOnceVersions.xml&lt;br /&gt;
|format=XML&lt;br /&gt;
|data=StandWise=StandWise,PlanWise=PlanWise,PlanStart=PlanStart,RegWise=RegWise,PlanEval=PlanEval,HabitatPrognosis=HabitatPrognosis}}&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Applikation'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
|-&lt;br /&gt;
| BeståndsVis (StandWise)||[{{HeurekaPublishUrl}}ClickOnce/StandWise/setup.exe {{#external_value:StandWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanVis||[{{HeurekaPublishUrl}}ClickOnce/PlanWise/setup.exe {{#external_value:PlanWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| RegVis||[{{HeurekaPublishUrl}}ClickOnce/RegWise/setup.exe {{#external_value:RegWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanEval||[{{HeurekaPublishUrl}}ClickOnce/PlanEval/setup.exe {{#external_value:PlanEval}}]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{{#clear_external_data:}} &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''Beta-versioner:'''&lt;br /&gt;
{{#get_web_data:url={{HeurekaPublishUrl}}test/ClickOnceVersions.xml&lt;br /&gt;
|format=XML&lt;br /&gt;
|data=StandWise=StandWise,PlanWise=PlanWise,PlanStart=PlanStart,RegWise=RegWise,PlanEval=PlanEval,HabitatPrognosis=HabitatPrognosis}}&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Applikation'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
|-&lt;br /&gt;
| BeståndsVis (StandWise)||[{{HeurekaPublishUrl}}test/ClickOnce/StandWise/setup.exe {{#external_value:StandWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanVis||[{{HeurekaPublishUrl}}test/ClickOnce/PlanWise/setup.exe {{#external_value:PlanWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| RegVis||[{{HeurekaPublishUrl}}test/ClickOnce/RegWise/setup.exe {{#external_value:RegWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanEval||[{{HeurekaPublishUrl}}test/ClickOnce/PlanEval/setup.exe {{#external_value:PlanEval}}]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
====Tidigare versioner====&lt;br /&gt;
Tidigare versioner kan hämtas här (endast som MSI):&lt;br /&gt;
[{{HeurekaPublishUrl}}MSI/Archive/ Arkiv]&lt;br /&gt;
&lt;br /&gt;
==Hämta ytterligare Heureka-programvaror==&lt;br /&gt;
&lt;br /&gt;
====PlanEvalWeb====&lt;br /&gt;
Se [[PlanEvalWeb]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Hämta HabitatPrognosis==&lt;br /&gt;
'''Från och med version 2.6 ersätts denna applikation av ett inbyggt verktyg i PlanVis och RegVis.'''&lt;br /&gt;
Se {{HeurekaHelpLink}}&lt;br /&gt;
&lt;br /&gt;
HabitatPrognosis är ett fristående verktyg som baseras på ArcGIS för att beräkna hur arealen habitat för ett antal utvalda arter utvecklas över tiden. Som indata används resultat från PlanVis. Du kan läsa mer om verktyget [[HabitatPrognosis|här]] och i [{{HeurekaHelpLink}}habitatmodeller.htm avsnittet Habitatmodeller i Heurekas hjälpdokumentation].&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Application'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Platform'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Note'''&lt;br /&gt;
|-&lt;br /&gt;
| HabitatPrognosis (ArcGIS 9.3.1)||x86 (32-bit)|| [http://heureka2-1.slu.se/publish/HabitatPrognosis/ArcGIS_9_3_1/msi/HabitatSetup.msi 0.9.3] || Kräver ArcGIS 9.3.1 (ArcInfo) och tillägget Spatial Analyst &lt;br /&gt;
|-&lt;br /&gt;
| HabitatPrognosis (ArcGIS 10.1)||x86 (32-bit)|| [http://heureka2-1.slu.se/publish/HabitatPrognosis/ArcGIS_10_1/msi/HabitatSetup.msi 1.0.0] || Kräver ArcGIS 10.1 (Desktop Advanced) och tillägget Spatial Analyst&lt;br /&gt;
|-&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Download_and_install&amp;diff=10638</id>
		<title>Download and install</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Download_and_install&amp;diff=10638"/>
		<updated>2022-12-15T08:18:41Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Removed redundant info on Cplex plugin dll&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
== Register==&lt;br /&gt;
The Heureka applications are free to use, but please register first. &lt;br /&gt;
&lt;br /&gt;
Click [{{HeurekaRegisterUrlEng}} here] to register.&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
The Heureka applications are released under an [[Heureka_EULA | End-User License Agreement (EULA)]].&lt;br /&gt;
&lt;br /&gt;
==Database instructions==&lt;br /&gt;
See [{{HeurekaHelpLinkEng}}projekt_och_databaser.htm Heureka Helpdocumentation]&lt;br /&gt;
&lt;br /&gt;
==System requirements==&lt;br /&gt;
Windows 64 bit.&lt;br /&gt;
.NET Framework 4.5.2&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
'''Note! MSI version 2.5 is will be made available as soon as some problems with it has been solved.'''--&amp;gt;&lt;br /&gt;
====MSI (recommended)====&lt;br /&gt;
MSI ([http://en.wikipedia.org/wiki/Windows_Installer Windows Installer]) means that the program is installed as an &amp;quot;ordinary&amp;quot; program under Program Files.&lt;br /&gt;
&lt;br /&gt;
An advantage of this option over ClickOnce is that the applications are bundled into a single setup program. This means that all applications can be installed at the same time. Another advantage is that shared components are only installed once, so the installation is quite &amp;quot;clean&amp;quot; and easy to inspect. This ensures that you use compatible versions of, say, PlanWise and PlanEval.  &lt;br /&gt;
&lt;br /&gt;
You can choose not to install a certain application during the installation process, by clicking on the Advanced-button.&lt;br /&gt;
&lt;br /&gt;
{{#clear_external_data:}} &lt;br /&gt;
{{#get_web_data:url={{HeurekaPublishUrl}}MSIversions.xml&lt;br /&gt;
|format=XML&lt;br /&gt;
|data=x86version=x86,x64version=x64,HabitatPrognosis=HabitatPrognosis,StandWise=x32Subset}}&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Application'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Platform'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Note'''&lt;br /&gt;
|-&lt;br /&gt;
| StandWise, PlanWise, PlanEval, RegWise ||x64 (64-bit)|| [{{HeurekaPublishUrl}}MSI/Slu.Heureka.Setup_x64.msi {{#external_value:x64version}}] ||&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|-&lt;br /&gt;
| StandWise, PlanWise, PlanEval, RegWise ||x86 (32-bit)|| [{{HeurekaPublishUrl}}MSI/Slu.Heureka.Setup_x86.msi {{#external_value:x86version}}] || &lt;br /&gt;
|-&lt;br /&gt;
| StandWise || x86 (32-bit)|| [{{HeurekaPublishUrl}}MSI/Slu.Heureka.Setup_StandWise_x86.msi {{#external_value:StandWise}}] || StandWise can only run as 32-bit due to DirectX.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====ClickOnce ====&lt;br /&gt;
ClickOnce installation means that the program is installed under the user's profile. The advantage with ClickOnce is that the user does not need Administrator's privileges to install the programs, which simplifies things when installing on a &amp;quot;public&amp;quot; computer (such as PC:s in a computer lab at the university). A drawback is that each application must be installed separately. &lt;br /&gt;
{{#get_web_data:url={{HeurekaPublishUrl}}ClickOnceVersions.xml&lt;br /&gt;
|format=XML&lt;br /&gt;
|data=StandWise=StandWise,PlanWise=PlanWise,PlanStart=PlanStart,RegWise=RegWise,PlanEval=PlanEval,HabitatPrognosis=HabitatPrognosis}}&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Application'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
|-&lt;br /&gt;
| StandWise||[{{HeurekaPublishUrl}}ClickOnce/StandWise/setup.exe {{#external_value:StandWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanWise||[{{HeurekaPublishUrl}}ClickOnce/PlanWise/setup.exe {{#external_value:PlanWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| RegWise||[{{HeurekaPublishUrl}}ClickOnce/RegWise/setup.exe {{#external_value:RegWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanEval||[{{HeurekaPublishUrl}}ClickOnce/PlanEval/setup.exe {{#external_value:PlanEval}}]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{#clear_external_data:}} &lt;br /&gt;
'''Beta-versions:'''&lt;br /&gt;
{{#get_web_data:url={{HeurekaPublishUrl}}test/ClickOnceVersions.xml&lt;br /&gt;
|format=XML&lt;br /&gt;
|data=StandWise=StandWise,PlanWise=PlanWise,PlanStart=PlanStart,RegWise=RegWise,PlanEval=PlanEval,HabitatPrognosis=HabitatPrognosis}}&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Application'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
|-&lt;br /&gt;
| StandWise||[{{HeurekaPublishUrl}}test/ClickOnce/StandWise/setup.exe {{#external_value:StandWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanWise||[{{HeurekaPublishUrl}}test/ClickOnce/PlanWise/setup.exe {{#external_value:PlanWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| RegWise||[{{HeurekaPublishUrl}}test/ClickOnce/RegWise/setup.exe {{#external_value:RegWise}}]&lt;br /&gt;
|-&lt;br /&gt;
| PlanEval||[{{HeurekaPublishUrl}}test/ClickOnce/PlanEval/setup.exe {{#external_value:PlanEval}}]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Older versions====&lt;br /&gt;
Older versions can be obtained here (only as MSI):&lt;br /&gt;
[{{HeurekaPublishUrl}}MSI/Archive/ Archive]&lt;br /&gt;
&lt;br /&gt;
==Download additional Heureka software==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====GIS plugin for creating border zones====&lt;br /&gt;
A GIS-plugin (for RegWise and PlanWise) has been developed that can create buffer zones around for example water streams, see [{{HeurekaHelpLinkEng}}naturvardsatgarder.htm GIS-plugin to create modified stand register and map with edge zones].&lt;br /&gt;
&lt;br /&gt;
The plugin is installed by downloading the zip-file [http://heureka2-1.slu.se/Filerepository/Bufferzone%20tool/ DotSpatial.Plugins.Heureka.BufferZones.zip], extract the files and put them in the DotSpatialPlugins-folder under My documents\Heureka\Common\, and then restart PlanWise (or RegWise).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Download HabitatPrognosis==&lt;br /&gt;
HabitatPrognosis is an ArcGIS-based tool for calculating habitat areas over time, using PlanWise results as input. See [{{HeurekaHelpLinkEng}}habitatmodeller.htm Heureka Helpdoc].&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Application'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Platform'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Version'''&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;100&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Note'''&lt;br /&gt;
|-&lt;br /&gt;
| HabitatPrognosis (ArcGIS 9.3.1)||x86 (32-bit)|| [http://heureka2-1.slu.se/publish/HabitatPrognosis/ArcGIS_9_3_1/msi/HabitatSetup.msi 0.9.3] || Requires ArcGIS 9.3.1 (ArcInfo) and Spatial Analyst Extension&lt;br /&gt;
|-&lt;br /&gt;
| HabitatPrognosis (ArcGIS 10.1)||x86 (32-bit)|| [http://heureka2-1.slu.se/publish/HabitatPrognosis/ArcGIS_10_1/msi/HabitatSetup.msi 1.0.0] || Requires ArcGIS 10.1 (Desktop Advanced) and Spatial Analyst Extension&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PlanEvalWeb====&lt;br /&gt;
See [[PlanEvalWeb]]&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Optimization&amp;diff=10637</id>
		<title>Optimization</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Optimization&amp;diff=10637"/>
		<updated>2022-12-15T08:15:44Z</updated>

		<summary type="html">&lt;p&gt;LarsSangstuvall: Changed Cplex version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User's Guides]]&lt;br /&gt;
[[Category:Optimization]]&lt;br /&gt;
&lt;br /&gt;
==New help documentation==&lt;br /&gt;
See also {{HeurekaHelpLinkEng}}optimering.htm , under construction.&lt;br /&gt;
&lt;br /&gt;
==About the optimization tool==&lt;br /&gt;
====Assignment problem====&lt;br /&gt;
The optimization problem solved in Heureka can be categorized as an '''assignment problem''': Each treatment unit should be assigned a treatment schedule.  The problem types handled are linear programming (LP) and 0/1 mixed-integer linear programming (MIP or MILP). The difference between the two is how treatment schedules are assigned. If a treatment unit can be assigned one and only one alternative, then the associated decision variables are set to binary (by the user). If the management of a treatment unit can be &amp;quot;split&amp;quot; and spatial integrity is not an issue, then these variables can be treated as continuous variables (default). In this case the value of the decision variables refers to the proportion of treatment unit area that should be managed with a certain schedule. More information on decision variables is given below.&lt;br /&gt;
&lt;br /&gt;
====ZIMPL====&lt;br /&gt;
For PlanWise a very flexible optimization tool is built-in for formulating and solving LP and MIP problems. The optimization tool is basically a graphical user interface to the [http://zimpl.zib.de/ ZIMPL optimization modelling language]. For solving a problem, external third-party solvers are used and directly linked to the optimization tool. Currently, the solvers available are listed below:&lt;br /&gt;
&lt;br /&gt;
====Solvers====&lt;br /&gt;
For solving a problem, external third-party solvers are used and directly linked to the optimization tool. Currently, the solvers available are &lt;br /&gt;
&lt;br /&gt;
*[https://www.coin-or.org/ CoinOR CLP/CBC], which is freely available under the Eclipse public license v 2.0 and included in the Heureka installation. &lt;br /&gt;
*[https://soplex.zib.de SoPlex], which is freely available for academic use. You will need the SCIP Windows binary (exe) file (&amp;quot;SCIP version 3.0 (Windows/PC 64 bit)&amp;quot; has been tested with Heureka), and specify the path under Settings. &lt;br /&gt;
*[https://www.gurobi.com Gurobi&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], versions 9.0 - 10.0&lt;br /&gt;
*[https://www.ibm.com/support/pages/how-do-i-download-cplex-optimization-studio?mhsrc=ibmsearch_a&amp;amp;mhq=cplex IBM CPLEX&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], version 22.1.0 &lt;br /&gt;
*[https://www.mosek.com MOSEK&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], version 7-8.1&lt;br /&gt;
*[https://www.fico.com/en/products/fico-xpress-solver FICO Xpress&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt;], version 7.9&lt;br /&gt;
&lt;br /&gt;
CPLEX, Gurobi, Xpress and MOSEK are very efficient, state-of-the-art solvers. They require a license, which can be obtained for free for academic use. These solvers must be obtained and installed by the user, they are not distributed with the Heureka install package.&lt;br /&gt;
&lt;br /&gt;
CoinOR CLP/CBC is an efficient free alternative and performs well in benchmarks.  &lt;br /&gt;
&lt;br /&gt;
LpSolve is no longer supported (from version 2.20).&lt;br /&gt;
&lt;br /&gt;
====Integration with prognosis data====&lt;br /&gt;
The optimization model is linked to a Heureka-formatted SQL Server database used for storing input data, simulation data, and result data. This enables a seamless integration with the input data required by the optimization model, as well as direct presentation of optimization results in the form of tables, graphs, and maps. This simplifies the analysis and visualization of scenarios or plans of forest development and outputs.  &lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
{{:Optimization_Settings}}&lt;br /&gt;
&lt;br /&gt;
==Managing models==&lt;br /&gt;
A standard optimization model is distributed with the program. There is also the opportunity to create a new model from scratch, or to use a wizard guide to taylor an optimization model with some of the most common objective functions and restrictions. All these models can then be further modified and saved by the user.&lt;br /&gt;
&lt;br /&gt;
To create and save models, used the buttons at the top of Optimization Model window, or the Model Wizard button in the Models section further down in the same window.&lt;br /&gt;
&lt;br /&gt;
==Editing an optimization model==&lt;br /&gt;
====Sets====&lt;br /&gt;
When you create a new model, the following set are added automatically:&lt;br /&gt;
* treatmentUnits: Set of all treatment units. Index = i.&lt;br /&gt;
* alternatives: Set of all management schedule numbers. Index = j. Note: Alternative j for one treatment unit has nothing to with alternative j for another unit. The number of available j:s varies between treatment units.&lt;br /&gt;
* periods: Time periods. Index = p. The length of a period is five years in strategic planning, and one year in tactical planning.&lt;br /&gt;
* rowNo: Index for the treatment number in a time period that a treatment unit alternative refers to.&lt;br /&gt;
&lt;br /&gt;
When adding opening size constraints (from the menu Optimization &amp;gt; Add Opening Size Constraint), additional sets are added.&lt;br /&gt;
&lt;br /&gt;
You can also add arbitrary sets manually, for e.g. organizational units, road ID columns, and so on.&lt;br /&gt;
&lt;br /&gt;
====Decision variables====&lt;br /&gt;
When you create a new model, some basic problem elements are added automatically (the sets and some constraints), including the most important decision variables. The decision variable &amp;lt;code&amp;gt;x[i,j] &amp;lt;/code&amp;gt; is always added:&lt;br /&gt;
&lt;br /&gt;
x[i,j] = proportion of the area of treatment unit ''i'' that is managed with management schedule ''j''.&lt;br /&gt;
&lt;br /&gt;
By default, the x[i,j] variables are continuous (non-integer) and bounded between 0 and 1. You can change the variable to binary (0/1-integer) by changing its RangeType to Binary, thus changing the problem type from LP to MIP.&lt;br /&gt;
&lt;br /&gt;
A constraint called &amp;lt;code&amp;gt;maxArea &amp;lt;/code&amp;gt; is also added automatically. It ensures that the area managed for each treatment unit is correct, so that the whole area (no more and no less) is assigned a schedule. Each treatment unit must be fully assigned a management. &amp;quot;No management&amp;quot; may be counted as an alternative, depending on what control categories are used when generating the alternative with the Treatment Program Generator.&lt;br /&gt;
&lt;br /&gt;
====Adding an accounting variable====&lt;br /&gt;
Accounting variables are preferrably added to the optimization model to improve readability and simplify the writing of constraints. An accounting variable is ''defined'' - it is a function of other decision variables in the model. The definition is actually an equality constraint in the the optimization model. &lt;br /&gt;
&lt;br /&gt;
One example of a useful accounting variable is total harvested volume in a period. This variable can then be used in other constraints.&lt;br /&gt;
&lt;br /&gt;
To add an accounting variable:&lt;br /&gt;
# In the Optimization Model window, right-click in the &amp;quot;Variables&amp;quot; section and Select &amp;quot;Add new variable&amp;quot;&lt;br /&gt;
# Right-click on the variable and change its name from &amp;lt;code&amp;gt;&amp;quot;DefaultName...&amp;quot;&amp;lt;/code&amp;gt; to something more proper, in the example below &amp;lt;code&amp;gt;volTot&amp;lt;/code&amp;gt;.&lt;br /&gt;
# To define an indexed variable, for example to have one variable for each time period, click on Data binding &amp;gt; Sets, and add the index set, for example &amp;quot;periods&amp;quot;. After that the variable name should have a suffix (&amp;lt;code&amp;gt;[p]&amp;lt;/code&amp;gt;).&lt;br /&gt;
# In the syntax window, type the definition with the the expression on the left side and the name of the variable on the right-hand side of an equality-symbol marked as &amp;lt;code&amp;gt;&amp;quot;==&amp;quot;&amp;lt;/code&amp;gt;. Example: An ccounting variable for total stand volume is defined, with an index p for time period. Note that before adding the variable, the parameter &amp;lt;code&amp;gt;volume[i,j,p]&amp;lt;/code&amp;gt; (which is linked to the Heureka result variable Forest Data.Volume Before) must have been added. Syntax:&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;FORALL &amp;lt;p&amp;gt; IN periods DO &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; SUM &amp;lt;i,j&amp;gt; IN treatmentunits * alternatives WITH altIncluded[i,j] == 1:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt; volume[i,j,p] * area[i] * x[i,j] == volTot[p]; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Important!''' By default, a variable (decision or accounting) has the property RangeType set to non-negative. This means that negative values are considered infeasible. For example, a volume cannot be negative. However, some accounting variables should  be allowed to take negative values, for example the net revenue in a period can be negative if costs are larger than revenues. In this case you must change its RangeType to &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Adding a parameter which is linked to a prognosis variable ====&lt;br /&gt;
The coefficients in the LP-models (the coefficient matrix is usually denoted as '''A''') are constant values in the optimization model. In Heureka, these coefficients are generated by the Treatment Program Generator and referred to as Heureka result variables. A coefficient may represent for example stand volume for a given treatment unit, management schedule alternative, and time period.&lt;br /&gt;
Hence, stand volume is a variable in a prognosis, but a constant/parameter in the optimization model. &lt;br /&gt;
&lt;br /&gt;
# In the Optimization Model window, right-click in the &amp;quot;Parameters&amp;quot;-section and Select &amp;quot;Add new parameter&amp;quot;&lt;br /&gt;
# Type a name, for example &amp;quot;pulpWood&amp;quot; (without apostrophes)&lt;br /&gt;
# Let &amp;quot;Heureka result variable&amp;quot; be selected&lt;br /&gt;
# Click Next&lt;br /&gt;
# Select Financial Value &amp;gt; PulpWood Volume Total (if this is the variable you are interested in)&lt;br /&gt;
# Click Finish&lt;br /&gt;
&lt;br /&gt;
To check what Heureka variable a certain parameter is linked to:&lt;br /&gt;
# Select the parameter&lt;br /&gt;
# In the Properties window for the parameter (under the syntax window), under Databinding &amp;gt; ResultProperty, you can see what Heureka variable the parameter is bounded to. If you click on it you can change the binding.&lt;br /&gt;
&lt;br /&gt;
====Adding a parameter that has a definition====&lt;br /&gt;
# In the Optimization Model window, right-click in &amp;quot;Parameters&amp;quot; section and Select &amp;quot;Add new parameter&amp;quot;&lt;br /&gt;
# Type a name, for example &amp;quot;totalArea&amp;quot; (without apostrophes)&lt;br /&gt;
# Select &amp;quot;Formula&amp;quot; as parameter type&lt;br /&gt;
# Click Next&lt;br /&gt;
# In the syntax window, type the defiintion, for example &lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sum &amp;lt;i&amp;gt; in treatmentunits: area[i];&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  &lt;br /&gt;
#:(This can be edited later)&lt;br /&gt;
# Click Finish&lt;br /&gt;
&lt;br /&gt;
;Note 1: When defining an accounting variable (see above), you would also add a definition to the variable itself, such as &amp;lt;code&amp;gt;== VariableName&amp;lt;/code&amp;gt;. For a defined parameter, you only type the expression.&lt;br /&gt;
;Note 2: A shortcoming of a parameter with a formula is that you cannot preview its value.&lt;br /&gt;
&lt;br /&gt;
====Adding a constraint====&lt;br /&gt;
# In the Optimization Model window, right-click in &amp;quot;Constraints&amp;quot; and select &amp;quot;Add new constraint&amp;quot;&lt;br /&gt;
# Type a name, for example &amp;quot;MinOldForestArea&amp;quot; (without apostrophes)&lt;br /&gt;
# Click OK&lt;br /&gt;
# Select the constraint in the model tree and type the definition in the syntax window. For example, to add a constraint to ensure a non-declining harvest over time, you would type:&lt;br /&gt;
#:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;forall &amp;lt;p&amp;gt; in periods with p &amp;gt;= 1 : TotalHarvestVolume[p] &amp;gt;= TotalHarvestVolume*[p-1];&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  &lt;br /&gt;
#:(If you have defined an accounting variable for total harvest volume)&lt;br /&gt;
# Click Finish&lt;br /&gt;
&lt;br /&gt;
;Note: For constraints, you do not add indices explicitly as you do with variables. In the example, we do not add &amp;quot;p&amp;quot; for periods, but the &amp;quot;forall&amp;quot;-statement will take care of generating one constraint for each time period.&lt;br /&gt;
&lt;br /&gt;
;Tip: Use accounting variables in constraints to simplify reading and formulating the model, as well as to minimize problem size (considerably fewer coefficients and only a few additional variables).&lt;br /&gt;
&lt;br /&gt;
====Adding opening size constraints====&lt;br /&gt;
The generation of an EARM-model (see Goycoolea et al 2005) &amp;lt;ref name=&amp;quot;Goycoolea&amp;quot;&amp;gt; Goycoolea, M., Murray, A. T., Barahona, F., Epstein, R., Weintraub, A. 2005. Harvest scheduling subject to maximum area restrictions: Exploring exact approaches. Operations Research, 2005. Volume 53. Number 3.[http://mgoycool.uai.cl/papers/mgw04.pdf]&amp;lt;/ref&amp;gt;&lt;br /&gt;
is automated. The original model have been adapted to suit the way management alternatives are handled in Heureka (decision variables are defined for complete treatment schedules instead of single treatment activities). To formulate and EARM-model, select Add Opening Size Constraints from menu Optimization. &lt;br /&gt;
&lt;br /&gt;
To use this functionality, you must have provided a [[Import_of_forest_map_and_background_image | forest map]].&lt;br /&gt;
There is a built-in function to compute adjacency pairs, and enumeration of harvest blocks (combinations of polygons) that meet a given maximum opening size tolerance. (The computed adjacency pairs and their common border lengths can also be used in user-defined spatial constraints such as a URM (Unit Restriction Model)). The program can then calculate all feasible combinations of treatment units (that form harvest clusters), compute all so called cliques, and all constraints necessary. For more info, see &amp;lt;ref name=&amp;quot;Goycoolea&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A very fast algorithm has been developed in Heureka to compute what Goycoolea et al (2005) refer to as cliques and clusters.&lt;br /&gt;
&lt;br /&gt;
====Linking management in partial set-asides to parent stands====&lt;br /&gt;
*Partial set-asides (hänsynsytor) within stands can be handled as separate treatment units, in which no harvest activities are carried out. The development in such set-asides is in reality affected by the surroundings in the way that the risk of mortality increases in the set-aside after clear-cutting the main stand. In PlanWise, you can let the program generate alternatives for the set-aside area for each management program generated for the main stand, let the mortality be affected by when and if clear-cutting takes place in the main stand, and also choose to link nature conservation management activities to coincide with management activities in the parent stand. This is non-default, by default only one alternative is generated for the set-aside. If choosing the non-default optiona link between the set-aside and the main stand is added automatically to the optimization model. Read more here: http://heurekaslu.se/help/index.html?naturvardsatgarder.htm, section &amp;quot;Lämnande av hänsynsytor&amp;quot; (only in Swedish).&lt;br /&gt;
&lt;br /&gt;
====Using neighborhood relations for habitat analyses====&lt;br /&gt;
Neighborhood areas can be calculated for each stand. This means that for a user-specified radius originating from the centroid of each stand, the area for every other stand that is overlapped by the circle is computed. This information can then be used in optimization models that take habitat area requirements into account (see [http://www.nrcresearchpress.com/doi/abs/10.1139/x10-232#.Uz5hhfmSx8E Öhman et. al 2011]). The necessary variables can be added to any optimization model, for modification of the habitat conditions to reflect the species of interest. &lt;br /&gt;
&lt;br /&gt;
The needed model parameters, variables, and constraints for including a habitat demands are pre-formulated in Heureka and can automatically be included in the model formulation of an optimization problem. This is done by adding neighbourhood constraints available in the optimization tab (Optimization / Add Neighborhood Constraints). After this is done the user must specify three parameters in the optimization model:&lt;br /&gt;
*the stand specific conditions that should be fulfilled before a stand qualifies as a habitat (the habitat condition parameter, habitatCondition[i,j,p), &lt;br /&gt;
*the amount of suitable habitat required within a stand's neighbourhood for the stand to be qualified as habitat (minHabitatAreaInNeighbourhood)&lt;br /&gt;
*the minimum proportion of the entire forest that should meet the habitat conditions in each period (minTotalHabitatAreaProportion)&lt;br /&gt;
Before solving the optimization problem, the user must also run the tool ”compute stand neighbourhood” to calculate the area of each other stand that is within the neighboring area of a stand. When this tool is executed the parameter standNeighbourhood is filled out.&lt;br /&gt;
&lt;br /&gt;
==Solving problems and saving optimization results==&lt;br /&gt;
When a problem has been formulated and is ready to be solved, and you have run the Treatment Program Generator (TPG), the problem is ready to be solved:&lt;br /&gt;
#Right-click in the optimization model tree view, and select &amp;quot;Compile and Solve&amp;quot;&lt;br /&gt;
#Select the TPG result that the optimization model will be solved for and click OK&lt;br /&gt;
#Wait until the solver has finished&lt;br /&gt;
&lt;br /&gt;
After solving, you will see the problem status in the output window (at the bottom). If you have obtained a feasible solution the solution status will be reported as &amp;quot;Optimal&amp;quot;. To be able to view the optimization results in [[User'27s_guide_to_PlanWise#Analyzing_Results | reports]], you must first '''save the optimization result'''. You do this by clicking on the button &amp;quot;Save Optimization Result&amp;quot;, at the top of the Optimization Model window.&lt;br /&gt;
&lt;br /&gt;
====Infeasible solution?====&lt;br /&gt;
If the problem status is Infeasible, no solution has been found. There are two main reason why this may occur:&lt;br /&gt;
*There is some error in the optimization model.&lt;br /&gt;
*No solution exists. The constraints are too severe. &lt;br /&gt;
&lt;br /&gt;
To identify the cause of the problem, include constraints, one by one, in a systematic order. Try to solve the problem after including each constraint.&lt;br /&gt;
;Note: Do not exclude the constraint &amp;quot;maxArea&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Importing optimization solutions from external sources==&lt;br /&gt;
You can use an external analytics software to solve your optimization problem outside the interface of PlanWise, for example AIMMS, AMPL, Python or R. It is then possible to import that solution to PlanWise, for example to use the report tool to build charts. See the Help for further instructions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LarsSangstuvall</name></author>
	</entry>
</feed>