Fisheries Dependent Information data call

The Scientific Fisheries Dependent Information (FDI) database was developed to support the management of fishing effort management regimes. With a transition to area-based multi-annual plans there was an opportunity to both rationalise the data base and move to the collection of an EU wide data set of fishing capacity, effort, landings, and discards. In 2018 the Commission requested the STECF to collect and review data in relation to a newly specified Fisheries Dependent Information Database. Expert working groups (STECF EWG-18-11, STECF 19-11, STECF 20-10) reviewed both the data supplied and the appropriateness of the data call with respect to:

  • Completeness of data in terms of areas of fishing, types of fleet segment and gear operated and species identified;
  • Completeness of data in terms of type of data requested;
  • The level of compatibility between the effort data in the FDI database and that submitted to the Mediterranean and Black Sea data call;
  • The level of compatibility between the landings data in the FDI database and that submitted to the Mediterranean and Black Sea data call for those species listed.

More information is available on the offical data call webpage: https://datacollection.jrc.ec.europa.eu/dc/fdi

2023 version

Github tag for scripts apply in 2023: 1.1.0

Github 2023 documentation associated:

https://ob7-ird.github.io/acdc/articles/fisheries_dependent_information_data_call.html#version

To compile it on your computer use the following code:

devtools::install_github("OB7-IRD/acdc@v1.1.0",
                         INSTALL_opts=c("--no-multiarch"))

Specific configuration and parameters is available below:

# setup
library(acdc)
library(furdeb)
config <- configuration_file(path_file = "D:/projets_themes/data_calls/fdi/2023/data/fdi_2023_configuration_file.yml",
                             silent = TRUE)
# not apply scientific format for number (may cause problems for cwp maniuplation)
scipen_defaut <- options("scipen")
options("scipen" = 100)
# parameters definition ----
period <- as.integer(x = c(2013:2022))
# 1 = PS, 2 = BB and 3 = LL
gear <- as.integer(x = c(1, 2, 3))
# for the French fleet, 1 = France & 41 = Mayotte
flag <- as.integer(x = c(1, 41))
ocean <- c("Atlantic",
           "Indian")
program <- as.character(c("fr.ird.referential.ps.common.Program#1239832686262#0.31033946454061234",
                          "fr.ird.referential.ps.common.Program#1308048349668#0.7314513252652438",
                          "fr.ird.referential.ps.common.Program#1363095174385#0.011966550987014823",
                          "fr.ird.referential.ps.common.Program#1373642516190#0.998459307142491"))
# checking
template_checking = TRUE
template_year = as.integer(x = 2023)
# shapes
fao_area_file_path <- "D:/developpement/shapes/FAO_AREAS_CWP_NOCOASTLINE/FAO_AREAS_CWP_NOCOASTLINE.Rdata"
eez_area_file_path <- "D:/developpement/shapes/Intersect_EEZ_IHO_v4_2020/Intersect_EEZ_IHO_v4_2020.Rdata"
cwp_grid_1deg_1deg <- "D:/developpement/shapes/fao_cwp_grid/cwp-grid-map-1deg_x_1deg/cwp-grid-map-1deg_x_1deg.RData"
cwp_grid_5deg_5deg <- "D:/developpement/shapes/fao_cwp_grid/cwp-grid-map-5deg_x_5deg/cwp-grid-map-5deg_x_5deg.RData"
# csv files locations ----
observe_bycatch_path <- file.path(config[["wd_path"]],
                                  "data",
                                  "by_catch")
# databases connections ----
t3_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["t3_prod_vmot7"]]$login,
                                  db_password = config[["databases_configuration"]][["t3_prod_vmot7"]]$password,
                                  db_dbname = config[["databases_configuration"]][["t3_prod_vmot7"]]$dbname,
                                  db_host = config[["databases_configuration"]][["t3_prod_vmot7"]]$host,
                                  db_port = config[["databases_configuration"]][["t3_prod_vmot7"]]$port)
balbaya_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["balbaya_vmot5"]]$login,
                                       db_password = config[["databases_configuration"]][["balbaya_vmot5"]]$password,
                                       db_dbname = config[["databases_configuration"]][["balbaya_vmot5"]]$dbname,
                                       db_host = config[["databases_configuration"]][["balbaya_vmot5"]]$host,
                                       db_port = config[["databases_configuration"]][["balbaya_vmot5"]]$port)
sardara_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["sardara_vmot5"]]$login,
                                       db_password = config[["databases_configuration"]][["sardara_vmot5"]]$password,
                                       db_dbname = config[["databases_configuration"]][["sardara_vmot5"]]$dbname,
                                       db_host = config[["databases_configuration"]][["sardara_vmot5"]]$host,
                                       db_port = config[["databases_configuration"]][["sardara_vmot5"]]$port)
observe_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["observe_vmot6"]]$login,
                                       db_password = config[["databases_configuration"]][["observe_vmot6"]]$password,
                                       db_dbname = config[["databases_configuration"]][["observe_vmot6"]]$dbname,
                                       db_host = config[["databases_configuration"]][["observe_vmot6"]]$host,
                                       db_port = config[["databases_configuration"]][["observe_vmot6"]]$port)

2022 version

Github tag for scripts apply in 2022: 1.0.0

Github 2022 documentation associated:

https://ob7-ird.github.io/acdc/articles/fisheries_dependent_information_data_call.html#version-1

To compile it on your computer use the following code:

devtools::install_github("OB7-IRD/acdc@v1.0.0",
                         INSTALL_opts=c("--no-multiarch"))

Specific configuration and parameters is available below:

# setup
library(acdc)
library(furdeb)
config <- configuration_file(path_file = "D:\\projets_themes\\data_calls\\fdi\\2022\\data\\fdi_2022_configuration_file.yml",
                             silent = TRUE)
# not apply scientific format for number (may cause problems for cwp maniuplation)
scipen_defaut <- options("scipen")
options("scipen" = 100)
# parameters definition
period <- as.integer(x = c(2013:2021))
# 1 = PS, 2 = BB and 3 = LL
gear <- as.integer(x = c(1, 2, 3))
# for the French fleet, 1 = France & 41 = Mayotte
flag <- as.integer(x = c(1, 41))
# checking
template_checking = TRUE
template_year = 2022L
# shapes
fao_area_file_path <- "D:\\developpement\\shapes\\FAO_AREAS_CWP_NOCOASTLINE\\FAO_AREAS_CWP_NOCOASTLINE.Rdata"
eez_area_file_path <- "D:\\developpement\\shapes\\Intersect_EEZ_IHO_v4_2020\\Intersect_EEZ_IHO_v4_2020.Rdata"
cwp_grid_1deg_1deg <- "D:\\developpement\\shapes\\fao_cwp_grid\\cwp-cwp-grid-map-1deg_x_1deg\\cwp-grid-map-1deg_x_1deg.Rdata"
cwp_grid_5deg_5deg <- "D:\\developpement\\shapes\\fao_cwp_grid\\cwp-cwp-grid-map-5deg_x_5deg\\cwp-grid-map-5deg_x_5deg.Rdata"
# csv files locations
observe_bycatch_path <- file.path(config[["wd_path"]],
                                  "data",
                                  "by_catch")
observe_discard_path <- file.path(config[["wd_path"]],
                                  "data",
                                  "discards")
# databases connections
t3_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["t3_prod_vmot7"]]$login,
                                  db_password = config[["databases_configuration"]][["t3_prod_vmot7"]]$password,
                                  db_dbname = config[["databases_configuration"]][["t3_prod_vmot7"]]$dbname,
                                  db_host = config[["databases_configuration"]][["t3_prod_vmot7"]]$host,
                                  db_port = config[["databases_configuration"]][["t3_prod_vmot7"]]$port)

balbaya_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["balbaya_vmot5"]]$login,
                                       db_password = config[["databases_configuration"]][["balbaya_vmot5"]]$password,
                                       db_dbname = config[["databases_configuration"]][["balbaya_vmot5"]]$dbname,
                                       db_host = config[["databases_configuration"]][["balbaya_vmot5"]]$host,
                                       db_port = config[["databases_configuration"]][["balbaya_vmot5"]]$port)

sardara_con <- postgresql_dbconnection(db_user = config[["databases_configuration"]][["sardara_vmot5"]]$login,
                                       db_password = config[["databases_configuration"]][["sardara_vmot5"]]$password,
                                       db_dbname = config[["databases_configuration"]][["sardara_vmot5"]]$dbname,
                                       db_host = config[["databases_configuration"]][["sardara_vmot5"]]$host,
                                       db_port = config[["databases_configuration"]][["sardara_vmot5"]]$port)

Global script process

The global script process to generate the tables is available below. Be aware that you have the process divided step by step but also at the end through a shortcut function. Use parameters and configuration above in sections related to the year of production.

# process step by step
tablea <- fdi_tablea_catch_summary(balbaya_con = balbaya_con[[2]],
                                   observe_bycatch_path = observe_bycatch_path,
                                   period = period,
                                   gear = gear,
                                   flag = flag,
                                   fao_area_file_path = fao_area_file_path,
                                   eez_area_file_path = eez_area_file_path,
                                   cwp_grid_file_path = cwp_grid_1deg_1deg,
                                   template_checking = template_checking,
                                   template_year = template_year,
                                   table_export_path = config[["output_path"]])

tabled <- fdi_tabled_discard_length(observe_con = observe_con[[2]],
                                    period = period,
                                    ocean = ocean,
                                    program = program,
                                    flag = flag,
                                    fao_area_file_path = fao_area_file_path,
                                    tablea_catch_summary = tablea[["fdi_tables"]][["table_a"]],
                                    template_checking = template_checking,
                                    template_year = template_year,
                                    table_export_path = config[["output_path"]])

tablef <- fdi_tablef_landings_length(balbaya_con = balbaya_con[[2]],
                                     sardara_con = sardara_con[[2]],
                                     t3_con = t3_con[[2]],
                                     period = period,
                                     gear = gear,
                                     flag = flag,
                                     tablea_bycatch_retained = tablea[["ad_hoc_tables"]][["bycatch_retained"]],
                                     tablea_catch_summary = tablea[["fdi_tables"]][["table_a"]],
                                     cwp_grid_file_path = cwp_grid_5deg_5deg,
                                     fao_area_file_path = fao_area_file_path,
                                     template_checking = template_checking,
                                     template_year = template_year,
                                     table_export_path = config[["output_path"]])

tableg <- fdi_tableg_effort(balbaya_con = balbaya_con[[2]],
                            period = period,
                            gear = gear,
                            flag = flag,
                            fao_area_file_path = fao_area_file_path,
                            eez_area_file_path = eez_area_file_path,
                            template_checking = template_checking,
                            template_year = template_year,
                            table_export_path = config[["output_path"]])

tableh <- fdi_tableh_landings_rectangle(tablea_bycatch_retained = tablea[["ad_hoc_tables"]][["bycatch_retained"]],
                                        tablea_landing_rectangle = tablea[["ad_hoc_tables"]][["landing_rectangle"]],
                                        template_checking = template_checking,
                                        template_year = template_year,
                                        table_export_path = config[["output_path"]])

tablei <- fdi_tablei_effort_rectangle(tableg_effort_rectangle = tableg[["ad_hoc_tables"]][["effort_rectangle"]],
                                      template_checking = template_checking,
                                      template_year = template_year,
                                      table_export_path = config[["output_path"]])

tablej <- fdi_tablej_capacity(balbaya_con = balbaya_con[[2]],
                              period = period,
                              gear = gear,
                              flag = flag,
                              fao_area_file_path = fao_area_file_path,
                              template_checking = template_checking,
                              template_year = template_year,
                              table_export_path = config[["output_path"]])
# shortcut function
fdi_tables <- fdi_shortcut_function(balbaya_con = balbaya_con[[2]],
                                    sardara_con = sardara_con[[2]],
                                    t3_con = t3_con[[2]],
                                    observe_con = observe_con[[2]],
                                    period = period,
                                    gear = gear,
                                    flag = flag,
                                    ocean = ocean,
                                    program = program,
                                    observe_bycatch_path = observe_bycatch_path,
                                    fao_area_file_path = fao_area_file_path,
                                    eez_area_file_path = eez_area_file_path,
                                    cwp_grid_1deg_1deg = cwp_grid_1deg_1deg,
                                    cwp_grid_5deg_5deg = cwp_grid_5deg_5deg,
                                    template_checking = template_checking,
                                    template_year = template_year,
                                    table_export_path = config[["output_path"]])
# fdi tables consistency
fdi_checks <- fdi_tables_consistency(tablea = fdi_tables$fdi_tables$table_a,
                                     tabled = fdi_tables$fdi_tables$table_d,
                                     tablef = fdi_tables$fdi_tables$table_f,
                                     tableg = fdi_tables$fdi_tables$table_g,
                                     tableh = fdi_tables$fdi_tables$table_h,
                                     tablei = fdi_tables$fdi_tables$table_i,
                                     tablea_bycatch_retained = fdi_tables$ad_hoc_tables$bycatch_retained)

Effort table specifications

The table G aims to provide effort summary in specific format. A brief description and explanation of each variable is provided below.

  • Days at sea \[ totseadays = \frac{hrsea}{24} \]

hrsea = hours at sea

  • Fishing effort (in kW-days) \[ totgtdaysatsea = totseadays * enginepower * 0.73539875 \]

totseadays = days at sea

enginepower = engine power

1 ch = 0.73539875 kW

  • Fishing effort in Gross Tonnage (GT) * days at sea

\[ totgtdaysatsea = totseadays * GT \] GT = K.V

K = 0.2 + 0.02 * log10(V))

V = volume in m3

  • Fishing days

\[ totfishdays = \frac{fishingtime}{dayfishingtime} \] fishingtime = fishing time

dayfishingtime = duration day of fishing, 12 in the Atlantic Ocean and 13 in the Indian Ocean

  • Fishing effort in kW-days

\[ totkwfishdays = totfishdays * enginepower * 0.73539875 \]

totfishdays = fishing days

enginepower = engine power

1 ch = 0.73539875 kW

  • Fishing effort in GT * fishing days

\[ totgtfishdays = totfishdays * GT \] totfishdays = fishing days

GT = K.V

K = 0.2 + 0.02 * log10(V))

V = volume in m3

  • KW hours at sea

\[ kwhrsea = hrsea * enginepower * 0.73539875 \]

hrsea = hours at sea

enginepower = engine power

1 ch = 0.73539875 kW

  • GT hours at sea

\[ gthrsea = hrsea * GT \]

hrsea = hours at sea

GT = K.V

K = 0.2 + 0.02 * log10(V))

V = volume in m3