biomass.change {CTFS} | R Documentation |
Summarizes the dynamics of above ground biomass (AGB) by computing Mg of biomass in each census including the amount loss due to mortality, amount gained due to recruitment and growth of persistent trees. Second function is used for dividing these quantities into dbh classes.
biomass.change(biomass.out, split1 = NULL, split2 = NULL) biomass.change.dbh(census1, census2, biomass.out, dbhclass = c(10, 100, 300), split = NULL)
biomass.out |
result from biomass which is a
dataframe of dimensions census |
split1 |
a vector of categorical values of the same
length as census which groups trees into classes of
interest for which growth values are computed. This vector can be
composed of characters or numbers. |
split2 |
a second vector of categorical values of the same
length as census which groups trees into classes of
interest for which growth values are computed. This vector can be
composed of characters or numbers. |
census1 |
name of census datafile for first census, must be a
dataframe, must be of same length as census2 |
census2 |
name of census datafile for second census, must be a
dataframe, must be of same length as census1 |
dbhclass |
a vector of lower values for dbh categories |
split |
a second vector of categorical values of the same
length as census which groups trees into classes of
interest for which growth values are computed. This vector can be
composed of characters or numbers. This is the second split value for
biomass.change.dbh |
The output from biomass is a dataframe of the same dimensions as census1 or census2 with AGB for each tree where a DBH value was available. The presence or absence of a DBH value in a census indicates whether the tree died during the census interval (AGB census 2 is missing), was recruited (AGB census 1 is missing) or persisted in both censuss (AGB not missing). AGB may be missing in both censuses is the data come from a site with more than the two censuses used to run biomass.
The first function, biomass.change can divide AGB into 2 sets of mutually exclusive categorical levels. Do NOT use DBH classes with this function. For DBH classes use the second function, biomass.change.dbh. Here the trees are categorized into dbh classes in each census independently of each other. Therefore, trees alive in the first census are categorized by their census 1 dbh to determine their dbh class, etc. Trees that died are categorized by their census 1 dbh, recruits by their census 2 dbh. Growth in AGB is categorized into DBH classes based on census 1.
To obtain AGB Mg per year, compute the mean number of years between censuses and apply to all values in the returned list. For area, compute total area in ha for plot and divide list contents by this also.
Returns a list of arrays:
alive1 |
AGB Mg of trees alive in census 1 |
alive2 |
AGB Mg of trees alive in census 2 |
dead |
AGB Mg of trees that died between census 1 and 2 |
rec |
AGB Mg of trees that recruited between census 1 and 2 |
aliveboth1 |
AGB Mg of census 1 for trees that were alive in both censuses |
aliveboth2 |
AGB Mg of census 2 for trees that were alive in both censuses |
alivePC1 |
AGB Mg of census 1 for trees that were alive in both censuses but for which the point of measurement was changed (POM) |
alivePC2 |
AGB Mg of census 2 for trees that were alive in both censuses but for which the point of measurement was changed (POM) |
nalive1 |
Number of trees alive in census 1 |
nalive2 |
Number of trees alive in census 2 |
ndead |
Number of trees that died between census 1 and 2 |
nrec |
Number of trees that recruited between census 1 and 2 |
naliveboth1 |
Number of census 1 for trees that were alive in both censuses |
naliveboth2 |
Number of census 2 for trees that were alive in both censuses |
nalivePC1 |
Number of census 1 for trees that were alive in both censuses but for which the point of measurement was changed (POM) |
nalivePC2 |
Number of census 2 for trees that were alive in both censuses but for which the point of measurement was changed (POM) |
alivegr |
Change in AGB for trees that were alive in both censuses. Does not include trees with a change in POM |
alivegrPC |
Change in AGB for trees that were alive in both censuses and had a change in POM. Since POM was changed, this AGB growth is not valid but is provided for completeness |
Pamela Hall and Jerome Chave
Chave, J. et.al.(2005). Tree allometry and improved estimation of carbon stocks and balance in tropical forests. Oecologia. 145. pg 87
## Not run: 1. Use result from example for biomass: bci9095.biomass <- biomass(bci90.full,bci95.full,mult1=tst.bci90.mult,mult2=tst.bci95.mult,wsgfile=wsg.ctfs, forest="moist",badgrowth="meangrowth",dbhuse="second",trim=c(-5,75),recsize=110,rounddown=FALSE) biomass.change.out <- biomass.change(biomass.out,split1=tst.bci90.full$sp) biomass.dbh.out <- biomass.change.dbh(tst.bci90.full,tst.bci95.full,biomass.out,split=tst.bci90.full$sp,dbhclass=c(10,50,100,300)) ## End(Not run)