knitr::opts_chunk$set(
    echo = TRUE,
    message = FALSE,
    warning = FALSE)
options(knitr.kable.NA = "",
        knitr.table.format = "pandoc")

options("show.signif.stars"=FALSE,"stringsAsFactors"=FALSE,
        "max.print"=50000,"width"=240)

library(datalowSA)
suppressPackageStartupMessages(library(knitr))

Introduction

Stock Assessments, Harvest Strategies, and Harvest Control Rules

The different types of data available to conduct a stock assessment on a fishery constitute different lines of evidence that ought to allow for an assessment of the previous and current dynamics of a given stock. Once we have an assessment of those dynamics it becomes possible to make inferences about the stock's productivity and its prospects under different management regimes. So first we assess a stock's dynamics, and then we determine the implications of the combination of those dynamics with the history of catches from the fishery.

Ideally, a stock assessment should entail the synthesis of all relevant available data and information about the dynamics of a selected species/fishery. It should integrate such information so as to generate a coherent description of the fished stock's dynamics up to the current time. Often a mathematical model can be used to assist in the synthesis of many types of data from a fishery and allow for more formal optimization of the final description. The key words in the previous statements were 'synthesis' and 'integrate', as, ideally, it should be possible to generate an internally consistent and coherent description of how the stock responds to fishing pressure.

It should be recognized, however, that sometimes the different data that might go into a stock assessment can be in conflict, with some data suggesting a stock is increasing while other data, at the same time, suggesting it is decreasing. Such a situation may arise if one or more data sets are only representative of a sub-set of the stock or is otherwise biased. In such a situation, a mathematical model would either attempt to find the compromise position between the implications of the conflicting data or end up essentially ignoring one and focusing on the rest, depending on the relative weight attributed to each data set. Whatever the case, even where a mathematical model of the dynamics constitutes the main focus of the assessment, assessments will invariably come in the context of a weight of evidence approach, where lines of evidence are aligned, or otherwise, with the final interpretation placed upon the outcomes of the assessment.

The final outputs from a stock assessment can be diverse and those that receive emphasis depend upon the objectives adopted when conducting a stock assessment. It is difficult to separate conducting a stock assessment on a selected fishery from the application of a Harvest Strategy (HS), although the relationship is not quite so simple as the same stock assessment can be used with different HS. Generally one conducts a stock assessment so as to be in an informed position to provide advice on the implications of applying alternative management options (especially including future levels of effort or catch). However, when working with data-poor species, which are data-poor because the fishery only takes low levels of catch, management may consist of setting a catch trigger beyond which more attention would be paid but otherwise no further action is likely. In such cases then only the stock status would be required (Figure 1).

addt <- function(txt,x,y,small=FALSE,col=1) {
   cexs <- 1.4
   if (small) cexs <- 0.9
   text(x,y,txt,cex=cexs,font=7,col=col)
}
c1 <- 17
c2 <- 48
c3 <- 75
par(mfrow=c(1,1),mai=c(0.05,0.05,0.05,0.05)) 
par(cex=0.85, mgp=c(1.35,0.35,0))  
plot(1:96,1:96,type="n",xaxt="n",yaxt="n",xlab="",ylab="",bty="n")
addt("Provision of Management Advice",x=70,y=94,col=4)
addt("Collect Data",x=c3,y=90,col=1)
addt("Fishery Dependent or",x=c3,y=87,col=1,small=TRUE)
addt("Fishery Independent",x=c3,y=84,col=1,small=TRUE)
addt("Estimate",x=c3,y=70,col=1)
addt("Performance Measures",x=c3,y=67,col=1)
addt("Do a Stock Assessment",x=c3,y=64,col=1,small=TRUE)
addt("Harvest Decision Rule",x=c3,y=52,col=1)
addt("Estimate a Sustainable Catch",x=c3,y=49,col=1,small=TRUE)
addt("Can be the same,",x=c2,y=52,col=1,small=TRUE)
addt("but not necessarily",x=c2,y=49,col=1,small=TRUE)
addt("Estimate Sustainable Catch",x=c3,y=37,col=1)
addt("Evidence and Assessment",x=c3,y=34,col=1,small=TRUE)
addt("Management Process",x=c3,y=19,col=1)
addt("Socio/Economic/Cultural Factors",x=c3,y=16,col=1,small=TRUE)
addt("Set TAC",x=c2,y=17.5,col=1)
x <- c((c2-10),(c2-10),94,94,(c2-10)); y <- c(10,98,98,10,10)
lines(x,y,lwd=1,lty=2)
addt("SAFS Process",x=c1,y=75,col=4)
addt("Determine Stock Status",x=c1,y=52,col=1)
addt("Compare PMs with Reference Points",x=c1,y=48,col=1,small=TRUE)
addt("Public Perception",x=c1,y=27,col=1)
inc <- 16
x <- c((c1-inc),(c1-inc),(c1+inc),(c1+inc),(c1-inc)); y <- c(21,80,80,21,21)
lines(x,y,lwd=1,lty=2)
x <- c(c3,c3,c3,c3); ya <- c(82,62,47,32); yb <- c(72,54,39,21)
arrows(x0=x,y0=ya,y1=yb,length=0.075,angle=30,code=2,lwd=2)
x <- c(c1,c1); ya <- c(66,46); yb <- c(54,29)
arrows(x0=x,y0=ya,y1=yb,length=0.075,angle=30,code=2,lwd=2)
lines(c(60,c1),c(66,66),lwd=2)
xa <- c(32.5,56); xb <- c(39,61) ; ya <- c(50,50);
arrows(x0=xa,x1=xb,y0=ya,length=0.075,angle=30,code=3,lwd=2)
arrows(x0=(c3-14),x1=(c3-21),y0=17,length=0.075,angle=30,code=2,lwd=2)

Figure 1. The approximate sequence of a stock assessment workflow. The stock status can be considered to be a byproduct of the stock assessment. In cases where a fishery were truly minor and on-going management would be inefficient then the generation of a stock status might be all that is needed along with perhaps a catch trigger to signal the need for more attention should catches increase beyond the trigger.

datalowSA

The datalowSA R package is specifically designed, as its name is meant to suggest, to facilitate the application of what can be termed relatively simple stock assessment methods that should be applicable across a wide range of fisheries and species. More fundamentally the methods currently implemented can be considered to be applicable to relatively data-poor to data-moderate fisheries. One method in this package can even be termed a catch-only method that only requires a time-series of catches plus an array of different assumptions. Other methods would require catch time-series plus a time-series of some index of relative abundance, while another method requires those plus biological information such as maximum age as well as details of growth and maturity. While the methods are relatively simple, implementing them can be quite involved and even computer intensive, hence the need for the R package. To ensure that the computer intensive aspects do not lead to excessively slow analyses, aspects of these analyses have been implemented using C++. Most email services see the DLLs included in the package as executables and very sensibly block them, which is why other distribution approaches are currently necessary.

The package contains a number of vignettes that attempt to describe how to use its various functions. If you type

browseVignettes("datalowSA")

into the R or RStudio console, it will return a list of the available vignettes inside that package which you can then access. If you omit the package name you will get a list of very many packages vignette so including the package name is encouraged.

In this vignette no details are given for running each of the available analyses. Details of each type of analysis are given in individual vignettes for each analytical method. Similarly, the standard data template has its own vignette. Take note that as more is learnt about what data are available across Australia this template may be further articulated. However, efforts will be made to retain backwards compatibility so that data sets already established will not need to be altered.

So far, included in the datalowSA package are functions for running:

Where the original literature are available it is suggested that practitioners read that material and become conversant with the assumptions and details of the methods provided before using them.

Example data sets are also provided to allow for rapid exploration of the methods and the gaining of experience before attempting to apply them to a users own data. In addition, each function has worked examples that illustrate the working of each function.

Data Format

An attempt has been made to have a single standard format for data files for each fishery that will be sufficiently flexible with regard to what is included as to allow for the full range of assessment methods available. This format is demonstrated in full by the included R function dataTemplate which creates and saves a .csv template in your own working directory.

dataTemplate(filename="eg.csv",title="spsname")

The .csv file generated by this function can be edited in any text editor and the values given changed to suit the species that is in need of assessment. It also includes commentary that clarifies its use. The key points are that major data sections (RESILIENCE, NYRS, YEARS, BIOLOGY, [PROPERTY], AGE, LENGTH) are in capitals (so that readdata can find them), and the species' or fishery's name is given in the first line. Details of the three included data sets are provided in the three appendices at the bottom of this document.

Example Data Sets

The package includes a few example data sets to provide for illustrations of the application of various methods. Currently there are three data sets ready to use. These are:

We will be using these data sets in the vignettes associated with each method to illustrate the use of those methods, but in reality, naturally, you will be using your own datasets input via the standard template and standard input function readdata. Alternatively, the data objects (fishery data as a flat file, global variables relating to the biology and fishery, agedata, and lendata could be produced manually, perhaps by using cbind or rbind. In addition to the datalowSA_0.1.?.zip file, some example R script files and example .csv data files are also be made available to assist with understanding the use of the R package.

Examining the R code

The details of any function can be obtained through typing, for example, ?dataTemplate in the R console (or the console in RStudio), which will open the help page for that function (alternatively type help("dataTemplate")). At the bottom of that help page you will find a hyperlink to the index for all the help pages to the functions included in datalowSA. It is also possible to just type dataTemplate in the console (without any following brackets) and that will lead to the function's code being written to the screen so that it is possible to see exactly what it does. Unfortunately, that approach will only work for those functions written entirely in R and will not work for those functions written in C++ (done in a few cases for added speed, try ?makebiomC or makebiomC). If a function does not do exactly what you want it to do, for example a particular plotting routine may not produce the results as you want them to be, then you can always copy a function's code into a separate somename.r file, modify it to suit your own needs, rename the function if you wish, and then use source("somename.r") after calling library(datalowSA) and that modified function will be available in your session. If you use the same name as used in datalowSA your function will be called before the one inside datalowSA unless you are explicit by using datalowSA::somename(...). If you feel your modifications might be useful to everyone else do let us know and we will consider modifying the original package.

Almost all functions are exported, which means you can see how they operate as explained above. But there are a few functions that you can see are called (for example sraMSY) that are only used within the package and so are not exported to become visible as a name in your working environment. Just as you can see the contents of an exported function from a given library without first attaching the library by using datalowSA::facttonum it is possible to view non-exported functions by using datalowSA:::sraMSY (note the 3 colons rather than 2).

In addition to the vignettes, the help page for each function (e.g. ?fitASPM) will provide example code that illustrates how to use the function. That code can be copied straight from the help page and pasted into the console or modified to suit your specific needs in the RStudio editor.

It is not impossible that there are bugs in the code provided. We have tried to make robust code but it is only when others try to use such materials that un-foreseen issues arise when using the software. If you do find any issues do let us know and we will amend the package accordingly.

References

Dick, E.J. and A.D. MacCall (2011) Depletion-based stock reduction analysis: a catch-based method for determining sustainable yields for data-poor fish stocks. Fisheries Research 110(2): 331-341

Haddon, M. (2011) Modelling and Quantitative Methods in Fisheries 2^nd^ ed. Chapman & Hall, CRC Press. Boca Raton, 449 p.

Haddon, M. (2014) Tier 4 analyses in the SESSF, including deep water species. Data from 1986 – 2012. Pp 352 – 461 in Tuck, G.N. (ed) (2014) Stock Assessment for the Southern and Eastern Scalefish and Shark Fishery 2013. Part 2. Australian Fisheries Management Authority and CSIRO Marine and Atmospheric Research, Hobart. 313p.

Haddon, M., Klaer, N., Wayte, S., and G. Tuck (2015) Options for Tier 5 approaches in the SESSF and identification of when data support for harvest strategies are inappro-priate. CSIRO. FRDC Final Report 2013/200. Hobart. 115p.

Kimura, D.K. and J.V. Tagart (1982) Stock Reduction Analysis, another solution to the catch equations. Canadian Journal of Fisheries and Aquatic Sciences 39: 1467 - 1472.

Kimura, D.K., Balsiger, J.W., and Ito, D.H. 1984. Generalized stock reduction analysis. Canadian Journal of Fisheries and Aquatic Sciences 41: 1325–1333.

Little, L.R., Wayte, S.E., Tuck, G.N., Smith, A.D.M., Klaer, N., Haddon, M., Punt, A.E., Thomson, R., Day, J. and M. Fuller (2011) Development and evaluation of a cpue-based harvest control rule for the southern and eastern scalefish and shark fishery of Australia. ICES Journal of Marine Science 68(8): 1699-1705.

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

Prager, M. H. (1994) A suite of extensions to a nonequilibrium surplus-production model. Fishery Bulletin 92: 374-389

Punt, A.E., Butterworth, D.S. and A.J. Penney (1995) Stock assessment and risk analysis for the South Atlantic population of albacore Thunnus alalunga using an age-structured production model South African Journal of Marine Science 16: 287-310. http://dx.doi.org/10.2989/025776195784156476

R Core Team (2017). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/. see also https://cran.r-project.org/

RStudio (2016) www.rstudio.com

Schaefer, M.B. (1954) Some aspects of the dynamics of populations important to the management of the commercial marine fisheries. Bulletin, Inter-American Tropical Tuna Commission, 1: 25-56.

Schaefer, M.B. (1957) A study of the dynamics of the fishery for yellowfin tuna in the Eastern Tropical Pacific Ocean. Bulletin, Inter-American Tropical Tuna Commission, 2: 247-285

Walters, C.J., Martell, S.J.D. and J. Korman (2006) A stochastic approach to stock reduction analysis. Canadian Journal of Fisheries and Aquatic Sciences 63: 212 - 223.

l

Appendix 1 Contents of invert

data(invert)
print(invert)
l

Appendix 2 Contents of fishdat

data(fishdat)
print(fishdat)
l

Appendix 3 Contents of dataspm

data(dataspm)
print(dataspm)
l

Appendix 4 Contents of plaice

data(plaice)
print(plaice)


haddonm/datalowSA documentation built on Nov. 5, 2023, 6:40 p.m.