In the ‘inser’ package, selectivity data can be obtained from three types of experimental protocols onboard fishing vessels: ‘twin’, ‘single paired’ or ‘independent’ sampling, for which a test fishing gear is compared to a standard fishing gear.

Acronyms

STD: stands for the standard fishing gear usually used, it is the reference gear

TEST: stands for the gear modified with a new selective device to be tested

LAN: Fraction of the catch retained by the fisherman (= Landings)

DIS: Part of the catch not retained by the fisherman (= Discards)

FO: Fishing Operation

1) Data Collection Protocol

For the two paired protocol types (twin or paired-single hauls), the environmental (depth, type of bottom) and fishing (duration, speed, heading/current, characteristics of the gear apart from the tested device) conditions, as well as the available fished population are assumed to be equivalent between the two FOs of each pair.

Twin’ gear protocol

Some fishing gears allow the simultaneous comparison of a gear equipped with a selective device with a standard one during the same fishing trip.

This is typically the case for a twin trawl, where the STD and TEST gear can be rigged simultaneously (the catches of two sub-gears will be compared as if they were two separate gears). This configuration can also be transposed to nets, lines, or pots gear deployed from a single vessel.

The ‘twin’ configuration is ideal as the variability of fishing conditions between the two gears is limited, as the two gears STD and TEST are paired within each FO (1 pair = 1 FO).

Single paired’ protocol

In the case of the single trawl, it is possible to implement a protocol where the FOs are paired: FOs are paired as STD/TEST when they take place under conditions considered similar (i.e. similar target species, depth, gear speed, orientation to the current and fishing duration). For example, STD and TEST FOs can be alternated so that two FOs close together in time and space (but not exactly at the same location) are matched to form a pair.

Independent’ protocol

The least restrictive protocol when the gear does not allow a ‘matched’ protocol is to conduct two sets of FOs (STD and TEST) independently. The available fishery resource, environmental and fishing conditions should nevertheless be similar, but only at the scale of the two sets of FOs. This protocol is subject to more uncertainties and will require more FOs to achieve the same accuracy as a paired protocol.

On-board catch sampling protocol

Catch sampling is carried out by an observer on board a professional fishing vessel. Whether it is a twin trawl or a single trawl operation (alternating or parallel), the catch sampling method is the same. For each trawl, the discarded and landed fractions must be processed, and at least the total catch weight (discards + landings) must be recorded.

These selectivity experiments may focus on one or a few problematic species and not necessarily on all species caught. In this case, the catch sampling protocol focuses on a selection of species of interest (in addition to the total catch weight in each trawl). The catch sampling methodology consists of (Figure 1) :

  • estimate the total quantity of the discarded fraction of a gear [1]. This quantity can be estimated by weighing only a part of the discard (e.g. a basket), assuming that the density of this sample is representative of the whole discarded fraction.

  • Collect, weigh and sort a ‘bulk’ sample of the discard [2]. The ‘bulk’ sample consists of a mixture of species representative of the discarded fraction. The ratio taken is recorded (1/n) [3].

  • Weigh the species of interest separately from the bulk sample [4] and measure the individuals [5]. (NB: if individuals of a species are measured, they must be measured for both fractions (landed and discarded) in order to describe a complete catch profile (same for weighing: the weight of a discarded species must be associated with the weight of the landed species if applicable). If a subsample per species is required, the ratio taken is recorded (1/m) [6].

  • record the weights by species of the landed fraction [7]. For each species of interest, a sample of individuals is measured [8] and its weight recorded [9]. If it is not possible to weigh the samples on board, a conversion to weight can be made later on land from the available length-weight relationships.

  • Individuals present in very small quantities and easily identifiable can be considered as “non-bulk”. In this case, all individuals are extracted from the catch and are not subject to the same sampling rules as those described for the “bulk” sample: all individuals are weighed and measured and a sampling coefficient of 1:1 is applied to them [10].

  • Once the species in the bulk sample have been sorted, individuals of the species of interest are measured. The minimum size of the measured samples is assessed by the observer; the objective being to be able to describe the length distribution of the captured species. If a small length range is observed for a species, the distribution will stabilize fairly quickly and a small number of individuals (minimum 30) will be required. The sample size will be increased if a large length range is observed.

Figure 1 : Catch sampling protocol (landed fraction and discarded fraction). The same procedure is implemented separately for the STD trawl and for the TEST trawl
Figure 1 : Catch sampling protocol (landed fraction and discarded fraction). The same procedure is implemented separately for the STD trawl and for the TEST trawl

2) Data format

The input data format is banked in the form of 4 data tables based on the ICES RDB data exchange format and corresponding to the different scales of the data.

TR table

The TR table contains information relating to the fishing trip and the two compared gears.

Field names Type Status Basic checks Comments
project String Obligatory Code list Name of the project underwhich the experiment was carried out
vessel_identifier Integer Obligatory 1 - 999 999 Encripted vessel identifier. ID encrypted so that no-one can map the ID to the real vessel
trip_code String Obligatory NA Identifier of the trip for a given project and vessel
gear_label String Obligatory Code list Identify the subgear (for twin protocol) or the gear (for paired/unpaired protocol): STD for Standard gear or TEST for experimental gear
vessel_name String Optional Free text Vessel name
selective_device String Optional Free text Name of the tested device
departure_date_time String Optional NA “YYY-MM-DD HH:MM:SS” (ISO 8601)
return_date_time String Optional NA “YYY-MM-DD HH:MM:SS” (ISO 8601)
mesh_gauge_codend_mm Integer Optional NA Codend mesh gauge in millimeters
headline_cumulative_length Double Optional NA Headline length, in meters
NA NA NA NA NA
Key fields NA NA NA NA

HH table

The HH table contains information relating to the FO for each gear. For twin gears, both gears are deployed at each FO, so there are two different lines for each FO, while for single gears, there is one line for each FO (as only one gear is deployed at each FO).

Field names Type Status Basic checks Comments
project String Obligatory Code list Name of the project underwhich the experiment was carried out
vessel_identifier Integer Obligatory 1 - 999 999 Encripted vessel identifier. ID encrypted so that no-one can map the ID to the real vessel
trip_code NA Obligatory NA Identifier of the trip for a given project and vessel
station_number Integer Obligatory 1 - 999 999 Identifier of the fishing operation for a given trip
gear_label String Obligatory Code list Identify the subgear (for twin protocol) or the gear (for paired/unpaired protocol): STD for Standard gear or TEST for experimental gear
tag_operation String Obligatory NA Free tag used to associate station in case of “paired” protocols
haul_date String Obligatory YYYY-MM-DD Haul sarting date. “YYYY-MM-DD” (ISO 8601) in UTC
haul_time String Obligatory HH:MM:SS Haul starting time. “HH:MM:SS” (ISO 8601) in UTC
fishing_duration Integer Obligatory NA minutes
fishing_validity String Optional Code list I = Invalid ou V = Valid. Haul validity according to protocol criteria. If reported, invalid operations are removed.
statistical_rectangle String Optional Code list ICES statistical rectangle
pos_start_lat Dec Optional NA Latitude in decimal degrees of the shooting position
pos_stop_lat Dec Optional NA Latitude in decimal degrees of the hauling position
pos_start_lon Dec Optional NA Longitude in decimal degrees of the shooting position
pos_stop_lon Dec Optional NA Longitude in decimal degrees of the hauling position
water_depth Integer Optional 1 - 999 999 Water depth in metres
start_sorting_date_time String Optional NA “YYYY-MM-DD HH:MM:SS” (ISO 8601) in UTC
end_sorting_date_time String Optional NA “YYYY-MM-DD HH:MM:SS” (ISO 8601)
diurnal_operation String Optional Y or N Haul deployed during day or night time
gear_speed Double Optional NA Gear speed in knots
gear_depth Double Optional NA Gear Depth in metres
sea_state String Optional Code list Sea state from Douglas Scale
wind_force String Optional Code list Wind force from Beaufort Scale
wind_cardinal_direction String Optional Code list N, NE, E, SE, S, SW, W, NW
seabed_features String Optional Code list Sediment type of fishing ground
sub_gear_position String Optional Free text Identify the side of the subgear (e.g. Portside/Starboard for OTT).
catch_weight Double Optional NA Total weight of the catch in kg
discard_weight Double Optional NA Total weight of the discarded fraction of the catch in kg
coef_discard Double Optional NA Sampling ratio of the bulk fraction of the discards

SL table

The SL table contains information relating to the weight of the studies species, for the strata FO x species x catch category (and eventually x landing category x commercial size category x subsampling category x sex).

Field names Type Status Basic checks Comments
project String Obligatory Code list Name of the project underwhich the experiment was carried out
vessel_identifier Integer Obligatory 1 - 999 999 Encripted vessel identifier. ID encrypted so that no-one can map the ID to the real vessel
trip_code NA Obligatory NA Identifier of the trip for a given project and vessel
station_number Integer Obligatory 1 - 999 999 Sequential numbering of hauls. Starting by 1 for each new trial
gear_label String Obligatory Code list Identify the subgear (for twin protocol) or the gear (for paired/unpaired protocol): STD for Standard gear or TEST for experimental gear
species String Obligatory Free text Species name
catch_category String Obligatory Code list “DIS” = Discards and “LAN” = Landings
landing_category String Optional Free text The intended usage at the time of landing. This should match the same field in SL record.
commercial_size_category String Optional Free text Commercial sorting category in the given scale.This should match the same field in SL record.
subsampling_category String Optional Free text If different subsampling is applied within the catch (e.g. in the DIS fraction).This should match the same field in SL record.
sex String Optional Free text Sex category.This should match the same field in SL record.
weight Integer Obligatory 1 - 999 999 Whole weight of the stratum (Species / Catch_Category / Size_Category) in gramme. Decimals are not allowed?
subsample_weight Integer Obligatory 1 - 999 999 Weight of subsample in grammes of the corresponding stratum (Species / Catch_Category) for the measurement (HL table)
length_code String Obligatory code list Unit of length measurement : 1mm =“mm”, 0.5cm=“scm”,1cm=“cm”

HL table

The HL table contains information relating to the size of individuals of the species studied, within the strata recorded in HL.

Field names Type Status Basic checks Comments
project String Obligatory Code list Name of the project underwhich the experiment was carried out
vessel_identifier Integer Obligatory 1 - 999 999 Encripted vessel identifier. ID encrypted so that no-one can map the ID to the real vessel
trip_code NA Obligatory NA Identifier of the trip for a given project and vessel
station_number Integer Obligatory 1 - 999 999 Sequential numbering of hauls. Starting by 1 for each new trial
gear_label String Obligatory Code list Identify the subgear (for twin protocol) or the gear (for paired/unpaired protocol): STD for Standard gear or TEST for experimental gear
species String Obligatory Free text Species name
catch_category String Obligatory Code list “DIS” = Discards and “LAN” = Landings
landing_category String Optional Free text The intended usage at the time of landing.
commercial_size_category String Optional Free text Commercial sorting category in the given scale.
subsampling_category String Optional Free text If different subsampling is applied within the catch (e.g. in the DIS fraction).
sex String Optional Free text Sex category.
length_class Integer Obligatory NA Lower bound of the length class in mm (e.g. 650 for 65-66 cm)
number_at_length Integer Obligatory NA Not raised to the whole catch. Length classes with zero should be excluded from the record
measure_type String Obligatory Code list Mesure type : “LT” for Total Length and “LC” for Carapace Length
elevated_number_at_length Double Optional NA Elevated number of individuals for the length class.

3) Prepare Selectivity Data

The function prep_sel_data() transforms and prepare the database in order to compute the indices of the create_selectivity_sheet() function.

### Example for protocol 'twin'

OTT_data_folder <-
  system.file("script_origin", "Data", "Example_OTT",
              package = "inser")

TR <- readr::read_delim(
  file = file.path(OTT_data_folder, "TR.csv"),
  delim = ";",
  escape_double = FALSE,
  locale = readr::locale(encoding = "WINDOWS-1252"),
  trim_ws = TRUE
)
#> Rows: 2 Columns: 31
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ";"
#> chr (12): sampling_type, landing_country, vessel_flag_country, project, harb...
#> dbl (11): trip_code, year, vessel_length, vessel_power, vessel_size, vessel_...
#> lgl  (8): number_of_sets, days_at_sea, departure_date_time, return_date_time...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.

HH <- read.table(
  file.path(OTT_data_folder, "HH.csv"),
  sep = ";",
  header = TRUE,
  encoding = "WINDOWS-1252"
)#,colClasses = colClasses)

SL <- read.table(
  file.path(OTT_data_folder, "SL.csv"),
  sep = ";",
  header = TRUE,
  encoding = "WINDOWS-1252"
)

HL <- read.table(
  file.path(OTT_data_folder, "HL.csv"),
  sep = ";",
  header = TRUE,
  encoding = "WINDOWS-1252"
)

colClasses <- rep(NA, ncol(HH))
colClasses[which(names(HH) == "statistical_rectangle")] <-
  "character"

HH <- read.table(
  file.path(OTT_data_folder, "HH.csv"),
  sep = ";",
  header = TRUE,
  colClasses = colClasses,
  encoding = "WINDOWS-1252"
)

# HH<-HH |>
#   rename(pos_start_lat=pos_start_lat_dec) |>
#   rename(pos_start_lon=pos_start_lon_dec) |>
#     rename(pos_stop_lat=pos_stop_lat_dec) |>
#   rename(pos_stop_lon=pos_stop_lon_dec)
# 
# write.table(HH,file=  file.path(OTT_data_folder, "HH.csv"),row.names = F,sep=";")


TAB <- prep_sel_data(data = list(TR, HH, SL, HL))