{"action":"created","issue":{"url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/issues/425","labels_url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/issues/425/labels{/name}","comments_url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/issues/425/comments","events_url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/issues/425/events","html_url":"https://github.com/open-source-economics/Tax-Calculator/issues/425","id":114077714,"number":425,"title":"calculator should produce sensible results with any subset of input variables","user":{"login":"MattHJensen","id":8301092,"avatar_url":"https://avatars.githubusercontent.com/u/8301092?v=3","gravatar_id":"","url":"https://api.github.com/users/MattHJensen","html_url":"https://github.com/MattHJensen","followers_url":"https://api.github.com/users/MattHJensen/followers","following_url":"https://api.github.com/users/MattHJensen/following{/other_user}","gists_url":"https://api.github.com/users/MattHJensen/gists{/gist_id}","starred_url":"https://api.github.com/users/MattHJensen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MattHJensen/subscriptions","organizations_url":"https://api.github.com/users/MattHJensen/orgs","repos_url":"https://api.github.com/users/MattHJensen/repos","events_url":"https://api.github.com/users/MattHJensen/events{/privacy}","received_events_url":"https://api.github.com/users/MattHJensen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-10-29T15:38:26Z","updated_at":"2015-12-16T19:05:38Z","closed_at":null,"body":"The calculator should be able to produce sensible results with any subset of input variables, especially when the extrapolation is turned off. Variables that are missing should assumed to be zeros. (Sometimes an entire grouping of variables may need to be assumed to be zero if any one of the variables in the grouping is missing). \r\n \r\nI believe satisfying this requirement will require the following changes to both the `Records` class and to `functions.py`: in `Records`, arrays of zeros will need to be created based on the presence of the variable in the data rather than based on whether the variable is listed in `ZEROED_NAMES`. In `functions.py`, logic will need to be controlled by the presence of variables (or presence of all variables in a groups of variables) rather than by the value of `puf` or `cmp`. \r\n\r\ncc @martinholmer, @feenberg, @talumbau, @Amy-Xu "},"comment":{"url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/issues/comments/165213653","html_url":"https://github.com/open-source-economics/Tax-Calculator/issues/425#issuecomment-165213653","issue_url":"https://api.github.com/repos/open-source-economics/Tax-Calculator/issues/425","id":165213653,"user":{"login":"GoFroggyRun","id":13324931,"avatar_url":"https://avatars.githubusercontent.com/u/13324931?v=3","gravatar_id":"","url":"https://api.github.com/users/GoFroggyRun","html_url":"https://github.com/GoFroggyRun","followers_url":"https://api.github.com/users/GoFroggyRun/followers","following_url":"https://api.github.com/users/GoFroggyRun/following{/other_user}","gists_url":"https://api.github.com/users/GoFroggyRun/gists{/gist_id}","starred_url":"https://api.github.com/users/GoFroggyRun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoFroggyRun/subscriptions","organizations_url":"https://api.github.com/users/GoFroggyRun/orgs","repos_url":"https://api.github.com/users/GoFroggyRun/repos","events_url":"https://api.github.com/users/GoFroggyRun/events{/privacy}","received_events_url":"https://api.github.com/users/GoFroggyRun/received_events","type":"User","site_admin":false},"created_at":"2015-12-16T19:05:38Z","updated_at":"2015-12-16T19:05:38Z","body":"@feenberg :\r\nI think the major issue to allow variables like `c00100` in the input file here will be that whether we should recalculate `c00100`, or skip the recalculation and carry on the inputed `c00100`. \r\nIf we recalculate the `c00100`, then allowing it to be in the input file seems null to me. Or we can choose to carry on the inputed `c00100` without any recalculation, but then it would be troublesome: we need to avoid the recalculation, possibly by not calling the function where `c00100` will be (re)calculated. If this is the case, we might miss something else at the same time as well. (`c00100` might be easier to deal with, but in general it's problematic I imagine)\r\nIf we would like to, however, do some comparisons based on our calculated results and those inputed results (if two files share some same variable names), this shouldn't be too hard to achieve: we can put those non-valid inputs aside and have the difference outputted (if any) after the calculation is done at our end. Does this approach address part of your concerns? \r\n\r\ncc @martinholmer @MattHJensen "}}