[Feature]: 10+ multiyear average F_std_scaling; with change to log(ratio) approach
HaikunXu opened this issue · 3 comments
Describe the solution you would like.
After considering thealternatives listed below, a third approach has been implemented:
120.1 # F_std_scaling: 0=no scaling; 1=F/Fspr; 2=F/Fmsy; 3=F/Fbtgt; where F means annual F_std, Fmsy means F_std@msy; values >=11 invoke N multiyr using 10s and 100s digit; append .1 to invoke log(ratio)
This approach breaks backward compatibility for anyone previously using values >100 to invoke log(ratio), but other proposed approaches also broke compatibility or introduced more complexity to the algorithm.
Describe alternatives you have considered
2 # F_std_scaling: 0=no scaling; 1=F/Fspr; 2=F/Fmsy; 3=F/Fbtgt; where F means annual F_std, Fmsy means F_std@msy; values >=11 invoke N multiyr (up to 9!) using 10's digit; >100 invokes log(ratio); < -100 invoke N multiyr (more than 9) using 100’s and 10's digits to choose the years to average; < -1000 invoke log(ratio)
2 # F_std_scaling: 0=no scaling; 1=F/Fspr; 2=F/Fmsy; 3=F/Fbtgt; where F means annual F_std, Fmsy means F_std@msy; values >=11 invoke N multiyr (up to 9!) using 10's digit; >100 invokes log(ratio); < -1000 invoke N multiyr (more than 9) using 1000’s and 100's digits (could use more than two digits for 100+ years) to choose the years to average; the 10’s digit informs whether to use log (1) or not (0)
Statistical validity, if applicable
No response
Describe if this is needed for a management application
We need to estimate the std of F/FMSY for a 12-year window for management purposes.
Additional context
No response
I do not see a way to do this without breaking backwards compatibility for the log(ratio).
How about moving the log flag to the decimal?
enter 132.1
where the leading 13 would translate to 13 years
the 2 would invoke f/fmsy
and the .1 would invoke log(ratio).
adding @chantelwetzel-noaa for comment.
Hi Rick,
Your proposed specification looks reasonable to me.
Option looks like:
120.1 # F_std_scaling: 0=no scaling; 1=F/Fspr; 2=F/Fmsy; 3=F/Fbtgt; where F means annual F_std, Fmsy means F_std@msy; values >=11 invoke N multiyr using 10s and 100s digit; append .1 to invoke log(ratio)
- need to extend same logic to other types of multi-yr averaging
- multiyr averaging only applies to time_series; should we add a feature such that the averaging is continuous from time_series into forecast?