*** bug_fixes.txt: 04. September 2001, Kevin Belanger, Programmer/Analyst, Timber Supply Branch, Ministry of Forests *** FSSIM v4.1 Bug Fixes to v4.0 ============================ 1) - "Targets bug" A target value must now be specified for period 1 through the plan horizon (inclusive). If no target value is found in 'targets.dat' for a given period, fssim exits and the exception is reported with the missing period number. This criteria was not enforced in previous versions of fssim, where unspecified periods would assume a default value. Note: the following bug fixes would modify fssim results. Thus, in order to keep results consistent with earlier versions of fssim, these bug fixes were not built into the original v4.1 release. However, the errors can easily be 'turned on' once there functionality is validated and accepted as an improvement to the previous results. 2) - "Plan Horizon bug" (in Data.cpp lines: 1202 to 1247) Previous versions of fssim erroneously shifted a start period past the plan horizon to occur at the plan horizon. This version of fssim will simply skip any start periods past the plan horizon, and accept the portion of any straddling start-end periods which is within the plan horizon. That is: a) if a start period is beyond the plan horizon, the entire line entered in targets.dat is ignored b) if an end period is beyond the plan horizon whose start period is within the plan horizon (straddle condition), reset the end period to be equal to the plan horizon 3) - "Greater Than or Equal to Old Growth bug" (in func.h lines: 193 to 203) The function "func_area_ge" calculates the percentage of the age area elements at the constraint age which will have partially reached the given age by the end of the period. This factor is then applied to the element in the AxsDef's AgeArea array which overlaps the constraint age. In previous versions of fssim, this factor was applied more than once per timber class, causing harvest to be understated (more old-growth was reserved than necessary to meet the requirements set in 'axs.dat'). This version of fssim will only apply the factor once per timber class. This provides a correct reserve of old growth as stipulated in 'axs.dat'.