Пакет ncdf4
поможет вам добиться этого.Вот документация для создания файла netCDF путем определения измерений и переменных из фрейма данных.
Вот пример кода, который я пытался создать 3-мерным netCDF.
Используемые данные:
lat,long,time
41,-109,6
40,-107,18
39,-105,6
41,-103,18
40,-109,6
39,-107,18
Пример кода:
library(ncdf4)
#Collect individual columns
xvals <- df$long
yvals <- df$lat
time <- df$time
#Create dimension definition
lon_dim <- ncdim_def("longitude", "degrees_east", xvals)
lat_dim <- ncdim_def("latitude", "degrees_north", yvals)
time_dim <- ncdim_def("time","h",unique(time))
#Define new variable and append with 0
mv = 1.e30
frp <- ncvar_def("frp", "frp", list(lon1,lat2,time_dim), mv)
frp
#Create a netCDF file
ncnew = nc_create("C:\\Users\\Desktop\\my_nc.nc", frp)
ncnew
Вы можете использовать функцию ncvar_put
для добавления значений frp,Документация чистая и точная.Это должно быть полезно.Надеюсь, что это отвечает на ваш вопрос.