NatLabRockies / NatLabRockies/OpenStudio
Support ExternalFile (CSV) in TableLookup / TableIndependentVariable
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 646
- Forks
- 237
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 10
Description
Enhancement Request
E+ has capabilities to point these objects to a CSV file, but OS SDK doesn't have it implemented.
We've added the fields but they are just reserved for potential future implementation at the moment. There is no getter/setter for it, nor a constructor that accepts an ExternalFile, and that's because we didn't add this capability when we replaced Table:MultiVariableLookup with Table:Lookup / Table:IndependentVariable (which didn't have the ExternalFile option) in https://github.com/NREL/OpenStudio/pull/4652.
Detailed Description
Originally reported by @Ski90Moo at https://github.com/NREL/OpenStudio/issues/5067
Table:IndependentVariable: https://bigladdersoftware.com/epx/docs/23-2/input-output-reference/group-performance-tables.html#field-external-file-name-1
Both have these fields:
[...]
, !- External File Name
, !- External File Column Number
, !- External File Starting Row Number
[...]
## Possible Implementation
Constructor that takes ExternalFile. Getters/Setters for Column Number, Start Row number.
Unclear how we enforce correspondance of ExternalFile between Table:Lookup and Table:IndependentVariable(s).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the TableLookup and TableIndependentVariable implementations and the existing ExternalFile API, then compare their current fields with the EnergyPlus external-file fields described here. Add the ExternalFile constructor and column/start-row getters and setters, and resolve how shared ExternalFile correspondence should be enforced before validating the resulting SDK behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100