Ogimet - download and visualize wind patterns over Svalbard

  1. Downloading hourly data from the Ogimet repository for the defined time frame (2018/01/01-2018/12/31); chosen station: Svalbard Lufthavn
  2. Using external package ‘openair’ to visualize the downloaded results
library(climate)
# downloading data
df <- meteo_ogimet(interval = "hourly",
                     date = c("2018-01-01", "2018-12-31"), 
                     station = "01008")
## 01008
##   |                                                                              |                                                                      |   0%
## /tmp/Rtmpky5XOm/file19494364058e
##   |                                                                              |======                                                                |   8%
## /tmp/Rtmpky5XOm/file194960c04e0f
##   |                                                                              |============                                                          |  17%
## /tmp/Rtmpky5XOm/file19493d7644b
##   |                                                                              |==================                                                    |  25%
## /tmp/Rtmpky5XOm/file194979cd41d3
##   |                                                                              |=======================                                               |  33%
## /tmp/Rtmpky5XOm/file19494b299cf5
##   |                                                                              |=============================                                         |  42%
## /tmp/Rtmpky5XOm/file1949245f7bbd
##   |                                                                              |===================================                                   |  50%
## /tmp/Rtmpky5XOm/file194911182362
##   |                                                                              |=========================================                             |  58%
## /tmp/Rtmpky5XOm/file19492ca267e1
##   |                                                                              |===============================================                       |  67%
## /tmp/Rtmpky5XOm/file19493876fcc4
##   |                                                                              |====================================================                  |  75%
## /tmp/Rtmpky5XOm/file194928a88377
##   |                                                                              |==========================================================            |  83%
## /tmp/Rtmpky5XOm/file194977903dcf
##   |                                                                              |================================================================      |  92%
## /tmp/Rtmpky5XOm/file194919e4504
##   |                                                                              |======================================================================| 100%
## /tmp/Rtmpky5XOm/file19496c235287
# loading external packages:
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(openair) # external package for plotting wind roses

# converting wind direction from character into degress required by most 
wdir <- data.frame(ddd = c("CAL","N","NNE","NE","ENE","E","ESE","SE","SSE",
                           "S","SSW","SW","WSW","W","WNW","NW","NNW"),
                   dir = c(NA, 0:15 * 22.5), stringsAsFactors = FALSE)
# changing date column to the format required by openair package:
df$Date <- as.POSIXct(df$Date, tz = "UTC")
df$date <- df$Date
df <- left_join(df, wdir)
## Joining with `by = join_by(ddd)`
df$ws <- df$ffkmh / 3.6 # conversion to m/s from km/h
df$gust <- df$Gustkmh / 3.6 # conversion to m/s from km/h
windRose(mydata = df, ws = "ws", wd = "dir", type = "season", paddle = FALSE, 
         main = "Svalbard Lufthavn (2018)", ws.int = 3, dig.lab = 3, layout = c(4, 1))

# do we miss any data?
summaryPlot(df[ ,c("date", "TC", "ws", "gust")])

# which sectors are responsible for warm/cold air mass advection:
polarPlot(df, pollutant = "TC", x = "ws", wd = "dir", k = 50, force.positive = FALSE, 
          type = "season", layout = c(4, 1), resolution = "fine",  normalise = FALSE)