# Estimating MSY from catch and resilience

### Description

This function estimates MSY following Martell and Froese(2012).

### Usage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
catchmsy(year = NULL, catch = NULL, catchCV = NULL,
catargs = list(dist = "none", low = 0, up = Inf, unit = "MT"),
l0 = list(low = 0, up = 1, step = 0), lt = list(low = 0, up = 1,
refyr = NULL),
sigv = 0, k = list(dist = "unif", low = 0, up = 1, mean = 0, sd = 0),
r = list(dist = "unif", low = 0, up = 1, mean = 0, sd = 0),
M = list(dist = "unif", low = 0.2, up = 0.2, mean = 0, sd = 0),
nsims = 10000, catchout = 0, grout = 1,
graphs = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11),
grargs = list(lwd = 1, pch = 16, cex = 1, nclasses = 20, mains = " ",
cex.main = 1,
cex.axis = 1, cex.lab = 1),
pstats = list(ol = 1, mlty = 1, mlwd = 1.5, llty = 3, llwd = 1, ulty = 3,
ulwd = 1),
grtif = list(zoom = 4, width = 11, height = 13, pointsize = 10))
``` |

### Arguments

`year` |
vector containing the time series of numeric year labels. |

`catch` |
vector containing the time series of catch data (in weight). Missing values are not allowed. |

`catchCV` |
vector containing the time series of coefficients of variation associated with catch if resampling of catch is desired; otherwise, catchCV = NULL. |

`catargs` |
list arguments associated with resampling of catch. |

`l0` |
list arguments for the relative biomass in year 1. |

`lt` |
list arguments for the depletion level in the selected reference year ( |

`sigv` |
standard deviation of the log-normal random process error. |

`k` |
list arguments for the carrying capacity. |

`r` |
list arguments for the intrinsic growth rate. |

`M` |
list arguments for natural mortality. |

`nsims` |
number of Monte Carlos samples. |

`catchout` |
If resampling |

`grout` |
numeric argument specifying whether graphs should be printed to console only (1) or to
both the console and TIF graph files (2).Use |

`graphs` |
vector specifying which graphs should be produced. 1 = line plot of observed catch versus
year,2 = point plot of plausible |

`grargs` |
list control arguments for plotting functions. |

`pstats` |
list control arguments for plotting the mean and 95
and management quantities on respective graphs. |

`grtif` |
list arguments for the .TIF graph files. See |

### Details

The method of Martell and Froese (2012) is used to produce estimates of MSY where only catch and information on resilience is known.

The Schaefer production model is

B[t+1]<-B[t]+r*B[t]*(1-B[t]/k)-catch[t]

where B is biomass in year t, `r`

is the instrince rate of increase, `k`

is the carrying
capacity and `catch`

is the catch in year t. Biomass is the first year is calculated by
B[1]=`k`

*`l0`

. For sigv>0, the production equation is multiplied by exp(rnorm(1,0,sigv))
if process error is desired.
The maximum sustainable yield (MSY) is calculated as

MSY=r*k/4

Biomass at MSY is calculated as

Bmsy=k/2

Fishing mortality at MSY is calculated as

Fmsy=r/2

Exploitation rate at MSY is calculated as

Umsy=(Fmsy/(Fmsy+M))*(1-exp(-Fmsy-M))

The overfishing limit in last year+1 is calculated as

OFL=B[last year +1]*Umsy

`length(year)+1`

biomass estimates are made for each run.

If using the R Gui (not Rstudio), run

graphics.off() windows(width=10, height=12,record=TRUE) .SavedPlots <- NULL

before running the catchmsy function to recall plots.

### Value

`Initial` |
dataframe containing the initial values for each explored parameter. |

`Parameters` |
dataframe containing the mean, median, 2.5th and 97.5 plausible (likelihood=1) parameters. |

`Estimates` |
dataframe containing the mean, median, 2.5th and 97.5 of the management quantities (i.e., MSY, Bmsy, etc.) for the plausible parameters (likelihood=1) |

`Values` |
dataframe containing the values of l0, k, r, Bmsy/k, M and associated management quantities for all (likelihood=0 and likelihood=1) random draws. |

`end1yr` |
value of the last year of catch data + 1 for use in function |

`type` |
designates the output object as a |

The biomass estimates from each simulation are not stored in memory but are automatically
saved to a .csv file named "Biotraj-cmsy.csv". Yearly values for each simulation are stored across
columns. The first column holds the likelihood values for each simulation (1= accepted, 0 = rejected).
The number of rows equals the number of simulations (`nsims`

). This file is loaded to plot
graph 11 and it must be present in the default or `setwd()`

directory.

When `catchout`

=1, catch values randomly selected are saved to a .csv file named "Catchtraj-cmsy.csv".
Yearly values for each simulation are stored across columns. The first column holds the likelihood
values (1= accepted, 0 = rejected). The number of rows equals the number of simulations (`nsims`

).

Use `setwd()`

before running the function to change the directory where .csv files are stored.

### Note

The random distribution function was adapted from Nadarajah, S and S. Kotz. 2006. R programs for computing truncated distributions. Journal of Statistical Software 16, code snippet 2.

### Author(s)

Gary A. Nelson, Massachusetts Division of Marine Fisheries gary.nelson@state.ma.us

### References

Martell, S. and R. Froese. 2012. A simple method for estimating MSY from catch and resilience. Fish and Fisheries 14:504-514.

### See Also

`dbsra`

`dlproj`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 | ```
## Not run:
data(lingcod)
outpt<-catchmsy(year=lingcod$year,
catch=lingcod$catch,catchCV=NULL,
catargs=list(dist="none",low=0,up=Inf,unit="MT"),
l0=list(low=0.8,up=0.8,step=0),
lt=list(low=0.01,up=0.25,refyr=2002),sigv=0,
k=list(dist="unif",low=4333,up=433300,mean=0,sd=0),
r=list(dist="unif",low=0.015,up=0.1,mean=0,sd=0),
M=list(dist="unif",low=0.18,up=0.18,mean=0.00,sd=0.00),
nsims=30000)
## End(Not run)
``` |

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.