jxnb / pcrnn-wtg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Physics-Constrained Recurrent Neural Networks for Predictive Maintenance of Wind Turbine Components

PyTorch implementation of the paper:

J. Exenberger, M. Di Salvo, T. Hirsch, F. Wotawa, G. Schweiger. Generalizable Temperature Nowcasting with Physics-Constrained RNNs for Predictive Maintenance of Wind Turbine Components, ICLR Tackling Climate Change with Machine Learning Workshop 2024.

Data

The dataset used in the paper is available upon request to the authors - please see the paper for contact information.

If you want to use the code with your own wind turbine data, make sure to prepare it the following way to make it directly work with the code:

  • Necessary features:
    P: Active Power - scaled to interval [0,1]
    Tamb: Ambient Temperature - scaled to interval [0,1]
    ω: Rotor Speed - scaled to interval [0,1]
    Tb: Gearbox Bearing Temperature - Kelvin

  • Column Order:
    time t | P (t) | Tamb (t) | ω (t) | Tb (t)

  • The code assumes the following dataset directory structure for single or multiple datasets:

+-- dataset_A
|    +-- turbineA_1.csv
|    +-- turbineA_2.csv
|    .
|    .
|    .
|    +-- turbineA_n.csv
+-- dataset_B
|    +-- turbineB_1.csv
|    +-- turbineB_2.csv
|    .
|    .
|    .
|    +-- turbineB_n.csv
  • Dataset dictionary:
    Provide a python dictionary stored as .json file with the names of the dataset directories as keys and the turbine ids as values.
    Check ./data/wtg_plants_turbines.json for reference.

Reproducibility

All results from the experiments runs for the publication are located in paper_results/ and follow this structure:

+-- {Train Plant Name}
|    +-- {Train ID}
     |    +-- experiment_log.json
     |    +-- experiment_parameters.json
     |    +-- results_generalization.csv
     |    +-- results_test_set.csv
     |    +-- seeds.json

The files include the test errors for all models as well as all experiment information. The script reproduce_paper_results.py can directly be used to rerun the experiments with the same random seeds.

Figures and tables from the paper can be reproduced using paper_figures.ipynb

About


Languages

Language:Python 78.0%Language:Jupyter Notebook 22.0%