aayushGaur / stac

Steady-State AC Network Visualization in the Browser - Developed at DATA61/Faculty of IT, Monash University - as a part of the summer research project.
http://immersive.erc.monash.edu.au/stac/
MIT License
16 stars 13 forks source link

Parser Robustness #2

Closed ccoffrin closed 8 years ago

ccoffrin commented 9 years ago

Some of files located here,

http://www.maths.ed.ac.uk/optenergy/LocalOpt/

cannot be parsed (e.g. see WB5). These instances have a mixture of tabs and spaces for separating values. most likely making the parser more robust will resolve this.

Reported by Dan Molzahn

aayushGaur commented 9 years ago

Updated the parser code and have done regression testing of the code changes (using all the previous input files and the new files).

Anomalies found during Regression testing:

Test case - case22loop.m (new input file):

In this test case the headings for the values are not present, for example the line containing the information about the attributes of bus data % bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin' is missing the file. Please advise if we should hard code the attriburte names as a fail-safe for such cases.

Test cases - IL43a.m and YW7a.m (both are old parser_tests files):

In both these files the information regarding generator cost data is not present due to which the parser fails when it tries to make the cost data object. Please advise if an additional null check should be added for the cost data so as to avoid the crash in the parser in such cases.

ccoffrin commented 9 years ago

Regarding case22loop. Yes, we should hard-code the attribute names.

Regarding the IL43a and YW7a cases. A sufficient solution - having a dialog box "parsing failed" A good solution - having a dialog box "parsing failed - missing generator cost data" A great solution - load the file and simply fill the missing data structures with values like "no data" or "n/a".

aayushGaur commented 8 years ago

Updated the parser to read the properties for the elements of the network such as bus, branch, transformer, load etc. are now read from the rules file. Also did regression testing with 10-15 network files.