Coder Social home page Coder Social logo

traitecoevo / competition_kernels Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 3.56 MB

:seedling: Emergent shapes of trait-based competition functions from resource-based models :deciduous_tree::evergreen_tree::palm_tree:

R 19.39% TeX 77.98% Dockerfile 2.63%

competition_kernels's People

Contributors

dfalster avatar markwestoby avatar richfitz avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

hrlai

competition_kernels's Issues

Detecting competition kernels in nature

I know there's ratio series experiments that measure the strength of competition between two species, but are there experiments that do this across species traits? Identify studies like this for the intro/discussion.

Figure (S?): Rstar Abrams kernels

  • Possible numerical instability around 0.78 in lower left panel?
  • What is going on with lower right panel? Really that strong?
  • Where does the curvature in the LV kernels come from given the linearity of the Abrams kernel?

Figure 2: components

  • Caption
  • Show sigma_K and sigma_c on the graphs (won't fix)
  • Get kernels for >1 species here? Or in SM version? (won't fix)
  • Label figures: label bottom panels on left c1, d1 and on right c2, d2
  • remove tick labels where possible
  • put panels a and b on one line
  • make the "a" an "alpha" in the y axis.
  • dashed lines should be grey
  • add black region of possible invasion
  • make clear in caption that the point is a species
  • d1 and d2 should be e and f probably
  • y axis on c and d is w, but in paper we use f (we use w in the paper)
  • possibly move last 3 lines / 2 sentences into the main text.

Mutant fitness or invasion fitness

Mark says:

PS can we start calling it invader rather than mutant? -- better aligned with community-coexistence context

Update language in documents, but need to make the connections with "mutant" in adaptive dynamics clear.

Figure 6: density dependence

  • does not exist yet
  • Georges found unclear
  • try 3d figure
  • try series of lines figures (possibly moving heatmap into the SM)

Finish prosifying discussion

Section headings and dot points in pace, need to convert into text

  • Suitability of LV as a basis for modelling biological phenomena
  • Expanding the possibilities for coexistence in models
  • Bridging the gap between different theory strands and
    empirical work
  • Conclusions, where next with models of competition?

Script/knitr file with the approach

Start collecting little bits that seem to work and explain what is going on with the models. That'll just formalise what we've found in the R scripts, but make it easier to track things with Mark.

Wiki generated files workflow

This is still experimental (see the update_wiki and publish_wiki targets in doc/Makefile).

The biggest unresolved issue is how to back-port direct changes to the wiki files into the source files, if these are directly edited. I doubt that there is an efficient way of doing anything other than manual editing.

In practice though that's not likely to be a big drama as it will mostly be prose changes or questions.

Error when rerunning

Coming back to this project after sometime, I get an error when running:

[ BUILD ] dat_rstar_abrams                         |  dat_rstar_abrams <- rstar_add_abrams()
Error in rootSolve::runsteady(y, derivs_deSolve(dydt), pars, times = c(0,  :
  `func' must be a function or character vector or a compiled function
Calls: <Anonymous> ... rstar_fitness_given_N -> rstar_equilibrium_R -> equilibrium -> <Anonymous>
Execution halted

@kunstler Do you also get this? Can you investigate while i continue with the writing?

Competition shape table

  • tidy up placeholder
  • generate small example figures
  • track down equations
  • Harmonise numbers of references.
  • Reduce duplication with main text
  • Main text suggests only two are used
  • Make case that all are parametrised by trait difference, and / or are constant in trait space
  • note that resource utlisation functions are excluded (so pre ~ Slatkin 1980; possibly removes Roughgarden 1972)

Standardise R* model

At the moment, I set up the simulation model assuming that a unidimensional species trait x affects model parameters as:

  • K_{1i} = x
  • K_{2i} = 1 - x
  • C_{1i} = c_1
  • C_{2i} = c_2

while @kunstler suggests

  • K_{1i} = x
  • K_{2i} = 1 - x
  • C_{1i} = x
  • C_{2i} = 1 - x

(i.e., K_{ij} = C_{ij}). I'm happy to move the R* analysis over to use the new form.

plant methods

Description of tree for suppmat, need to know outcome of tree paper

Figure 5: tree lma

  • caption
  • link to components SM figure
  • black bar misrepresents fitness
  • get species to attractor (check: it might already be - if not get from plant_paper)
  • labels: a,b
  • change aspect ratio, currently too tall
  • ylab missing, xlab needs formatting
  • add multi species? (won't fix)
  • add Abrams kernels? (won't fix): these look really kooky here; not sure if instability or what.
  • consider vertically stacking
  • drop points 1 and n (in general) as they are numerically unstable.
  • grey lines
  • drop first and last x point
  • caption needs pointer to parameter values
  • higher density x points near resident, and in general
  • include resident x point

Rework introduction

Trim intro, move much of the history component to a different part of the paper (either between intro and methods or discussion).

Caption Fig 6

This sentence is unclar for me in the Fig 6 'The per-capita competition coefficient is blue when stronger than competition is weaker than intraspecific competition at equilibrium, red when weaker.'

Review of existing literature on limitations of kernels

None of the criticisms we make are new, and it would be nice to be able to point at previous times they've been raised, especially where people have worked through the implication of violation of the various assumptions.

Additional model?

We currently have a very unconventional use of the R* model and tree; is there something in between we can use as a third demo? Ideally something that exists with an implementation, but something simple to implement would be OK too. The only requirement are

  • some concept of "trait"
  • competition is not explicitly added to the model but emerges from the frequency dependent interactions

Port to plant

A bunch of small changes (e.g., Strategy -> FFW16_Strategy) plus some new nice convenience functions that should make this a bit easier to use.

Add references

References for the intro need converting from text references into bibtex entries. A good job for when someone is braindead and wants something easy to do.

  • Dieckmann 1999
  • Pianka (6th edition 2000)
  • Ricklefs 1973
  • Ricklefs and Miller (4th edn 2000)
  • Southwood 1977

Figure 1: species packing

  • caption
  • check most recent version of Krebs in library for resource packing figure (current text assume it is there)
  • something about traits vs resources?
  • check Krebs 1972 (I think we found out it was not in there)

Figures S(?): components for each model

This is a series of panels, like fig 2, showing all components used to derive competition functions for one of figures in main text.

  • caption
  • remove tick labels where possible (will be fixed via #22)

Aggregate competition

Rather than think of competition as 1-on-1, or as a fixed aspect of a species (which is not going to be common with the sorts of frequency dependent competition that all the models we've looked at show), think about how to show the "overall" competition exerted by a community on an individual, and v.v.

@markwestoby and I talked about this with respect to communities reorganising after glacial cycles: even though the identities of the community change, the overall competitive effects might not change that much: plants are still shading each other, etc.

Figure 3: R*

  • caption
  • first column needs a lot of work
  • row headings: top = symmetric resource needs, bottom = asymmetric resource needs
  • labels: a-c across top, d-f across bottom
  • better spacing
  • xlab, ylabs
  • remove tick labels where possible
  • NaN / (0/0) error causing a minor problem in calculations (gap in lines)
  • y axis is not the same name as figure 2.
  • increase whitespace slightly
  • caption reworked to exclude the ZNGIs
  • reduce text size slightly
  • appendix link not there ("all other parameters")

C parameters

The parameter C can either be presented as $C_{ki}$ is consumption rate of resource $k$ by type $i$ or as the content of resource $k$ in type $i$.

I listed both in the text

Open this repo

Probably needs doing by friendly comment if we're going to go the whole hog, but definitely by submission.

Deal with #43 first.

Add competition-colonisation model

Some possibilities:

  • Calcagno, V., Mouquet, N., Jarne, P. & David, P. (2006) Coexistence in a metacommunity: the competition–colonization trade‐off is not dead. Ecology Letters, 9, 897–907. 10.1111/j.1461-0248.2006.00930.x This implementation looks reasonable (perhaps excluding pre-emption option)
  • Geritz, S.A.H., van der Meijden, E. & Metz, J.A.J. (1999) Evolutionary dynamics of seed size and seedling competitive ability. Theoretical Population Biology, 55, 324–343 10.1006/tpbi.1998.1409
  • Parvinen, K. (2006) Evolution of dispersal in a structured metapopulation model in discrete time. Bulletin of Mathematical Biology, 68, 655–678. 10.1007/s11538-005-9040-1 --> metapopulation model without explicit competition-kernel, focusses on evolution of dispersal. See also Parvinen, K. & Meszéna, G. (2009) Disturbance-generated niche-segregation in a structured metapopulation model. Evolutionary Ecology Research, 11.

Figure 4: tree height

  • get species to attractor
  • labels: a,b
  • better spacing
  • xlab, ylabs
  • remove tick labels where possible
  • add inset showing shape of function around resident? (won't fix)
  • black bars indicating regions of possible invasion do not exist
  • grey dashed lines
  • stack vertically and consider different y axis (with suitable warning in caption)
  • caption

Figure (S?): Rstar density dependence

  • Consider making a full 3d surface and highlighting some lines
  • Why don't we always head through alpha = 0 for residents? Is this correct?
  • What does the Abrams kernel look like in this context?
  • Indicate the region in which positive K is possible (probably needed on all Rstar figures)
  • Double check that the calculation is correct though I guess some of the oddness in the plot is the decreasing per-capita effect?
  • Legend

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.