280 likes | 397 Views
This presentation from the Western Forest Mensurationist Conference addresses the essential processes involved in generating prescriptions for landscape analysis projects. It covers historical and current prescription processing tools, as well as potential problems and solutions. Key topics include optimizing application interfaces, working with databases and scripting tools, and managing the complexities of prescription generation. Attendees will learn how to streamline workflows, improve collaboration, and overcome common limitations of various systems to efficiently produce accurate yield files without excessive costs or time.
E N D
How *Not* to Generate Prescriptions for Landscape Analysis Projects Jeff D. Hamann Western Forest Mensurationist Conference June 26, 2001
Topics • Historical prescription processing • Current tools • Problems & solutions
...So you Want to Produce Some “Modeli” Runs, Do Ya… Punk? • What do you need? • Are the tools appropriate for the objective? • What’s the time frame? • What’s the cost?
Step 1. How to Play Nice with Others. • Learn each application’s interface • Put them all together • Run static batch mode
Step 1. How to Play Nice with Others. • Learn each application’s interface • Put them all together • Run static batch mode • Reformat outputs
Step 1. How to Play Nice with Others. • Learn each application’s interface • Put them all together • Run static batch mode • Reformat outputs • Check Results
Check Results • Yeah, right….
Step 1. How to Play Nice with Others. • Learn each application’s interface • Put them all together • Run static batch mode • Reformat outputs • Check Results • Check Sanity (your own)
Excessive bail shall not be required, nor excessive fines imposed, nor cruel and unusual punishments inflicted. It shouldn't take an incredible amount of time, cost a horrific amount of money, and be unbelievably painful to produce yield files. The Eighth Amendment to US Constitution
Step 2. How to Forget Step One. • Use a database system… of *any* kind • Use libraries instead of stand alone software • Use scripting tools like VB, PHP, and Perl • Use web interfaces to support collaboration
On with the Show… • Contestant number one • Contestant number two • Contestant number n...
Generating the First Database • Microsoft Access 97 • About 50 fields (before, after, removed) • 50 floats (@ 4 bytes) * 30 periods * 50 Rxs * 500 strata * 3 states 500MB
Prescription Dregs, again. • Be able to swap tables (or use a subset) and still have the code function. • Use combinatorial algorithms to generate thinning events • N-ary tree algorithm will generate (n_thins^n_levels) prescriptions (3 thins and 4 thinning levels = 81 prescriptions )
Problems So Far • Application limitations • Database limitations • Portability issues • Operating system limitations
Application Limitations • ORGANON DLL • Has a unique API, multiple site indices • SYSTUM-1 DLL • Has a unique API, single site index • Supporting library API • Taper functions, crown functions, silvicultural functions
Database Limitations • “Upgrading” Access 97 to Access2000 • 400 Strata fit fine in Access97 • <100 Strata fit in Access2000 • What about stand tables, log tables? • Going back to Access97 from Access2000 • Access threading model? • Conclusions? • Access is a resource hog!
Portability Issues • VB code wouldn’t convert from one version to another. • Moving Access95->97->2000->XP = :-( • Will it (VB) run in another database like Oracle?
Operating System Limitations • Remote access to retrieve data and observe progress • WindowsNT/2000/Linux kernel 2.2.x has 2GB file limitations • Linux 2.4.x kernel has >2GB limitations
Is This Trip Really Necessary? • All 150 files took almost 8-10 hours to export • 3 CDs for each database • New runs were produced twice a week • For a total of 200 CDs for each project • For three projects = 600 CDs (minus a few for Napster downloads)
The Second Database • Uses Access97/VBA • Uses MySQL ODBC as backend for data • 50/50 VB and C for data generation and exporting
Performance Results* *These results are NO WAY statistically valid, defensible, or repeatable as the sample size is very, very small! **multiple threading version - estimated processing time
Visualizing Results • Export results into MS Excel • 400 strata * 50 data items = 20000 spreadsheets! • generated PHP scripts with charts to allow the user to query the runs…
Hints/Tricks/Traps • Use a scalable database backend • Use portable methodologies and tools