1 Introduction

Looking for load control data

2 Inquiry into ‘new’ technologies

Data source: https://comcom.govt.nz/regulated-industries/electricity-lines/electricity-distributor-performance-and-data/impact-of-emerging-technologies-in-monopoly-parts-of-electricity-sector

## Warning in read_fun(path = enc2native(normalizePath(path)), sheet_i = sheet, :
## Expecting logical in H15542 / R15542C8: got 'Orion has invested in large
## distributed generation for the sole purpose of providing reliability and
## resilience to our customers and community trough provision of an alternative
## delivery of electricity during planned and unplanned outages. Our context as
## a business is that our customers value a reliable supply of electricity. In
## addition our region relies heavily on electricity as the main form of heating
## for households due to clean air requirements. Following the earthquakes of 2010
## and 2011, Orion invested in a number of generators to improve our ability to
## service customers during unplanned and planned outages. Our generators have been
## chosen as mobile generation so that they are easily connected to the network
## at various locations and can operate for an infinite amount of time (subject
## to refuelling). We have no plans at this stage to invest in further generators,
## other than for the purpose of maintaining, improving or replacing our [...
## truncated]
## New names:
## * `` -> ...8
## [1] "EDB"         "Year"        "Sheet name"  "Category"    "Description"
## [6] "Unit"        "Value"       "...8"

Check who may not have returned specific data items under ripple/other load control…

## Any NA data?
## Warning in eval(jsub, SDenv, parent.frame()): NAs introduced by coercion

So some EDBs returned unknown to both in 2014 (Electricity Invercargill, OtagoNet, The Power Company), Vector returned unknown to ripple control capacity in all years but must have reported numbers.

2.1 Numbers of ICPs

Cross-check against 2.2 for potentially missing EDBs.

Figure 2.1 shows declared number of ICPs with load control over time.

## Warning in `[.data.table`(rc_dt, Description == "Estimated number of ICPs with
## ripple control" | : NAs introduced by coercion
## Warning in `[.data.table`(rc_dt, Description == "Estimated number of ICPs with
## ripple control" | : NAs introduced by coercion
## Warning in `[.data.table`(rc_dt, Description == "Estimated number of ICPs with
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Estimated number of ICPs with
## ripple control" | : NAs introduced by coercion
Declared number ICPs with load control over time

Figure 2.1: Declared number ICPs with load control over time

Attempt to plotly the plot for interaction - try hovering:

But check values - are they ‘clumped’? Or do they look realistic? Some of those look suspiciously flat…

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Numbers do look a bit ‘heaped’…

2.2 Capacity

Cross-check against 2.2 for potentially missing EDBs.

i.e. Vector in all years

Figure 2.2 shows load control capacity over time (MW).

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion
## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion
## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion

## Warning in `[.data.table`(rc_dt, Description == "Load control capacity from
## ripple control" | : NAs introduced by coercion
Declared load control capacity over time (MW)

Figure 2.2: Declared load control capacity over time (MW)

Attempt to plotly the plot for interaction - try hovering:

But check capacity values - are they ‘clumped’? Or do they look realistic? Some of those look suspiciously flat…

Does look a bit like there is clumping/heaping - so some of the values for ripple control may be ‘estimated & rounded’ rather than calculated from base data.

3 Lines companies performance data

Data Source: https://comcom.govt.nz/regulated-industries/electricity-lines/electricity-distributor-performance-and-data/information-disclosed-by-electricity-distributors

Loading takes time - large .xlsm file…

skip this section for now

Search for ‘load’ / ‘Load’ - maybe this didn’t work too well.

Anything there?

Search for ‘control’

Anything there?

4 R environment

Report generated in 6.55 seconds ( 0.11 minutes) using knitr in RStudio with R version 4.0.2 (2020-06-22) running on x86_64-apple-darwin17.0.

4.1 R packages used

  • base R (R Core Team 2016)
  • bookdown (Xie 2016a)
  • data.table (Dowle et al. 2015)
  • flextable (???)
  • ggplot2 (Wickham 2009)
  • knitr (Xie 2016b)
  • rmarkdown (Allaire et al. 2018)

4.2 Session info

## R version 4.0.2 (2020-06-22)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS  10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] readxl_1.3.1      plotly_4.9.4      ggplot2_3.3.4     flextable_0.6.6  
## [5] data.table_1.14.0
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.1.1  xfun_0.24         bslib_0.2.5.1     purrr_0.3.4      
##  [5] colorspace_2.0-1  vctrs_0.3.8       generics_0.1.0    htmltools_0.5.1.1
##  [9] viridisLite_0.4.0 yaml_2.2.1        base64enc_0.1-3   utf8_1.2.1       
## [13] rlang_0.4.11      jquerylib_0.1.4   pillar_1.6.1      glue_1.4.2       
## [17] withr_2.4.2       DBI_1.1.1         gdtools_0.2.3     uuid_0.1-4       
## [21] lifecycle_1.0.0   stringr_1.4.0     munsell_0.5.0     gtable_0.3.0     
## [25] cellranger_1.1.0  zip_2.2.0         htmlwidgets_1.5.3 evaluate_0.14    
## [29] labeling_0.4.2    knitr_1.33        crosstalk_1.1.1   fansi_0.5.0      
## [33] highr_0.9         Rcpp_1.0.6        scales_1.1.1      jsonlite_1.7.2   
## [37] farver_2.1.0      systemfonts_1.0.2 digest_0.6.27     stringi_1.6.2    
## [41] bookdown_0.22     dplyr_1.0.6       grid_4.0.2        tools_4.0.2      
## [45] magrittr_2.0.1    sass_0.4.0        lazyeval_0.2.2    tibble_3.1.2     
## [49] crayon_1.4.1      tidyr_1.1.3       pkgconfig_2.0.3   ellipsis_0.3.2   
## [53] xml2_1.3.2        assertthat_0.2.1  rmarkdown_2.9     officer_0.3.18   
## [57] httr_1.4.2        R6_2.5.0          compiler_4.0.2

References

Allaire, JJ, Yihui Xie, Jonathan McPherson, Javier Luraschi, Kevin Ushey, Aron Atkins, Hadley Wickham, Joe Cheng, and Winston Chang. 2018. Rmarkdown: Dynamic Documents for R. https://CRAN.R-project.org/package=rmarkdown.

Dowle, M, A Srinivasan, T Short, S Lianoglou with contributions from R Saporta, and E Antonyan. 2015. Data.table: Extension of Data.frame. https://CRAN.R-project.org/package=data.table.

R Core Team. 2016. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

Wickham, Hadley. 2009. Ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. http://ggplot2.org.

Xie, Yihui. 2016a. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.

———. 2016b. Knitr: A General-Purpose Package for Dynamic Report Generation in R. https://CRAN.R-project.org/package=knitr.