stock
column in likelihood data can now contain name parts as well as full stock namesg3_to_r
-produced model functions will accept both a list & data.frame parameter templateg3_to_r
models can include arbitary R functions, see vignettes/writing_actions #194g3_array_agg
#193g3a_spmodel
#209detail_x__num
to dstart_x__num
#200g3a_spawn()
splits offspring into multiple stocks correctly?g3a_predate
/ ?g3a_predate_catchability_predator
#29g3a_otherfood
, g3a_otherfood_normalparam
, g3a_otherfood_normalcv
#155g3l_catchdistribution
#95g3l_distribution_surveyindices_*()
can now be broken down by age without errorg3_parameterized('x', by_year = 1998:2099)
to override year range for parametersg3a_initialconditions_normalcv
for initialconditions driven by a lencv
parameterg3a_renewal_normalcv
for initialconditions driven by a lencv
parameterby_predator
parameter for g3_parameterized
g3_suitability_exponentiall50
g3_init_val()
helper, to replace gadgetutils::g3_init_guess()
g3_areas()
helper to create numbered area vectorsg3_distribution_preview()
helper to see how observatation data will be converted to arrayperiod
now optional for g3l_random_walk()
, g3l_random_dnorm()
g3l_bounds_penalty()
can now generate bounds from actions which update automaticallyg3l_distribution_surveyindices_*
now default to beta = 1
, set beta = NULL
to restore previous behaviour.stock_param
() & stock_param_table
() replaced with stock_prepend
()g3_to_tmb(adreport_re)
option #60M
now by-age by default #113g3_suitability_andersenfleet()
now uses by_predator = TRUE
by default #133g3_parameterized('x', by_step = TRUE)
for seasonal parameters #115group_by(length = cut(...))
can be used as well as MFDB for groupings #112g3l_understocking
(), g3a_naturalmortality
(), g3a_renewal_normalparam
()g3a_renewal_vonb_t0
() & g3a_renewal_vonb_recl
(), with g3a_renewal_vonb
() being an alias to the latterscale = 0.001
from default K
parameters in g3a_grow, g3a_renew_*g3a_renewal_vonb_t0
() is now the default mean_f for *_normalparam
()g3a_initialconditions_normalparam
() now offsets any age
in mean_f
(i.e. the VonB formula) by cur_step_size
,
in effect running at step -1.g3_suitability_andersen()
now produces sensible values - https://github.com/gadget-framework/gadget3/issues/108g3a_age()
now supports stocks with a single age (i.e. minage == maxage)recage
parameter to g3a_renewal_vonb
/ g3a_renewal_initabund
g3_suitability_andersenfleet()
, a fleet-specialised andsersen suitability function.g3_is_stock()
publicg3_eval()
, to evaluate snippets of a gadget3 model.g3l_distribution_*(transform_fs = ...)
now happens before aggregation, not after.
Any matrix used now has to be expressed in terms of the stock, not aggregated age.
g3_param_table()
now returns NaN (and warns) on a missing value, instead of aborting.
optim(g3_tmb_par(...))
is now an error. When optimising, always use obj.fun$par
.
as.vector(array)
in TMB formulas, so arrays can be used with TMB vectorized functions, e.g. pnorm(as.vector(ar[,1]))
.