Skip to content

CDORemap: it should automatically put 'time' dimension at the end of each chunk sent to cdo.

The following crashes, because the sent chunks have dims (time, lon, lat):

library(startR)

repos_path <- '/esarchive/exp/ecearth/i00k/monthly_mean/heatc/ohc_2d_avg_0-300m_i00k_$sdate$_fc0-4_*.nc'
heatc <- Start(repos = repos_path,
               sdate = 'first', 
               var = 'heatc_sl', 
               time = 'all',
               ensemble = 'all', 
               x = 'all', 
               y = 'all', 
               return_vars = list(var_names = NULL), 
               var_var = 'var_names')

mask_path <- '/esnas/autosubmit/con_files/mask.regions.Ec3.0_O1L46.nc'
lon <- Start(repos = mask_path,
             var = 'nav_lon', 
             t = 'first',
             z = 'first', 
             x = 'all', 
             y = 'all', 
             return_vars = list(var_names = NULL), 
             var_var = 'var_names')
lat <- Start(repos = mask_path,
             var = 'nav_lat', 
             t = 'first',
             z = 'first', 
             x = 'all', 
             y = 'all', 
             return_vars = list(var_names = NULL), 
             var_var = 'var_names')


library(s2dverification)
heatc2 <- heatc
lon2 <- lon
lat2 <- lat
attr(heatc2$Data, 'variables') <- NULL
names(dim(heatc2$Data))[4] <- 't'
attr(lon2$Data, 'variables') <- NULL
attr(lat2$Data, 'variables') <- NULL
heatc3 <- CDORemap(Subset(heatc2$Data, 1:3, list(1, 1, 1), drop = 'selected'),
                   Subset(lon2$Data, 1:4, list(1, 1, 1, 1), drop = 'selected'),
                   Subset(lat2$Data, 1:4, list(1, 1, 1, 1), drop = 'selected'), 
                   't106grid', 'bil')

Error in R_nc4_def_var_float: NetCDF: NC_UNLIMITED in the wrong index
Name of variable that the error occurred on: "var"
[1] "----------------------"
[1] "Var:  var"
[1] "Ndims:  3"
[1] "Dimids: "
[1] 2 1 0
Error in ncvar_add(nc, vars[[ivar]], verbose = verbose, indefine = TRUE) : 
  Error in ncvar_add, defining var var