-
Notifications
You must be signed in to change notification settings - Fork 6
/
setHvdcAreas.R
54 lines (50 loc) · 1.41 KB
/
setHvdcAreas.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#Copyright © 2016 RTE Réseau de transport d’électricité
#' Set hvdc areas
#'
#'
#' @description This function add hvdc attribute
#'
#' @param data \code{antaresData} or \code{antaresDatalist} data.
#' @param areas \code{character} hvdc areas list.
#'
#'
#'
#' @return A list with three elements:
#'
#'
#' @examples
#' \dontrun{
#'
#' library(antaresRead)
#' opts <- setSimulationPath('mypath', 1)
#' myAreaOutput <- readAntares(areas = "all", links = "all")
#' myAreaOutput <- setHvdcAreas(myAreaOutput, "y_dsr")
#'
#'
#' }
#'
#' @export
setHvdcAreas <- function(data, areas){
if('antaresDataList' %in% class(data)){
if(is.null(data$areas)){
stop("You must import areas to use setHvdcAreas")
}
if(any(!areas%in% unique(data$areas$area) )){
stop(paste0("All areas specify must be in data areas, missing :",
paste0(areas[!areas%in% unique(data$areas$area)],
collapse = " ; ")))
}
attr(data$areas, "hvdcAreas") <- areas
}else{
if(attributes(data)$type != "areas"){
stop("You must import areas to use setHvdcAreas")
}
if(any(!areas%in% unique(data$area) )){
stop(paste0("All areas specify must be in data areas, missing :",
paste0(areas[!areas%in% unique(data$area)],
collapse = " ; ")))
}
attr(data, "hvdcAreas") <- areas
}
data
}