g3a_spawn()
splits offspring into multiple stocks
correctlyg3l_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]))
.