Nothing
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_parameterizedg3_suitability_exponentiall50g3_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_initabundg3_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])).Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.