burleyson-etal_2025_ldrd

Meta repository for data and code associated with the Burleyson et al. 2025 submission to TBD.

https://github.com/cdburley/burleyson-etal_2025_ldrd

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Meta repository for data and code associated with the Burleyson et al. 2025 submission to TBD.

Basic Info
  • Host: GitHub
  • Owner: cdburley
  • License: bsd-2-clause
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 187 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

burleyson-etal2025ldrd

Workflow

Use the following notebooks to rerun the analysis and reproduce the main and supplementary figures. The analysis is currently configured to run for eight Balancing Authorities (AZPS, BPAT, CISO, ERCO, FPL, ISNE, PJM, and SWPP) in the CONUS. The specific BAs the analysis uses are controlled in the balancing_authority_modeled.yml file in the /data directory. The underlying machine learning models rely on functions within the Total ELectricity Loads (TELL) python package. Before running any of the scripts below you should install TELL using pip install tell.

| Notebook Order | Script Name | Description | |:--------------:|:--------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:| | 1 | plotbaserviceterritory.ipynb | Plots the service territory of the BAs used in this analysis. | | 2 | plotbaloadweathertimeseries.ipynb | Plots the raw time series of the load, weather, and population data for each BA. | | 3 | trainandrunmlpmodels.ipynb | Iteratively trains the TELL MLP models using evolving time windows and uses the models to project loads forward in time. | | 4 | calculateerrorstatistics.ipynb | Calculates the error statistics for each of the trained models. | | 5 | plotbaerror_evolution.ipynb | Plots the evolution of errors by BA for each of the trained models. |

Proposed next steps

  • Replicate the initial analysis by confirming that you can run all the notebooks listed above.
  • Retrain the MLP models to include total population in the BA as a predictive variable. There are two potential ways to do this: 1) You should be able to do this by adding "Population" to the x_variables parameter list (e.g., xvariables = ["Hour", "Month", "Temperature", "SpecificHumidity", "WindSpeed", "LongwaveRadiation", "ShortwaveRadiation", "Population"]) when calling the tell.train function in the `trainandrunmlp_models.ipynb` notebook. 2) Adding a linear model after the MLP model the regresses the population variable against the residual from the original MLP prediction. Aowabin might have some code to help with this.
  • Try to explain why the prediction error grows over time and why it grows faster in some BAs (e.g., ERCOT) and slower in others (e.g., PJM): 1) Explore the errors as a function of population (related to the suggestion above). 2) Explore the errors as a function of the mean diurnal cycle of demand by season. I'm thinking of a plot where you show error as a function of time-of-day (x-axis) with different colors for the different meteorological seasons (DJF, MAM, JJA, SON). 3) Explore the rate of growth of the errors during times of high load (e.g., error during the top X% of loads each year).

Owner

  • Name: Casey D. Burleyson
  • Login: cdburley
  • Kind: user
  • Location: Richland, WA
  • Company: Pacific Northwest National Laboratory

Saving the world one bad script at a time.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Vernon"
    given-names: "Chris R."
    orcid: "https://orcid.org/0000-0002-3406-6214"
  - family-names: "Rexer"
    given-names: "Em"
    orcid: "https://orcid.org/0000-0002-0327-183X"
title: "metarepo: A single point of access meta-repository that guides others in how to reproduce an experiment."
repository-code: "https://github.com/IMMM-SFA/metarepo"
doi: 10.5281/zenodo.10442485
url: https://github.com/IMMM-SFA/metarepo

GitHub Events

Total
  • Member event: 1
  • Push event: 22
  • Public event: 1
Last Year
  • Member event: 1
  • Push event: 22
  • Public event: 1