Simplified example follows. What am I not seeing?
DIVISION=c("Prairie","Prairie","Savanna","Savanna","Savanna",
"Savanna","Savanna","Subtropical","Subtropical",
"Subtropical","Subtropical","Subtropical","Subtropical",
"Subtropical","Subtropical","Subtropical","Subtropical","Desert",
"Desert","Desert","Desert")
PLOT=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
HT=c(10,20,13,14,15,18,20,25,28,29,18,14,18,23,28,29,12,13,16,18,19)
DIA=c(20,40,30,30,30,45,50,53,54,56,29,49,59,39,39,49,29,49,29,29,20)
LOCO=data.frame(DIVISION,PLOT,HT,DIA)
grouped=groupedData(HT~DIA|DIVISION,data=LOCO)
power=nlme(HT~a*DIA^b,
data=grouped,
fixed=a+b ~ 1,
random=a +b ~ 1|DIVISION,
start=c(a=3,b=0.5))
--