Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Add capability for seasonal offset in a CPUE catchability #481

Open
2 of 7 tasks
Rick-Methot-NOAA opened this issue Jul 21, 2023 · 0 comments
Open
2 of 7 tasks
Assignees
Labels
new request initial entry of a new request time-vary parm wishlist request new feature; bigger than revision; OK to remove after adding to Milestone
Milestone

Comments

@Rick-Methot-NOAA
Copy link
Collaborator

Rick-Methot-NOAA commented Jul 21, 2023

Describe the solution you would like.

I often see model configurations in which users create season-specific fleets in order to have season-specific Q, and sometimes season-specific selectivity. Most often, it is to get at season-specific Q. Addition of a capability to have season-specific Q would provide a more convenient and probably faster-executing option.

  • review how seasonality in MGparms is implemented to see if extendable to Q
  • consider generic capability to have seasonality in any parameter, especially selectivity parameters

Describe alternatives you have considered

The MGparm approach has specific input for each parameter type. If selected, then season parameters created to do:

     if (MGparm_seas_effects(j) > 0)
        {
          wtlen_seas(0, gp, j) = 0.0;
          for (s = 1; s <= nseas; s++)
          {
            wtlen_seas(s, gp, j) = mfexp(MGparm(MGparm_seas_effects(j) + s));

A feasible generic implementation could be:
if abs(Block_type_rd) > 10, then block_type = sign(block_type_rd) * (abs(Block_type_rd) - 10).
then value in tens place would be the control for seasonality. This allows seasonality to be in addition to blocks and trends on base parameter.
The use of abs and sign is because a negative block is the indicator for trend approach.

  • count number of Q parameters that request seasonality
  • for each of them, create a Q_seas(f,s) parameter.
  • check to be sure float is off and check to see that one of the seasons has fixed Q_seas = 0.0 to be the base.
  • implement the Q_seas in exp_val where Q as parameter code already is located
    https://vscode.dev/github/nmfs-stock-synthesis/stock-synthesis/blob/main/SS_expval.tpl#L398-L399
  • Nice to have: check data to see which seasons have obs, then create parameter only for those seasons.

Statistical validity, if applicable

NA

Describe if this is needed for a management application

NA

Additional context

No response

@Rick-Methot-NOAA Rick-Methot-NOAA added wishlist request new feature; bigger than revision; OK to remove after adding to Milestone time-vary parm new request initial entry of a new request labels Jul 21, 2023
@Rick-Methot-NOAA Rick-Methot-NOAA added this to the 3.30.23 milestone Jul 21, 2023
@Rick-Methot-NOAA Rick-Methot-NOAA self-assigned this Jul 21, 2023
@Rick-Methot-NOAA Rick-Methot-NOAA modified the milestones: 3.30.23, 3.30.24 Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new request initial entry of a new request time-vary parm wishlist request new feature; bigger than revision; OK to remove after adding to Milestone
Projects
Status: No status
Status: No status
Development

No branches or pull requests

1 participant