Scribner Boardfoot Log Volume
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.
Bruce and Schumacher (1950) fit a regression equation to the original
table an produce the following equation:
$$ V = (0.79D^2  2D  4)\frac{L}{16} $$
where $V$ is the Scribner board foot volume, $D$ is the samll end diameter n inches and $L$ is the log length in feet.
Example
 Imperial Units
 dia small = 10 in inches
 L = 16 feet
 Answer = 55 board feet
 dia small = 28 in inches
 L = 16 feet
 Answer = 559.4 board feet
Board feet is a imperial units only system.
Code
Visual Basic
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/bync/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
Excel® Visual Basic Code
R Statistical Package 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/bync/3.0/us/
scribner = ( 0.79 * sdia^2  2 * sdia  4) * (length / 16)
scribner
}
R Statistical Package Code
Python 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/bync/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)
Python Code
Note the python files has a extra "txt" at the end to allow the files to be viewed in a web browser.
