2000: 6.0

  • Update for automatic ODBC FPSData.dsn
  • Thin by Age,CCF,BA,Rd – Not before Rpt_Yr
  • Unless timing by calendar year


  • Type name “Grow” conflict resolved in Yield Reports
  • No growth if Report year <= Msmt_Yr in ADMIN
  • Remove automatic defect growth after 100 years
  • Add natural regeneration to growth intervals
April: 6.1
  • Close and Open Database every 5 minutes to release memory to facilitate Access 2000 memory management issues.
  • Found Sqrt & Division in DCV variance problem for zero dbh
  • Replaced all direct calls to IMSL with X2Y range buffers
  • Skip stand if #trees = 0 or site = 0 (nothing to grow)
November: 6.1b
  • Thinning only after Msmt_Yr for “Grow All Tables” and only after Rpt_Yr for “Grow Stand table only”
December: 6.1c
  • Add Stems,Dbh,Basal,CCF,Rd to Stand table for merch stems
  • Change 5-yr mortality report to annual mortality report


  • Siteprep, Brush, Pest now scalable in 10% classes.
  • Siteprep effect goes away after first growth step
  • Stand table merch statistics commented out for now.
May: 6.1d
  • Write DIBCLS table for Grow All Tables (not Cp = .D) not yet invoked, still released as V6.1c
June: 6.2
  • Convert to 4-byte structure with Dibcls optional
  • Restrict Reserve Trees from Thinnings unless Cpp = ‘RT’
August: 6.21
  • Add scalable Silviculture to FpsLoad1 Subroutine and match output to FpsLoad2.
November: 6.22
  • Compatability with 6.3 Species Library
December 6.30
  • Updated Species.Lib and FPS Tools


March: 6.31
  • Discount silvicultural costs and annual management fees
  • Provide for cost analyses where Inflation = 0
  • Display costs every year even if no positive log values
  • Fill in Dbh = 1.333 * (Ht – 1) where Dbh = 0
  • Fill in Crn = (D/H) / 3.0 where Crn = 0
April: 6.32
  • Load Species table merch specs after reading treelist from database for new species not in Species.Lib
  • Insert edit check for Dbh/Ht data not loaded through FPS Cruise Compiler for out-of-range conditions
  • Specifically, Hts < 6m with D/H < 0.33 or D/H > 2.00
  • Estimate %Crown only if Dbh> and Ht>0, Otherwise %Cr = 0.92
  • Provided for incomplete regeneration data inputs
  • Up size simulation plot to 20000 trees
November: 6.40
  • Max 20000 trees on 1 hectare simulation plot
  • Added thinning by dbh range and group selection
  • Natural regeneration on 1/500 hectare grid array
  • Update clumpiness value after each growth step
  • Add HabDens statistics to Stand & HabDens tables
  • Option to select Schedule table years for growth
  • Change “Grow Plots” to “Grow by Cruise yrs” as method option
  • Allows old cruises to be grown to current cruises for yield comparison between measured and projected Stand statistics
  • Write to History table with Region code and Regime.


March: 6.41
  • Group Selection uses residual density within circle only to define residual thinning stocking levels.
March: 6.42
  • Mortality records are not written to database for All Tables
  • Optional update to HABDENS table.
August: 6.43
  • Changed growth interpolation process for report years.
  • Previously based on years, now based on height increment.
  • The previous straight line interpolation created a bias.
  • Greatest impact was on regeneration stands (Ht<6 meters tall).
September: 6.43
  • Close SQL handles instead of dropping them.
  • Grow from Cruise table for Model validation & calibration:
    • If Cruise.Plots = 1 and fixed-area plot, then grow from Plots.
    • If Cruise.Plots > 1 or prism plot, then grow Dbhcls treelist.
    • Output Stand.regime = ‘FPS_’, Dbhcls.group = ‘e.’
    • Any Regime may be applied to Stand table for validation.
    • SVS Visualization plot size set from Cruise table plot size.
  • If Admin.Birth>1000 then age = Rpt_yr – Birth in Stand table.
  • Progress meter based on Admin or Yield as user specified.


January: 6.44
  • Modified SVS output for stumps at Report ages.
  • Discrete visualization shows live tally of whole trees only.
  • Fractional trees are shown as dead or down woody component.
  • Fix minor bugs, expand 20 spp/grp & 100 sorts.
  • If Cruiser-called Sort/Grades exist -> they continue forward
  • If Sort/Grades do not exist -> may create labels from SORTS
April: 6.441
  • Do not delete previously grown years between msmt_yr and current.
  • Do not write out ‘Dead’ records to Stand or DbhCls.
April: 6.442
  • Cost/acre/year now inflated for each year in projection
May: 6.443
  • Admin table variable logging costs change with stand.
  • Only affects variable harvesting costs by dib and volume levels.
July: 6.45
  • Bind only known FPS/TRS tables and columns.
  • Update all values and costs using standard FPSEcon routine
  • May re-grow existing Rpt Yrs > Msmt_Yr (all tables only)
  • Missing taper observations estimated from Library
October: 6.46
  • SORTS table – Species, Sort, Grade – Assigned values
  • Values always come from Species table Sorts #1,#2,#3
  • Only if log achieves #3 dimension will SORTS table be used
  • SORTS Table conditions for #3 logs: (label vs dimension)
  • If grown le 5yrs, use existing Sort/Grade label in DibCls table
  • If grown gt 5yrs, use dib,len,def,pos,vol & value in Sorts table
November: 6.47
  • All database writing to DbhCls table occurs in batch/Stand.
  • Objective is to reduce database bloat during growth update.
  • Tested combinations of Prepare/Execute/Transaction processing.
  • Verify FPSEcon costs for Silv,Area,Fixed,Harv,Haul,Inflation


  • Thinning costs do not include annual admin fixed costs.
February: 6.50
  • Convert to FBRI_Lib Species Library database.
  • Add Soil Expectation and Internal Rate of Return to Stand table.
May: 6.51
  • Delete old CASHFLOW records and update Stand.AreaRpt
  • Provide for minimum log dib as absolute or % of Dbh
December: 6.53
  • Grow Stand – Grow from Admin.Rpt_Yr with Current Regime
    • Past growth from Msmt_Yr to Rpt_Yr stays in place
    • This option for long-term forest planning input
    • Thinnings carry no administrative costs in net values
  • Grow All Tables – Grow from Admin.Msmt_Yr with original Regime
    • Values and Costs are not inflated, current costs only
    • This option for updating the current inventory year
  • Previous Versions did not separate the regimes (past & current)
  • Values only determined from Species table unless SRT1_BAS, SRT2_BAS or SRT3_BAS have a value = 9 to default to SORTS table.
  • If existing DIBCLS table contains Sorts, these are retained for a maximum of five years of growth projection.  Then re-assigned.
  • Stand treatments are written to both CASHFLOW and HISTORY tables.
  • Re-running the same Years and Regime will overwrite these tables.
  • Will grow up to 100 periods of any length each.
  • Up to 3 species may be named for preferred thinning retention


January: 6.60
  • Biomass, Thinning, Fill-Plant, %Sort, 100 Periods
March: 6.61
  • Corrected Treatment-by-Age constraints, were in error
April: 6.62
  • Corrected assignment of silvicultural costs to NPV calculation
  • Non-thinning silviculture (siteprep, etc.) would stop, if no thinning.
  • Thinning on Rept_Yr would block residual Stand table output that year.
  • StandSrt table update for weighting by tree frequency/stand
December: 6.70
  • Convert to 10m Site and Shape from Admin table optionally using BHSite.
  • Silviculture as %Ht and %Survival instead of %SitePrep,%Brush & %Pest.
  • Display SVS mortality for ten years, then down logs for ten years.


May: 6.72
  • Downsize tree list arrays to 10,000 individuals
  • Due to F6700 Heap Space limit exceeded for 50 preports on 5000 stands
May: 6.73
  • Use Height curve to determine timing of thinnings & silviculture
  • Small-tree growth extended on site curve for heights > 6m
  • Heap Space not due to array size, return to 20,000 individuals max
  • Use History table to include past silviculture still in effect.
  • Silviculture Update:  Where existing stand was grown to current year.
    • The History table contains the Regime used for previous growth step.
    • For growth of Stand table only, History of planted, site prep, brush control, animal control will be extracted from History.
  • Method:  Set up two Regimes: PLNT and NATR with appropriate treats.
    • Then grow All Tables to current year (Rpt_Yr)!
    • Design multiple Regimes for planning – Grow Stand Only
June: 6.80
  • Incorporate SQL Server Primary Keys in all FPS tables
November: 6.84
  • Unique ODBC commands between Jet and SQL Server
  • Bug fix – Thinning by Year correction, occurred in wrong year.
  • Minor bug fixes in Growth & Planning utilities
December: 6.85
  • Standardize on 10mSite Library format.
  • Includes scalable early silvicultural costs by treatment intensity


March: 6.86
  • Revise Silvicultural treatment timing to distinct treatments.
May: 6.90
  • Merge versions 6.76 and 6.87 with all functionality
July: 6.91
  • Fix Cashflow & History calendar years to match treatment years
  • Delete duplicate rows from StandSrt prior to Thinning output.
July: 6.92
  • Allow thinning one year or later from Admin.Rpt_Yr.
August: 6.93
  • Provide none-Primary Key option for DbhCls table.