-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscribnerbfvolume.html
More file actions
188 lines (166 loc) · 6.3 KB
/
scribnerbfvolume.html
File metadata and controls
188 lines (166 loc) · 6.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Forestry Functions</title>
<link rel="Shortcut Icon" href="http://oak.snr.missouri.edu/sylvan/images/sylview-icon.ico">
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
});
</script>
<script type="text/javascript" asyn
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
</head>
<body>
<p></p>
<center>
<table border="0" width="90%">
<tbody>
<tr>
<td>
<table border="0">
<tbody>
<tr>
<td width="90%" align="left">
<div id="header" algin="left" class="bgcol" >
<h1 align="left" width="90%" style="margin-left:45px; color:white; font-size:38 ">Forest Functions, <small> Computer code to help foresters</small></h1></div>
<br/>
<h2>Scribner Boardfoot Log Volume</h2>
<p>The most common diagram rule is the Scribner log rule. The Scribner
was proposed by J. M. Scribner and first published in 1846 (Husch et al.
1993). It assumes a 1/4 inch kerf and 1 inch boards probably not
less that 8 inches wide. (Chapman and Meyer, 1949). The Scribner
log rules are for logs with small end diameters from 12 to 44 inches and
10 to 24 feet in length.</p>
<p>Bruce and Schumacher (1950) fit a regression equation to the original
table an produce the following equation:</p>
<center>
<font size="5">
$$ V = (0.79D^2 - 2D - 4)\frac{L}{16} $$
</font>
</center>
<p> where $V$ is the Scribner board foot volume, $D$ is the samll end diameter n inches and $L$ is the log length in feet.
</p>
<h3>Example</h3>
<p>
<dl>
<dt><b>Imperial Units</b></dt>
<dd> dia small = 10 in inches</dd>
<dd> L = 16 feet</dd>
<dd> Answer = 55 board feet</dd><br/>
<dd> dia small = 28 in inches</dd>
<dd> L = 16 feet</dd>
<dd> Answer = 559.4 board feet</dd><br/>
</dl>
</p>
<dt> Board feet is a imperial units only system. </dt>
</dl>
</p>
<h3>Code</h3>
<h4> Visual Basic</h4>
<div style="background-color:lightgrey;border:1px solid black;padding 10px">
<pre> <code>
Function bfLogVolume(sdia As Single, length As Single, Optional voltype As String = "int") As Double
' Function to calculate the Doyle, scribner and International board foot volume of a log
' sdia is in inches and length is in feet
' by David R. Larsen, Copyright October 9, 2012
' Creative Commons http://creativecommons.org/licenses/by-nc/3.0/us/
If (voltype = "doyle") Then
bfLogVolume = ((sdia - 4) / 4) ^ 2 * length
ElseIf (voltype = "scribner") Then
bfLogVolume = (0.79 * sdia ^ 2 - 2# * sdia - 4#) * (length / 16#)
ElseIf (voltype = "int") Then
If (length = 4#) Then
bfLogVolume = 0.22 * sdia ^ 2 - 0.71 * sdia
ElseIf (length = 8#) Then
bfLogVolume = 0.44 * sdia ^ 2 - 1.2 * sdia - 0.3
ElseIf (length = 12#) Then
bfLogVolume = 0.66 * sdia ^ 2 - 1.47 * sdia - 0.79
ElseIf (length = 16#) Then
bfLogVolume = 0.88 * sdia ^ 2 - 1.56 * sdia - 1.36
ElseIf (length = 20#) Then
bfLogVolume = 1.1 * sdia ^ 2 - 1.35 * sdia - 1.9
ElseIf (length = 24#) Then
bfLogVolume = 1.1 * sdia ^ 2 - 1.35 * sdia - 1.9 + 0.22 * sdia ^ 2 - 0.71 * sdia
ElseIf (length = 28#) Then
bfLogVolume = 1.1 * sdia ^ 2 - 1.35 * sdia - 1.9 + 0.44 * sdia ^ 2 - 1.2 * sdia - 0.3
ElseIf (length = 32#) Then
bfLogVolume = 1.1 * sdia ^ 2 - 1.35 * sdia - 1.9 + 0.66 * sdia ^ 2 - 1.47 * sdia - 0.79
ElseIf (length = 36#) Then
bfLogVolume = (0.88 * sdia ^ 2 - 1.56 * sdia - 1.36) * 2
ElseIf (length = 40#) Then
bfLogVolume = (1.1 * sdia ^ 2 - 1.35 * sdia - 1.9 ) * 2
Else
bfLogVolume = 0
MsgBox ("Unknown log length, options are: 4, 8, 12, 16, 20")
End If
Else
bfLogVolume = 0
MsgBox ("Unknown voltype, options are: doyle, scribner, or int")
End If
End Function
</code></pre>
</div>
<a href="code/VBS/bfLogVolume.vbs">Excel® Visual Basic Code</a><br/>
</p>
<p>
<h4> R Statistical Package Code</h4>
<div style="background-color:lightgrey;border:1px solid black;padding 10px">
<pre> <code>
scribner = function( sdia, length )
{
# Function to calculate the Scribner Board Foot volume
# by David R. Larsen, Copyright November 2, 2012
# Creative Commons http://creativecommons.org/licenses/by-nc/3.0/us/
scribner = ( 0.79 * sdia^2 - 2 * sdia - 4) * (length / 16)
scribner
}
</code></pre>
</div>
<a href="code/R/scribner.R">R Statistical Package Code</a><br/>
</p>
<p>
<h4> Python Code</h4>
<div style="background-color:lightgrey;border:1px solid black;padding 10px">
<pre> <code>
#!/usr/local/bin/python
# Function to calculate the Scribner Board foot volume
# from small end diameter and log length
# by David R. Larsen, October 11, 2012
# Creative Commons, http://creativecommons.org/licenses/by-nc/3.0/us/
def scribner( sdia, length):
value = ( 0.79 * sdia**2 - 2 * sdia - 4 ) * (length / 16)
return value
print "scribner =", scribner(sdia=10,length=16)
print "scribner =", scribner(sdia=28,length=16)</code></pre>
</div>
<a href="code/python/scribner.pytxt">Python Code</a>
</p>
<p>
Note the python files has a extra "txt" at the end to allow the files to be viewed in a web browser.
</p>
</td>
</tr>
</tbody>
</table>
</center>
<hr class="full" />
<div align="right">
<small>
<a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc/3.0/us/88x31.png" /></a><br />This <span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">work</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/3.0/us/">Creative Commons Attribution-Noncommercial 3.0 United States License</a>.
<br/>
<br/>
Author: Dr. David R. Larsen, Copyright 2012<br/>
Created: November 1, 2012<br/>
Last Updated: November 20, 2013</small>
</div>
</td>
</tr>
</tbody>
</table>
</body>
</html>