diff --git a/SS_selex.tpl b/SS_selex.tpl index 2c500625..5a8e1dae 100644 --- a/SS_selex.tpl +++ b/SS_selex.tpl @@ -1955,7 +1955,7 @@ FUNCTION void Make_FishSelex() sel_num(s, f, g) = sel_a(yf, f, gg); // selected numbers switch (seltype(f + Nfleet, 2)) // age-retention function { - case 0: + case 0: // no discarding, so just copy the selected quantities { sel_ret_bio(s, f, g) = sel_bio(s, f, g); // retained wt-at-age sel_ret_num(s, f, g) = sel_num(s, f, g); // retained numbers @@ -1963,7 +1963,7 @@ FUNCTION void Make_FishSelex() sel_dead_num(s, f, g) = sel_num(s, f, g); // dead numbers break; } - case 1: + case 1: // age-based retention function is used; all discarded fish assumed dead and have same bodywt as retained fish { sel_ret_bio(s, f, g) = elem_prod(sel_bio(s, f, g), retain_a(y, f, gg)); // retained wt-at-age sel_ret_num(s, f, g) = elem_prod(sel_num(s, f, g), retain_a(y, f, gg)); // retained numbers @@ -1971,15 +1971,16 @@ FUNCTION void Make_FishSelex() sel_dead_num(s, f, g) = sel_ret_num(s, f, g); // dead numbers break; } - case 2: + case 2: // age-based retention and discard mortality, same body wt as retained fish { + // details of retention and mortality already taken into account with calc of discmort2_a sel_ret_bio(s, f, g) = elem_prod(sel_bio(s, f, g), retain_a(y, f, gg)); // retained wt-at-age sel_ret_num(s, f, g) = elem_prod(sel_num(s, f, g), retain_a(y, f, gg)); // retained numbers - sel_dead_bio(s, f, g) = elem_prod(sel_ret_bio(s, f, g), discmort_a(y, f, gg)); // dead wt - sel_dead_num(s, f, g) = elem_prod(sel_ret_num(s, f, g), discmort_a(y, f, gg)); // dead numbers + sel_dead_bio(s, f, g) = elem_prod(Wt_Age_t(tz, f, g), discmort2_a(y, f, gg)); // dead wt + sel_dead_num(s, f, g) = discmort2_a(y, f, gg); // dead numbers break; } - case 3: // all selected fish are dead + case 3: // all selected fish are dead; use this for a discard only fleet { sel_ret_bio(s, f, g) = 0.0; // retained wt-at-age sel_ret_num(s, f, g) = 0.0; // retained numbers @@ -1988,6 +1989,11 @@ FUNCTION void Make_FishSelex() break; } } + if (docheckup == 1 && y == styr) + { + echoinput << " sel_ret_bio " << sel_ret_bio(s, f, g) << endl + << " sel_dead_bio " << sel_dead_bio(s, f, g) << endl; + } } else // size_selectivity and possible size retention