(Curtailment and Network Voltage Analysis Study)
Currently, this repository contains code for cleaning then analysing Solar Analytics data to estimate PV curtailment due to over voltage tripping. It requires 30s or 60s data from individual PV sites in the Solar Analytics format.
Executed in R for consistency with disturbances analysis of Solar Analytics data undertaken by Nick Gorman and Taru Veijalainen. See scripts:
- clean_for_curtail_analysis_NS.R
- data_cleaning_functions.R
- data_manipulation_functions.R
Executed in Python. Requires the output from step 1. Uses simple mathematical expressions and user-specified thresholds to identify periods of curtailment (near zero operation). Then draws a straight line between the start and end of the curtailment period and estimates the curtailed generation. See scripts:
- voltage_curtail.py
- util.py
Executed in python. Requires the output from step 2. Requires clear sky days to generate sensible outputs. Iteratively fits a polynomial to the PV profile to estimate clear sky output. Then estimates curtailed generation. Identifies cases where the straight line method may be preferable and flags these cases. However is not designed to handle a data set that includes non-clear sky days. See script:
- voltage_curtail_clear_sky_days.py
Executed in python. Requires the output from step 3. Plots various findings including some parts of the method (refer to paper). See scripts:
- voltage_curtail_combined_analyis.py
- util.py