-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New architecture discussions #10
Comments
I'm not 100% sure of benefit vs cost of having two classes. It seems reasonable. I'm not sure about what you mean by the in development status - i don't see a massive difference between an "in development" SUT and a balanced one. I would just see these as two instances of the same class? I think we should make the methods more flexible though, so that e.g. there is more generic switching between coeffs and flows, and that constructs can be applied to any table that fits requirements, not be specified for Use at a minimum. One other thought would be whether to define the class irrespective of whether it is in flows or coefficients? i.e. instead of having the class define both, we just use different instances for coeffs and flows. I guess there would have to be some restrictions on methods that could be applied to instances of coeffs, but a lot are common. I often get stuck about what is best in terms of handling value added and final demand as well - whether it is best to have them as part of Use or as separate variables - it can be more efficient handling them as one variable, but also sometimes only the intermediate part is needed - so a clean back and forth there would also be good!? I'm also not sure of the best organisation of functions, etc. But I see the SUT as a quite generic data container with some quite basic functionality. I see the application of constructs and the generation or MRSUTs as a more specific application that we should be able to apply to SUTs, but are one of many things to do with them. |
i don't see a massive difference between an "in development" SUT and a balanced one: instead of having the class define both, we just use different instances for coeffs and flows: agree, + something like normalise or make_flows to convert from one to the other terms of handling value added and final demand as well. I tend toward separate variable, but having a function which returns a "complete" use table (a dynamic variable which builds the full use - property of the class in python) I see the application of constructs: agree with the data container (in particular for gathering data to get a full SUT). But then, the main purpose was the application of construct (on SUT or MRSUT) to finally get to an IO. Are there things I miss which we should consider already now? |
all sounds good for first 3 points above. for the applications (beyond constructs):
|
My initial plan is to provide two pysut classes.
I believe that is the cleanest solution. A single SUT class would get quite complicated and convoluted with functions most "SUT Users" dont need. One of the methods in the SUTdev would be to collapse to SUT to avoid any code duplications.
Feedback very welcome.
The text was updated successfully, but these errors were encountered: