- About Us
- Overview
- Global Climate Models (GCMs)
- Downscaling
- Hybrid Statistical-dynamical Downscaling
- Resulting Dataset
- Extracting Data
- Contact Us
- Disclaimer
SgCALE is a non-profit organization that uses data and science for climate action. We aim to improve scientific understanding of climate change in Southeast Asia with open data. Find out more about us here.
Welcome to SgCALE (Singapore’s Climate ArtificiaL intelligence Engine) Repository. This repository discusses the current limitations of our Global Climate Models (GCMs) and our unique approach towards climate downscaling.
Our objectives are to:
- Refine GCMs to a regional scale, enhancing their accuracy and applicability.
- Provide resources, methodologies, and scripts to advance our understanding of climate change.
Whether you are a researcher, enthusiast, or just curious about climate science, this repository offers valuable insights and tools.
GCMs are numerical models that represent the major climate systems in the atmosphere, ocean, cryosphere, and land surface. They are critical tools for scientists to understand past, present, and future climates. GCMs under Coupled Model Intercomparison Project 6 (CMIP6) have been widely used to investigate potential climate change impacts and develop strategies to address them.
GCMs contain relatively coarse spatial resolution, often in the range of 100~300 km. While this is sufficient for global analysis, it can overlook significant regional and local variations, especially in areas with complex terrains or coastlines. For instance, a GCM might not accurately capture microclimates in mountainous regions or small islands, such as Singapore.
Downscaling is employed to allow GCM outputs relevant at local to regional scales. Downscaling takes coarse-resolution GCM outputs and refines them to provide high-resolution climate projections.
This method establishes statistical relationships between the large-scale atmospheric data from GCMs and local-scale climate computations. Once these relationships are determined based on historical data, future projections then allow for predicting local future climates.
This method uses the outputs from GCMs as boundary conditions for regional climate models (RCMs) with much higher spatial resolution. RCMs, like GCMs, are based on the physical equations governing atmospheric flow but focus on a specific region. The advantage is that they can capture regional and local processes more accurately. However, they also inherit biases from the parent GCM and might introduce further biases.
Drawing inspiration from the methods of Xu et al. (2021), we integrated both statistical and dynamical downscaling techniques to enhance the precision of our resulting dataset.
-
Establish a bias-corrected and downscaled dataset based on 14 CMIP6 GCMs and the European Centre for Medium-Range Weather Forecasts Reanalysis 5 (ERA5) dataset.
-
Adjusted the bias-corrected dataset to align with climate patterns of ERA5 and integrated non-linear trends observed from the 14 CMIP6 models.
-
The resulting dataset spans a historical period of 1979–2014 and future scenarios (SSP585) of 2015–2100, with a temporal scale of six-hour.
High Data Resolutions
- Southeast Asia at 12.5km resolution
- Southern Malay Peninsula at 2.5km resolution
- Singapore at 500m resolution
Enhanced Accuracy
- Better ability to reproduce regional climate extremes and spatial patterns than existing dynamical scaling work (e.g., CORDEX) in Southeast Asia.
Features of the resulting open-source and high-resolution dataset:
-
Output files are in daily netCDF format with equal area projection at three domains (12.5km: Southeast Asia; 2.5km: Southern Malay Peninsula; 500m: Singapore).
-
Variables include temperature, precipitation, wind speed, relative humidity, and solar radiation.
-
Each daily file has eight timesteps (0, 3, 6, 9, 12, 15, 18, 21; or 3, 6, 9, 12, 15, 18, 21, 0).
- Due to occasional restarts, one or more files may contain names of the same day.
- Seven timesteps in the last *_00:00:00 file are the same as the first *_03:00:00 file.
- We can merge the first timestep of our target *_00:00:00 file with the first seven timesteps of the *_03:00:00 file using Xarray.
The following Python (v3.8) script can be used to extract the resulting dataset from the Network Attached Storage (NAS) to your local machine.
import xarray as xr #v2022.3.0
import salem
import datetime
# Extract WRF variables from NAS; ensure the NAS is mounted.
# Download the code to your local machine and run in a local directory.
for yr in range(1981,2020):
print(yr)
dirwrf='/mnt/y/WRF_3domain_fERA5/d02/'+str(yr)+'/'
ds=xr.open_mfdataset(dirwrf+'wrfout_d02_*',concat_dim='Time',combine='nested')
# odir is the local dir for saving out data, './' means present folder
odir='./'
# RAINNC is the var name, you can change this to your requirement;
# the whole output vars is in wrfout.vars_list.txt
ds.RAINNC.to_netcdf(odir+'RAINNC.'+str(yr)+'.nc')
# you can also use salem.deacc to de-accumulate the variables(RAINC RAINNC)
# df=ds.RAINNC.salem.deacc(as_rate=False)
# df.to_netcdf(odir+'RAINNC.'+str(yr)+'.nc')
time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(time)
If you have any questions, comments, or suggestions that aren't suitable for public discussions in the Issues section, please feel free to reach out to Xiaogang He.
Please use the GitHub Issues for public discussions related to bugs, enhancements, or other project-related discussions.
The information provided in this repository is for general informational purposes only. While we strive for accuracy, we make no guarantees regarding the completeness, reliability, or accuracy of the content. Any reliance on this information is strictly at the user's own risk. We are not responsible for any decisions made based on the data here nor for the content or practices of any external links provided. It's recommended to cross-reference with other sources and consult professionals before making any decisions.