NOAA-EDAB / ms-keyrun

multispecies model keyrun documentation, data, analyses
https://noaa-edab.github.io/ms-keyrun/
Other
5 stars 2 forks source link

wgt@age decrease from spring to autumn #64

Open vbartolino opened 1 year ago

vbartolino commented 1 year ago

For many of the species the wgt@age in the survey is higher in spring than in fall which is counter-intuitive. Do they loose weight during Summer? or there's something with the selectivity and availability of the different size classes to the survey...?

sgaichas commented 1 year ago

This may be due to the way Atlantis accounts for ages. Fish will age into the next group on their actual "birthday" just before recruits arrive, not on Jan 1, as noted in Issue 59.

If the RecruitMonth is after the spring survey, but before fall, fish are approaching their biggest size at age in the spring survey, but have graduated to the next age by the fall survey and have been replaced by the incoming recruits/fish in the smallest size at age for that age group.

I will add the survey month info as a lookup table shortly, but our simulated spring survey happens in March (month 3) and our fall survey happens in August (month 8). Most of the species are recruiting between months 3 and 8 (see the simBiolPar data just pushed to the wgsamsim branch), so I suspect this explains the weight difference by season?

sgaichas commented 1 year ago

A survey month lookup, simSurveyInfo has been added to the sarah_wgsamsim branch.

I decided not to add a month column to the current simSurveyIndex or other simSurvey files to avoid breaking existing code that creates input files. This dataset should provide the information needed by joining on survey name. We can add more as needed to describe the surveys.

This should help with accounting for age.

vbartolino commented 1 year ago

wgt@age by subannual time steps now available for the catch somehow confirms the discussion on age in the Atlantis (fish age in the RecruitMonth and not 1 Jan)

ggplot(simFisheryWtatAgeSubannual %>% filter(Code=="NCO")) +
   geom_boxplot(aes(as.factor(fishMonth),value)) +
   facet_grid(~age)

wgtAtAgeFishery_cod

This can be corrected by relabelling ages considering RecruitMonth from simBiolPar for each species. However, I'm still puzzled on why wgt@age in the last timestep is still much higher than the wgt@age in the first time steps of fish several ages older. Has it to do with lost of weight during spawning or any other idea?

simFisheryWtatAgeSubannual %>%
   filter(Code=="NCO" & age %in% 13:16) %>%
   group_by(age,fishMonth) %>%
   summarise(md=median(value))

     age fishMonth     md
   <dbl>     <dbl>  <dbl>
...
 5    13        12 13839. <---
 6    14         3 12007.
 7    14         5 12948.
 8    14         8 12828.
...
11    15         3 12773.
12    15         5 13766.
13    15         8 13623.
...
16    16         3 13521.
17    16         5 14514.
18    16         8 14428.