Download presentation
Presentation is loading. Please wait.
Published byGervase Thornton Modified over 8 years ago
1
How *Not* to Generate Prescriptions for Landscape Analysis Projects Jeff D. Hamann Western Forest Mensurationist Conference June 26, 2001
2
Topics Historical prescription processing Current tools Problems & solutions
3
...So you Want to Produce Some “Model i ” Runs, Do Ya… Punk? What do you need? Are the tools appropriate for the objective? What’s the time frame? What’s the cost?
4
Step 1. How to Play Nice with Others. Learn each application’s interface Put them all together –Run static batch mode
5
Aka - Batch File Hell (into the belly of ORGANON)
6
Step 1. How to Play Nice with Others. Learn each application’s interface Put them all together –Run static batch mode –Reformat outputs
7
Aka Scripting Hell
8
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
9
Check Results Yeah, right….
10
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)
11
The Eighth Amendment to US Constitution 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.
12
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
13
On with the Show… Contestant number one Contestant number two Contestant number n...
14
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
15
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 )
16
Problems So Far Application limitations Database limitations Portability issues Operating system limitations
17
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
18
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!
19
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?
20
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
21
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)
22
The Second Database Uses Access97/VBA Uses MySQL ODBC as backend for data 50/50 VB and C for data generation and exporting
23
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
24
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…
25
Web Interface Chart
26
Hints/Tricks/Traps Use a scalable database backend Use portable methodologies and tools
27
Questions/Answers?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.