Overview

This report provides key information for meeting with Ervan, Krista and Erika about compiling allometric equation for ForestGEO sites.

Meeting goals:

  1. Both for tropical and temperate forests, compile tables with variables <category> (e.g. site) and equation (<category> should be, at this first stage, a variable for which getting allometric equations is relatively quick);

  2. Clarify what can/cannot be shared and discuss alternatives.

  3. Other’s goals

Background

@

Tropical forests

  • site-level allometries are possible; the table below seems to have sufficient data for developing a table with variables site and equation:
# Source: Ervan

#>        site   genus     species   wsg       E
#>       <chr>   <chr>       <chr> <dbl>   <dbl>
#> 1 amacayacu Abarema barbouriana 0.567 -0.0793
#> 2 amacayacu Abarema     jupunba 0.585 -0.0793
#> 3 amacayacu   Abuta grandifolia 0.450 -0.0793
#> # ... with 8,597 more rows
  • genus-level allometries are possible

generic allometric models are … widely used.

–Ervan

  • species-level allometries are not possible

… tropical forests are way too diverse to even think about developing specific allometric models (Rutishauser et al. 2013).

–Ervan

Temperate forests:

  • taxa-level allometries are possible

we’re compiling taxa-specific allometries (locally developed when possible)

– Krista

What we have

Tropical forests

Ervan provided useful tables and code.

These data seems to be what I need. Can we add a variable equation – relating dbh with biomass based on wsg and E?

left_join(allodb::site.info, allodb::WSG) %>% 
  select(site, genus, species, wsg, E)
#> Joining, by = "site"
#> Warning: Column `site` joining factor and character vector, coercing into
#> character vector
#> # A tibble: 8,600 x 5

#>        site   genus     species   wsg       E
#>       <chr>   <chr>       <chr> <dbl>   <dbl>
#> 1 amacayacu Abarema barbouriana 0.567 -0.0793
#> 2 amacayacu Abarema     jupunba 0.585 -0.0793
#> 3 amacayacu   Abuta grandifolia 0.450 -0.0793
#> # ... with 8,597 more rows

The code seems mature. I think it’d be great to share it. It only seems to need minor edits, some examples, and a bit more documentation. The function’s help files are here.

Temperate forests

I can share with you the allometry table I showed you (one equation per species/per site).

– Erika

glimpse(
  select(allodb::allo_temperate, matches("AGB"), everything())
)
#> Observations: 415
#> Variables: 25
#> $ `AGB equation`                                              <chr> "b...
#> $ Site                                                        <chr> "L...
#> $ Family                                                      <chr> "A...
#> $ Species                                                     <chr> "R...
#> $ `Species code1`                                             <chr> "8...
#> $ `Growth form`                                               <chr> "S...
#> $ `Wood specific gravity`                                     <chr> "0...
#> $ a                                                           <chr> "-...
#> $ b                                                           <dbl> 2....
#> $ c                                                           <dbl> NA...
#> $ d                                                           <dbl> NA...
#> $ MinDBH                                                      <chr> "2...
#> $ MaxDHB                                                      <chr> "5...
#> $ `DBH Units`                                                 <chr> "c...
#> $ `Biomass Units`                                             <chr> "k...
#> $ `Corrected for bias`                                        <chr> "y...
#> $ `Bias correction (CF)`                                      <chr> "0...
#> $ `Biomass componet`                                          <chr> "T...
#> $ Taxa                                                        <chr> "M...
#> $ `Development species`                                       <chr> NA...
#> $ Region2                                                     <chr> "N...
#> $ `Biomass equation source`                                   <chr> "J...
#> $ `wsg source`                                                <chr> "J...
#> $ `Notes on diameter, others`                                 <chr> NA...
#> $ `Reference SERC (original metionned in Jenkins et al.2004)` <chr> NA...

there are (…) “generic” (1) models for [Europe and Northern China]. Unfortunately, I am not aware of any generic (2) allometric model for temperate zones.

– Ervan

Ervan, Am I right in thinking that in (1) you mean general and in (2) you mean taxonomic-genus-level?

Privacy of wood density data

Please discuss what can and cannot be shared and how to do it.

The wood density database arise from CTFS and, I guess, isn’t aimed to be shared publicly.

– Ervan

(Ervan, are you saying that what can’t be shared is your table WSG?)

my initial thought is that the package needs to be open access, and therefore may need to rely on some other source for wood density when the data is not public.

– Krista

Supplementary notes

Let users input customize the allometric equations

I assume that most PI are using there own “locally” developed allometric model, or could do so using trees harvested in the surrounding area. It’s a bit of work, but we could provide assistance here too.

– Ervan

We (…) need a mechanism by which users can include data that’s not public.

–Krista

Details of Ervan’s data

A glimpse on each data set contributed by Ervan.

glimpse(ficus)
#> Observations: 67
#> Variables: 8
#> $ Mnemonic   <fctr> FICUAB, FICUAL, Ficuamaz, FICUAN, ficutr, FICUBJ, ...
#> $ Genus      <fctr> Ficus, Ficus, Ficus, Ficus, Ficus, Ficus, Ficus, F...
#> $ Species    <fctr> albipila, altissima, amazonica, annulata, aurea, b...
#> $ Subgenus   <fctr> Pharmacosycea, Urostigma, Urostigma, Urostigma, Ur...
#> $ Section    <fctr> Oreosycea, Urostigma, Americana, Urostigma, Americ...
#> $ Subsection <fctr> Pedunculatae, Conosycea, , Conosycea, , Conosycea,...
#> $ Strangler  <fctr> No, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, No, Ye...
#> $ name       <chr> "Ficus albipila", "Ficus altissima", "Ficus amazoni...
glimpse(site.info)
#> Observations: 63
#> Variables: 12
#> $ id            <dbl> 42.0, 51.0, 52.0, 45.0, 18.0, 53.0, 46.0, 14.0, ...
#> $ Site          <fctr> Amacayacu, Badagongshan, Baotianman, Barro Colo...
#> $ site          <fctr> amacayacu, badagongshan, baotianman, barro colo...
#> $ lat           <dbl> -3.81, 29.46, 33.50, 9.15, 1.35, 42.38, 8.99, 5....
#> $ long          <dbl> -70.3, 110.5, 111.9, -79.8, 103.8, 128.1, -79.6,...
#> $ UTM_Zone      <int> 19, 49, 49, 17, 48, 52, 17, 50, 49, 47, 50, 51, ...
#> $ UTM_X         <fctr> 359223.7022, 453456.2453, 587323.8348, 626783.7...
#> $ UTM_Y         <fctr> 9578870.297, 3259047.312, 3706005.813, 1012114....
#> $ intertropical <fctr> Tropical, Other, Other, Tropical, Tropical, Oth...
#> $ size.ha       <dbl> 25.0, 25.0, 25.0, 50.0, 4.0, 25.0, 4.0, 50.0, 20...
#> $ E             <dbl> -0.07929, 1.01162, 1.19960, 0.04945, -0.08480, 1...
#> $ wsg.site.name <fctr> amacayacu, , , bci, bukittimah, changbai, , , ,...
glimpse(WSG)
#> Observations: 16,558
#> Variables: 9
#> $ wsg     <dbl> 0.567, 0.585, 0.450, 0.300, 0.657, 0.657, 0.818, 0.819...
#> $ idlevel <chr> "genus", "species", "genus", "genus", "genus", "genus"...
#> $ site    <chr> "amacayacu", "amacayacu", "amacayacu", "amacayacu", "a...
#> $ sp      <chr> "abarbarb", "abarjupu", "abutgran", "acalcune", "aegic...
#> $ genus   <chr> "Abarema", "Abarema", "Abuta", "Acalypha", "Aegiphila"...
#> $ species <chr> "barbouriana", "jupunba", "grandifolia", "cuneata", "c...
#> $ genwood <dbl> 0.567, 0.567, 0.450, 0.300, 0.657, 0.657, 0.819, 0.819...
#> $ famwood <dbl> 0.678, 0.678, 0.545, 0.509, 0.539, 0.539, 0.742, 0.742...
#> $ spwood  <dbl> NA, 0.585, NA, NA, NA, NA, 0.818, NA, 0.427, NA, NA, N...

Notes from the meeting itself

Tropical Forests

  • Making a table of site and equaiton – based on E and wood-density – is possible. Currently, such equaiton is in Ervan’s code. Example from comp.AGB():
# more code

AGB <- (0.0673 * (WD * H * (D/10)^2)^0.976)/1000

# more code

        E <- site.info$E[INDEX]
        AGB <- exp(-2.023977 - 0.89563505 * E + 0.92023559 *
                log(WD) + 2.79495823 * log(D/10) - 0.04606298 *
                (log(D/10)^2))/1000

# more code
  • Ervan suggests that the biomass() function needs a parameter to input wood density because new wood density data becomes available frequently and users may want to incorporate it. That is why he prefers to compute biomass not with a fixed equation but as a function of wood density.

Temperate forests

  • Erika pushed her dataset Allometries_Temperate sites.xlsx. The format seems to be one I have been thinking about, with one variable giving equation and multiple variables giving categories – such as site and several taxonomic-level categories.

  • I’ll study the table and try it with the code I have. Erika offerred to answer questions any time. But she will start her new contract in December 1st.

  • Erika, Krista and I agreed to meet, at SCBI, some day during the first week of December.

  • Ervan suggested that the most specific equations (i.e. closer geographically or of higher taxonomic resolution) not always may be the best equaiton. Instead, best might be one generic ecuation. [Here generic means not “of taxonomic genus level”; it means general – an equation that has been produced based on measuring many trees]. He said that there are generic equations for three reigons: North America, Europe and China. For each region there may be multiple equaitons: one per each taxonomical group.

  • Those generic equations seem to be a relatively easy first step. That is, I could use them to try and improve the prototype code I wrote. Those equations may be tabled independently, or may be incorporated into Erika’s table (some of those generic equations already be in Erika’s table, but we may need to check with Ervan that we are talking about the same equaitons).