Start(): the missing dimension cannot be detected when retrieve = FALSE
In Start(), all the inner dimension should be specified. When retrieve = TRUE
, if certain inner dimension (e.g., time) is missing, it returns error like:
Error in file_data_reader(file_to_open, NULL, work_piece[["file_selectors"]], : Unexpected extra dimensions (of length > 1) in the file.
Expected: ensemble, latitude, longitude
Found: longitude, latitude, ensemble, time
However, if retrieve = FALSE
, no error is returned. The message is like below:
* Detected dimension sizes:
* dat: 1
* var: 1
* sdate: 1
* ensemble: 51
* latitude: 40
* longitude: 49
* Total size of involved data:
* 1 x 1 x 1 x 51 x 40 x 49 x 8 bytes = 780.9 Kb
* Successfully discovered data dimensions.
The 'time' dimension is directly ignored, and the estimated dimension size is therefore wrong.
The testing script:
library(startR)
repos <- "/esarchive/exp/ecmwf/system5_m1/monthly_mean/tas_f6h/$var$_$sdate$.nc"
var <- 'tas'
sdate <- '20170101'
data <- Start(dat = repos,
var = var,
sdate = '20170101',
ensemble = 'all', #indices(c(1:5)),
# time = 'all', #not assign this dim on purpose
latitude = indices(1:40),
longitude = indices(1:49),
return_vars = list(longitude = NULL, latitude = NULL),
retrieve = TRUE
)
# no error returns when retrieve = FALSE