lkerr / groundfish-MSE

Development of Robust Management Strategies for Northeast Groundfish Fisheries in a Changing Climate
MIT License
4 stars 2 forks source link

haddockGB SSB is underestimated? #242

Closed mle2718 closed 2 years ago

mle2718 commented 2 years ago

I'm getting unrealistic biomasses for haddockGB

load("omvalGlobal2022-08-24_221352_7888.Rdata") #see the google drive link
omvalGlobal$haddockGB$SSB[,,165:175]

mproc1 is a standard fisheries model, mproc2 is an economic model.

The haddockGB SSB is in the ballpark of a few hundred mt. In the most recent stock assessment, it's 100,000 to 900,000mt. So I'm off by 4 orders of magnitude. It's just 2 replicates.

https://drive.google.com/file/d/151E1560AdF3xvWepouP8n0bre7PHR-T1/view?usp=sharing 2019_HAD_GB_RPT.pdf

lkerr commented 2 years ago

OK, we will dig into this. We have run this model and emulated the current high biomass of haddock so this is not normal.

mle2718 commented 2 years ago

@lkerr : I will try running lots of replicates, I could certainly just have had a couple bad draws.

mle2718 commented 2 years ago

This is the summary for 50 replicates for SSB and R summary(omvalGlobal$haddockGB$SSB[,,169]) # year==2019

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  34.86  128.92  275.80  314.19  439.00  965.96 fmyear

summary(omvalGlobal$haddockGB$R[,,165])

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  40912   59695  137028  575227 1204932 2215949 

I looked at a compare between EconOnly2 and Dev: https://github.com/lkerr/groundfish-MSE/compare/EconOnly2..Dev

Here's two code differences that might be causing our results to differ:

  1. The histAssess option in set_om_parameters_global.R . EconOnly2 is set to FALSE. I can't set it to TRUE and run the yellowtailflounderGB model yet. I am running some simulations now to test this -- but it does seem like the most likely candidate.

  2. get_ASAP.R. EconOnly2 uses a native linux ASAP executable, Dev uses WINE. It's possible that I'm not passing the right arguements in this function. I don't think this is happening though.

There is also a slight difference in codGB_Discard.csv, but this feels quite unlikely to be the problem (with haddockGB).

mle2718 commented 2 years ago

when I run with histAssess==TRUE:

 nyear164 nyear165 nyear166 nyear167 nyear168 nyear169
rep1  104403.4 95317.26 96545.83 104387.7 121039.9 120253.9

This is pretty close to the actual SSB for 2014, but becomes increasingly different from the SSB in the 2019 assessment.
Is this accurate enough? I don't really know enough to say.

If it is accurate enough, the only thing I need is the yellowtail 'histAssess' data and I think I can run the model.

jerellejesse commented 2 years ago

I looked into comparing the haddock parameters that it looks like Mackenzie was using versus the ones in the dev branch to try to figure out if the stock parameters got messed up and it caused haddock SSB underestimation. I found a few slight differences we could try updating:

mle2718 commented 2 years ago

@jerellejesse thanks for looking into this. I will run a few simulations over the weekend and take a look. I don't think those small changes would have an effect. one thing i will make sure to do is just run the haddockGB by itself on the off chance that the assessVals issue is causing some problems.

mle2718 commented 2 years ago

omvalGlobal$haddockGB$R[,1,160:170] shows that the model match the 2019 haddock assessment update from 2011-2018. I'm assuming they also match for previous years, but the 2019 update only has 2011-2018. The units in omvalGlobal$haddockGB$R[,1,160:170] are just individuals.

However, omvalGlobal$haddockGB$SSB[,1,160:170] shows biomass in the 57-1,000mt range. I'm actually not too confident in the units here, but I don't see anything that makes me think it's suppsosed to be differently scaled than everything else.

mle2718 commented 2 years ago

I looked into comparing the haddock parameters that it looks like Mackenzie was using versus the ones in the dev branch to try to figure out if the stock parameters got messed up and it caused haddock SSB underestimation. I found a few slight differences we could try updating:

* Initial numbers at age parameters: line 33 haddockGB.R

1. N0= 1e5 in dev and 1e4 in Mackenzie's

2. F_full is 0.99 in dev and 1.1 in Mackenzie's

* observation error levels: line 97 haddockGB.R

1. oe_sumCW is 0.01 in dev and 0.05 in Mackenzie's

2. oe_sumIN is 0.02 in dev and 0.2 in Mackenzie's

Maybe F_Full=0.99 or 1.1 makes sense. I looked at the parameters for the four other stocks and they are all initialized to F_Full=0.05 That change was made here:

https://github.com/lkerr/groundfish-MSE/commit/066a04cee90188d92e794af2a00d217f6c38a2f5

mle2718 commented 2 years ago

I'm suspecting that our weights-at-age units are off.

https://github.com/lkerr/groundfish-MSE/blob/ea59c71d82db906bd7f280c4390809ba0b5c8c86/modelParameters/stockParameters/haddockGB.R#L15-L18

See: https://github.com/lkerr/groundfish-MSE/issues/128 -- the units of waa for other stock are in metric tons (1000s). I'm correct, I actually can't figure out if this fixes our problem or makes in 3 orders of magnitude worse.

mle2718 commented 2 years ago

pretty sure this is happening partially because I ran the model with histAssess==FALSE.

edit: perhaps not!

mle2718 commented 2 years ago

@jerellejesse here's a subset results of a haddockGB simulation. I'm not 100% sure what is going on, so I saved SSB, N, R, and F_full (averaged over just 5 model runs). I'm still not quite sure what's going on, beyond the fact that the scaling is wrong.

haddockGB.csv

jerellejesse commented 2 years ago

Okay, figured it out. When recruitment is reported in tables they usually say the number (in 000s). Whenever the historical assessment info was pulled they just forgot to account for the 000s.

jerellejesse commented 2 years ago

@mle2718 I pushed the new data to the dev branch.

mle2718 commented 2 years ago

Excellent. I've merged it into EconOnly2 (very thankful that I've been frequently pulling Dev into EconOnly2) and we'll see how the single stock haddockGB works.

mle2718 commented 2 years ago

@jerellejesse, @lkerr: Success!!!!

haddockGB_MPMeanTraj