簡體   English   中英

從Netcdf到csv提取時間序列天氣預報數據

[英]extract time series weather forecast data from Netcdf to csv

我想使用R從每個位置(X和Y)的Netcdf數據集中提取時間序列數據,並將其轉換為csv文件。 這是我第一次處理NetCDF數據。 誰能告訴我使用R或Matlab的相關代碼?

這是我的數據描述:

IRI FD Seasonal_Forecast降水概率:衛星概率數據

自變量(網格):

Tercile Classs網格:/ C(ids)無序[(Below_Normal)(Normal)(Above_Normal)]:網格發布月份預測

網格:/ F(自1960-01-01以來的月份)排序[(1997年9月)(1997年12月)(1998年3月)...(2015年9月)] N = 187點:網格

以月為單位的預測交貨時間:/ L(月)從(1.0個月)到(4.0個月)按1.0 N = 4 pts排列:網格經度(經度)

網格:/ X(度東)周期性(178.75W)至(178.75E)2.5 N = 144 pts:網格緯度(緯度)

網格:/ Y(degree_north)由2.5 N = 72 pts排序(88.75N)至(88.75S):grid

您可以使用netcdf4軟件包

library(ncdf4)
setwd("E:\\KKIM_2017\\DES\\")

nc = nc_open("MTS_IR_201612010000.nc")       #open ncdf and read variables
lon = ncvar_get(nc,"longitude")              # Lon lat and time
lat = ncvar_get(nc,"latitude")
time = ncvar_get(nc, "time")
dname = "IR"  #variable
variabel = ncvar_get(nc,dname)
lonlat = as.matrix(expand.grid(lon,lat))
var_vektor = as.vector(variabel)
datanya = data.frame(cbind(lonlat,var_vektor))
names(datanya) = c("lon","lat",paste(dname,as.character(), sep="_"))
head(na.omit(datanya))
csvpath = "E:\\"  #directory to save file
csvname = "hasil_1v2.csv" #file_output
csvfile = paste(csvpath, csvname, sep="")
write.table(na.omit(datanya),csvfile, row.names=FALSE, sep=",")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM