SCBI-ForestGEO / McGregor_climate-sensitivity-variation

repository for linking the climate sensitity of tree growth (derived from cores) to functional traits
0 stars 0 forks source link

characterize absolute growth climate sensitivity #5

Closed teixeirak closed 5 years ago

teixeirak commented 5 years ago

The problem (from @atepley): It makes me wonder whether comparing the strength of the correlation with climate variables is the best way to compare climate sensitivity. For example, does a weaker correlation with climate variables in sub-canopy trees necessarily mean that their growth is less strongly influenced by climate, or could their growth be equally influenced by climate but more strongly influenced by other factors (e.g., competition)? These other factors could lead to a noisier chronology in sub-canopy trees that masks the influence of climate.

Two potential solutions:

  1. Resistance metric of Lloret et al. 2011, where they identified drought periods and then took the ration of growth during drought (1-5 years) to the 5 years prior to drought. From Alan: You could also calculate the opposite of their resistance metric, and see how much the growth increases in a wet year relative to the mean of the previous few years. The resilience metrics can be calculated using the 'pointRes' package in R, or you can write a simple script to calculate them on your own.
  2. Approach of D’Orangeville et al 2018, where drought periods are identified and the growth index (raw growth divided by cubic spline) for these periods are identified. Both approaches then use a mixed effects model, analyzing at the level of individual. In our case, canopy/subcanopy could be a fixed effect and species a random effect. We could/potentially should also include tree age or DBH, hydraulic traits, topographic position.

We currently have an email thread going about this, but I'm posting here to register it as an issue/ keep record of it.

teixeirak commented 5 years ago

This is a potential source that may be useful for identifying drought and wet years. It may also point to others.

This looks like a better source: https://www.drought.gov/drought/states/virginia?places=22630

teixeirak commented 5 years ago

Also potentially useful-- Ryan's record of marker years: "Yes, the first marker I used was 1947 caused by a drought. It's a narrow band surrounded by wider bands before and after. 46 is normal, then 48 shows a slight recovery. Often 47 would almost be absent, 48 was still narrow. 43 - 48 would be somewhat more narrow than 40-42 and 49-52, but 47 was almost always the most narrow of all of them. There were often 6 years of narrow bands, with 47 the most narrow or missing. The early 40s were usually quite wide (link)

There would then be some normal sized rings until the drought of the 50's. This lasted from about 52-56 and wasn't as precise as 47, but generally if 47 matched then the 50s matched up very well and there was a series of narrow rings. If I didn't see this pattern it usually meant I needed to recheck the core. (link)

I then also used 1977 which was also caused by a famous drought and was even more distinct than 47. Often times (like 47) 77 would almost be missing entirely and 78 would also be narrow. The vast majority of the times that I matched 47 and the 50's 77 would fit nicely into place. (link)

The next marker I used was 1991, which was also a famous drought and showed patterns similar to 47 and 77. (link). In some trees the 91 marker was weaker than the others though.

The last marker I used was 2002, but this was more difficult to see in many of the older trees. Generally there was a severe drop around 2002 (link) caused by a drought."

mcgregorian1 commented 5 years ago

Hi @teixeirak

So, the list of marker years from Ryan is 1947 1952-1956 1977 1991 2002

One thing I notice instantly is that the PDSI from Winchester shows 1966 to be a larger drought year, not necessarily backed up to the same extent by the PDSI values we have in the SCBI data. That being said, 1966 showed up conclusively below.

In running the pointRes package, it calculates its own measure of whether a year is a pointer year (marker year) based on relative growth of the tree between that year and the others. It also makes boxplots for the resistance, recovery, resilience, and relative resilience indices (but only if at least 5 tree cores show the same metric of response to drought).

The metric is determined as: If >xx% of cores trees in a year experienced growth (from BAI) less than xx% of normal over the past n years, then that year is considered a pointer year for all the trees in a grouping.

I put the resulting occurrences of pointer years by canopy position in this repo. This is a rough draft (apologies it's not sorted neatly; my brain is failing this late on a Friday, but I wanted to get this up so you could see what an output looks like using these specific metrics).

teixeirak commented 5 years ago

@mcgregorian1, I think we should combine all trees (species, canopy vs subcanopy) into a single pool for the step of identifying pointer years.

mcgregorian1 commented 5 years ago

Ok. I've made the new table here. If we look at the top 7, we see that of the pointer years Ryan identified, only 1947, 1977, and 1991 are represented. Do you think top 7 is a good range of years to be considering? Or should we only do top four (> 5 occurrences)?

image

teixeirak commented 5 years ago

What is n.occur? Is that the number of species/position groupings for which it is identified? What I meant by combining all trees into a single pool for identifying pointer years is that the analysis should be run just once on all trees without regard to species or position. We then separate them to test for differential effects.

mcgregorian1 commented 5 years ago

Yes, sorry about that. "n.occur" is the number of times that year shows up as being a pointer year for different trees, not grouped by canopy position.

By separating to test for differential effects, do you mean a different kind of model?

I should note, though, that these measures of pointer years are based on

If I'm to run an analysis on them all together with the same metric, then what do you suggest? From last week, running the default (for >60% trees, less than 40% growth compared to last 5 years) gives me little to go on

teixeirak commented 5 years ago

Run this test on all trees together to identify the marker years, and characterizing climate sensitivity will be a later step.

teixeirak commented 5 years ago

Regarding the criteria, the goal here is to identify years in which growth was reduced by drought conditions for a large portion of trees. You can try different thresholds to see what works well-- for example, "for >50% trees, less than 30% growth compared to the last 5 years." It's okay if you need to loosen those criteria. At the same time, apply the criteria that PDSI < XX (-2.5?) to ensure that the growth reduction was caused by drought.

mcgregorian1 commented 5 years ago

Sorry, I should have been clearer. In order to run this test, I have to specify climate sensitivity criteria, whether it's manual or the default. This is how the function is built in R.

I'll bring in the PDSI values, though, and plot them side by side. For PDSI values, would it make more sense to use <-3.0? I'm seeing in the scale that below -3 is considered severe drought, whereas -2.5 is still considered moderate drought.

source of pdsi values

One thing I've noticed over the course of today is that there's a major discrepancy between PDSI values depending on the source. For example, I was finding the 1966 drought year from the US Drought Atlas, where the Winchester and Woodstock stations both show 1966 as undoubtedly drought. However, when I look at CRU and NOAA, not only does 1966 not show up as a significantly drought year (nor the 1950s, 1997, or 1991 from Ryan's years), but the total range of values is much lower in them than in the Drought Atlas.

What do you think? I did check Erika's 2016 mortality paper, but the NOAA website that she used has now been deprecated.

teixeirak commented 5 years ago

Regarding the test, I'm not sure I fully understand. Go with something that seems reasonable to you for now, and we can go over this in person tomorrow.

Regarding the PDSI values, can you please see if you can track down the differences among sources? The one we're using is described here.

mcgregorian1 commented 5 years ago

Ahh ok. I'm in the process of comparing the different values; I should hopefully finish tomorrow.

mcgregorian1 commented 5 years ago

Hi @teixeirak

I've made the table that has all the resistance metrics in the format we discussed. I'll run the model tomorrow. Instead of the top 5 pointer years I did the top 6, because if we look at the top 10: image there is a noticeable jump from 4 to 2 after the first six years.

Ryan doesn't have access to this repo so I'm going to make an issue in one he does have access to.

teixeirak commented 5 years ago

I can add Ryan to this one. Will do it in a few minutes.

mcgregorian1 commented 5 years ago

Hi @RHelcoski

You've mentioned before you noticed drought years (when working with the cores) in 1947, 1952-1956, 1977, 1991, and 2002.

When I run the cores through an R package (pointRes), it gives me probable drought years (n.pointer) based on growth of the trees compared to growth in years past. Some of these match up with your years, but some don't. Do you remember anything about the ones that are different (from when you were working with the cores?

image

P.S. I've already looked into PDSI values to corroborate, but I was wondering if you specifically had any recollection of these.

teixeirak commented 5 years ago

@RHelcoski, calling your attention to this issues in case you didn't get notification before Iadded you to the repo.

mcgregorian1 commented 5 years ago

Hi @teixeirak

original threshold of 30%

I ran the original model based on the thresholds that, in order to be considered a pointer year, >50% of trees need to have experienced a growth reduction of at least 30% (for both canopy and subcanopy)

I've tested different model versions and the best one is the full one you suggested, where: resistance value = response variable position = fixed effect year = random effect species = random effect

After running that model, I get a p-value (from anova) of 0.09000048 and the residuals look like this: image

changing the threshold to 20%

I tried changing the threshold value to be at least 20% growth reduction. From running the model on those metrics, I found

changing the threshold to 40%

I tried again with at least 40% reduction in growth, to see how it differed

What do you think? Is there a system for keeping canopy thresholds at 30% but changing subcanopy to something else? I think we should keep the metric saying at least 50% of the trees need to have experienced the same effect, otherwise it wouldn't be majority.

teixeirak commented 5 years ago

I'm confused as to why the threshold matters. Is it because the different thresholds give different pointer years? That's the only thing that changing the threshold changes, right?

teixeirak commented 5 years ago

Canopy and subcanopy thresholds should be kept the same. Anything else would bias the analysis.

Really, I think we probably need to identify pointer years based on the entire set of cores combined. It's a bit of extra copy/pasting, but probably worth it. Think ahead to writing the methods-- we need to do something that's clearly justified. We could probably get away with identifying pointer years that show up in for most species groupings, but I think that's weaker logic. Its much more straightforward to simply identify droughts that affected a majority of trees, regardless of species/ position and then test for effect of species/position.

teixeirak commented 5 years ago

I'm glad you're getting significant results! Is that p value for canopy position or for the entire model? (Is canopy position alone significant?)

mcgregorian1 commented 5 years ago

Yes, different thresholds means that either more or fewer trees' changes in growth (in a year) are considered significant enough to be labeled as a pointer year.

You're right! The model I'm running now is indeed on all the trees (all the cores I sent to Neil) combined, though I did take out frni _subcanopy, caco_subcanopy, and cato_subcanopy because there were so few individuals sampled. Did you want me to put those back in?

Yes, while the p-value comes from me running an anova on the model output, the p-value itself is referring to canopy position.

teixeirak commented 5 years ago

Good question about the subcanopy chronologies. Could you please point me to the table with sample sizes for each species-canopy position category?

mcgregorian1 commented 5 years ago

So I filtered out those species from my intial linear mixed model based on the climate variables (Issue #4), since when Valentine ran her most recent quilt model she took out sp groupings that had <7 cores.

The numbers are from the core list, but are listed below. My reasoning for taking these out was that since the canopy grouping had so few cores, that to not bias anything I should take out the corresponding subcanopy cores. I'm thinking I should keep them back in? I do believe the 1 frni_canopy core, though, gives me an error when I try to process it.

@RHelcoski I noticed two frni rwl files here, and if I'm not mistaken, the one labeled "frni_canopy" can be thrown out, correct? It looks to be the exact same data as "frni_drop_canopy" but the labels are wrong and no years are posted.

teixeirak commented 5 years ago

I think I agree with what you did-- just wanted to check. What we have is all species with ≥7 cores in both canopy and subcanopy groupings, correct? If so, stick with that.

mcgregorian1 commented 5 years ago

Yes, that's true. However, cato_subcanopy (13 cores) is included because it didn't have any canopy cores. Should those come out as well then? If they do, though, then we lose another species.

teixeirak commented 5 years ago

I think that depends on the statistical model. If you do a crossed ANOVA, you need only species with both canopy and subcanopy. But I think you could keep it in a mixed effects model.

mcgregorian1 commented 5 years ago

Ok sounds good.

I'm starting to figure out interpretations of the results. One thing I found was this wrapped graph showing the distribution of resistance values per pointer year. This confirms the significant difference we're seeing image

Past that, I'm not sure there needs to be more interpretation? We were just running the model to determine if indeed canopy position would be confirmed as significant, right?

teixeirak commented 5 years ago

Yes, the ANOVA is just to confirm that the effect is significant.

A modified version of the above figure might be good for your paper. It would be nice to plot canopy and subcanopy together for each drought year. You also might also display the means and add a vertical line at 1 (drought growth = pre-drought growth).

teixeirak commented 5 years ago

Another thing to consider: perhaps drop 1911? The further back we go, the more current canopy trees would have been sub-canopy. Fortunately, mixing in signals of sub-canopy trees in with the canopy group would tend to weaken the hypothesized trend, as opposed to biasing towards a significant effect.

teixeirak commented 5 years ago

Actually, it would be better to use a mixed model instead of ANOVA. Include canopy position (fixed effect), drought year (random effect), and tree nested within species (random effect).

mcgregorian1 commented 5 years ago

Yep! That's the mixed effects model I ran. I was doing the anova just as another possible way of interpreting the results from the model.

Ok. I can look into dropping 1911 when I'm back from the field

mcgregorian1 commented 5 years ago

I think that depends on the statistical model. If you do a crossed ANOVA, you need only species with both canopy and subcanopy. But I think you could keep it [cato_subcanopy] in a mixed effects model.

Hi @teixeirak

I was going through the species numbers again and was wondering why we still had cato_subcanopy in the list (13 cores). I found your response from this thread above from 6 March. Based on this, and since I'm doing a linear mixed model and not a crossed anova, wouldn't it make sense to bring back in frni_subcanopy and caco_subcanopy? Both of those have 11 cores.

image

I decided to go ahead and run the model with the subcanopy cores in to see what I got. Turns out, using the subcanopy cores for caco, cato, and frni (with no canopy counterparts) gives a relatively stronger signal that the full model (with both tlp and rp) is best. What do you think? image

teixeirak commented 5 years ago

Sounds good, thanks.

teixeirak commented 5 years ago

I think we're fully satisfied with/ settled on a method for characterizing absolute growth climate sensitivity. Closing this.