У меня есть файл netcdf в R с 14 переменными, которые я хотел бы подмножать с использованием границ широты и долготы, т. Е. Извлечь некоторые из переменных для конкретных океанских областей. До сих пор я пытался использовать южную часть Тихого океана (от -150 Вт до -90 Вт и от -60 до 0С).Подмножество подмножества netcdf в R с использованием границ lat/lon
следует Файл деталь, как (код ниже только показывает детали первого переменный «bio1»):
"File oceandata.nc (NC_FORMAT_CLASSIC):"
14 variables (excluding dimension variables):"
float bio1[lon,lat] "
standard_name: air_temperature"
long_name: bio1: Annual Mean Temp"
units: C"
_FillValue: 1.00000001504747e+30"
valid_max: 307.259399414062"
valid_min: 226.706176757812"
Я использовал следующий код:
require(ncdf4)
oceana = nc_open("oceandata.nc")
LatIdx = which (oceana$dim$lat$vals < 0 & oceana$dim$lat$vals < -60)
LonIdx = which (oceana$dim$lon$vals > -150 & oceana$dim$lon$vals < -90)
myvariable <- ncvar_get(oceana, "bio1")[ LonIdx, LatIdx]
lon <- ncvar_get(oceana, "lon")
lat <- ncvar_get(oceana, "lat")
Однако, когда я пытаюсь участок с помощью:
image(lon,lat, myvariable)
Я получаю следующее сообщение об ошибке:
Error in image.default(lon, lat, myvariable) :
ПОВЫШЕНИЯ «х» и «у» значения ожидается
Любые комментарии/предложения о том, где я буду неправильно здесь были бы оценены!
Можете ли вы включить ссылку, чтобы загрузить файл netcdf, если он общедоступен? Это сделает ваш код повторяемым и, следовательно, будет легче диагностировать. – CephBirk
Можете ли вы включить отображение 'lon' и' lat'? – CephBirk