-
Notifications
You must be signed in to change notification settings - Fork 5
Description
In addition to the selectivity curve which, when combined with the size distribution of the species, determines the size distribution of the catches, there should also be a selectivity curve that models which of the caught fish are selected to be landed. The size distribution of the landed catch would then be obtained as the product of the size distribution of the catch with this additional landings selectivity curve. I propose that this curve should simply be a sigmoidal curve, parametrised by new gear parameters retained_l50
and retained_l25
. These new parameters will be used by getYield()
but will be irrelevant for the calculation of the fishing mortality.
We will want to extend tuneParams()
to allow tuning of the new gear params landings_l50
and landings_l25
.
- Add function
plotCatchVsSize()
that is likeplotYieldVsSize()
but takes a dataframe with both landings and discards and plots them individually as well as their sum and similarly plots three model curves, one for discards, one for landings and one for total catch. - In getYieldGear() check if there is a gear parameter
retained_l50
. If so, set default forretained_l25
if necessary, calculate the landings sigmoid that gives the proportion of the catch that is landed and multiply the current yield by this function before returning. - Add getDiscardsGear() and getDiscards() functions.
- Add an include_discards = FALSE argument to plotYield(). If called with include_discards = TRUE, add an extra curve for the discards.
- In
plotYieldVsSpecies()
change the calculation ofyield_model
to take the landings ogive into account. - In the documentation for
gear_params()
mention the new optionalretained_l50
andretained_l25
parameters. - In
catchTab()
useplotCatchVsSize()
instead ofplotYieldVsSize()
. - In
catchTab()
change calculation ofoutput$yield_total
. - In
fishingControl.R
add controls forretained_l50
andretained_l25
. - Search for any use of
getFMort()
that might be used to implement a yield calculation bypassinggetYield()
. If found, this needs to be changed.
Once everything works, this should probably go into its own extension "mizerDiscards".