nmfs-ost / ss3-source-code

The source code for Stock Synthesis (SS3).
https://nmfs-ost.github.io/ss3-website/
Creative Commons Zero v1.0 Universal
36 stars 16 forks source link

[Feature]: add discard body weights to wtatage.ss #575

Open Rick-Methot-NOAA opened 5 months ago

Rick-Methot-NOAA commented 5 months ago

Describe the solution you would like.

need for this came up in the North Sea sole 2024 assessment with Iago and Max probably redundant issue to #81

Describe alternatives you have considered

make discard a separate fleet. Propose doing this by re-purposing the existing field for "birthseason" to partition. It seems highly unlikely that an empirical wtatage model would ever use birthseason (aka settlement event). That is a feature designed by age-length models that are looking at details of seasonal growth. Currently, SS3 reads values for:

Yr Seas Sex Bio_Pattern BirthSeas Fleet

but the sex, Bio_pattern and birthseason fields combined into "g" index for the working array. So, effectively only sex is operational:

      gg = tempvec(3);
      gp = tempvec(4);
      birthseas = tempvec(5);
      g = (gg - 1) * N_GP * nseas + (gp - 1) * nseas + birthseas; //  note  cannot handle platoons
Wt_Age_t(t, f, g, a )  is working array

PROBLEM: expected discard does not directly refer to wt_age_t, it gets discard from total catch - retained catch biomass else if (catchunits(f) == 1) // biomass units for retained and discarded catch { exp_disc(f, j) = catch_fleet(t, f, 1) - catch_fleet(t, f, 3); // discard in biomass

So I see that implementing this feature would require major changes and testing with current discard models

Statistical validity, if applicable

provides flexibility to more accurately mimic the real world situation

Describe if this is needed for a management application

yes. North Sea sole

Additional context

No response