Comments (4)
from mizer.
Would this do? It could go into the summary functions.
Ken
#' Calculate the a yield curve of a species
#'
#' Calculates the yield for a species for various values of effort for that species,
#' while the effort of the other species are kept constant.
#'
#' @param param An object of class \code{MizerParams}.
#' @param effort A vector of effort for a species.
#' @param iSpecies The number of the species to change.
#' @param F The fishing mortalities to sweep over
#'
#' @return An array containing the SSB (time x species)
#' @export
#' @family summary functions
#' @concept summary_function
#'
calcYieldCurve = function(param, effort, iSpecies, F=seq(0,2,length.out = 10)) {
yield = function(FF) {
effort[iSpecies] = FF
y = getYield( project(param, effort) )
return( y[dim(y)[1],] )
}
return( apply(as.matrix(F), 1, yield) )
}
from mizer.
Thank you Ken. That code would calculate the yield in year 100 after the change in fishing effort starting from the current initial condition (because the default for t_max
in project()
is 100). Is that really what we want?
How would you use the yield curve while calibrating the model?
from mizer.
Hi @Kenhasteandersen , thanks for contributing your code. I have for now moved it to the mizerExperimental package because it needs some work before it fits in nicely with the rest of mizer, see sizespectrum/mizerExperimental#6. All non-core code that can be developed first in mizerExperimental should first be developed there.
from mizer.
Related Issues (20)
- Fix colours for species in NS_params
- Set and document default for exponents in `set...()` functions
- Avoid using $ notation for species parameters with short names
- Better error message when `getParams()` is not called with MizerSim object
- Extra parameters to model discards HOT 2
- Iterative method for finding steady state HOT 1
- Release mizer 2.4.0
- Don't warn repeatedly when l_mat and w_mat are inconsistent HOT 2
- Speed up inner loop
- `matchGrowth()` gives error when there is no `w_inf` column HOT 1
- In `addSpecies()` only issue warning if feeding level drops below critical level
- Different resource's default values between newTraitParams() and newMultispeciesParams() HOT 1
- `get_h_default()` should provide default even when no growth info is available
- `get_phi()` should check that it returns valid positive values
- Other components at all time steps are always equal to final time step
- Adapt `plotYieldObservedVsModel()` and `matchYield()` to work with multiple gears
- Append argument in project function appears non-functional HOT 1
- External encounter rate HOT 1
- `addSpecies()` should get `info_level` argument
- Make `matchGrowth()` work when `n != p`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mizer.