FLBEIA is a simulation model that describes a fishery system under a Management Strategy Evaluation framework.The objective of the model is to facilitate the Bio-Economic evaluation of Management strategies. The model is multistock, multifleet and seasonal. The simulation is divided in 2 main blocks, the Operating Model (OM) and the Management Procedure (MP). In turn, the OM is divided in 3 components, the biological, the fleets and the covariables component. The MP is also divided in 3 components, the observation, the assessment and the advice.

FLBEIA(biols, SRs = NULL, BDs = NULL, fleets, covars = NULL,
  indices = NULL, advice = NULL, main.ctrl, biols.ctrl, fleets.ctrl,
  covars.ctrl, obs.ctrl, assess.ctrl, advice.ctrl)

Arguments

biols

An FLBiols object.

SRs

A list of FLSRsim objects. One per age structured stock in biols object.

BDs

A list of FLBDsim objects. One per biomass dynamic stock in biols object.

fleets

An FLFleetsExt object. An extended version of the FLFleet object defined in FLCore.

covars

A list of FLQuants used to store any kind of variables that are used within the simulation and are not stored in the standard objects.

indices

A list of FLIndices. Each element must correspond with one of the stocks in biols object.

advice

A list with two FLQuant elements, TAC and quota.share. TAC is an FLQuant with quant dimension equal to the number of stocks in biols object, the names used in in the quant dimension must be equal to those used in biols. quota.share is a list with one element per stock in biols object indicating the quota share per stock and fleet. The quant dimension of the elements must be equal to the number of fleets and the names used must be equal to those in fleets objects.

main.ctrl

A list with the settings to control the main function (the year range,...).

biols.ctrl

A list with the settings to control the biological operating model for each stock (the population dynamic model used, additional parameters,...)

fleets.ctrl

A list with the settings to control the fleets operating model for each fleet (the fleets' short and long term dynamic models used, price model, additional parameters,...)

covars.ctrl

A list with the settings to control the covars operating model for each fleet (a dynamic model for each covariable, additional parameters, ...)

obs.ctrl

A list with the settings to control the observation model for each stock (the observation model for the stock, for stock dependent indices, additional parameters, ...)

assess.ctrl

A list with the settings to control the specify the assessment model for each stock (the assessment model for the stock and the control parameters used to run the model)

advice.ctrl

A list with the settings to control the advice model for each stock (the HCR for each stock, the reference points used in the HCR, additional parameters, ...)

Value

A list with 8 elements biols, fleets, covars, advice, stocks, indices, fleets.ctrl, pkgs.versions. All the elements except stocks and pkgs.versions correspond with the the updated versions of the objects used in the call to FLBEIA. stocks is a list of FLStocks object containing the perceived stocks used in the management procedure to produce the management advice. pkgs.versions is a matrix indicating the packages and package version used along the simulation.

Examples

# NOT RUN {
library(FLBEIA)
library(FLAssess)          # required to use the IcesHCR. Not available for win64
library(FLash)             # required to use the IcesHCR. Not available for win64
library(ggplot2)


#---------------------------------------------------------------- 
# Example with 1 stock, 1 Fleets, 1 seasons and 1 iteration: one
#----------------------------------------------------------------

# Load the data to run FLBEIA in a one stock one fleet example using the HCR used by ICES 
# in the MSY framework. 
 data(one)

# The names and the class of the objects needed to run FLBEIA.
# sapply(ls(), function(x) class(get(x)))

# In this scenario a single, age-structured, stock is exploited by a single fleet with a 
# unique metier. 
# The fleet catches yearly exactly the adviced TAC and there is no exit-entry of vessels 
# in the fishery.  
# The stock abundance and exploitation level is observed without error in the observation 
# model.
# There is no assessment model and the TAC advice is used through the HCR used by ICES 
# in the MSY framework.  




s0 <- FLBEIA(biols = oneBio,   # FLBiols object with one FLBiol element for stk1.
               SRs = oneSR,    # A list with one FLSRsim object for stk1.
               BDs = NULL,     # No Biomass Dynamic populations in this case.
            fleets = oneFl,    # FLFleets object with on fleet.
            covars = oneCv,    # covars not used
           indices = NULL,     # indices not used 
            advice = oneAdv,   # A list with two elements 'TAC' and 'quota.share'
         main.ctrl = oneMainC, # A list with one element to define the start and end of 
                               # the simulation.
        biols.ctrl = oneBioC,  # A list with one element to select the model to simulate 
                               # the stock dynamics.
       fleets.ctrl = oneFlC,   # A list with several elements to select fleet dynamic models 
                               # and store additional parameters.
       covars.ctrl = oneCvC,   # covars control not used 
          obs.ctrl = oneObsC,  # A list with one element to define how the stock observed 
                               # ("PerfectObs").
       assess.ctrl = oneAssC,  # A list with one element to define how the stock assessment 
                               # model used ("NoAssessment").
       advice.ctrl = oneAdvC)  # A list with one element to define how the TAC advice is 
                               # obtained ("IcesHCR").

# Names of the object returned by FLBEIA
names(s0)

# The default plot for FLBiol defined in FLCore
plot(s0$biols[[1]])

# Create summary data frames (biological, economic, and catch)
proj.yr     <- 2013
s0_sum      <- bioSum(s0)
s0_flt      <- fltSum(s0)
s0_fltStk   <- fltStkSum(s0)


# Create several plots and save them in the working directory using 'pdf' format and 
# 's0' suffix in the name.


plotFLBiols(s0$biols, pdfnm='s0')
plotFLFleets(s0$fleets, pdfnm='s0')
plotEco(s0, pdfnm='s0')
plotfltStkSum(s0, pdfnm='s0')

#------------------------------------------------------------ 
# Example with several iterations: oneIters
#------------------------------------------------------------

 # Load the same data set as before but with 3 iterations.
 # Run FLBEIA and plot the results

data(oneIt)

s1 <- FLBEIA(biols = oneItBio,   # FLBiols object with one FLBiol element for stk1.
               SRs = oneItSR,    # A list with one FLSRsim object for stk1.
               BDs = NULL,       # No Biomass Dynamic populations in this case.
            fleets = oneItFl,    # FLFleets object with on fleet.
            covars = oneItCv,    # covars not used
           indices = NULL,       # indices not used 
            advice = oneItAdv,   # A list with two elements 'TAC' and 'quota.share'
         main.ctrl = oneItMainC, # A list with one element to define the start and end of 
                                 # the simulation.
        biols.ctrl = oneItBioC,  # A list with one element to select the model to simulate 
                                 # the stock dynamics.
       fleets.ctrl = oneItFlC,   # A list with several elements to select fleet dynamic 
                                 # models and store additional parameters.
       covars.ctrl = oneItCvC,   # covars control not used 
          obs.ctrl = oneItObsC,  # A list with one element to define how the stock observed 
                                 # ("PerfectObs").
       assess.ctrl = oneItAssC,  # A list with one element to define how the stock 
                                 # assessment model used ("NoAssessment").
       advice.ctrl = oneItAdvC)  # A list with one element to define how the TAC advice is 
                                 # obtained ("IcesHCR").

# Names of the object returned by FLBEIA
names(s1)

# The default plot for FLBiol defined in FLCore
plot(s1$biols[[1]])

# Create summary data frames (biological, economic, and catch)
proj.yr     <- 2013
s1_bio     <- bioSum(s1)
s1_flt     <- fltSum(s1)
s1_fltStk  <- fltStkSum(s1)

s1_bioQ    <- bioSumQ(s1_bio)
s1_fltQ    <- fltSumQ(s1_flt)
s1_fltStkQ <- fltStkSumQ(s1_fltStk)

s1b_bio     <- bioSum(s1, long = FALSE)
s1b_flt     <- fltSum(s1, long = FALSE)
s1b_fltStk  <- fltStkSum(s1, long = FALSE)

s1b_fltQ    <- bioSumQ(s1b_bio)
s1b_fltQ    <- fltSumQ(s1b_flt)
s1b_fltStkQ <- fltStkSumQ(s1b_fltStk)

# Create several plots and save them in the working directory using 'pdf' format and 
# 's1' suffix in the name.

#' plotFLBiols(s1$biols, pdfnm='s1')
plotFLFleets(s1$fleets, pdfnm='s1')
plotEco(s1, pdfnm='s1')
plotfltStkSum(s1, pdfnm='s1')


#------------------------------------------------------------------ 
# Example with 2 stock, 2 Fleets, 4 seasons and 1 iteration: multi
#------------------------------------------------------------------

 # Load the multi data set. This dataset has 2 stocks, one stk1 is 
 # age structured and the second one stk2 is aggregated in biomass.

data(multi)

 # Run FLBEIA.

s2 <- FLBEIA(biols = multiBio,   # FLBiols object with 2 FLBiol element for stk1.
               SRs = multiSR,    # A list with 1 FLSRsim object for stk1.
               BDs = multiBD,    # A list with 1 FLBDSim object for stk2.
            fleets = multiFl,    # FLFleets object with on fleet.
            covars = multiCv,    # covars not used
           indices = NULL,       # indices not used 
            advice = multiAdv,   # A list with two elements 'TAC' and 'quota.share'
         main.ctrl = multiMainC, # A list with one element to define the start and end 
                                 # of the simulation.
        biols.ctrl = multiBioC,  # A list with one element to select the model to simulate 
                                 # the stock dynamics.
       fleets.ctrl = multiFlC,   # A list with several elements to select fleet dynamic 
                                 # models and store additional parameters.
       covars.ctrl = multiCvC,   # covars control not used 
          obs.ctrl = multiObsC,  # A list with one element to define how the stock observed 
                                 # ("PerfectObs").
       assess.ctrl = multiAssC,  # A list with one element to define how the stock 
                                 # assessment model used ("NoAssessment").
       advice.ctrl = multiAdvC)  # A list with one element to define how the TAC advice is 
                                 # obtained ("IcesHCR").

# Names of the object returned by FLBEIA
names(s2)

# The default plot for FLBiol defined in FLCore
plot(s2$biols[[1]])

# Create summary data frames (biological, economic, and catch)

s2_sum      <- bioSum(s2)
s2_flt      <- fltSum(s2)

s2b_flt     <- fltSum(s2, byyear = FALSE)

s2_fltStk   <- fltStkSum(s2)

# Create several plots and save them in the working directory using 'pdf' format and 
# 's2' suffix in the name.

plotFLBiols(s2$biols, pdfnm='s2')
plotFLFleets(s2$fleets, pdfnm='s2')
plotEco(s2, pdfnm='s2')
plotfltStkSum(s2, pdfnm='s2')
# }