lizzieinvancouver / temporalvar

0 stars 0 forks source link

try to get one or all species to survive #48

Open lizzieinvancouver opened 1 year ago

lizzieinvancouver commented 1 year ago

Email from @donahuem ... I put in long-winded commits, but here are the basics:

  1. in the Species source, we now define 'tau_spr' This defines the SPRead of germination over a season. The structure is ugly - it is a list of length 'nyrs' with 2 dataframes per year (one for each species); each dataframe as two elements: x - a list of day numbers, and y - the proportion of that year's germination that will sprout on that day. So, 'y' must sum to 1 for each species in each year. for now, I have it set up so that there is a 1 on the 'tau_g' day for each species, but you can see that it is now easy to spread germination over the season
  2. in the Comp source, the model definition is tweaked to more explicitly include germination
  3. in the Model section, we have to define the Germination functions before calling the ode.
  4. I had to remove the function that stopped the ode solver when R<R because it wouldn't play nicely with the germination function. So 'ind.Rstar' (1x2) is the timestep when R went below R for each specie.s

Dan - I think you can play with the parameters now. The model is a single run right now for 50 years. So far, everything is going extinct within a decade or so, so we need to tweak the parameters so that at least one species will survive.

dbuona commented 1 year ago

I was able to get thinks to survive by tweaking the conversion rate in the R equation. I think this makes the R of both species very low, but I think that might be okay? If these seems okay to you, I think maybe next steps would be to think about how to parameterize the two different life history traits we talked about (chilling sensitivity vs. no sensitivity) and their respective tradeoffs.

lizzieinvancouver commented 1 year ago

@dbuona From Megan's email:

I suggest you do a few thousand run and do the following:

Divide the runs into sets:

gmax is constant at 0.8 for both species (should be 20% of runs)
gmax is constant for one species but not the other (should be 32% of runs)
gmax varies for both species (44.8% of runs)
Fourth set is gmax is constant for both species, but at different levels (remainig 3.2% of runs -- or just ignore these for now)

For each set plot

R*2/R*1 versus xi_tau1/xi_tau2 :  R*2/R*1 is >1 when sp1 is a better competitor; xi_tau1/xi_tau2 is >1 when species 1 is more timing-sensitive to chilling
    note - take a look to understand how xi_tau works:  it is the rate of decay from max delay to 0 with increasing chilling; so faster decay kindof means more sensitive to chilling but it can also mean that above a certain amount of chilling, there is no sensistivity
R*2/R*2 versus gmax1/gmax2
Color code plots by (no coexistence, sp1 wins, sp2 wins, both coexist)

See how that goes

dbuona commented 1 year ago

I ran 2000 runs of 500 years each and made some plots (e.g. here). If I a) made them correctly, and b) am interpreting them right, it seems that R star differences are still the more important than priority effects. One question I have is why does species 1 so rarely win, and why do both species go extinct relatively requently?

lizzieinvancouver commented 1 year ago

@dbuona Can you double check your axes are correctly calculated and plotted? They should be (R star of sp 1)/(R star of sp 2) and similar but replace R star for the chilling trait (sen) ... you should get values that span negative to positive values. If this is correct I would look at your sims to see how you are not getting ratios here that span negative to positive.

donahuem commented 1 year ago

If it is the ratio of R1/R2 it will center around 1. You could take the log(R1/R2) so it centers around zero

dbuona commented 1 year ago

@lizzieinvancouver you're right, the axes were confused. CHecking now