Проблемы чтения файлов NetCDF4 LST от Коперника - PullRequest
2 голосов
/ 30 мая 2019

У меня есть серия почасовых данных LST от Коперника . Они могут быть хорошо прочитаны и отображены в Panopoly (Windows версии 4.10.6), но:

  • Сбой QGIS 2.18.13 при открытии с помощью плагина NetCDF4 Browser (V0.3)
  • Читает переменную LST неправильно, используя код R ncdf4:

*

file1 <- nc_open('g2_BIOPAR_LST_201901140400_E114.60S35.43E119.09S30.22_GEO_V1.2.nc')
file2 <- nc_open('g2_BIOPAR_LST_201901140500_E114.60S35.43E119.09S30.22_GEO_V1.2.nc')
# attributes(file1)$names
# Just for one variable for now
dat_new <- cbind(
  ncvar_get(file1, 'LST'),
  ncvar_get(file2, 'LST'))
dim(dat_new)
print(dim(dat_new))
var <- file1$var['LST']$LST
# Create a new file
file_new <- nc_create(
  filename = 'Copernicus_LST.nc', 
  # We need to define the variables here
  vars = ncvar_def(
    name = 'LST',
    units = var$units,
    dim = dim(dat_new)))

# And write to it
ncvar_put(
  nc = file_new,
  varid = 'LST',
  vals = dat_new)
# Finally, close the file
nc_close(file_new)

Возвращает:

[1] "Error, passed variable has a dim that is NOT of class ncdim4!"
[1] "Error occurred when processing dim number 1 of variable LST"
Error in ncvar_def(name = "LST", units = var$units, dim = dim(dat_new)) : 
  This dim has class: integer

Аналогично, используя подход python netCDF4

compiled = netCDF4.MFDataset(['g2_BIOPAR_LST_201901140400_E114.60S35.43E119.09S30.22_GEO_V1.2.nc','g2_BIOPAR_LST_201901140500_E114.60S35.43E119.09S30.22_GEO_V1.2.nc'])) 

Возвращает

ValueError: MFNetCDF4 only works with NETCDF3_* and NETCDF4_CLASSIC formatted files, not NETCDF4

Я предполагаю, что это проблема с форматированием файлов из Коперника ... Кто-нибудь еще сталкивался с этим? Поместите эти два примера файлов сюда .

Спасибо!

...