Skip to main content

Environmental Data

Environmental Data comprises of 15 datasets categorised into 2 data groups, namely (a) Weather and (b) Ambient Air. It is provided by National Environment Agency (NEA) as the designated agency for Single Source Of Truth (SSOT).

You can download a sample dataset from the Dataset preview section, available on DataHive. Detailed metadata including the descriptions for the data fields can be found here.

Weather​

Under the Weather Data Group, there are 13 datasets available:

Weather
1) Rainfall
2) Air Temperature
3) Relative Humidity
4) Surface Wind Speed
5) Surface Wind Direction
6) Wind Gust Speed
7) Wind Gust Direction
8) Ultraviolet Index
9) 24hr Forecast
10) 4-day Forecast
11) 2hr Nowcast
12) Earthquake Alert
13) Heavy Rain Warning

Rainfall, temperature, relative humidity and wind readings are taken from a network of automatic weather stations located across the island and are updated in near real-time. Ultraviolet Index readings are taken at hourly intervals from 7am to 7pm. All weather data is updated on Trusted Center for Sensor Data (TCS) with a 15min latency.

To learn more about the various types of weather instrumentation and measurements , visit weather.gov.sg.

Meteorological Service Singapore (MSS) provides the following local weather forecasts at different intervals:

  • 2-hour forecast for town centres
  • 24-hour forecast for the north, south, east, west and central Singapore
  • Daily 4 day outlook for Singapore in general

While alerts and warnings are provided on an adhoc basis:

  • Earthquake Alert
  • Heavy Rain Warning

Detailed explanations of the weather forecast terminology can be found at weather.gov.sg.

Ambient Air​

Under Ambient Air Data Group, there are 2 datasets available:

Ambient Air
1) Overall and Regional Pollutant Standards Index (PSI)
2) PM 2.5

Ambient Air readings for different regions in Singapore are provided on hourly basis.

For detailed explanations on pollutant standards, visit haze.gov.sg.

Verified Data Files (VDF)​

Due to the collection of weather data from remote sensor stations, there may be instances of missing readings. MSS generates a verified data file (VDF) on a daily basis with a 7-day lag for upload onto TCS. The VDF will then be merged into the respective near real-time weather dataset. VDF is available for the following datasets:

  1. Rainfall
  2. Air Temperature
  3. Relative Humidity
  4. Surface Wind Speed
  5. Surface Wind Direction
  6. Wind Gust Speed
  7. Wind Gust Direction

Datasets Update Frequency​

DatasetUpdate Frequency
RainfallEvery 5 min (For near real-time)
Air TemperatureEvery 5 min (For near real-time)
Relative HumidityEvery 5 min (For near real-time)
Surface Wind SpeedEvery 5 min (For near real-time)
Surface Wind DirectionEvery 5 min (For near real-time)
Wind Gust DirectionEvery 5 min (For near real-time)
Wind Gust SpeedEvery 5 min (For near real-time)
Overall and regional PSI (24hr PSI)Hourly
Hourly PM2.5Hourly
24hr Forecast & NowcastAd-hoc
4-day forecastAd-hoc
2-hr nowcastAd-hoc
Ultraviolet IndexEvery hour (7am to 7pm)
Regional Earthquake AlertAd-hoc
Heavy Rain WarningAd-hoc

Usage Guideline for Forecast Data​

Forecast data are not sensor-measured readings. It is derived based on meteorologists’ continual assessment and expertise in analysing information using specialised meteorological systems such as weather radars, satellites, observation networks, as well as from numerical weather prediction models. Hence, forecast data is subjected to changes, to reflect timely weather information.

FAQ​

How near real-time are the weather data updated on TCS?​

  • TCS receives weather data from NEA with a 15 mins time lag.

The RAIN_AREA_IMAGE_METADATA and SATELLITE_IMAGE_METADATA contain alphanumeric characters. How can I retrieve the images?​

  • To retrieve the images, you will need to decode the base64 encoded characters. See sample python code
import base64

encoded_string = "SGVsbG8gV29ybGQ="
decoded_bytes = base64.b64decode(encoded_string)

with open("decoded_image.jpg", "wb") as f:
f.write(decoded_bytes)

How do I interpret the RECORD_TIMESTAMP number?​

  • The timestamp is encoded in 14 characters number with the format YYYYMMDDhhmmss. For example, 20240105191500 represents 5 Jan 2024, 7:15:00 pm.

What are the meanings of the 2 letter shortcodes used in the forecast datasets?​

ShortcodeMeaning
FAFair (day, with sun)
FNFair (night, with moon)
FWFair and Warm
PC or PDPartly Cloudy (day, with sun)
PNPartly Cloudy (night, with moon)
CLCloudy
HZHazy
LHSlightly Hazy
WDWindy
FG or BRFog or Mist
LRLight Rain
MR or RAModerate Rain
HRHeavy Rain
PSPassing Showers
LSLight Showers
SHShowers
HSHeavy Showers
TL or TSThundery Showers
HTHeavy Thundery Showers
HGHeavy Thundery Showers with Gusty Winds