turn off extra switches when Do_More_Std == 1#713
Conversation
Rick-Methot-NOAA
left a comment
There was a problem hiding this comment.
alternatively:
remove the line 5589 so everything gets null value before getting to line 5608.
|
We may have to try that since the r4ss model retrospectives stopped here in the echoinput file with Ian's changes |
|
the code to do retrospectives is not smart enough to know to turn off request for se of output that no longer exists when a year disappears due to the retrospective peel. Adding that extra intelligence to the code might be more than trivial. |
- suggestion from #713 (review)
|
@Rick-Methot-NOAA, thanks for looking this over. I just pushed the change to line 5589 as you suggested. |
|
I got i fixed but in looking at code I see that some quantities, like natage_std_yr are reported for endyr. This is ok even in retro because SS3 goes through all years in retro. But we could consider whether to provide that se output for retro_yr, rather than endyr |
|
I will report back with the r4ss testing on the retro with simple_small when that test finishes running. |
|
echoinput.txt |
|
echo should be showing mgparm_type for each parm at that stage of the file
read. I'll investigate as it could be another unitialized variable probably in this section of code:
if (recr_dist_method < 4) mgp_type(Ip, MGP_CGD - 1) = 4; // recruit apportionments
mgp_type(MGP_CGD) = 2; // cohort growth dev
if (do_migration > 0) mgp_type(MGP_CGD + 1, N_MGparm) = 5; // note that it fills until end of MGparm list, but some get overwritten
if (N_platoon > 1 && sd_ratio_rd < 0) mgp_type(sd_ratio_param_ptr) = 2;
if (Use_AgeKeyZero > 0) mgp_type(AgeKeyParm, N_MGparm) = 6;
if (catch_mult_pointer > 0) mgp_type(catch_mult_pointer, N_MGparm) = 7;
for (f = frac_female_pointer; f <= frac_female_pointer + N_GP - 1; f++) mgp_type(f) = 4;
if (N_pred > 0) mgp_type(predparm_pointer(1), predparm_pointer(1) + N_predparms - 1) = 1;
echoinput << "mgparm_type for each parm:"<<endl;
|
- suggestion from #713 (review)
Concisely describe what has been changed/addressed in the pull request.
@e-perl-NOAA figured out that the Mac runner for r4ss GitHub actions were failing while Windows and Linux were passing. She was able to export the echoinput which ended with
do SmryBio std labels. However, I noticed that this line should only occur if the# extra stdev reportingwas 2 but in this model it was 1. Digging into the SS3 source code revealed that some switches were never set for the case where Do_More_Std == 1, and apparently the Mac filled in the missing value differently than the other operating systems.What tests have been done?
Where are the relevant files?
@e-perl-NOAA checked this build from this branch to confirm that it resolved the issue.
What tests/review still need to be done?
None.
Is there an input change for users to Stock Synthesis?
[x] No, there was no input change.