Version 2.19
Version 2.19
2022-09-15
Summary
Large performance improvements during simulation due to less aggressive garbage collection. Benchmarks can be found on the Version benchmarking page. Updated to latest version of Zimpl and LpSolve for faster optimization. New importer for data exported from harvester simulator (Oryx). Numerous bug fixes.
New Features
Import data from harvester simulator
Heureka can now import data from harvester simulators. At the moment, only Oryx' simulator is supported. Open the import wizard from Data Management -> Import -> Import Harvester Simulator Data. Some additional stand variables are required when importing this data (plot area, mean age, site index species and site index).
Harvested Wood Products
Heureka can now project the carbon pool in Harvested Wood Products from the forest analysis area as a result of extracted volumes per assortment, and assumptions of the longevity of the derived products.
Improvements
Simulation performance improvements
By switching to server optimized garbage collection, simulation performance has seen a large improvement due to higher CPU utilization and less time spent waiting for GC. The cost of this is higher memory usage during simulation. Hopefully this doesn't cause too much issues. It is still possible to set the maximum number of threads under Settings -> Performance. This is recommended if you intend to be using your computer for other work during the simulation and want Heureka to leave system resources for other tasks.
Optimization performance improvements
Updated Zimpl and LpSolve to the latest versions. This should result in both faster building of the optimization model and solving when using LpSolve as solver. There were also a problem with the previous LpSolve version raising an error for relatively simple problems. Added support for Gurobi 9.5
Harvest clusters calculated without treatments
Harvest clusters are now calculated for all treatment units, instead of only ones that had a final felling treatment performed. The previous restriction was in place to limit the size of the calculation, but proved to only marginally improve performance.
Random Seed
The way Heureka handles random number seeds have been changed to ensure that random number generated are independent of each-other. This might lead to slightly different output (compared to earlier Heureka versions) from some modules even if the module itself has not been changed. If a Treatment Program is generated with seed 0 (default) Heureka has always generated a random seed to use in simulations. For new simulations this seed can be found in both the simulation report and simulation properties.
Optimization Guid in information window
The Guid (a unique identifier) of an optimization is now shown in the optimization information window. This can be useful when fetching optimization results from the database using external tools.
New result variables: Volume harvested
Two new result variables, "Volume Harvested Total (m³sk)" and "Volume Harvested per species (m³sk)", have been added to TreatmentData
Bug Fixes
- Fixed sorting of simulation results in RegWise. Now sorted by simulation date in descending order
- Areas projected to a future date lacked some data that was present in the original data
- Some results were incorrectly calculated after a storm felling thinning
- Map properties that the user had created would disappear when selecting a new simulation or optimization
- Now sorts the selected result types in TPG Results view to be consistend across all simulations
- Overstorey trees are no longer removed automatically when projecting to a future date. A checkbox in the projection dialogue can toggle this behaviour
- "Other Area" was incorrectly calculated in initial state overview table
- Fixed infinite loop when calculating moose sapling damage
- Fixed incorrectly calculated dead wood density and biomass. When simulating decomposing dead wood, biomass was not assigned to the correct size class. This fix affects what decay class initial dead wood is sorted in, as well as the amount of carbon in dead wood.
- Volume of removed overstorey trees is now considered when calculating the target felling volume in RegWise
- Fixed incorrect syntax when building an optimization model with a circumference parameter
- Sometimes when opening a project, the area selection would not be entirely intact
- Stochastic implementation of sapling damage model was not ready for use and has been disabled. Now always uses deterministic sapling damage
Details from bugtracker
Id | Category | Severity | Summary | Fixed_in_version | Resolution | Comment |
---|---|---|---|---|---|---|
0000534 | Visualisation StandWise | minor | Error thrown on screenshot | 2.19.0 | fixed | Error thrown on screenshot |
0000529 | TPG | minor | Spruce bark beetle index too high | 2.19.0 | fixed | Spruce bark beetle index too high |
0000505 | TPG | trivial | Results Types column sort is inconsistent | 2.19.0 | fixed | Results Types column sort is inconsistent |
0000508 | TPG | major | Creating dead wood from dead trees gives wrong results | 2.19.0 | fixed | Creating dead wood from dead trees gives wrong results |
0000538 | RegWise simulation | minor | No treatments on NC units dependent on parents' treatments in checkerboard felling | 2.19.0 | fixed | No treatments on NC units dependent on parents' treatments in checkerboard felling |
0000509 | RegWise simulation | minor | Wind throw proportion, mortality volume and biomass incorrectly calculated | 2.19.0 | fixed | Wind throw proportion, mortality volume and biomass incorrectly calculated |
0000518 | RegWise simulation | minor | Incorrect regeneration species in RegWise when regenerating due to land use change | 2.19.0 | fixed | Incorrect regeneration species in RegWise when regenerating due to land use change |
0000515 | RegWise simulation | minor | Volume from removal of overstorey is not included when calculating target final felling volume in RegWise | 2.19.0 | fixed | Volume from removal of overstorey is not included when calculating target final felling volume in RegWise |
0000525 | RegWise simulation | minor | Stocastic sapling damage incorrectly calculated? | 2.19.0 | fixed | Stocastic sapling damage incorrectly calculated? |
0000536 | RegWise simulation | feature | Show TreatmentUnitExternalData in initial state and simulation results | 2.19.0 | fixed | Show TreatmentUnitExternalData in initial state and simulation results |
0000493 | Optimization | minor | User submitted report - No feasible solution with LPSolve | 2.19.0 | fixed | User submitted report - No feasible solution with LPSolve |
0000539 | Optimization | feature | Feature: Add support for Gurobi 9.5 | 2.19.0 | fixed | Feature: Add support for Gurobi 9.5 |
0000520 | Optimization | feature | Remove final felling requirement from cluster parameters | 2.19.0 | fixed | Remove final felling requirement from cluster parameters |
0000521 | Optimization | feature | Add OptimizationGuid to Optimization info | 2.19.0 | fixed | Add OptimizationGuid to Optimization info |
0000502 | Optimization | minor | Simulation results are incorrectly sorted in RegWise table view | 2.19.0 | fixed | Simulation results are incorrectly sorted in RegWise table view |
0000510 | Map | major | Map properties disappear when optimization is changed | 2.19.0 | fixed | Map properties disappear when optimization is changed |
0000501 | Growth / production | major | Framskrivning av Ipak-data ger negativ tillväxt | 2.19.0 | fixed | Framskrivning av Ipak-data ger negativ tillväxt |
0000513 | Growth / production | minor | High sapling moose damage will sometimes cause the simulation to stall | 2.19.0 | fixed | High sapling moose damage will sometimes cause the simulation to stall |
0000402 | General | minor | User Submitted Report - Incorrect Syntax | 2.19.0 | fixed | User Submitted Report - Incorrect Syntax |
0000528 | General | tweak | Parallelization optimization | 2.19.0 | fixed | Parallelization optimization |
0000530 | General | minor | Getting ValueData is slow | 2.19.0 | fixed | Getting ValueData is slow |
0000512 | General | minor | "Other area" is not reset when selection changes | 2.19.0 | fixed | "Other area" is not reset when selection changes |
0000522 | General | feature | Add information regarding which random seed was used | 2.19.0 | fixed | Add information regarding which random seed was used |
0000514 | General | feature | New result variables: Volume Harvested | 2.19.0 | fixed | New result variables: Volume Harvested |
0000524 | General | major | Import Stand Register and Map unhandled exception | 2.19.0 | fixed | Import Stand Register and Map unhandled exception |
0000535 | General | minor | Total CO2 from HarvestedWoodProducts is wrong | 2.19.0 | fixed | Total CO2 from HarvestedWoodProducts is wrong |
0000516 | General | minor | Soil carbon stock | 2.19.0 | fixed | Soil carbon stock |
0000526 | General | minor | Simulation report and optimization info fail to render | 2.19.0 | fixed | Simulation report and optimization info fail to render |
0000537 | General | tweak | Bark thickness model unnecessary memory allocations | 2.19.0 | fixed | Bark thickness model unnecessary memory allocations |
0000517 | General | feature | Garbage collection change | 2.19.0 | fixed | Garbage collection change |
0000527 | General | minor | When opening a RegWise project with inventory years, the analysis area is not intact | 2.19.0 | fixed | When opening a RegWise project with inventory years, the analysis area is not intact |
0000533 | Data import | minor | Fel i framskrivning till nytt startdatum om bestånd har överståndare eller naturvårdsträd | 2.19.0 | fixed | Fel i framskrivning till nytt startdatum om bestånd har överståndare eller naturvårdsträd |
0000503 | Data import | feature | New feature: Import data from harvester simulator | 2.19.0 | fixed | New feature: Import data from harvester simulator |
0000504 | Data import | minor | Areas projected to a future date are lacking some data fields present in the original data | 2.19.0 | fixed | Areas projected to a future date are lacking some data fields present in the original data |