gadget_update.gadgetstock.Rd
Replace components of a gadgetstock with either new values or or content derived from an MFDB query.
# S3 method for gadgetstock
gadget_update(gf, component, ...)
The gadgetfile object to update
The component to update, or 'stock' to update the initial values
Either 0, data = (mfdb_query), or keys to update. See details.
If ...
is 0
, then the component is replaced with "doesgrow 0", for instance.
If ...
is data = mfdb_query
, then the component is generated based
on the data. How depends in which component:
The query should contain age & length columns, inserts min/max for both
The query should contain age & length columns, inserted into refweight file
The query should contain area, age, length, number, mean columns
The query should contain year, step, area, age, length, number, mean columns
Finally, any other value of ...
will update the relevant keys/values in that component.
naturalmortality is slightly different. It takes a single vector with one value per-age-group. It will be pre-populated with 0.2 for each age group.
doesgrow / growth can be populated with default values with gadget_update(gs, 'growth', 1)
gadget_update('refweight', data = data.frame(length = ..., weight = ...))
will also update
minlength/maxlength/dl
gadget_update('refweight', data = data.frame(length = ..., alpha = ..., beta = ...))
will
generate lengths via alpha * length^beta
doesmature / maturation will populate the maturityfile data file with all given parameters apart
from maturityfunction
, e.g.
gadget_update('maturation',maturityfunction = 'constant', maturestocksandratios = c( ... ), coefficients = c( ... ))
doesrenew / recruitment can be populated from MFDB queries, e.g.
gadget_update('doesrenew', number = data)
if (FALSE) {
library(magrittr) # import %>% function
path <- './model'
gadgetstock('codimm', path, missingOkay = TRUE) %>% # Create a skeleton if missing
gadget_update('stock', minage = 2, maxage = 4) %>%
gadget_update('stock', stockname = 'codmat') %>% # Will change the name of the file we write
gadget_update('doesmigrate', yearstepfile = gadgetfile('data/yearstepfile', components = list(
data.frame(year = 1998, step = 1:4,
matrix = 'codmat-migration')))) %>%
gadget_update('doesrenew', 0) %>%
write.gadget.file(path)
}