Skip to content

Apply a steeper join function for the piecewise-linear harvest control rule#687

Merged
iantaylor-NOAA merged 2 commits intomainfrom
test-steeper-hcr-join
Jul 15, 2025
Merged

Apply a steeper join function for the piecewise-linear harvest control rule#687
iantaylor-NOAA merged 2 commits intomainfrom
test-steeper-hcr-join

Conversation

@iantaylor-NOAA
Copy link
Copy Markdown
Contributor

Concisely describe what has been changed/addressed in the pull request.

The join function creating differentiable values for the piecewise-linear harvest control rule was leading to OFL*buffer != ACL, with differences in projected catch limits of 1-2 tons.

Catch limits are the subject of lots of interest, it's important to have the calculations match exactly. This may only impact petrale sole where the projection was occurring very close to the break point in the HCR. I worked around the problem previously by using fixed catches in the forecast file, but a new catch-only projection would benefit from this change to SS3.

Resolves issue #485

What tests have been done?

I tested replacing the multiplier 10 in the join function with 100 and 1000. Both produced identical results with OFL*buffer == ACL (identical within the accuracy of the precision of the reported values). Therefore, this PR uses 100 as the multiplier.

This changes shouldn't have a significant impact on model performance because the HCR is only used in projections and therefore doesn't impact the fit to any data.

Model files are attached to issue #485.

Is there an input change for users to Stock Synthesis?

[x] No, there was no input change.

Additional information (optional).

This doesn't solve the larger issue of replacing all the join functions throughout the SS3 code with a single function, but it's not clear how much benefit that would provide.

Copy link
Copy Markdown
Collaborator

@Rick-Methot-NOAA Rick-Methot-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved. 100 might be but overkill so be watchful for numeric issues

@iantaylor-NOAA iantaylor-NOAA merged commit 89f2eff into main Jul 15, 2025
12 of 13 checks passed
@iantaylor-NOAA iantaylor-NOAA deleted the test-steeper-hcr-join branch July 15, 2025 21:05
@github-actions
Copy link
Copy Markdown

Here are the successful executable builds from your PR:
ss3-ubuntu-latest
ss3-macos-latest
ss3-windows-latest
ss3-macos-13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants