Forums

Back

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

JW
Jintao Wang, modified 2 Years ago.

How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 34 Join Date: 8/9/16 Recent Posts

Just like: SSB_MSY, SPR_MSY, annF_MSY ,B_MSY/SSB_unfished.

KD
Kathryn Doering, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 57 Join Date: 2/19/19 Recent Posts

Hi Jintao,

The calculations done depend on the settings chosen by the user in the forecast file. The forecast section of the user manual has more information.

I'm not sure if this is part of your question or not, but the values in ss_summary.sso should match the values in Report. sso. If they do not, please feel free to report this, as it could be a bug.

 

Thanks,

Kathryn

JW
Jintao Wang, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 34 Join Date: 8/9/16 Recent Posts

I also want to know why TotCatch in ss_summary is different from catch with se=0  in the data file.

Richard Methot, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 219 Join Date: 11/24/14 Recent Posts

Here is a little more info about what is happening inside the SS3 code to calculate these quantities.

All of these benchmark (also called reference point) quantities are calculated as equilibrium values on a per recruit basis. This uses the SS3 function equil_calc. This same function also is used to calculate the initial equilibrium population for the time series. It returns SSB/R and Catch/R.  These per recruit quantities can then be combined with the function for equilibrium spawner-recruitment to present the results in terms of SSB and Catch. All of these equilibrium calculations take into account all the details of the model setup (multiple fleets with different selectivity, growth morphs, areas with movement, etc.).

In the benchmark function, SS3 repeatedly calls equil_calc with a different level of overall F in order to match desired criteria. First it searches for the F that will produce the target SPR, then target SSB/Bzero, then MSY, etc.  In this sequence, SPR is (SSB/R with fishing) / (SSB/R with F=0).  You can see the details of this search in the output file:  forecast-report.sso.

The table of output termed mgmt_quantities shows the results of all the searches. It can be found in ss_summary.sso and in report.sso.  Below is a section of that table. The scheme for organizing and labelling the quantities is as follows:

*_Btgt are quantities that come from the search for a particular level of SSB/Bzero, e.g. Btgt.  So, SPR_Btgt is the SPR that comes from finding the F that produces Btgt, and SSB_SPR is the absolute SSB that comes from fishing at F that satisfies the target SPR condition

*_SPR come from the search for a particular SPR

*_MSY come from search for MSY

You will see that the level of F for each of these searches is similar but slightly different.

SSB_Btgt 1.28468e+06
SPR_Btgt 0.4375
annF_Btgt 0.0254095
Dead_Catch_Btgt 134910

SSB_SPR 1.15622e+06
annF_SPR 0.028074
Dead_Catch_SPR 137235

SSB_MSY 1.02929e+06
SPR_MSY 0.362949
annF_MSY 0.0309164

Dead_Catch_MSY 138050

 

I hope this helps.

Rick

Richard Methot, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 219 Join Date: 11/24/14 Recent Posts

Jintao,

The total catch in the ss_summary.sso is the sum of the estimated catches across all fleets.  Even though you have specified that catch se=0.0, there still is possibility that estimated catch could differ from the input catch.  I suggest that you look at the detailed output regarding catch in report.sso.   It contains:

CATCH report:15
Fleet Fleet_Name Area Yr Seas Time Obs Exp Mult Exp*Mult se F  Like sel_bio kill_bio ret_bio sel_num kill_num ret_num
 

JW
Jintao Wang, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 34 Join Date: 8/9/16 Recent Posts

Richard,

Thank you for your reply.  And there is other questions about Report.sso file.  The F/Fmsy is as same as F, does it mean Fmsy=1? But the annF_MSY shows is not 1.

 

F_2004 0.189138 0.0197875 -40.9785 0
 F_2005 0.189635 0.0201483 -40.2201 0
 F_2006 0.211906 0.0226201 -34.8404 3.41976e-266
 F_2007 0.295333 0.0306654 -22.9792 4.12501e-117
 F_2008 0.251765 0.026397 -28.3455 5.34731e-177

annF_MSY 0.128281 0.00152311

MSY_basis:_calculate_FMSY
Yr  B/Bmsy  F/Fmsy

2004 1.12504  0.189138
2005 0.93685  0.189635
2006 0.908669  0.211906
2007 0.702489  0.295333
2008 0.513524  0.251765

Richard Methot, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 219 Join Date: 11/24/14 Recent Posts

Jintao,

I will need more information in order to answer your question.  What are your settings for these two factors in the starter  file:

3 # Annual_F_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Apical_F's); 4=true F for range of ages; 5=unweighted avg. F for range of ages
#COND 10 15 #_min and max age over which average F will be calculated with F_reporting=4 or 5
0 # F_std_basis: 0=raw_annual_F; 1=F/Fspr; 2=F/Fmsy; 3=F/Fbtgt; where F means annual_F; values >=11 invoke N multiyr (up to 9!) with 10's digit; >100 invokes log(ratio)
 

JW
Jintao Wang, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 34 Join Date: 8/9/16 Recent Posts

4    #_F_report_units: 0=skip; 1=exploitation(Bio); 2=exploitation(Num); 3=sum(Frates); 4=true F for range of ages; 5=ave F for range of ages
 3  6  #_min and max age over which average F will be calculated
0    #_F_std_basis: 0=raw_F_report; 1=F/Fspr; 2=F/Fmsy ; 3=F/Fbtgt

Richard Methot, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 219 Join Date: 11/24/14 Recent Posts

Jintao,

Sorry, but that is not enough for me to understand what is happening in your model run.  It will be best if you can send your full set of input files and to tell me which version of SS3 you are using.  You can send them to nmfs.stock.synthesis@noaa.gov.  At minimum, your file forecast.ss and forecast-report.sso.

Rick

 

JW
Jintao Wang, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 34 Join Date: 8/9/16 Recent Posts

I have sent the email, looking for your reply.

Richard Methot, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 219 Join Date: 11/24/14 Recent Posts

The section of the report file that you are showing is the Kobe plot info.  The header I see if I try to replicate your settings in another model looks like this:

Kobe_Plot report:18
F_report_basis_is_not_=2;_so_info_below_is_not_F/Fmsy
MSY_basis:_calculate_FMSY
Yr  B/Bmsy  F/Fmsy

This Kobe section is just outputting what you have requested as the F_std output.  This line is saying that you have not requested the correct F_std method:

F_report_basis_is_not_=2;_so_info_below_is_not_F/Fmsy
 

So you need in your starter file to have this:

2 # F_std_basis: 0=raw_annual_F; 1=F/Fspr; 2=F/Fmsy; 3=F/Fbtgt; where F means annual_F; values >=11 invoke N multiyr (up to 9!) with 10's digit; >100 invokes log(ratio)

in order to get F/FSY displayed in the Kobe table.
 

JW
Jintao Wang, modified 2 Years ago.

RE: How is the SSB_MSY, SPR_MSY calculated in report.sso

Youngling Posts: 34 Join Date: 8/9/16 Recent Posts

Thank you so much!