Skip to content

[Bug]: incorrect equil SSB when using SRR fxn = 7 #748

@Rick-Methot-NOAA

Description

@Rick-Methot-NOAA

Issue description

a user reported incorrect calculation of equilibrium SSB when using the survivorship SRR (7).
They found that fishing at F < FMSY during the time series was reducing SSB below BMSY.
This implies an inconsistency between the equilibrium and time series calculations for SRR(7).
Another observation is in the SPR/YPR profile where SSB appeared to decline linearly with increasing F.

Image

whereas switching to Bev-Holt fxn = 3 produces the expected curvilinear shape

Image

Summary of issue history, discussion, and major aspects of code development

This may be a very old issue. See early concerns about parameter ranges in #25
and associated spreadsheet.

test_LFSR.xlsx

This issue does not seem related to the large refactoring of the spawner-recruitment code in summer 2025.

Resolution: The code that implemented the equilibrium calculations were found to be incorrect as documented in the pull request #750. An alternative version was developed by a SS3 collaborator. It was tested as shown in the PR #750. The final version of the algorithm is:

//    formula:    pow( (1.0 - (log (SPR0 / SSBpR_current)) / (steepness * log (SPR0) )), (1. / SRparm(3)));
      dvariable temp = (1.0 - (log (SPR0 / SSBpR_current)) / (steepness * log (SPR0) ));
      if (temp > 1.0e-9)
      {
        B_equil = Recr_virgin_use * SPR0 * pow( temp, (1. / SRparm(3)));
        R_equil = B_equil / SSBpR_current;
      }
      else
      {
        B_equil = 1.0e-06;
        R_equil = 1.0e-06;
      }

Items to do

  • First Item

Does documentation already exist in the SS3 User Manual?

Yes, the link to the section in the SS3 User Manual is provided below.

Documentation to add to the SS3 User Manual OR link to existing documentation

I'll get to it

Are r4ss changes needed?

No, this issue doesn't require changes to r4ss

Are SSI changes needed?

No, this issue doesn't require changes to SSI

Metadata

Metadata

Type

Projects

Status

Done

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions