Сюжет неткд данных - PullRequest
       132

Сюжет неткд данных

1 голос
/ 13 апреля 2020

Я пытаюсь построить данные о питательных веществах (нитратах и ​​силикатах) по глубине (и определить максимальную глубину). Я использую этот пример ( Извлечение всех уровней из файла NetCDF в R ), но я не могу получить правильные данные на графике.

Данные: https://www.nodc.noaa.gov/OC5/woa18/woa18data.html

Питательные вещества: нитраты и силикаты

Код:

 f <- "woa18_all_n01_01.nc" ##this is nitrate
 b <- brick(f, var="n_oa", lvar=4)
 b

 class      : RasterBrick 
 dimensions : 180, 360, 64800, 43  (nrow, ncol, ncell, nlayers)
 resolution : 1, 1  (x, y)
 extent     : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
 crs        : +init=EPSG:4326 
 source     : woa18_all_n01_01.nc 
 names      : X0, X5, X10, X15, X20, X25, X30, X35, X40, X45, X50, X55, X60, X65, X70, ... 
 depth (meters): 0, 800 (min, max)
 varname    : n_oa 
 level      : 1 

 pt <- cbind(120, -60)
 e <- extract(b, pt)
 e[1:43]
 names(b$var) #Error in .local(x, ...) : invalid layer names
 plot(e ~ depth (meters))


 s <- "woa18_all_i01_01.nc"  ##this is silicate
 d <- brick(s, var="i_oa", lvar=4)
 d


 class      : RasterBrick 
 dimensions : 180, 360, 64800, 43  (nrow, ncol, ncell, nlayers)
 resolution : 1, 1  (x, y)
 extent     : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
 crs        : +init=EPSG:4326 
 source     : woa18_all_i01_01.nc 
 names      : X0, X5, X10, X15, X20, X25, X30, X35, X40, X45, X50, X55, X60, X65, X70, ... 
 depth (meters): 0, 800 (min, max)
 varname    : i_oa 
 level      : 1 

На основе примера в ссылка выше, я догадался, что lvar = 4 дает вам фактические данные о нитратах и ​​силикатах (это неправильно?). Если это правильно, тогда у меня должно быть 43 точки данных, верно? достижение максимальной глубины 800 метров?

 e <- extract(d, pt)
 e <- extract(b, pt)
 e[1:43]
 plot(e ~ depth (meters)) #Error in depth(meters) : could not find function "depth"
 names(d$var) #Error in .local(x, ...) : invalid layer names

Я хотел бы построить концентрацию нитратов и силикатов по глубине для данного места (pt) на одном графике.

Используя связанный пример, я могу извлечь часть данных (не все данные отображаются, и я не знаю, почему ... много NA, как показано ниже), и я не могу построить их по глубине, потому что он говорит неверные имена слоев. Как я могу это исправить?

 e[1:43]
 [1]  0.7020741  2.8661118  4.5283585  5.4967270  5.6409035  5.7678833     
  5.8109722  6.0489120  6.1532974
 [10]  6.3548470  6.6145363  6.7164783  6.8310509  6.4644928  
  6.4681816  6.4899788  6.3536987  5.8383942
 [19]  6.1574135  5.5197525  5.8816566  8.4772491 10.1788559 
  11.8642044  9.7336349         NA         NA
 [28]         NA         NA         NA         NA         NA             
  NA         NA         NA         NA
 [37]  5.8372116         NA         NA         NA         NA         
  NA         NA

Спасибо

...