Мне нужно извлекать исторические данные о погоде на ежемесячной основе, с 2001 по 2018 год, исходя из конкретных местоположений в Европе (все места находятся в море). У меня долгота и широта хранятся в отдельных столбцах:
longitude latitude
55.2000 6.8500
52.6450 1.7870
53.1350 1.1470
55.3430 10.95580
Я изучил пакет RNCEP в R, в котором хранятся данные о погоде. Но чтобы извлечь его, я должен вставить интервал для широты и долготы (например, от 0 до 60), который получает данные о погоде с шагом 2,5 для широты и долготы. Как я могу извлечь его для точной широты и долготы мне нужно?
Это код, который извлекает данные о погоде с шагом 2,5.
#Define limits for latitude and longitude
min_lat <- min(data$latitude, na.rm = TRUE)
max_lat <- max(data$latitude, na.rm = TRUE)
min_lon <- min(data$longitude, na.rm = TRUE)
max_lon <- max(data$longitude, na.rm = TRUE)
# define arguments for latitude and longitude
lat_range <- c(min_lat, max_lat)
lon_range <-c(min_lon, max_lon)
# get monthly air temperature between 2001 and 2018
weather <- NCEP.gather(variable = "air.sig995", level = "surface", months.minmax = c(1,12),
years.minmax = c(2001,2018), lat.southnorth =lat_range,
lon.westeast = lon_range)
# dimensions (obs. at time 00:00, 6:00, 12:00, 18:00 each day)
dim(weather) #creates 3 dimensions [lat, lon, time]
# extract date and time based on created weather dataset
date_time <- dimnames(weather)[[3]]
# format UTC date
date_time <- ymd_h(date_time)
# extract longitude & latitude based on created weather dataset
lat <- dimnames(weather)[[1]] # in increments of 2.5
lon <- dimnames(weather)[[2]] # in increments of 2.5
#Calculate the mean daily air temp. of the different times of day
w <- NCEP.aggregate(weather, YEARS = TRUE, MONTHS = TRUE, HOURS = FALSE, fxn='mean')
#Visualize temperature as heatmap for 1 day
NCEP.vis.area(w, layer = 1, show.pts = TRUE, draw.contours = TRUE, cols = heat.colors(64), transparency = 0.4)
Мой результат просто извлекает исторические данные о погоде для всего региона, устанавливая диапазон для долготы и широты. Но мне нужны погодные условия (например, средняя температура за месяц) для точных местоположений, основанных на столбцах долготы и широты для каждого месяца за все годы (с 2001 по 2018 год). Возможно ли это сделать с помощью пакета RNCEP? Или какие еще варианты я могу попробовать?
Окончательные результаты должны быть такими:
longitude latitude month year temperature
55.2000 6.8500 1 2001 20
55.2000 6.8500 2 2001 20
55.2000 6.8500 3 2001 20
...
55.2000 6.8500 1 2018 20
...
52.6450 1.7870 2
...
Я открыт для любых предложений, которые могут приблизить решение, а не только к окончательному решению проблемы. Спасибо.