Skip to content

[Bug]: error in time delay between spawning and settlement when settlement age is not equal to 0 #691

@Rick-Methot-NOAA

Description

@Rick-Methot-NOAA

Comparison of 3 situations discloses a problem:
The Jan run had recruitment on Jan 1 at age 1, a year after spawning.
The Dec run shifted settlement to ~Dec 31 at age 0, so at end of the year of spawning. such that they would become age 1 the following day (not implying that SS3 works in days, only in decimal years).

The two runs produced nearly identical logL, but the sequence of recdevs is shifted by a year. A big recdev in 1988 for the Dec run becomes a big recdev in 1989 for the Jan run. So the labeling of recdevs is referring to the calendar year in which the settlement happens.

The settlement mechanism allows for the total recruitment to be divided among multiple settlements, which would seem to confuse that recdev naming protocol. Another test in which the recruits are evenly split between dec 31 age 0 and Jan 1 age 1 confirms that the code is not handling it as intended because the recdevs are now high for both 1988 and 1989.

Need to check the components that go into this assignment:
natage(t + Settle_seas_offset(settle), p, g, Settle_age(settle)) +=
Recruits * recr_dist(y, GP(g), settle, p) * platoon_distr(GP2(g)) *
mfexp(natM(t, p, GP3(g), Settle_age(settle)) * Settle_timing_seas(settle));

Metadata

Metadata

Labels

change loguse for issues that should appear in change logrecruitment

Type

No fields configured for Bug.

Projects

Status
Done
Status
Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions