Skip to content

Start() regrid combined with split_multiselected_dims fails

Hi @aho

This is not an urgent issue because I know I can do the regrid after loading the data.

I might be doing something wrong because the following code fails:

library(startR)
lonmin <- -11.5
lonmax <- 5.35
latmin <- 35.1
latmax <- 44.1

sdates_obs <- format(ymd("20000401") + months(0:2) + rep(years(0:2), each=3), "%Y%m")
dim(sdates_obs) <- c(month = 3, year = 3)

obs <- Start(dat =
   '/esarchive/recon/ecmwf/era5/daily_mean/$var$_f1h/$var$_$sdate$.nc',
             var = 'tas', time = 'all',
             sdate = sdates_obs,
             latitude = values(list(latmin, latmax)),
             latitude_reorder = Sort(decreasing = FALSE),
             longitude = values(list(lonmin, lonmax)),
             longitude_reorder = CircularSort(-180, 180),
             transform = CDORemapper,
             transform_extra_cells = 2,
             transform_params = list(grid =
  '/esarchive/exp/ecmwf/system5c3s/daily_mean/tas_f6h/tas_20020501.nc',
                                     method = 'conservative',
                                     crop = c(lonmin, lonmax, latmin, latmax)),
             transform_vars = c('latitude', 'longitude'),
             split_multiselected_dims = TRUE,
             synonims = list(var = c('var','variable'),
                             longitude = c('lon', 'longitude'),
                             latitude = c('lat', 'latitude')),
             return_vars = list(latitude = 'dat', longitude = 'dat'),
             num_procs = 1, retrieve = TRUE)

While removing the transform parameters and return_vars works:

obs <- Start(dat = 
    '/esarchive/recon/ecmwf/era5/daily_mean/$var$_f1h/$var$_$sdate$.nc',
              var = 'tas', time = 'all',
              #time = indices((30 - window):(60 + window), 
              #time_across = 'month',
              sdate = sdates_obs, 
              latitude = values(list(latmin, latmax)),
              latitude_reorder = Sort(decreasing = FALSE),
              longitude = values(list(lonmin, lonmax)),
              longitude_reorder = CircularSort(-180, 180),
              split_multiselected_dims = TRUE, 
              retrieve = TRUE)

Adding back only return_vars fails again:

obs <- Start(dat =
    '/esarchive/recon/ecmwf/era5/daily_mean/$var$_f1h/$var$_$sdate$.nc',
              var = 'tas', time = 'all',
              sdate = sdates_obs,
              latitude = values(list(latmin, latmax)),
              latitude_reorder = Sort(decreasing = FALSE),
              longitude = values(list(lonmin, lonmax)),
              longitude_reorder = CircularSort(-180, 180),             
              split_multiselected_dims = TRUE,
              synonims = list(var = c('var','variable'),
                              longitude = c('lon', 'longitude'),
                              latitude = c('lat', 'latitude')),
              return_vars = list(latitude = 'dat', longitude = 'dat'),
              num_procs = 1, retrieve = TRUE)

Please, if you are already aware of this issue (I have found this https://earth.bsc.es/gitlab/es/startR/-/issues/139 that may be similar)

Thanks in advance,

Núria