gadget_fleetfile.RdStructures representing fleet file components
Required. Type of fleet component to create, e.g. 'totalfleet'
Optional. A descriptive name for the fleet component, defaults to the type.
Optional. Vector of area names, defaults to all unique areas in data.
Optional. Defaults to 1
Optional. Defaults to empty string
Optional. The fleet file to put the component in. Defaults to 'fleet'.
Required. The data.frame to use for 'amountfile'. Areas are translated into integers before adding to amountfile.
Extra parameters for the component, see details
effortfleet requires the following extra parameters:
A list of stock names to catchability constants
quotafleet requires the following extra parameters:
Function name, e.g. 'simple'
Vector of biomass levels
Vector of fishing levels
A gadget_fleet_component object that can them be added to a fleetfile with
gadget_dir_write
mdb <- mfdb(tempfile(fileext = '.duckdb'))
#> 2026-01-25 17:20:44.750259 INFO:mfdb:Creating schema from scratch
#> 2026-01-25 17:20:45.159112 INFO:mfdb:Taxonomy market_category no updates to make
#> 2026-01-25 17:20:47.11533 INFO:mfdb:Schema up-to-date
gd <- gadget_directory(tempfile())
# Define 2 areacells of equal size
mfdb_import_area(mdb, data.frame(name=c("divA", "divB"), size=1))
# Define 2 vessels
mfdb_import_vessel_taxonomy(mdb, data.frame(
name = c('1.RSH', '2.COM'),
full_name = c('Research', 'Commercial'),
stringsAsFactors = FALSE))
# Make up some samples
samples <- expand.grid(
year = 1998,
month = 5,
areacell = c("divA", "divB"),
species = 'COD',
vessel = c('1.RSH', '2.COM'),
length = c(0,40,80))
samples$count <- runif(nrow(samples), 20, 90)
mfdb_import_survey(mdb, data_source = "x", samples)
# Make a 'totalfleet' component
fc <- gadget_fleet_component(
'totalfleet',
name = 'research',
data = mfdb_sample_count(mdb, c(), list(
vessel = '1.RSH',
area = mfdb_group(x = 'divA', y = 'divB'),
year = 1998,
step = mfdb_timestep_yearly))[[1]])
fc
#> $totalfleet
#> [1] "research"
#>
#> $livesonareas
#> x y
#> 1 2
#>
#> $multiplicative
#> [1] 1
#>
#> $suitability
#> NULL
#>
#> $amount
#> ; Generated by mfdb 7.4.0.999
#> ; -- data --
#> ; year step area fleetname number
#> 1998 1 1 research 144.937530304305
#> 1998 1 2 research 225.721742811147
#>
#> attr(,"fleetfile")
#> [1] "fleet"
#> attr(,"class")
#> [1] "gadget_totalfleet_component" "gadget_fleet_component"
# Write out to a directory
gadget_dir_write(gd, fc)
gadget_fleet_component(
'effortfleet',
name = 'commercial',
suitability = "function constant 4;",
catchability = list(stockA=4, stockB=5),
quotafunction = 'simple',
biomasslevel = c(1000, 2000),
quotalevel = c(0.1, 0.4, 0.9),
data = mfdb_sample_count(mdb, c(), list(
vessel = '2.COM',
area = mfdb_group(x = 'divA', y = 'divB'),
year = 1998,
step = mfdb_timestep_yearly))[[1]])
#> $effortfleet
#> [1] "commercial"
#>
#> $livesonareas
#> x y
#> 1 2
#>
#> $multiplicative
#> [1] 1
#>
#> $suitability
#> [1] "function constant 4;"
#>
#> $catchability
#> NULL
#>
#> $stockA
#> [1] 4
#>
#> $stockB
#> [1] 5
#>
#> $amount
#> ; Generated by mfdb 7.4.0.999
#> ; -- data --
#> ; year step area fleetname number
#> 1998 1 1 commercial 100.296513566282
#> 1998 1 2 commercial 112.700922847725
#>
#> attr(,"fleetfile")
#> [1] "fleet"
#> attr(,"class")
#> [1] "gadget_effortfleet_component" "gadget_fleet_component"
gadget_fleet_component(
'quotafleet',
name = 'commercial',
suitability = "function constant 4;",
catchability = list(stockA=4, stockB=5),
quotafunction = 'simple',
biomasslevel = c(1000, 2000),
quotalevel = c(0.1, 0.4, 0.9),
data = mfdb_sample_count(mdb, c(), list(
vessel = '2.COM',
area = mfdb_group(x = 'divA', y = 'divB'),
year = 1998,
step = mfdb_timestep_yearly))[[1]])
#> $quotafleet
#> [1] "commercial"
#>
#> $livesonareas
#> x y
#> 1 2
#>
#> $multiplicative
#> [1] 1
#>
#> $suitability
#> [1] "function constant 4;"
#>
#> $quotafunction
#> [1] "simple"
#>
#> $biomasslevel
#> [1] 1000 2000
#>
#> $quotalevel
#> [1] 0.1 0.4 0.9
#>
#> $amount
#> ; Generated by mfdb 7.4.0.999
#> ; -- data --
#> ; year step area fleetname number
#> 1998 1 1 commercial 100.296513566282
#> 1998 1 2 commercial 112.700922847725
#>
#> attr(,"fleetfile")
#> [1] "fleet"
#> attr(,"class")
#> [1] "gadget_quotafleet_component" "gadget_fleet_component"
mfdb_disconnect(mdb)