Skip to content

merge and split dimensions cstools

library(CSTools)
library(s2dv)
a <- array(rnorm(2*3*4*5), 
           c(dat = 1, syear = 5, time = 3, lat = 2, sday = 4))
a[,,2,,] <- NA

tmp <- MergeDims(a, c('time', 'sday'), rename = 'sday')
dim(tmp)
tmp2 <- MergeDims(tmp, c('sday', 'syear'), rename = 'syear')


test <- SplitDim(tmp2, 'syear', indices = rep(1:12, 5),
                 new_dim_name = 'sday')
dim(test)

test <- SplitDim(test, 'sday', indices = rep(1:3, 4),
                 new_dim_name = 'time')
test <- Reorder(test, names(dim(a)))

all(a==test, na.rm = T)