Skip to content

Conversation

hrlai
Copy link
Collaborator

@hrlai hrlai commented Aug 27, 2025

This PR updates a previous analysis merged via #70 to better improve parameter estimation. When I say "improve" it is hard to say what has improved, because we really don't know what the expected values are. BUT, I think we can say that the improvement is in making sure that the fitted models are not as biased / sensitive to our prior choice (I think previously they were, as described in #102 .

What I did:

  • Be less greedy from fitting everything in a single model, to fit three models: leaf litter decay, woody litter decay, and a lignin model.
  • Finding datasets with both lignin and decay data is tough, so I split them into separate tasks: first reparameterise (or absorb) lignin $L$ into the equations in Model litter chemistry and turnover #60 , and then recover them a posteriori when the third lignin model. This freed me up to find higher-quality datasets separately.
  • The leaf litter model with two mixture components (i.e., $f_m$ and $1 - f_m$) was also another culprit causing inference issue, but I discovered that simply reparameterising the mixtures' summation with "log sums of exponentials" addressed most of the numerical challenges.
  • The leaf litter model allowed us to infer $k_m$, $K(L)$, (logit of) $f_M$ (more on this later), $s'_N = s_N \times L$ and $s'_P = s_P \times L$
  • The woody litter model allowed us to infer $K_W$
  • The lignin model allowed us to infer $r$

Then using average leaf and wood lignin from @arne-exe 's plant stoichiometry script, I recovered $s_N = s'_N / L_\text{leaf}$ , $s_P = s'_P / L_\text{leaf}$, $k_s = K(L) / \exp(-r L_\text{leaf})$, and $k_w = K_W / \exp(-r L_\text{wood})$. Assigning average leaf and wood lignin to everything will be a crude assumption that we need to accept at this stage.

I am setting this PR as a draft because I want to test it out on #101 and check if we still get crazy equilibrium values.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency, I'd avoid loading this data in GitHub (though it is really small)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@annarallings this dataset is extracted from a figure (which is considered "primary"), so I save the extracted data as "derived". We haven't decided yet, but the current feeling is to avoid pushing primary data at all (meaning the folder will probably be removed entirely). However, I am not 100% sure about derived data like this. Do you want me to treat it more like a primary data and not push it (use Globus) instead?

Copy link
Collaborator

@annarallings annarallings left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple comments on documentation and data - looks good otherwise.

@hrlai hrlai marked this pull request as ready for review September 18, 2025 00:06
@hrlai
Copy link
Collaborator Author

hrlai commented Sep 18, 2025

This can be merged once #108 is merged.

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 this pull request may close these issues.

Rethinking litter decay models
3 participants