Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SLA profile implemented, weird interaction with canopy trimming #383

Closed
kovenock opened this issue May 15, 2018 · 12 comments · Fixed by #623
Closed

SLA profile implemented, weird interaction with canopy trimming #383

kovenock opened this issue May 15, 2018 · 12 comments · Fixed by #623

Comments

@kovenock
Copy link
Contributor

@aswann , @ckoven , and I have implemented a sla profile in FATES so that sla grows exponentially with canopy depth as supported by observations (Lloyd et al. 2010). In doing so, we've run into some strange behavior. We would like share these results with the wider community and ask for your feedback on our proposed next steps.

Briefly, we implemented a sla profile by replacing static sla values (same value at all canopy depths) with sla values that exponentially increase with depth in the canopy. These updates were made both to the calculation of LAI and, in the canopy trimming submodule, to the calculation of leaf cost. Both of these routines use 1/sla to represent the carbon cost of building a unit of leaf area. In our implementation, sla growth through the canopy uses the same coefficient as already used in FATES for nitrogen scaling (following Lloyd et al. 2010). Our expectation is that implementing this sla profile allows plants to grow more leaf area overall since leaf area at the bottom of the canopy costs less carbon to build.

We found that implementing this sla profile causes LAI to oscillate on a ~15yr timescale (light red line in plot below). This oscillation goes away when we turn trimming off (purple line at top) or turn trimming down by reducing the trim increment (how much canopy trimming increases each time trimming goes into effect) from 0.03 to 0.01 (light blue line) and 0.001 (dark red line). However, LAI is then sensitive to the trim increment parameter (trim_inc, abbreviated as tinc in plot legend), as shown by the difference between the light blue and dark red lines. For reference, the dark blue line in the plot shows LAI for a control simulation with trimming turned on; the yellow line shows a control simulation with trimming turned off. All simulations were run using a model version prior to recent conductance updates at BCI under 400 ppm CO2.

Given this weird behavior when the sla profile is implemented an trimming is on, we think our plan going forward will be to turn off canopy trimming. To bring LAI in line with observations (reduce from ~6.5 when trimming is off, purple line), our working plan is to alter the leaf biomass allometry so that less biomass is allocated to leaves. We were wondering if other FATES users/developers (e.g. @rosiealice) have thoughts on this?

slaprofileexperiments

@rgknox
Copy link
Contributor

rgknox commented May 15, 2018

I'm trying to think out loud why the oscillations occur. I'm guessing when trimming occurs now, it now has helpful and slightly unhelpful impacts. Its helpful because layers that have lower light-levels are culled, but it is unhelpful because it is removing layers that are cheap to make, and thus the mean per-unit cost of cohort total leaf area slighly bumps up. Do I have it right?

@kovenock
Copy link
Contributor Author

Hi Ryan, Thanks for asking! We've looked into a few things that could be driving the oscillations but still have some questions about what is causing them. A few contributing factors that could be at play:

  1. The sla profile makes leaves at the bottom of the canopy, where trimming occurs, cheaper in terms of carbon and thus more sensitive to changes in leaf carbon. When trimming goes into effect, the canopy trim value (a fraction) is applied to the leaf carbon so that carbon allocated to leaves decreases (or increases). Because the sla profile makes leaf area cheaper in terms of carbon, more leaves are removed (or added) for a given change in leaf carbon. Thus, trimming the same amount of carbon is expected to cause larger swings in LAI in the sla profile case than in the control case.

To check this, we looked at leaf area per tree for all size classes. We found that in the sla profile simulation (red lines below), larger size classes (e.g. classes 19-26) have LAI that oscillates on a similar time scale (frequency ~15 years) as the overall LAI. This is markedly different from the control simulation (blue lines). At the other size classes (e.g. classes 5-6), the variability in LAI looks similar between the control (blue) and the sla profile case (red). (The yellow line represents the simulation with sla profile and trim increment decreased from 0.03 to 0.01.)

Why these oscillations occur on these longer time scales in the large size classes, and whether they could be contributing enough to drive the oscillations in overall LAI, are still open questions. The oscillations do seem to correlate with canopy trim values (see point #2 below).

screen shot 2018-05-16 at 8 50 13 am

screen shot 2018-05-16 at 1 49 23 pm

If we, look at more years of the sla profile simulation (red) below, we see the oscillation on the ~15yr timescale continues in the large size classes:
screen shot 2018-05-16 at 1 37 29 pm

  1. Canopy trim values (the fraction that is used to scale up or down leaf carbon in the trimming function) follow a similar pattern to that of LAI per tree. For most size classes, the sla profile has a similar pattern of variability as the control but lower mean canopy trim value. However, the larger size classes show longer-term oscillations in canopy trim.

Again, why these longer-term oscillations appear in canopy trim in large size classes is still an open question.

screen shot 2018-05-16 at 8 48 30 am

screen shot 2018-05-16 at 8 49 45 am

  1. Population dynamics could be driving the oscillations in the sla profile case. Charlie pointed that the timescale associated with the oscillations is similar to that for patch fusion.

If there are other ideas, or areas we should look into further, please let us know.

@rosiealice
Copy link
Contributor

rosiealice commented May 16, 2018 via email

@ckoven
Copy link
Contributor

ckoven commented May 16, 2018

I guess the issue with the non-iterative way of optimizing LAI is that we'd have to calculate the carbon balance per layer of leaf even for layers where there aren't currently leaves, which would entail a bit of a reshuffling of how the radiative transfer all works...

@rosiealice
Copy link
Contributor

rosiealice commented May 16, 2018 via email

@ckoven
Copy link
Contributor

ckoven commented May 16, 2018

could the oscillating behavior be a function of dinc being too large? I can imagine a scenario where that two could be related. it might be useful to see if the behavior still happens when dinc is smaller, like 0.25?

@rosiealice
Copy link
Contributor

rosiealice commented May 16, 2018 via email

@kovenock
Copy link
Contributor Author

Thanks for the suggestions everyone! I'll try a simulation with dinc = 0.25 and post the results asap.

@kovenock
Copy link
Contributor Author

I ran the simulation with lower dinc and learned from the output that there was likely an error in the sla profile code. After revisiting the code, I found that I was using an inconsistent sla profile when calculating tree_lai versus when I was calculating the leaf_cost in the trim_canopy subroutine. (I used tree_lai for the overlying leaf area to calculate the sla profile for the tree_lai calculation (following clm), rather than laican as used for fates vcmax and leaf_cost.) We're working on updating the code to fix this and will post new results once they are ready.

Another question, are there LAI observations for bci that we would like to benchmark to?

Thanks!

@jenniferholm
Copy link
Contributor

Hi Marlies, thanks for sharing these results. Interestingly, I also have just recently been playing around with altering the canopy trimming logic, and also finding some weird results. At the Manaus, ZF2 site. Here are a couple questions for you, and also some suggestions ---

  1. could you also share your M3 (cmort) results, the carbon starvation mortality? Because I'm getting some really large starvation mortality, even with a large trimming. As Rosie mentioned the trimming "primary function is to avoid trees respiring to death in sub-optimal conditions", but I'm still finding that trees are dying. So I'm currently trying to investigate that....

  2. Did you change any other leaf allometry parameters, or anything else? (other than the sla profile, trim on or off, and tinc)? I'm just trying to make sure I can help compare the same things. For my tests, I'm still using the static SLA. But, I've bumped it up just a little bit from 0.012 to 0.016, based on some field data we have from ZF2. This small bump helped to increase the LAI (but that also in turn lowers leaf biomass).

  3. Can I ask how you turned the trimming off? Did you use the trim_limit, and set it to something really high? When I've been playing around with a low vs. high trimming function I was altering the "trim_limit" and didn't think to change "trim_inc" as a way to turn trimming down or up. But, maybe I should switch to that.

I'm interested in seeing your carbon starvation mortality results, and if I find out any insight with my tests I'll be sure to report it!!

@ckoven
Copy link
Contributor

ckoven commented May 22, 2018

@kovenock The STRI group at BCI have LAI timeseries. I am planning to work with them in the near future to consolidate this data to the BCI testbed. Some of their LAI (as well as lifespan, litterfall, etc) data that has already been published is in fig. 7 of this: https://www.nature.com/articles/s41467-018-03306-9

@kovenock
Copy link
Contributor Author

@ckoven Thank you for the link to the BCI LAI figure!

@jenniferholm I'm happy to share the M3 results for the simulations above, with the caveat that the sla profile simulations might be strange due to the error I mentioned above. (I can send M3 result for these again once we fix the code.) I'll send you an email with the monthly M3 files and the parameter file we used. Please feel free to ask for other information as needed.

Briefly, I used a model branch from Charlie called ""merged_parprof_decouplebroot" and we made some parameter changes to his default parameter file called fates_params_baseline1_leafclumping_nomaxsize_newsai.c180308.nc. Some parameter changes we made could matter for you. For example, we set:

fates_cushion = 2
fates_dbh_repro_threshold = 150
fates_allom_dbh_maxheight = 150
fates_stress_mort = 0.6
fates_allom_fmode = 2
fates_allom_d2bl1 = 0.14
fates_allom_l2fr = 0.5

We turned trimming off by setting trim_limit = 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants