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

Compute initialization after even aged harvest #13

Open
kunstler opened this issue May 3, 2023 · 5 comments
Open

Compute initialization after even aged harvest #13

kunstler opened this issue May 3, 2023 · 5 comments

Comments

@kunstler
Copy link
Collaborator

kunstler commented May 3, 2023

=> Georges with FUNDIV data

@kunstler
Copy link
Collaborator Author

I eventually manged to work on that. @jasperfuchs Sorry for the delay.

What I did. I took the fundiv data and for each species selected plot with a mean diameter less than 12cm and at least 90% of the basal area of the selected species. Based on this plot I computed the mean log(DBH) (weighted by the weight of teh trees) and the sd of log(DBH) (with weight as well).

This give me for each species the mean and sd of the size dist (in log(dbh)) of stand with only small tree of teh species.

Then you can simulated a pop by drawing in normal of these param and take exp.

This gives

SimDistSmallStand

The red vertical line is the lower size boundary so all trees below this size must be removed.

Then the question is the time it takes to reach this population from the plantation.

I think we can use the recruitment lag of each species and say that with plantation this is shorter. Something like 1/2 the regeneration lag without plantation ? I didn't had the time for look for info in the literature on that point.

@jasperfuchs let me know what do you think of that.

@kunstler
Copy link
Collaborator Author

Of course the pb with this approach is that you will have the population appearing suddenly a certain number after the start of the simulation.

@jasperfuchs
Copy link
Collaborator

Thanks, @kunstler!
From my perspective, this is a good approach to derive the initial diameter distribution after clear-cut/planting.

I would opt for applying the species-specific recruitment lag you have already implemented in IPM. This lag should be shorter if the forest is planted. How about using a fixed number of years. We mostly plant trees that are 2 or 3 years old. If your recruitment lag accounts for an additional time lag between seed fall and germination (e.g., 1 year), we could thus reduce the default recruitment lag by 3 or 4 years. The implemented delays seem to be around 15-30 years, so ½ the time may overestimate the growth advantage of planting? What do you think?

Regarding the suddenly appearing population, Carola and I expect that this would have no or at least only a very minor impact on the economic outcome. So, let’s start with this approach and if any strange effects appear in the simulations, we can still use a more complex approach.

gowachin added a commit that referenced this issue Jun 24, 2024
Added initiation distrib from issue #13 on github

Also edited the tests because new def_init is causing test fails
gowachin added a commit that referenced this issue Jun 26, 2024
Def init planting was not performing as wanted, with lower recruitment
due to an error in the formula.

This function is experimental may be removed since it always draw an
identical distribution, which can then be used by def_init_k()

For even harvest model, the initialisation of the population come after
the time skip, which represent the lag.
@gowachin
Copy link
Owner

This dataset and a function to exploit it is now present is the package on the dev branch.
An example is here in dev/dev_jasper_b.Rmd. Dataset is called matreex::distrib_planting.

The new function act as an initiation function and can be given when building a species object. This allow to scale the initiation to the plot surface. However, this function will always give the same distribution for a given mesh and plot surface.

Because of this limitation, you can also draw this distribution like illustrated below, and give it to def_init_k() that will initiate a population with a distribution that it takes as an argument.

plant_funct <- def_init_planting("Fagus_sylvatica")
distrib_Fag <- plant_funct(Fagus_IPM$mesh, SurfEch = 1) # 1ha plot is here important !

 Fagus = species(IPM = Fagus_ipm, 
                        init_pop = def_init_k(distrib_Fag),
                        harvest_fun = Even_harv, disturb_fun = disturb_fun,
                        disturb_coef = "sp", rdi_coef = "sp")

This code is a bit more complex, but if you need to scale the distribution for a given number of stems or basal area, it's more convenient. Expected basal area and number of stems is indicated in he dataset with species parameters.

Note that the dataset parameters are computed for monospecific stands.

@gowachin
Copy link
Owner

Concerning the lag, it's not straightforward to reduce it because it affect the time ellipse after a final cut and the recruitment during growth. One argument could be to deactivate the recruitment and edit the lag, but I don't know if recruitment is totally absent from even managed stands.

Another approach would be to edit the simulations, by reducing the time ellipse afterward. This can be done by removing the number of rows needed and editing the t column.

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

No branches or pull requests

3 participants