nmfs-ost/ss3-doc

Confusion on description of annual F

brianlangseth-NOAA opened this issue · 1 comments

While looking into the difference between output of F_std and annual_F in report 14, I noticed that the manual description of annual F in the "Fishing Mortality in Stock Synthesis" is confusing. Annual_F in report 14 is being reported as F = Z-M (which the comments at the top of that report specify) and as a consequence changes to the F_reporting_unit make no difference on the values reported there.

My confusion is that the manual (see below) describes annual F as being affected by F_reporting_unit and report 14 is the only place where "annual_F" appears in my report file, yet its not changing with changes to F_reporting_unit.

15.4.0.5 Annual F

The annF is a single annual value across all fleets and areas according to F_report_units, which is specified by users in the starter file. If there are many fleets, across several areas and with very different selectivity patterns, annF can have a complicated relationship to apical F. The F_report_units specification in the starter.ss file, see example line below, allows user to calculate it using F' directly, use exploitation rate, or be derived from Z-at-age.

When I search for annF, which is the term used in the manual, I find annF_MSY and that changes with the value of F_reporting_unit. Even though annF is described as "a single annual value..." in the snippet below, it is also described elsewhere in the manual as "annF is calculated in the benchmark calculations" so I Im left to believe that annF in the manual is best understood as annual_F in the report file.

Can you look into this? My expectations is that it should be changing depending on the value of F_report_units. The easiest fix is to document that annual_F can be outputted as F=Z-M in the report file (though I dont understand the circumstances of when this is the case). Alternatively, annual_F as the manual describes it may not be reported out accurately.

Brian - you are correct. reporting units do not affect annual_F, which is shorthanded to annF. We'll work on the manual.
I did recently clean up the invoking language in starter.ss_new to clarify how the input relates to F_std. For reporting options 3, 4 & 5, the F being used is the same F=Z-M that is used for annual_F. Those same F=Z-M calculations are implemented in the equilibrium benchmark code also, so can produce a denominator for scaling that has the same basis as the annual values in the numerator.:

3 # F_std_reporting_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Apical_F's); 4=mean F for range of ages (numbers weighted); 5=unweighted mean F for range of ages
#COND 10 15 #_min and max age over which mean F will be calculated with F_reporting=4 or 5
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)