7 Fleet Files

The fleet files contain the information about the fleets that are reducing the population of the stocks in the Gadget model. The fleets act as a simple predator in the model, with the landings data treated as the fleets “consumption” of the stock that is caught.

To define fleets in the Gadget model, the “main” file must contain a list of the data files that contain the description of the fleets, and the format for this is shown below:

[fleet]
fleetfiles             <names of the fleet files>

There are 5 types of fleets implemented in Gadget, and the main fleet file lists the fleets and their type, along with information about the fleet and the name of the datafile that contains information about the landings. The format for this file shown below, with each new fleet starting with the keyword [component]:

[component]
<type>                 <fleetname>
<fleet data>

The fleet data for each fleet type is covered in the sub sections below. The \(<\)type\(>\) defines the type of fleet for the \(<\)fleetname\(>\) fleet, and the 5 valid fleet types that can used in Gadget are:

TotalFleet
NumberFleet
LinearFleet
EffortFleet
QuotaFleet

7.1 TotalFleet

The fleet type used that creates a predator based on the landings data (by biomass) for the fleet is called “TotalFleet”. This total amount landed is then split between the various stocks, and length groups of the stocks, according to equation (7.1) below:

\[\begin{equation} \tag{7.1} C_{s}(l) = \frac{E S_{s}(l) N_{sl} W_{sl}}{\displaystyle \sum_{\it stocks} \sum_{\it lengths} S_{s}(l) N_{sl} W_{sl}}\end{equation}\]

where: \(<\) E \(>\) is the biomass caught by the fleet \(<\) N \(>\) is the number of stock in the length cell \(<\) W \(>\) is the mean weight of the stock in the length cell \(<\) S \(>\) is the suitability function (see section 7.6)

This fleet type is defined by specifying the fleet name and areas it operates on, along with a suitability function for each stock that the fleet will catch and a data file listing the biomass that the fleet will catch. The file format for the TotalFleet is given below:

[component]
totalfleet             <fleetname>
livesonareas           <areas>
multiplicative         <multi>
suitability            <see Fleet Suitability>
amount                 <see Fleet Amounts>

The optional \(<\)multi\(>\) value is a multiplicative constant used to scale the data if required - the default value for this multiplier is 1 (ie. no scaling).

The fleets act as a predator, so Gadget also requires a suitability function to be defined for the predation of the stocks in the model. The total amount that has been landed by the fleet is also required - this is taken from the landings data, based on timestep and area, and is specified in a separate file.

7.2 NumberFleet

The fleet type used that creates a predator based on the number of the stock landed (not the biomass) is called “NumberFleet”. This total number caught is then split between the various stocks, and length groups of the stocks, according to equation (7.2) below:

\[\begin{equation} \tag{7.2} C_{s}(l) = \frac{E S_{s}(l) N_{sl}}{\displaystyle \sum_{\it stocks} \sum_{\it lengths} S_{s}(l) N_{sl}}\end{equation}\]

where: \(<\) E \(>\) is the number caught by the fleet \(<\) N \(>\) is the number of stock in the length cell \(<\) S \(>\) is the suitability function (see section 7.6)

This fleet type is defined by specifying the fleet name and areas it operates on, along with a suitability function for each stock that the fleet will catch and a data file listing the numbers that the fleet will catch. The file format for the NumberFleet is given below:

[component]
numberfleet            <fleetname>
livesonareas           <areas>
multiplicative         <multi>
suitability            <see Fleet Suitability>
amount                 <see Fleet Amounts>

The optional \(<\)multi\(>\) value is a multiplicative constant used to scale the data if required - the default value for this multiplier is 1 (ie. no scaling).

The fleets act as a predator, so Gadget also requires a suitability function to be defined for the predation of the stocks in the model. The total number of fish that has been caught by the fleet is also required - this is taken from the landings data, based on timestep and area, and is specified in a separate file.

7.3 LinearFleet

The fleet type used that creates a predator that removes the caught fish based on the available biomass of the stock multiplied by a scaling factor is called “LinearFleet”. The biomass caught is then split between the various stocks, and length groups of the stocks, according to equation (7.3) below:

\[\begin{equation} \tag{7.3} C_{s}(l) = E \Delta t S_{s}(l) N_{sl} W_{sl}\end{equation}\]

where: \(<\) E \(>\) is the scaling factor for the stock that is to be caught, per month \(<\Delta t>\) is the length of the timestep \(<\) N \(>\) is the number of stock in the length cell \(<\) W \(>\) is the mean weight of the stock in the length cell \(<\) S \(>\) is the suitability function (see section 7.6)

This fleet type is defined by specifying the fleet name and areas it operates on, along with a suitability function for each stock that the fleet will catch and a data file listing the fishing level for the fleet. The file format for the LinearFleet is given below:

[component]
linearfleet            <fleetname>
livesonareas           <areas>
multiplicative         <multi>
suitability            <see Fleet Suitability>
amount                 <see Fleet Amounts>

The optional \(<\)multi\(>\) value is a multiplicative constant used to scale the data if required - the default value for this multiplier is 1 (ie. no scaling).

The fleets act as a predator, so Gadget also requires a suitability function to be defined for the predation of the stocks in the model. The scaling factor to be used when calculating the amount that the fleet will catch is also required, and this is specified in a separate file.

The fleet of type LinearFleet acts a simple predator, and can be used for fleets acting in the future, when the landings data is not available.

7.4 EffortFleet

The fleet type used that creates a predator that removes the caught fish based on the available biomass of the stock multiplied by a scaling factor and a ‘catchability’ parameter for that stock is called “EffortFleet”. The biomass caught is then split between the various stocks, and length groups of the stocks, according to equation (7.4) below:

\[\begin{equation} \tag{7.4} C_{s}(l) = E q_{s} \Delta t S_{s}(l) N_{sl} W_{sl}\end{equation}\]

where: \(<\) E \(>\) is the scaling factor for the stock that is to be caught, per month \(<\) q \(>\) is the catchability parameter for that stock \(<\Delta t>\) is the length of the timestep \(<\) N \(>\) is the number of stock in the length cell \(<\) W \(>\) is the mean weight of the stock in the length cell \(<\) S \(>\) is the suitability function (see section 7.6)

This fleet type is defined by specifying the fleet name and areas it operates on, along with a suitability function and catchability parameter for each stock that the fleet will catch and a data file listing the proportion of each stock that the fleet will catch. The file format for the EffortFleet is given below:

[component]
effortfleet            <fleetname>
livesonareas           <areas>
multiplicative         <multi>
suitability            <see Fleet Suitability>
catchability           <stock catchability parameters>
amount                 <see Fleet Amounts>

The optional \(<\)multi\(>\) value is a multiplicative constant used to scale the data if required - the default value for this multiplier is 1 (ie. no scaling).

The fleets act as a predator, so Gadget also requires a suitability function to be defined for the predation of the stocks in the model. The scaling factor to be used when calculating the amount that the fleet will catch is also required, and this is specified in a separate file.

The fleet of type EffortFleet is a multi-species extension to the fleet of type LinearFleet (see section 7.3 above). This means that when a fleet is used to catch more than one species (either directly or as bycatch) the different catchability for these species can be taken into account. This catchability parameter is specified by listing the names of the prey and the associated preference value, as shown in the example below:

...
catchability
<name of stock 1>      <catchability for stock 1>
<name of stock 2>      <catchability for stock 2>
amount
...

7.5 QuotaFleet

The fleet type used that creates a predator that removes the caught fish based on the available biomass of the stock multiplied by a scaling factor set according to a simple harvest control rule is called “QuotaFleet”. The biomass caught is then split between the various stocks, and length groups of the stocks, according to equation (7.3) (see section 7.3 above). The scaling factor (the parameter “E” in the equation above) is set according to a simple harvest control rule.

This fleet type is defined by specifying the fleet name and areas it operates on, along with a suitability function for each stock that the fleet will catch, a simple harvest control rule and a data file listing the proportion of each stock that the fleet will catch. The file format for the QuotaFleet is given below:

[component]
quotafleet             <fleetname>
livesonareas           <areas>
multiplicative         <multi>
suitability            <see Fleet Suitability>
quotafunction          <function name>
biomasslevel           <vector of biomass levels>
quotalevel             <vector of quota levels>
amount                 <see Fleet Amounts>

The optional \(<\)multi\(>\) value is a multiplicative constant used to scale the data if required - the default value for this multiplier is 1 (ie. no scaling).

The fleets act as a predator, so Gadget also requires a suitability function to be defined for the predation of the stocks in the model. A scaling factor that can be used when calculating the amount that the fleet will catch is also required, and this is specified in a separate file (although this is usually set to 1, since the scaling factor to be used is multiplied by that calculated using the simple harvest control rule below).

The simple harvest control rule that is used to calculate the scaling factor to be used to determine the fishing level is defined by the \(<\)function name\(>\) value, along with the \(<\)biomasslevel\(>\) and \(<\)quotalevel\(>\) vectors. Currently there are 6 quota functions defined, and the valid function names are:

  • simple - use a simple harvest control rule, based on the biomass of each stock
  • annual - use a annual harvest control rule, based on the biomass of each stock
  • simplesum - use a simple harvest control rule, based on the biomass of all the stocks
  • annualsum - use a annual harvest control rule, based on the biomass of all the stocks
  • simpleselect - use a simple harvest control rule, based on the biomass of selected stocks
  • annualselect - use a annual harvest control rule, based on the biomass of selected stocks

Note that if the \(<\)function name\(>\) value is set to either simpleselect or annualselect, then it is necessary to define which stocks to use to determine the fishing level. This is done be additionally specifying a \(<\)selectstocks\(>\) vector which is a list of the stocks to use, as given in the list below:

...
biomasslevel           <vector of biomass levels>
quotalevel             <vector of quota levels>
selectstocks           <vector of stocks to base the quote on>
amount                 <see Fleet Amounts>

The \(<\)biomasslevel\(>\) vector is a list of \(n\) biomass points at which the fishing level will change, and the \(<\)quotalevel\(>\) vector is the corresponding list of \(n+1\) fishing levels. Note that the first quotalevel value corresponds to the fishing level that will be used when the biomass is between 0 and the first biomasslevel value, so the quotalevel vector must have one more entry than the biomasslevel vector.

An example of valid biomasslevel and quotalevel vectors is given below:

biomasslevel           10000  250000
quotalevel             0.1  0.4  0.9

The fishing level for the stock in the example shown above would be set to 0.1 if the biomass of the stock is less than 10,000 kilogrammes, 0.4 if the biomass is between 10,000 and 250,000 kilogrammes and 0.9 if the biomass is above 250,000 kilogrammes. Note that the biomasslevel vector has 2 entries, and that the quotalevel vector has a third entry.

7.6 Fleet Suitability

The suitability determines how the fleets act on the stocks that are caught. Since Gadget treats the fleets as predators of the stocks, the format for the suitability functions for the fleets is the same as the format for the suitability functions of the stock when they are acting as a predator. The format for the suitability functions as discussed in section 4.7.3 above. Note that in the equations for the suitability functions, the ‘length’ of the predator is a meaningless concept when the predator is a fleet.

7.7 Fleet Amounts

The amounts section of the fleet file gives the landings data for the fleets. This data is listed in a column format in a separate file, so the main fleet file simply gives the name of this fleet data file, as shown in the example below:

amount                 <name of data file>

For fleets of type TotalFleet or NumberFleet, the data file is a list of year, timestep, area, fleetname and then the amount of catch landed (either biomass or number), taken from landings data, for that timestep/area/fleet combination:

<year>  <step>  <area>  <fleetname>  <amount>

For fleets of type LinearFleet, EffortFleet or QuotaFleet, the data file is a list of year, timestep, area, fleetname and then the scaling factor to be used when calculating the amount of the catch for that timestep/area/fleet combination:

<year>  <step>  <area>  <fleetname>  <scaling factor>