Skip to content

Commit 834eab6

Browse files
committed
BUGFIXES : now removeVirtualAreas compute good values for pumping and storage values for districts
1 parent b81a1b8 commit 834eab6

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

R/removeVirtualNodes.R

+18-1
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ removeVirtualAreas <- function(x, storageFlexibility = NULL, production = NULL,
174174
connectedToHub <- linkList[, .(connectedToHub = all(connectedToVirtualArea)),
175175
by = area]
176176

177+
177178
if (any(connectedToHub$connectedToHub)) {
178179

179180
veryVirtualAreas <- connectedToHub[connectedToHub == TRUE]$area
@@ -408,7 +409,23 @@ removeVirtualAreas <- function(x, storageFlexibility = NULL, production = NULL,
408409
if(!is.null(x$districts) && length(storageFlexibility) > 0){
409410
stoPumAreas<-x$areas[, .(pumpingCapacity, storageCapacity), by=c("timeId", "area")]
410411
stoPumDistricts<-.groupByDistrict(stoPumAreas, opts)
411-
x$districts<-merge(x$districts, stoPumDistricts, by=c("timeId", "district"))
412+
413+
#the columns pumpingCapacity doesnt exist when we trade very virtual area
414+
if(is.null(x$districts$pumpingCapacity)){
415+
x$districts<-merge(x$districts, stoPumDistricts, by=c("timeId", "district"))
416+
}else {
417+
#for simple virtual areas take into account the previous merge
418+
x$districts<-merge(x$districts, stoPumDistricts, all.x=TRUE, by=c("timeId", "district"))
419+
420+
x$districts[, ':=' (
421+
pumpingCapacity=pumpingCapacity.x + pumpingCapacity.y ,
422+
storageCapacity=storageCapacity.x + storageCapacity.y
423+
)]
424+
425+
x$districts[, c("pumpingCapacity.x", "pumpingCapacity.y", "storageCapacity.x" , "storageCapacity.y"
426+
):= NULL]
427+
428+
}
412429
}
413430

414431
# Store in attributes the name of the virtuals nodes

0 commit comments

Comments
 (0)