R Resample Raster ведет себя непоследовательно

У меня есть два файла netCDF с разными размерами и разрешениями. Я хотел бы создать растры из обоих файлов, которые имеют одинаковую протяженность и разрешение. Мне нужно разрешение из одного файла и экстент из другого.

Вот код, который я использую:

require(raster);

#Get information
iceMaxNineK <- raster("~/Desktop/TRACE-21k_Data/NineK.ICEFRAC.max.avg.nc")

saltNineK <- brick("~/Desktop/TRACE-21k_Data/NineK.SALT.nc", lvar = 4)

#Making everything nice and uniform and useable
#==============================================
#set up an initial "sampling raster"
e <- extent(0, 360, -90, 90) #xmin,xmax,ymin,ymax
e <- raster(e,nrows=1,ncols=1,crs=saltNineK@crs)
res(e) <- res(saltNineK)
values(e) <- 0

#Resample ice
iceMaxNineK <- resample(iceMaxNineK, e, method="ngb")
plot(iceMaxNineK)

#Resample salt
saltNineK <- resample(saltNineK, e, method="ngb")
plot(saltNineK)

Повторная выборка iceMaxNineK работает, но повторная выборка saltNineK приводит к тому, что карта застревает в одном углу определенной области экстента, как показано на рисунках ниже.

Во-первых, iceMaxNineK: iceMaxNineK plot

Во-вторых, saltNineK: saltNineK plot

Размеры iceMaxNineK до повторной выборки:

class       : RasterLayer 
dimensions  : 48, 96, 4608  (nrow, ncol, ncell)
resolution  : 3.75, 3.708898  (x, y)
extent      : -1.875, 358.125, -89.01354, 89.01354  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : /Users/Hannah/Desktop/TRACE-21k_Data/NineK.ICEFRAC.max.avg.nc 
names       : Fraction.of.sfc.area.covered.by.sea.ice 
z-value     : -8.99945876078469 
zvar        : ICEFRAC 

Размеры iceMaxNineK после передискретизации:

class       : RasterLayer 
dimensions  : 180, 360, 64800  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       : Fraction.of.sfc.area.covered.by.sea.ice 
values      : 0, 0.9997393  (min, max)

Размеры saltNineK до передискретизации:

class       : RasterBrick 
dimensions  : 116, 100, 11600, 25  (nrow, ncol, ncell, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0.5, 100.5, 0.5, 116.5  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : /Users/Hannah/Desktop/TRACE-21k_Data/NineK.SALT.nc 
names       : X400, X1222.02453613281, X2108.88061523438, X3100.537109375, X4239.19677734375, X5577.873046875, X7187.42822265625, X9166.115234375, X11653.9140625, X14854.84765625, X19072.095703125, X24762.70703125, X32618.9296875, X43673.65625, X59384.83984375, ... 
centimeters : 400, 475128.78125 (min, max)
varname     : SALT 
level       : 1 

Размеры saltNineK после ресемпла:

class       : RasterBrick 
dimensions  : 180, 360, 64800, 25  (nrow, ncol, ncell, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       :      X400, X1222.02453613281, X2108.88061523438, X3100.537109375, X4239.19677734375, X5577.873046875, X7187.42822265625, X9166.115234375, X11653.9140625, X14854.84765625, X19072.095703125, X24762.70703125, X32618.9296875, X43673.65625, X59384.83984375, ... 
min values  :  6.842899,          6.850603,          6.853004,        6.853779,          6.853567,       23.148109,         23.148115,       23.148115,      23.148119,       23.148121,        23.148121,       23.148121,      23.148121,    23.148121,       23.148121, ... 
max values  :  39.60786,          39.60786,          39.60783,        39.60777,          39.60769,        39.60766,          39.60765,        39.60757,       39.60755,        39.60742,         39.60739,        39.60732,       39.60730,     39.60730,        39.60730, ... 

Доступ к примерам файлов можно получить по следующей ссылке: https://www.dropbox.com/s/x8oqem317vmr7yq/DataForRResample.zip?dl=0

Спасибо за ваше время.


person Hannah O.    schedule 28.10.2014    source источник
comment
почему ты называешь кирпич на солонке вместо растра?   -  person Stedy    schedule 29.10.2014
comment
Я называю Brick, потому что netCDF, который является источником для saltNineK, представляет собой стек из 25 слоев, и мне понадобятся все эти слои для следующего шага в обработке данных. Каждый слой представляет собой срез океана по глубине, то есть от поверхности до 40 м, от 40 м до 120 м и т. д. Я буду создавать единую сетку, создавая мозаику самых нижних измерений из каждой ячейки сетки.   -  person Hannah O.    schedule 29.10.2014
comment
Мне очень трудно найти аналогичный набор данных, чтобы попытаться воспроизвести это. Можете либо выложить данные, либо ссылку на аналогичный паблик netcdf?   -  person Stedy    schedule 30.10.2014
comment
Аналогичного общедоступного netCDF нет. Я пытаюсь найти кошерный способ поделиться проблемными файлами, но, похоже, не одобряют ссылку на внешние данные...   -  person Hannah O.    schedule 11.11.2014
comment
Я бы сказал, дайте ссылку, большинство неодобрения вызывает плохо сформулированные расплывчатые вопросы со ссылкой на некоторые данные. Твоя четко определена и довольно ясна.   -  person Stedy    schedule 12.11.2014
comment
Я понимаю. Ссылка добавлена ​​в редактирование.   -  person Hannah O.    schedule 13.11.2014


Ответы (1)


Сейчас я решил этот вопрос. Проблема заключалась во входном файле с разрешением T31_gx3v5 (http://www.cgd.ucar.edu/ccr/TraCE/; Yeager et al., 2006; Otto-Bliesner et al., 2006). Р этого не понимает. Перед импортом слоев в R необходимо было изменить сетку слоев до степени 1X1 с помощью языка ncl. Для получения дополнительной информации о переназначении сетки в ncl перейдите по этой ссылке: https://www.ncl.ucar.edu/Document/Функции/Pop_remap/PopLatLon.shtml.

person Hannah O.    schedule 29.01.2015