2014-05-21 3 views
0

Я работаю с североамериканским региональным реанализом (набор данных NARR), который хранится в виде файла netCDF. У меня есть некоторое знакомство с файлом netCDF, однако я в настоящее время в тупике. Я пытаюсь получить доступ к скорости Uwind, используя файл uwnd.10m.mon.mean.nc.доступ к данным netCDF, когда начальные переменные хранятся в виде матриц, а не векторов

В общем случае при доступе к переменным я использовал стандартный код:

var <- get.var.ncdf(nc, varid=NA, start=NA, count=NA, verbose=FALSE,signedbyte=TRUE,   forcevarid=NA) 

где переменная старта находится в формате х-у-г-т. В предыдущих опытах я поставил стартовый код широты, стартовый код долготы и время, где lat, long и time, где каждый хранится как один вектор.

Однако моя проблема заключается в том, что долгота сохраняется в вышеупомянутом наборе данных как матрица (x, y), а также широта (x, y). Итак, у меня есть определенная долгота, которую я хочу выбрать, которая находится в формате длинного [271,1] и определенной широты lat [1,137]. Когда я помещаю это в начало = NA, ему это не нравится, и я получаю сообщение об ошибке.

Как ввести начальные значения lats и longs в виде x-y-z-t, если каждый lat и long имеют свои собственные значения x, y? Код ниже дает мне ошибку, потому что явно не нравится формат start = NA.

UwndJu2006_A= get.var.ncdf(Uwnd, "uwnd", start=c([271,1], [1,137] ,330), count=c(1,1,1)) 

Это может быть простой вопрос, но я в недоумении. Вся помощь приветствуется.

ответ

2

Итак, вы хотите извлечь измерения на все времена, в частности, на длинные 271, lat 137? Похоже, что uwnd просто Название переменной индексируются [x,y,time] так

library(ncdf) 
nc <- open.ncdf("uwnd.10m.mon.mean.nc") 
uwnd <- get.var.ncdf(nc, "uwnd", start=c(271,137,1), count=c(1,1,-1)) 

, казалось бы открыть эту часть. Здесь я использовал count, чтобы использовать только эти значения long/lat при получении всех значений времени. Вы можете проверить координаты lat/long для этих индексов с помощью

get.var.ncdf(nc, "lat", start=c(271,137), count=c(1,1)) 
get.var.ncdf(nc, "lon", start=c(271,137), count=c(1,1)) 

 Смежные вопросы

  • Нет связанных вопросов^_^