Skip to content

Calculation of geomagnetically induced currents in the Dutch powergrid

License

Notifications You must be signed in to change notification settings

outfrenk/Dutch_GIC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GIC

Calculation of geomagnetically induced currents in the Dutch powergrid. Details about the calculations can be found inside the code. The 'ods' and 'csv' files in the network folder contain the information about the Dutch (+German/Belgian) powergrid.

Install

  1. Clone the git repository

    > git clone https://github.com/outfrenk/Dutch_GIC
  2. Go to the (new) Dutch_GIC directory

    > cd Dutch_GIC
  3. Install the package

    > pip install .

Data

The raw data used during research can also be found in the data folder

Example

An example of how to run the code (dutchgic.py) can be found in the 'usage class GIC' jupyter notebook or for a complete jupyter notebook in 'Class_GIC_notebook.ipynb' in the notebooks folder. The logbook.log in the logbook folder contains details about running the code.

  • To import the code, use the command:

    > from Dutch_GIC.dutchgic import GIC

Testing

You can test the code using pytest as well.

  1. However, change the string in test_code.py in the tests folder (in function test_init()) to the location where you store your csv files (spreadsheetcables.csv and spreadsheettrafo.csv) before running.

  2. Then run

    > pytest

Dependencies external

This class depends on a couple of packages:

Dependencies internal

The functions all have a dependency on each other; some can be run alone, others need to be run with the function who called them. These dependent functions are indicated by @. If the function only push data towards a subfunction → is used. When a function pushes data towards a subfunction, but this subfunction pushes data back as well ↔ is used.

If we would run the function runall(), it would run the following functions:

  1. standard_download()

    a.→ download_data()

    b.↔ find_quiet_data()

  2. iteratestation()

    a.→ newplotspace()

  3. magnetic_interpolation()

    a. →magnetic_time()@

    aa.↔ mag_interpolate()@ NEEDS pySECS package here!

  4. BtoE()

    a.↔ check_sampling()

    b.↔ Parzen()

    c.↔ filt()

    d.↔ transferfunction()

    e.→ writing_electric()@

  5. calculate_GIC()

    a.↔ check_sampling()

    b.→ GICfunction()@

    ba.↔ ObtainJ()@ ↔ calcE()@

  6. plot_GIC()

    a.↔ check_sampling()

  7. make_video()

GIC_index()

There is also a GIC_index function (developed by Marshall et al., 2011). This function needs magnetic values from magnetic_interpolation() to work. It uses check_sampling() in the process.

Questions about the code?

You can send me a message to my emailadress

About

Calculation of geomagnetically induced currents in the Dutch powergrid

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published