stanza age cutoff fix
Closed this issue · 0 comments
The EBS model is starting out of equilibrium for N Fur Seals:
It turns out this is because we truncate the age structure too soon (# of months tracked for stanzas). The below graph left side shows Biomass by Age (months), the black dots are NFS, we stop tracking while the biomass in the remaining groups is still high. Current rule uses % of Winf as a cutoff and ignores Z considerations. For species with fast growth but slow mortality (mammals) this is too short. For species with slow growth but fast mortality (fish) it's too long - the gadids (red/orange) and flatfish (blue/purple) are tracked long after their biomass has dropped to negligible. The fix is to make the cutoff by % of Biomass (in leading stanza), not W. This fix gives the age bins on the right side of the below graph.
Converted to years, here's the change (in oldest age tracked for each group):
Group old_years new_years
1 N.fur.seal_Adu 36.00000 130
2 W.pollock_Adu 50.08333 20
3 P.cod_Adu 79.75000 32
4 Arrowtooth_Adu 107.08333 69
5 Gr.Turbot_Adu 119.91667 69
6 P.halibut_Adu 173.66667 67
As seen in this table, the current way of tracking for only 36 years of NFS while tracking pollock for 50 years or halibut for 173 years (!!) is wildly off in both directions. The fix puts 130 years for NFS, 20 years for pollock, 60ish years for flatfish, much closer to common sense and stock assessments with a little extra room for safety. (note that the fix also rounds the #months tracked to the nearest year, unlike current).
This gives us the classic equilibrium flatline:
Speedwise, we go from a total of 6700 ageclass bins to 4600 - the fish were really waaay too long - so this version runs a wee bit faster, too.
For an actual scenario, I tested the no-fishing scenario, and overall differences were negligible ~5% change in output for NFS juveniles - the different between the out-of-equilbrium and in-equlibrium graphs above - but a change of less than 1% for Adult NSF, and much less than 1% for any other species.