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
the tranformer data category is fun in a few ways:
each entry is spread over multiple rows
records for two-winding and three-winding transformers are in the same data category, but there's a different number of data points for each. That is, how many rows and how many values per row are in the entry depends on whether it is for a 2-winding or for a 3-winding transformer. The data for 2-winding transformers is a subset of data for 3-winding transformers. The "extra" columns for the 3-winding transformers comes at the end of rows 2 and 4, and on the addition row 5. And entries for 2-winding transformers and 3-winding transformers can be interspersed (there's e.g. no requirement that all 2-winding data comes before 3-winding data).
The five row transformer data block for three-winding transformers has the following format:
The four row transformer data block for two-winding transformers is a subset of the data required for three-winding transformers and has the following format:
Point (1) is mostly a finickity implementation detail; basically we have to treat multiple rows as we'd usually treat an individual row in other categories, but handle those tricksy end-of-line comments potentially appearing in 4 or 5 places rather than just one.
But point (2) requires us to decide how we want to handle the different transformer types:
If PSS/E had put these in two separate categories, then we'd have no problem: we could create a dedicated structure for each, like we always do for the separate categories. So one option, is to act as if 2-winding and 3-winding transformers were in different categories, and parse them into two different types e.g. TwoWindingTransformers and ThreeWindingTransformers. This would mean the Julia representation of the data diverges from the file format's representation, which we might not want. More practically, it means users would have two tables network.two_winding_transformers and network.three_winding_transformers, were they might reasonably expect (given the file's strucutre) to have a single network.transformers table.
Alternatively, we could have a single Transformers type, which has all the columns for 3-winding data, but which has missing entries in columns not present for 2-winding transformers. In addition, we can have Tables.schema check at run-time whether we have any 3-winding data, and if not just return the columns required for the 2-winding transformers.
[aside: As far as I know (which is not saying much), 3-winding transformers are not always present (e.g. for certain US Grids, there can be realistic data which contains no 3-winding transformers), so initially ignoring this complexity and supporting only files with only 2-winding transformers might be an okay-ish short-term option. #11].
The text was updated successfully, but these errors were encountered:
the tranformer data category is fun in a few ways:
Point (1) is mostly a finickity implementation detail; basically we have to treat multiple rows as we'd usually treat an individual row in other categories, but handle those tricksy end-of-line comments potentially appearing in 4 or 5 places rather than just one.
But point (2) requires us to decide how we want to handle the different transformer types:
If PSS/E had put these in two separate categories, then we'd have no problem: we could create a dedicated structure for each, like we always do for the separate categories. So one option, is to act as if 2-winding and 3-winding transformers were in different categories, and parse them into two different types e.g.
TwoWindingTransformers
andThreeWindingTransformers
. This would mean the Julia representation of the data diverges from the file format's representation, which we might not want. More practically, it means users would have two tablesnetwork.two_winding_transformers
andnetwork.three_winding_transformers
, were they might reasonably expect (given the file's strucutre) to have a singlenetwork.transformers
table.Alternatively, we could have a single
Transformers
type, which has all the columns for 3-winding data, but which hasmissing
entries in columns not present for 2-winding transformers. In addition, we can haveTables.schema
check at run-time whether we have any 3-winding data, and if not just return the columns required for the 2-winding transformers.[aside: As far as I know (which is not saying much), 3-winding transformers are not always present (e.g. for certain US Grids, there can be realistic data which contains no 3-winding transformers), so initially ignoring this complexity and supporting only files with only 2-winding transformers might be an okay-ish short-term option. #11].
The text was updated successfully, but these errors were encountered: