If EIA data is used, data is scaled according to AEO data (now pulled from PUDL).
If EFS data is used, data is interpolated between the two closes EFS years
A Demand Formatter class is added which handles scaling and formatting data, regardless of sector.
The demand formatter will instantiate a DemandScaler object which handles logic for scaling specific data
While this is not the most efficient implementation (as, for example, EFS data has to get read in once during the reading/writing, and again for scaling), I beleive this is clearer and more maintainable for our current workload. But happy to discuss this point! :)
This PR also removes the option of selecting scaling method in the configuration file, as we should lock this to align data.
Checklist
[x] I tested my contribution locally and it seems to work fine.
[x] Code and workflow changes are sufficiently documented.
[x] Changed dependencies are added to envs/environment.yaml.
[x] Changes in configuration options are added in all of config.default.yaml.
[x] Changes in configuration options are also documented in doc/configtables/*.csv.
The first year must be an actual year of data to scale. For example, you cannot do a 2045 and 2050 EFS study, as 2045 demand data does not exist from EFS. You can do a 2040 and 2045 study, though.
EFS scaling can be improved to be by sector and region. Right now it is just linear interpolation for all data over the entire usa for the year
Scaling of sector loads will be fixed in issue #352
Closes #339 Closes #276
Changes proposed in this Pull Request
In this PR I add sacling to demand. Specifically;
While this is not the most efficient implementation (as, for example, EFS data has to get read in once during the reading/writing, and again for scaling), I beleive this is clearer and more maintainable for our current workload. But happy to discuss this point! :)
This PR also removes the option of selecting scaling method in the configuration file, as we should lock this to align data.
Checklist
envs/environment.yaml
.config.default.yaml
.doc/configtables/*.csv
.