You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do we need to check that the variable is really used in the model, I mean in a strict sense: changing the value of variable leads to changing of the output?
I suppose not, because it sounds too unrealistic to detect that, am I right?
So, If we only need to detect that the model class somehow touch the variable, then the problem looks not so difficult: we can
store an additional flag for every variable name in var_context,
fill this flag on every call var_context.vals_r(name) or var_context.vals_i(name) for particular variable name,
print the warning if some flag is not filled. (Check it in the desctructor of var_context, possibly).
@Doykov --- you're right that it's impossible to check if a variable is really used.
What we want to flag is any variable with a definition in the input file (and in the interfaces in the dictionary, list whatever) is declared as a data variable in the program.
What you're suggesting is the only way I can see to implement it.
This isn't such a high priority issue as we plan to swap out the R dump format in the near future for either JSON or protocol buffers. And most of our users use R or Python anyway. But if you want to tackle it, it'll be useful for at least another year or two!
@bob-carpenter I suggested this issue because @Doykov did a GSoC proposal for the protobuf project and part of that is working with var contexts. I agree this isn't a very high priority issue but it's a good excuse for him to muck around in the var_context code.
Summary:
Add a warning for data variables included in a data file that are not used in the model.
Current Version:
v2.14.0
The text was updated successfully, but these errors were encountered: