Import Meteorological data from the NOAA Integrated Surface Database (ISD)
Source:R/metNOAA.R
importNOAA.Rd
This is the main function to import data from the NOAA Integrated Surface Database (ISD). The ISD contains detailed surface meteorological data from around the world for over 30,000 locations. For general information of the ISD see https://www.ncei.noaa.gov/products/land-based-station/integrated-surface-database and the map here https://gis.ncdc.noaa.gov/maps/ncei.
Usage
importNOAA(
code = "037720-99999",
year = 2014,
hourly = TRUE,
n.cores = 1,
quiet = FALSE,
path = NA
)
Arguments
- code
The identifying code as a character string. The code is a combination of the USAF and the WBAN unique identifiers. The codes are separated by a “-” e.g.
code = "037720-99999"
.- year
The year to import. This can be a vector of years e.g.
year = 2000:2005
.- hourly
Should hourly means be calculated? The default is
TRUE
. IfFALSE
then the raw data are returned.- n.cores
Number of cores to use for parallel processing. Default is 1 and hence no parallelism.
- quiet
If
FALSE
, print missing sites / years to the screen, and show a progress bar if multiple sites are imported.- path
If a file path is provided, the data are saved as an rds file at the chosen location e.g.
path = "C:/Users/David"
. Files are saved by year and site.
Value
Returns a data frame of surface observations. The data frame is
consistent for use with the openair
package. Note that the data are
returned in GMT (UTC) time zone format. Users may wish to express the data
in other time zones, e.g., to merge with air pollution data. The
lubridate package is useful in this
respect.
Details
Note the following units for the main variables:
- date
Date/time in POSIXct format. Note the time zone is GMT (UTC) and may need to be adjusted to merge with other local data. See details below.
- latitude
Latitude in decimal degrees (-90 to 90).
- longitude
Longitude in decimal degrees (-180 to 180). Negative numbers are west of the Greenwich Meridian.
- elevation
Elevation of site in metres.
- wd
Wind direction in degrees. 90 is from the east.
- ws
Wind speed in m/s.
- ceil_hgt
The height above ground level (AGL) of the lowest cloud or obscuring phenomena layer aloft with 5/8 or more summation total sky cover, which may be predominantly opaque, or the vertical visibility into a surface-based obstruction.
- visibility
The visibility in metres.
- air_temp
Air temperature in degrees Celcius.
- dew_point
The dew point temperature in degrees Celcius.
- atmos_pres
The sea level pressure in millibars.
- RH
The relative humidity (%).
- cl_1, ..., cl_3
Cloud cover for different layers in Oktas (1-8).
- cl
Maximum of cl_1 to cl_3 cloud cover in Oktas (1-8).
- cl_1_height, ..., cl_3_height
Height of the cloud base for each later in metres.
- precip_12
12-hour precipitation in mm. The sum of this column should give the annual precipitation.
- precip_6
6-hour precipitation in mm.
- precip
This value of precipitation spreads the 12-hour total across the previous 12 hours.
- pwc
The description of the present weather description (if available).
The data are returned in GMT (UTC). It may be necessary to adjust the time
zone when combining with other data. For example, if air quality data were
available for Beijing with time zone set to "Etc/GMT-8" (note the negative
offset even though Beijing is ahead of GMT. See the openair
package and
manual for more details), then the time zone of the met data can be changed
to be the same. One way of doing this would be attr(met$date, "tzone") <- "Etc/GMT-8"
for a meteorological data frame called met
. The two data sets
could then be merged based on date
.
See also
getMeta()
to obtain the codes based on various site search
approaches.