Skip to content

One point missing when interpolating lon = 'all'

The bug is reported by @bsolaraj (and @cdelgado). The destination grid is "r128x64", but the result shows 127x64 when lon = 'all' is used (with values(list(-180, 179.99)) it works well.) Using "r360x180" is fine, but "r100x50" has the same problem. It only happens to this particular model.

path <- '/esarchive/exp/CMIP6/dcppA-hindcast/CESM1-1-CAM5-CMIP5/DCPP/NCAR/CESM1-1-CAM5-CMIP5/dcppA-hindcast/$member$/Omon/$var$/gr/v20191016/$var$_Omon_CESM1-1-CAM5-CMIP5_dcppA-hindcast_s$sdate$-$member$_gr_$sdate$11-$aux$12.nc'
variables <- 'tos'
grid <- '/esarchive/exp/CMIP6/dcppA-hindcast/CanESM5/DCPP/CCCma/CanESM5/dcppA-hindcast/r1i1p2f1/Omon/tos/gr/v20190429/tos_Omon_CanESM5_dcppA-hindcast_s1980-r1i1p2f1_gr_198101-199012.nc'  # "r128x64"
sdates <- 2015
fyears <- 1

members <- paste0('r',1,'i1p1f1')
times <- (3 + (12 * (fyears - 1))) : (12 * fyears[length(fyears)] + 2 + 2) ## init in November (two months more for the fifth winter)

data <- Start(dat = path,
              var = variables,  
              lon = "all", #values(list(-180, 179.99)),
              lat = "all", #values(list(-90, 90)),
              lat_reorder = Sort(decreasing = FALSE), 
              lon_reorder = CircularSort(-180, 180),
              sdate = paste0(sdates), fmonth = indices(times), member = members,
              aux = 'all', aux_depends = 'sdate',
              transform = CDORemapper, transform_extra_cells = 2, 
              transform_params = list(grid = grid, method = 'con'), 
              transform_vars = c('lon','lat'),
              synonims = list(lat = c('lat','latitude'), lon = c('lon','longitude'), fmonth = c('fmonth','time')),
              return_vars = list(lat = NULL, lon = NULL),
              retrieve = FALSE)

Thanks for letting me know this problem. I'll keep you posted here.

Best,
An-Chi

Edited by aho