1. Introduction
Oikolab has processed hundreds of terabytes of data to give you access this data in seconds rather than hours, whether you require 1 month or 70 years of historical data so that you can focus on your analysis rather than downloading and processing raw data.
1.1 What is reanalysis?
Climate reanalyses combine vast observations from satellites, aircraft, land and sea based weather sensors with atmospheric models to generate consistent time series of multiple climate variables. ERA5 is the latest climate reanalysis produced by ECMWF, providing hourly data on many atmospheric, land-surface and sea-state parameters, on regular latitude-longitude grids at 0.25o x 0.25o lat/lon resolution.
1.2 Our Datasets
We're always expanding our datasets - please reach out to us if you have needs for datasets that we don't currently have.
Dataset Type | Dataset | Horizontal Resolution |
Temporal Resolution |
Horizon | Update Frequency |
Source |
---|---|---|---|---|---|---|
Reanalysis | ERA5 ERA5-Land |
28km 9km |
1 hr 1 hr |
from 1940 from 1950 |
Daily Daily |
ECMWF ECMWF |
Global Forecast | GFS ICON* GDPS* |
13/25km 13km 15km |
1 hr 1 hr 3 hr |
16 days 5 days 10 days |
6 hrs 6 hrs 12 hrs |
NCEP DWD Environment Canada |
Regional Forecast | NAM CONUS* HRDPS* ICON-EU* HRRR |
2.5km 2.5km 6.5km 2.5km |
1 hr 1 hr 1 hr 1 hr |
3 days 2 days 2 days 2 days |
6 hrs 6 hrs 6 hrs 6 hrs |
NCEP Environment Canada DWD NCEP |
Seasonal Forecast | CFS | 100km | 6 hrs |
9 months | Daily | NCEP |
Ensemble Forecast | GEFS HREF* |
25km 5km |
3 hr 1 hr |
10 days 3 days |
6 hrs 6 hrs |
NCEP NCEP |
Air Quality | SILAM | 20km | 1 hr | 5 days | Daily | FMI |
*Coming soon
2. Weather Data (/weather)
2.1 Request
Remember to use your own
api_key
.
import requests
r = requests.get('https://api.oikolab.com/weather',
params={'param': ['temperature','wind_speed'],
'start': '2010-01-01',
'end': '2018-12-31',
'lat': 43.6529,
'lon': -79.3849,
'api-key': 'your_api_key_here'}
)
We've designed the API to be as intuitive as possible.
The data is accessed through REST API by specifying the location, parameters and the time-range of the data needed. In this example, we are using the Python requests
library to get temperature
and wind_speed
(at 10m height) between January 1, 2010 to December 31, 2018.
The following table shows the parameters that can be used to query weather data.
Parameter | Option | Type | Description | Notes |
---|---|---|---|---|
param |
optional | str | Valid parameters | Default: temperature , dewpoint_temperature , wind_speed , mean_sea_level_pressure , surface_solar_radiation , surface_thermal_radiation , total_cloud_cover |
start |
optional | str | start datetime string YYYY-MM-DD . |
Defaults to 3 days into the past. Provided time is interpreted as UTC. |
end |
optional | str | end datetime string YYYY-MM-DD . |
Defaults to 7 days into the future. Provided time is interpreted as UTC. |
freq |
optional | str | H (hourly), D (daily), or M (monthly) |
Defaults to H |
resample_method |
optional | str | max , mean , min , or sum |
When the frequency is set to daily (D ) or monthly (M ),
this can be used to request maximum or minimum value during the specififed period.
Please note that specifying sum will return meaningful result only for
accumulated parameters such as precipitation. |
location |
optional | str | city name or zipcode | This value is used to look up latitude/longitude. |
location_id |
optional | str | location identifier | Location identifier can be used for reference when querying data for multiple lat/lon coordinates. |
lat |
optional | str | latitude(s) | If location is not provided. |
lon |
optional | str | longitude(s) | If location is not provided. |
north |
optional | float | latitude north | For bounding box (Enterprise plan only). |
south |
optional | float | latitude south | For bounding box (Enterprise plan only). |
east |
optional | float | longitude east | For bounding box (Enterprise plan only). |
west |
optional | float | longitude west | For bounding box (Enterprise plan only). |
model |
optional | str | era5 , gfs , or era5land |
Use to specify dataset if applicable; era5land availble for Enterprise plan only. |
format |
optional | str | json , csv , or netcdf |
Defaults to json ; netcdf available for Enterprise plan only. |
2.2 Response
The above command returns JSON data structured like this:
{'attributes': {
'processing_time': 1.527,
'n_parameter_months': 851,
'gfs_reference_time': '2021-05-17 12 UTC',
'next_gfs_update': 'in 2.0 hours (approx)',
},
'data': '{"columns": ["temperature (degC)","wind_speed (m/s)"],
"index":[1262304000,1262307600,... ],
"data":[[16.59,7.61],[16.44,7.79]...]
}'
}
The returned data in JSON format (default) will have two parts. The first, attributes
, contains the meta-data about the response. The data
part contains the weather and climate data, organized index, columns, and data, for easy conversion to dataframe. Note that with each respone, we provide the number of units (n_parameter_months
) of the API request.
With
json
andpandas
libraries, we can easily conver the JSON format to dataframe.
import json
import pandas as pd
weather_data = json.loads(r.json()['data'])
df = pd.DataFrame(index=pd.to_datetime(weather_data['index'],
unit='s'),
data=weather_data['data'],
columns=weather_data['columns'])
The data can be easily coverted to Pandas DataFrame, when converted, will look like this:
coordinates (lat,lon) |
model | model elevation (surface) (m) |
utc_offset | temperature (degC) |
wind_speed (m/s) |
|
---|---|---|---|---|---|---|
2010-01-01 00:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 16.59 | 7.61 |
2010-01-01 01:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 16.44 | 7.79 |
2010-01-01 02:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 16.27 | 7.60 |
2010-01-01 03:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 16.00 | 7.71 |
2010-01-01 04:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 15.56 | 7.62 |
... | ... | ... | ||||
2018-12-31 19:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 11.03 | 6.11 |
2018-12-31 20:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 10.70 | 6.34 |
2018-12-31 21:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 10.56 | 6.33 |
2018-12-31 22:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 10.38 | 6.38 |
2018-12-31 23:00:00 | (43.6529, -79.3849) | era5 | 127.14 | -5 | 10.26 | 6.50 |
78888 rows × 2 columns
Please note that the timestamp is UTC and utc_offset
is in hours. The 'model elevation (surface) (m)' refers to the model surface elevation (calculated from geopotential
value of the dataset) above mean sea level and may differ from actual surface elevation.
2.3 Available Parameters
Available parameters are shown below, grouped into major categories for ease of reference. Please note that some parameters are only available for ERA5 (historical) data.
Group 1: Temperature
Parameter | Type | Min | Max | Unit | Description |
---|---|---|---|---|---|
temperature * |
Inst | -80 | +80 | oC | Drybulb temperature of air at 2m above the surface of land, sea or inland waters. |
dewpoint_temperature * |
Inst | -80 | +80 | oC | The temperature to which the air at 2 metres above the surface of the Earth would have to be cooled for saturation to occur. |
wetbulb_temperature * |
Inst | -80 | +80 | oC | The temperature read by a thermometer covered in water-soaked cloth over which air is passed. |
humidex_index * |
Inst | -80 | +80 | oC | Humidex Index as defined by Canadian Meteorologists |
soil_temperature_level_1 * |
Inst | -80 | +80 | oC | Soil temperature at level 1 (0 - 7cm), in the middle of layer. |
soil_temperature_level_2 * |
Inst | -80 | +80 | oC | Soil temperature at level 2 (7 - 28cm), in the middle of layer. |
soil_temperature_level_3 * |
Inst | -80 | +80 | oC | Soil temperature at level 3 (28 - 100cm), in the middle of layer. |
soil_temperature_level_4 * |
Inst | -80 | +80 | oC | Soil temperature at level 4 (100 - 289cm), in the middle of layer. |
sea_surface_temperature |
Inst | -80 | +80 | oC | The temperature of sea water near the surface. In ERA5, this parameter is a foundation SST, which means there are no diurnal variations. Before September 2007, SST from the HadISST2 dataset is used and from September 2007 onwards, the OSTIA dataset is used. |
skin_temperature |
Inst | -80 | +80 | oC | The theoretical temperature that is required to satisfy the surface energy balance; it represents the temperature of the uppermost surface layer, which has no heat capacity. Skin temperature is calculated differently over land and sea. |
*Available for ERA5-Land
Group 2: Wind
Parameter | Type | Min | Max | Unit | Description |
---|---|---|---|---|---|
wind_speed * |
Inst | 0 | +60 | m/s | Wind speed at 10m above the surface. |
wind_direction * |
Inst | 0 | 360 | deg | Wind direction at 10m above the surface. |
10m_wind_gust |
Inst | 0 | +100 | m/s | Instantaneous wind gust at 10m above surface. |
10m_u_component_of_wind * |
Inst | -100 | +100 | m/s | U component of wind at 10m above the surface. |
10m_v_component_of_wind * |
Inst | -100 | +100 | m/s | V component of wind at 10m above the surface. |
100m_wind_speed |
Inst | 0 | +60 | m/s | Wind speed at 100m above the surface. |
100m_wind_direction |
Inst | 0 | 360 | deg | Wind direction at 100m above the surface. |
100m_u_component_of_wind |
Inst | -100 | +100 | m/s | U component of wind at 100m above the surface. |
100m_v_component_of_wind |
Inst | -100 | +100 | m/s | V component of wind at 100m above the surface. |
*Available for ERA5-Land
Group 3: Radiation
Radiation parameters are accumulated values based on the previous time step, typically one hour or 3 hours in the case of 5 to 16 day forecast. ERA5 reanalysis values are originally provided in J/m2 and have been converted to W/m2.
Parameter | Type | Min | Max | Unit | Description |
---|---|---|---|---|---|
surface_solar_radiation * |
Acc | 0 | 1300 | W/m2 | Solar radiation (shortwave) that reaches a horizontal plane at the surface of the Earth. This parameter comprises both direct and diffuse solar radiation. |
surface_thermal_radiation * |
Acc | 0 | 500 | W/m2 | Thermal radiation (longwave) emitted by the atmosphere and clouds that reaches a horizontal plane at the surface of the Earth. |
surface_direct_solar_radiation |
Acc | 0 | 1300 | W/m2 | Direct solar radiation (shortwave) reaching the surface of the Earth, passing through a horizontal plane. |
direct_normal_solar_radiation |
Acc | 0 | 1300 | W/m2 | Solar radiation received per unit area normal to the direction of the sun. |
surface_diffuse_solar_radiation |
Acc | 0 | 1300 | W/m2 | Scattered solar radiation received per horizontal unit area on the surface. |
*Available for ERA5-Land
Group 4: Pressure, Humidity & Precipitation
Precipitation parameters are accumulated values based on the previous time step, typically one hour or 3 hours in the case of 5 to 16 day forecast. Original values provided in kg/m2 of water equivalent have been converted to mm of water equivalent.
Parameter | Type | Min | Max | Unit | Description |
---|---|---|---|---|---|
relative_humidity * |
Inst | 0 | 1 | - | Relative humidity calculated from dewpoint temperature, drybulb temperature and pressure. |
surface_pressure * |
Inst | 50000 | 130000 | Pa | The pressure (force per unit area) of the atmosphere at the surface of land, sea and inland water. |
mean_sea_level_pressure |
Inst | 50000 | 130000 | Pa | The pressure (force per unit area) of the atmosphere at sea level. |
total_cloud_cover |
Inst | 0 | 1 | - | Single level field calculated from the cloud occurring at different model levels through the atmosphere. |
total_precipitation * |
Acc | 0 | 50 | mm | The accumulated liquid and frozen water, comprising rain and snow, that falls to the Earth's surface. It is the sum of large-scale precipitation and convective precipitation. |
snowfall * |
Acc | 0 | 50 | mm | The accumulated snow that falls to the Earth's surface. It is the sum of large-scale snowfall and convective snowfall. |
snow_depth |
Inst | 0 | 300 | mm | The amount of snow from the snow-covered area of a grid box in terms of water equivalent. |
snow_density |
Inst | 100 | 300 | kg/m^3 | The mass of snow per cubic metre in the snow layer. |
volumetric_soil_water_layer_1 * |
Inst | 0 | 1 | - | Soil moisture at level 1 (0 - 7cm). |
volumetric_soil_water_layer_2 * |
Inst | 0 | 1 | - | Soil moisture at level 2 (7 - 28cm). |
volumetric_soil_water_layer_3 * |
Inst | 0 | 1 | - | Soil moisture at level 3 (28 - 100cm). |
volumetric_soil_water_layer_4 * |
Inst | 0 | 1 | - | Soil moisture at level 4 (100 - 289cm). |
*Available for ERA5-Land
Group 5: Advanced Parameters
The following parameters are available for Enterprise plans.
Parameter | Type | Min | Max | Unit | Description |
---|---|---|---|---|---|
boundary_layer_height |
Inst | 0 | 5000 | m | The depth of air next to the Earth's surface which is most affected by the resistance to the transfer of momentum, heat or moisture across the surface. |
cloud_base_height |
Inst | 0 | 20000 | m | The height above the Earth's surface of the base of the lowest cloud layer, at the specified time. |
convective_available_potential_energy |
Inst | 0 | 10000 | J/kg | Indication of the instability (or stability) of the atmosphere and can be used to assess the potential for the development of convection, which can lead to heavy rainfall, thunderstorms and other severe weather. |
convective_inhibition |
Inst | 0 | 2000 | J/kg | This parameter is a measure of the amount of energy required for convection to commence. |
downward_uv_radiation_at_the_surface |
Acc | 0 | 200 | W/m2 | The amount of ultraviolet (UV) radiation reaching the surface. It is the amount of radiation passing through a horizontal plane. |
evaporation |
Acc | -2 | 2 | mm | The accumulated amount of water that has evaporated from the Earth's surface, including a simplified representation of transpiration (from vegetation), into vapour in the air above. |
forecast_albedo |
Inst | 0 | 1 | - | A measure of the reflectivity of the Earth's surface |
forecast_surface_roughness |
Inst | 0 | 5 | m | The aerodynamic roughness length in metres as a measure of the surface resistance. |
friction_velocity |
Inst | 0 | 5 | m/s | A theoretical wind speed at the Earth's surface that expresses the magnitude of stress. |
high_cloud_cover |
Inst | 0 | 1 | - | The proportion of a grid box covered by cloud occurring in the high levels of the troposphere. |
high_vegetation_cover |
Inst | 0 | 1 | - | The fraction of the grid box that is covered with vegetation that is classified as "high". The values vary between 0 and 1 but do not vary in time |
leaf_area_index_high_vegetation |
Inst | 0 | 20 | m2/m2 | The surface area of one side of all the leaves found over an area of land for vegetation classified as "high". |
leaf_area_index_low_vegetation |
Inst | 0 | 10 | m2/m2 | The surface area of one side of all the leaves found over an area of land for vegetation classified as "low". |
low_cloud_cover |
Inst | 0 | 1 | - | The proportion of a grid box covered by cloud occurring in the lower levels of the troposphere. |
low_vegetation_cover |
Inst | 0 | 1 | - | The fraction of the grid box that is covered with vegetation that is classified as "low". The values vary between 0 and 1 but do not vary in time |
medium_cloud_cover |
Inst | 0 | 1 | - | The proportion of a grid box covered by cloud occurring in the middle levels of the troposphere. |
potential_evaporation |
Inst | -1 | 1 | mm | A measure of the extent to which near-surface atmospheric conditions are conducive to the process of evaporation. |
skin_reservoir_content |
Inst | 0 | 2 | mm | The amount of water in the vegetation canopy and/or in a thin layer on the soil. |
sub_surface_runoff |
Inst | 0 | 20 | mm | The water that drains away under the ground. |
surface_latent_heat_flux |
Acc | -1000 | 1000 | W/m2 | The transfer of latent heat (resulting from water phase changes, such as evaporation or condensation) between the Earth's surface and the atmosphere. |
surface_runoff |
Inst | 0 | 20 | mm | The water that drains away over the ground. |
total_column_rain_water |
Inst | 0 | 20 | kg/m2 | The total amount of water in droplets of raindrop size (which can fall to the surface as precipitation) in a column extending from the surface of the Earth to the top of the atmosphere. |
total_column_water_vapour |
Inst | 0 | 100 | kg/m2 | The total amount of water vapour in a column extending from the surface of the Earth to the top of the atmosphere. |
zero_degree_level |
Inst | 0 | 10000 | m | The height above the Earth's surface where the temperature passes from positive to negative values, corresponding to the top of a warm layer |
3. Archived Forecast (/archivedforecast)
The GFS forecast data is archived up to 2 years (available from March, 2021).
3.1 Request
Remember to use your own
api_key
.
import requests
r = requests.get('https://api.oikolab.com/archivedforecast',
params={'param': ['temperature',],
'utc_cycle': '2022-05-18',
'lat': 23.1,
'lon': 114.1,
'api-key': 'your_api_key_here'}
)
GFS forecasts are archived for up to 180 days.
Parameter | Option | Type | Description | Notes |
---|---|---|---|---|
utc_cycle |
required | str | Datetime string ('YYYY-MM-DD') | |
param |
optional | str | Valid list of parameters | Defaults to temperature , dewpoint_temperature , wind_speed , mean_sea_level_pressure , surface_solar_radiation , surface_thermal_radiation , total_cloud_cover if not provided |
location |
optional | str | location such as city name or zipcode for geocoding lookup | |
lat |
optional | str | latitude, if location is not provided | |
lon |
optional | str | longitude, if location is not provided |
3.2 Response
The response will be the same as the weather API (/weather).
3.3 Available Parameters
Parameters that are available for GFS data are available for archived forecast API.
4. Ensemble Forecast (/ensembleforecast)
We provide summary data from the GFS Ensemble Forecast (GEFS). GEFS runs 30 separate member runs with slight variations in the initial condition.
4.1 Request
Remember to use your own
api-key
.
import requests
r = requests.get('https://api.oikolab.com/ensembleforecast',
params={'param': ['temperature',],
'lat': 23.1,
'lon': 114.1,
'api-key': 'your_api_key_here'}
)
Parameter | Option | Type | Description | Notes |
---|---|---|---|---|
param |
optional | str | Parameter names | Defaults to temperature , 10m_u_component_of_wind , 10m_v_component_of_wind , surface_pressure , surface_solar_radiation , surface_thermal_radiation , total_cloud_cover if not provided |
location |
optional | str | location such as city name or zipcode for geocoding lookup | |
lat |
optional | str | latitude, if location is not provided | |
lon |
optional | str | longitude, if location is not provided |
4.2 Response
For each parameter, there will be three columns of data, one for ensemble average (_ens_avg
suffix), one for control member (_ens_c00
suffix), and for the ensemble spread (_ens_spr
suffix), as shown below.
coordinates (lat,lon) | temperature_ens_avg (degC) | temperature_ens_c00 (degC) | temperature_ens_spr (degC) | |
---|---|---|---|---|
2021-09-20 00:00:00 | (52.378, 4.9) | 14.46 | 14.46 | 0.36 |
2021-09-20 03:00:00 | (52.378, 4.9) | 13.49 | 13.65 | 0.47 |
2021-09-20 06:00:00 | (52.378, 4.9) | 11.91 | 11.80 | 0.74 |
2021-09-20 09:00:00 | (52.378, 4.9) | 14.43 | 14.30 | 0.35 |
2021-09-20 12:00:00 | (52.378, 4.9) | 16.99 | 17.07 | 0.51 |
... | ... | ... | ... | ... |
2021-09-29 12:00:00 | (52.378, 4.9) | 15.39 | 14.73 | 2.99 |
2021-09-29 15:00:00 | (52.378, 4.9) | 15.39 | 11.51 | 3.14 |
2021-09-29 18:00:00 | (52.378, 4.9) | 12.41 | 9.59 | 2.59 |
2021-09-29 21:00:00 | (52.378, 4.9) | 11.55 | 9.64 | 2.66 |
2021-09-30 00:00:00 | (52.378, 4.9) | 11.10 | 10.38 | 2.59 |
4.3 Available Parameters
Parameter | Type | Min | Max | Unit | Description | Notes |
---|---|---|---|---|---|---|
temperature |
Inst | -80 | +80 | oC | Drybulb temperature of air at 2m above the surface of land, sea or inland waters. | |
max_temperature |
Inst | -80 | +80 | oC | Max temperature of air at 2m above the surface of land, sea or inland waters. | |
min_temperature |
Inst | -80 | +80 | oC | Min temperature of air at 2m above the surface of land, sea or inland waters. | |
10m_u_component_of_wind |
Inst | -100 | +100 | m/s | U component of wind at 10m above the surface. | |
10m_v_component_of_wind |
Inst | -100 | +100 | m/s | V component of wind at 10m above the surface. | |
surface_pressure |
Inst | 50000 | 130000 | Pa | The pressure (force per unit area) of the atmosphere at the surface of land, sea and inland water. | |
soil_temperature_level_1 |
Inst | -80 | +80 | oC | Soil temperature at level 1 (0 - 7cm), in the middle of layer. | |
volumetric_soil_water_layer_1 |
Inst | 0 | 1 | - | Soil moisture at level 1 (0 - 7cm). | |
volumetric_soil_water_layer_2 |
Inst | 0 | 1 | - | Soil moisture at level 2 (7 - 28cm). | |
volumetric_soil_water_layer_3 |
Inst | 0 | 1 | - | Soil moisture at level 3 (28 - 100cm). | |
volumetric_soil_water_layer_4 |
Inst | 0 | 1 | - | Soil moisture at level 4 (100 - 289cm). | |
total_cloud_cover |
Inst | 0 | 1 | - | Single level field calculated from the cloud occurring at different model levels through the atmosphere. | |
surface_solar_radiation |
Acc | 0 | 1300 | W/m2 | Solar radiation (shortwave) that reaches a horizontal plane at the surface of the Earth. This parameter comprises both direct and diffuse solar radiation. | |
surface_thermal_radiation |
Acc | 0 | 1300 | W/m2 | Thermal radiation (longwave) emitted by the atmosphere and clouds that reaches a horizontal plane at the surface of the Earth. |
5. Seasonal Forecast (/seasonalforecast)
5.1 Request
Remember to use your own
api_key
.
import requests
r = requests.get('https://api.oikolab.com/seasonalforecast',
params={'param': ['temperature',],
'lat': 23.1,
'lon': 114.1,
'api-key': '<your_api_key_here>'}
)
Parameter | Option | Type | Description | Notes |
---|---|---|---|---|
param |
optional | str | Parameter names | Defaults to temperature , max_temperature , min_temperature if not provided |
location |
optional | str | location such as city name or zipcode for geocoding lookup | |
lat |
optional | str | latitude, if location is not provided | |
lon |
optional | str | longitude, if location is not provided |
5.2 Response
coordinates (lat,lon) | temperature (degC) | temperature_max (degC) | temperature_min (degC) | |
---|---|---|---|---|
2021-09-13 06:00:00 | (52.378, 4.9) | 13.09 | 13.93 | 12.74 |
2021-09-13 12:00:00 | (52.378, 4.9) | 16.65 | 16.62 | 13.25 |
2021-09-13 18:00:00 | (52.378, 4.9) | 14.67 | 16.74 | 14.64 |
2021-09-14 00:00:00 | (52.378, 4.9) | 12.73 | 14.50 | 12.73 |
2021-09-14 06:00:00 | (52.378, 4.9) | 12.82 | 12.84 | 12.45 |
... | ... | ... | ... | ... |
2022-06-30 00:00:00 | (52.378, 4.9) | 18.38 | 21.95 | 18.38 |
2022-06-30 06:00:00 | (52.378, 4.9) | 18.42 | 18.48 | 17.37 |
2022-06-30 12:00:00 | (52.378, 4.9) | 24.08 | 24.08 | 18.62 |
2022-06-30 18:00:00 | (52.378, 4.9) | 22.00 | 24.32 | 22.00 |
2022-07-01 00:00:00 | (52.378, 4.9) | 18.48 | 21.80 | 18.45 |
5.3 Available Parameters
Parameter | Type | Min | Max | Unit | Description | Notes |
---|---|---|---|---|---|---|
temperature |
Inst | -80 | +80 | oC | Drybulb temperature of air at 2m above the surface of land, sea or inland waters. | |
max_temperature |
Inst | -80 | +80 | oC | Max temperature of air at 2m above the surface of land, sea or inland waters. | |
min_temperature |
Inst | -80 | +80 | oC | Min temperature of air at 2m above the surface of land, sea or inland waters. | |
10m_u_component_of_wind |
Inst | -100 | +100 | m/s | U component of wind at 10m above the surface. | |
10m_v_component_of_wind |
Inst | -100 | +100 | m/s | V component of wind at 10m above the surface. | |
surface_pressure |
Inst | 50000 | 130000 | Pa | The pressure (force per unit area) of the atmosphere at the surface of land, sea and inland water. | |
soil_temperature_level_1 |
Inst | -80 | +80 | oC | Soil temperature at level 1 (0 - 7cm), in the middle of layer. | |
volumetric_soil_water_layer_1 |
Inst | 0 | 1 | - | Soil moisture at level 1 (0 - 7cm). | |
volumetric_soil_water_layer_2 |
Inst | 0 | 1 | - | Soil moisture at level 2 (7 - 28cm). | |
volumetric_soil_water_layer_3 |
Inst | 0 | 1 | - | Soil moisture at level 3 (28 - 100cm). | |
volumetric_soil_water_layer_4 |
Inst | 0 | 1 | - | Soil moisture at level 4 (100 - 289cm). | |
total_cloud_cover |
Inst | 0 | 1 | - | Single level field calculated from the cloud occurring at different model levels through the atmosphere. | |
surface_solar_radiation |
Acc | 0 | 1300 | W/m2 | Solar radiation (shortwave) that reaches a horizontal plane at the surface of the Earth. This parameter comprises both direct and diffuse solar radiation. | |
surface_thermal_radiation |
Acc | 0 | 1300 | W/m2 | Thermal radiation (longwave) emitted by the atmosphere and clouds that reaches a horizontal plane at the surface of the Earth. |
6. Air Quality Forecast (/airquality)
This is air quality data from the the System for Integrated modeLling of Atmospheric coMposition (SILAM) dataset from FMI, with 20km, hourly coverage with up to 5 days forecast.
6.1 Request
Remember to use your own
api_key
.
import requests
r = requests.get('https://api.oikolab.com/airquality',
params={'lat': 52.378,
'lon': 4.9,
'api-key': 'your_api_key_here'}
)
Parameter | Option | Type | Description | Notes |
---|---|---|---|---|
location |
optional | str | location such as city name or zipcode for geocoding lookup | |
lat |
optional | str | latitude, if location is not provided | |
lon |
optional | str | longitude, if location is not provided |
6.2 Response
coordinates (lat,lon) | CO (ug/m3) | NO (ug/m3) | NO2 (ug/m3) | O3 (ug/m3) | PM10 (ug/m3) | PM25 (ug/m3) | SO2 (ug/m3) | |
---|---|---|---|---|---|---|---|---|
2021-09-14 01:00:00 | (52.378, 4.9) | 295.115 | 0.022 | 14.861 | 21.961 | 8.218 | 3.874 | 0.570 |
2021-09-14 02:00:00 | (52.378, 4.9) | 288.835 | 0.029 | 12.772 | 20.483 | 8.810 | 4.268 | 0.576 |
2021-09-14 03:00:00 | (52.378, 4.9) | 287.830 | 0.046 | 12.211 | 19.112 | 9.951 | 5.091 | 0.631 |
2021-09-14 04:00:00 | (52.378, 4.9) | 290.830 | 0.091 | 13.076 | 17.806 | 10.778 | 5.616 | 0.749 |
2021-09-14 05:00:00 | (52.378, 4.9) | 299.165 | 0.534 | 17.906 | 13.135 | 11.863 | 6.491 | 1.079 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
2021-09-23 20:00:00 | (52.378, 4.9) | 260.200 | 0.000 | 6.960 | 61.356 | 1.358 | 1.075 | 1.182 |
2021-09-23 21:00:00 | (52.378, 4.9) | 257.680 | 0.000 | 5.817 | 65.889 | 1.929 | 1.326 | 1.180 |
2021-09-23 22:00:00 | (52.378, 4.9) | 255.795 | 0.000 | 5.797 | 65.087 | 3.310 | 1.624 | 1.290 |
2021-09-23 23:00:00 | (52.378, 4.9) | 275.437 | 0.000 | 4.160 | 65.579 | 5.624 | 2.154 | 0.953 |
2021-09-24 00:00:00 | (52.378, 4.9) | 301.400 | 0.000 | 3.201 | 68.919 | 7.656 | 2.923 | 0.944 |
6.3 Available Parameters
Parameter | Type | Min | Max | Unit | Description | Notes |
---|---|---|---|---|---|---|
CO |
Inst | 0 | 1e6 | ug/m3 | Carbon Monoxide | |
NO |
Inst | 0 | 10e3 | ug/m3 | Nitrogen Oxide | |
NO2 |
Inst | 0 | 10e3 | ug/m3 | Nitrogen Dixoide | |
O3 |
Inst | 0 | 10e3 | ug/m3 | Ozone | |
PM10 |
Inst | 0 | 10e3 | ug/m3 | Particulate Matters (PM) inhalable particles, with diameters that are generally 10 micrometers and smaller | |
PM25 |
Inst | 0 | 10e3 | ug/m3 | Particulate Matters (PM) inhalable particles, with diameters that are generally 2.5 micrometers and smaller | |
SO2 |
Inst | 0 | 10e3 | ug/m3 | Sulfur Dioxide |
5. Frequently Asked Questions
How do I download data?
Many researchers are more familiar with Excel than Python or R programming languages. We've recently added the ability to download data in CSV format which can be processed by Excel or Google Spreadsheet.
Don't see the parameters you need?
Please reach out to us at [email protected] - we'd be more than happy to help.