allanhicks / ss3sim_hake

Files for creating hake OM in ss3sim and investigating assessment
1 stars 0 forks source link

Updates to the OM #2

Open colemonnahan opened 10 years ago

colemonnahan commented 10 years ago

A few thoughts from my first round of testing. I just had a quick look so feel free to reject any of these suggestions if they don't make sense.

Control file (1) We should set the years of the model to be 1-100. (I'm going to change the other models to be like this too) (2) What do the advanced recruitment options do in an OM? I would guess we want to turn those off. (3) We might want to up the max F, in case we have a scenario with F larger than what it is now we might not notice that it is being truncated (I assume that is what SS does) (4) We probably want to have parametric selectivity so that it's more general and we can add time-varying process to those parameters. I believe the other models have asymptotic but that is something we should discuss further. (5) It looks like the lambda for the age comps is not 1, we should probably set it at that for clarity, although obviously it doesn't matter for the OM.

Data file (1) Again, set the years. (2) Delete the months? Per on conversation and Ian's recommendation. (3) Change so catches and indices match new years (we need expected values for all years available to our sampling functions). (4) Verify that the length bins cover the entire plausible range of the length distribution. Again, we need lots of information in the expected values for sampling functions. We might want to set all models to have a finer resolution (1cm?) since we're examining binning strategies. (5) Add length observations for all years. This contribution can be turned off if desired, but should be available for the other groups. (6) Turn aging error off. Not sure what exactly that does in the context of an OM, but probably more clear if it's off. We'll be adding aging error to the EM this time around. (7) Add age comps for each year and fleet.

cstawitz commented 10 years ago

Thanks Cole. Is the next step to assign these out to people? I agree with all of the suggestions that I understand, though I'm not exactly clear on how to implement them.

On Fri, Jul 11, 2014 at 9:40 AM, Cole Monnahan notifications@github.com wrote:

A few thoughts from my first round of testing. I just had a quick look so feel free to reject any of these suggestions if they don't make sense.

Control file (1) We should set the years of the model to be 1-100. (I'm going to change the other models to be like this too) (2) What do the advanced recruitment options do in an OM? I would guess we want to turn those off. (3) We might want to up the max F, in case we have a scenario with F larger than what it is now we might not notice that it is being truncated (I assume that is what SS does) (4) We probably want to have parametric selectivity so that it's more general and we can add time-varying process to those parameters. I believe the other models have asymptotic but that is something we should discuss further. (5) It looks like the lambda for the age comps is not 1, we should probably set it at that for clarity, although obviously it doesn't matter for the OM.

Data file (1) Again, set the years. (2) Delete the months? Per on conversation and Ian's recommendation. (3) Change so catches and indices match new years (we need expected values for all years available to our sampling functions). (4) Verify that the length bins cover the entire plausible range of the length distribution. Again, we need lots of information in the expected values for sampling functions. We might want to set all models to have a finer resolution (1cm?) since we're examining binning strategies. (5) Add length observations for all years. This contribution can be turned off if desired, but should be available for the other groups. (6) Turn aging error off. Not sure what exactly that does in the context of an OM, but probably more clear if it's off. We'll be adding aging error to the EM this time around. (7) Add age comps for each year and fleet.

— Reply to this email directly or view it on GitHub https://github.com/allanhicks/ss3sim_hake/issues/2.

colemonnahan commented 10 years ago

I think the next steps are for Allan to verify these make sense, and then we can break them up.

Remember that SS3 makes the *.ss_new files as echos of the inputs, and generates expected values in the output dat file, and these are the files that ss3sim uses to construct the EM. That's why, for instance, we can put 'dummy' data into the .dat file (see all the 1's). The main strategy is to modify the input files so that the ss_new files have the structure/content we want, while the model still runs correctly.

Here's a good tip: Say you're working on the hakeOM.ctl file to change something (like the years), open the codOM.ctl file and compare the two side by side. That should help guide you.

allanhicks commented 9 years ago

I think that these are all really good suggestions, and they are separate enough that Peter, Merril, and Christine can tackle each one (separately or jointly). Here are my suggestions and thoughts.

Control File:

  1. Years are set up in the dat file, but affect everything else. Is 100 years our standard?
  2. Easy to turn off, but make sure the main period is set up correctly
  3. Not sure what value to use, but is an F of 4 reasonable?
  4. Add double normal for age, option 20, but asymptotic
  5. Yes, set these to 1, but we should think about sample sizes in dat file, if that is important.

Dat file

  1. At the top, but check everything else
  2. The number of months needs to be 12, since there is only 1 season.
  3. Fun!
  4. The resolution is a good conversation for the big group.
  5. More Fun!
  6. We should discuss how the data are generated and if ageing error is included. For now, leave in one ageing error matrix, without any adjustment to the standard errors. This should be the first matrix setup.
  7. Even more Fun!

A couple of other things

  1. We should discuss how growth will be parameterized and keep it consistent (or not?) with other OM's.
  2. Do we want age-based selectivity or length-based selectivity, or a combination of the two. We can discuss the fishery when we meet next.
  3. We should make sure to test the ramifications of having a large sigma_R. I have seen this wreak havoc to simulation models.
iantaylor-NOAA commented 9 years ago

I'm not sure if this would make Cole's data file suggestions related to renumbering years (#3, 5, and 7) less fun or more fun, but folks tackling those might consider working with the r4ss functions SS_readdat and SS_writedat which might help you be more consistent than doing this in Excel or a text editor.

hakedat <- SS_readdat("hakeOM.dat")               # read data file
hakedat2 <- hakedat                               # create duplicate list in which to make changes
hakedat2$agecomp$Yr <- hakedat$agecomp$Yr + shift # where shift is number of years to change
SS_writedat(hakedat2, "hakeOM_test.dat")          # write modified data file

On the point about ageing error. The expected age comp values in data.ss_new represent proportions of observed ages, not true ages. It's possible that generating overdispersed age data using change_agecomp will mimic the influence of ageing error, but I suspect that's something that the group should discuss as Allan suggested.

colemonnahan commented 9 years ago

Hi Ian, we use those functions internally in the sampling functions. But in this case I don't know if they'd be that helpful. We just need to copy dummy data in (from the cod model would be a good place to start). I think if we copy it we shouldn't have to shift the years.

Ideally I think the years of the OM/EM would be a top level argument, so that the user could use the same OM regardless if they're doing a 25 yr or 125 yr simulation. At this point, it's a pretty low priority since we just set it up once. However, for tuning how long a simulation really needs to be this could be a useful feature. E.g. do need to run a 25 year burn-in if 15 would accomplish the same. I reported this issue already on the ss3sim repo:

https://github.com/ss3sim/ss3sim/issues/137