ss3-source-code
ss3-source-code copied to clipboard
dynamic spawner-recruitment logic in benchmarks and projections
Imported from redmine, Issue #56287 Opened by @RickMethot on 2018-10-15 Status when imported: On Hold
The following code seems incomplete in its logic. Currently, if R0 is time-varying, SS will recalculate SSB_use and in doing so will use the current year's biology-at-age. However, if R0 is not time-varying, but growth or M is time-varying, then SSB_use will remain same as SSB_virgin. It seems useful to consider whether SSB_use should be updated when there is dynamic growth to be more like a complete dynamic B0. Your thoughts appreciated.
if(SR_parm_timevary(1)==0) // R0 is not time-varying
{R0_use=Recr_virgin; SSB_use=SSB_virgin;}
else
{
R0_use=mfexp(SR_parm_work(1));
equ_Recr=R0_use;
Fishon=0;
eq_yr=y;
bio_yr=y;
Do_Equil_Calc(R0_use); // call function to do equilibrium calculation and get SSB_equil
if(fishery_on_off==1) {Fishon=1;} else {Fishon=0;}
SSB_use=SSB_equil;
}
Recruits=Spawn_Recr(SSB_use,R0_use,SSB_current); // calls to function Spawn_Recr
@Rick-Methot-NOAA is this a new feature to be implemented or a note to check/revise existing code?
This is a long range issue. It should be linked up with the issue for using equilibrium growth for equilibrium conditions.
related to #58
I wasn't sure what was meant by "long range issue" ... do you mean it is vague or it is something we wouldn't work on for a long time (presumably because it is not high priority)
How to do updating of time-varying factors for use in benchmarks and projections is a specific topic on the working group on technical guidance for NS1. Following completion of that guidance we can re-open this issue for implementation. So, putting it ON HOLD.