## Average Acorn Weight (lb)

Average acorn weight in pounds as predicted from Diameter at breast height (DBH) and species of oak. a Table from Down, 1944 was fit with polynomial equations to allow a formula represntation of the tabular data.

Based on:
Downs, Albert A. 1944. Estimating acorn crops for wild life in the southern Appalachians. Journal of Wildlife Management. 8(4):339-340.

### Example

Imperial Units
dia = 22 in inches
species = "black"
unittype = "imperial"
Answer = 4.6341 lb for that tree

Metric Units
dia = in centimeters
species =
unittype = "metric"
Answer = kg for that tree

### Code

#### Visual Basic

 
Function acornwt(dbh As Double, species As String) As Double
' Function to calculate mean acorn weight (in lb) from dbh and species and trees per acre
' by David R. Larsen, Copyright October 9, 2012

If (species = "black" And dbh > 9.9 And dbh < 36.1) Then
acornwt = -1.9065 + 0.2973 * dbh
ElseIf (species = "chestnut" And dbh > 9.9 And dbh < 36.1) Then
acornwt = 0.0008271 * dbh ^ 3 - 0.08157 * dbh ^ 2 + 2.692 * dbh - 18.85
ElseIf (species = "red" And dbh > 9.9 And dbh < 36.1) Then
acornwt = 0.0004016 * dbh ^ 4 - 0.0349937 * dbh ^ 3 + 0.9864357 * dbh ^ 2 - 9.5233885 * dbh + 27.32720516
ElseIf (species = "scarlet" And dbh > 9.9 And dbh < 36.1) Then
acornwt = 0.0005975 * dbh ^ 4 - 0.05325 * dbh ^ 3 + 1.651 * dbh ^ 2 - 19.97 * dbh + 84.71
ElseIf (species = "white" And dbh > 9.9 And dbh < 36.1) Then
acornwt = 0.0001987 * dbh ^ 4 - 0.02027 * dbh ^ 3 + 0.694 * dbh ^ 2 - 8.768 * dbh + 37.36
Else
acornwt = Empty
End If

End Function


Excel® Visual Basic Code

#### R Statistical Package Code

 
acornwt = function(dbh, species)
{
#  Function to calculate mean acorn weight (in lb) from dbh and species and trees per acre
# by David R. Larsen, Copyright October 9, 2012

if( (species == "black") && (dbh > 9.9) && (dbh < 36.1) ){
acornwt = -1.9065 + 0.2973 * dbh
}else if((species == "chestnut") && (dbh > 9.9) && (dbh < 36.1)){
acornwt = 0.0008271 * dbh ^ 3 - 0.08157 * dbh ^ 2 + 2.692 * dbh - 18.85
}else if(species = "red" And dbh > 9.9 And dbh < 36.1) {
acornwt = 0.0004016 * dbh ^ 4 - 0.0349937 * dbh ^ 3 + 0.9864357 * dbh ^ 2 - 9.5233885 * dbh + 27.32720516
}else if (species = "scarlet" And dbh > 9.9 And dbh < 36.1){
acornwt = 0.0005975 * dbh ^ 4 - 0.05325 * dbh ^ 3 + 1.651 * dbh ^ 2 - 19.97 * dbh + 84.71
}else if(species = "white" And dbh > 9.9 And dbh < 36.1){
acornwt = 0.0001987 * dbh ^ 4 - 0.02027 * dbh ^ 3 + 0.694 * dbh ^ 2 - 8.768 * dbh + 37.36
}else{
acornwt = 0.0
}
acornwt
}

R Statistical Package Code

#### Python Code

 
#!/usr/local/bin/python
# Function to calculate mean acorn weight (in lb) from dbh and species and trees per acre
# by David R. Larsen, Copyright October 9, 2012

def acornwt(dbh, species)
if( (species == "black") && (dbh > 9.9) && (dbh < 36.1) ):
acornwt = -1.9065 + 0.2973 * dbh

elif((species == "chestnut") && (dbh > 9.9) && (dbh < 36.1)):
acornwt = 0.0008271 * dbh ^ 3 - 0.08157 * dbh ^ 2 + 2.692 * dbh - 18.85

elif(species = "red" And dbh > 9.9 And dbh < 36.1):
acornwt = 0.0004016 * dbh ^ 4 - 0.0349937 * dbh ^ 3 + 0.9864357 * dbh ^ 2 - 9.5233885 * dbh + 27.32720516

elif(species = "scarlet" And dbh > 9.9 And dbh < 36.1):
acornwt = 0.0005975 * dbh ^ 4 - 0.05325 * dbh ^ 3 + 1.651 * dbh ^ 2 - 19.97 * dbh + 84.71

elif(species = "white" And dbh > 9.9 And dbh < 36.1):
acornwt = 0.0001987 * dbh ^ 4 - 0.02027 * dbh ^ 3 + 0.694 * dbh ^ 2 - 8.768 * dbh + 37.36

else
acornwt = 0.0

retrun acornwt

print "imperial =", acornwt( 14.3, "black" )
print "imperial =", acornwt( 22.6, "white" )
print "imperial =", acornwt( 18.9, "scarlet" )

Python Code

Note the python file has a extra "txt" at the end to allow the files to be viewed in a web browser.

#### Go Code

 

Run code in the Go Playground
Go Code

Note the Go file has a extra "txt" at the end to allow the files to be viewed in a web browser.