Skip to main content

Sub-Daily Multivariate Bias Correction (SDMBC)

Project description

SDMBC

SDMBC is an open-source Python pacakge for correcting the full atmospheric fields as well as sea surface temperature of global climate model (GCM) datasets prior to dynamical downscaling.


Table of contents

  1. Acknowledgements
  2. Background to SDMBC package
  3. Installation
  4. Input data
  5. Output data
  6. Tutorial
  7. Get in touch

1. Acknowledgements

RETURN TO TOP

  • SDMBC refers to Sub-Daily Multivariate Bias Correction and was developed by Youngil Kim. The theoretical support for this project was provided by Jason Evans and Ashish Sharma.

  • The design of SDMBC was influenced by Multivariate Bias Correction (MBC) R pakcage, which adjusts for the biases in inter-variable relationships of climate model outputs across multiple time scales.

  • We acknowledge funding from the UNSW Scientia PhD Scholarship Scheme, the ARC Centre of Excellence for Climate Extremes (CE170100023), and the Australian Government under the National Environmental Science Program. This research was undertaken with the assistance of resources from the National Computational Infrastructure (NCI Australia), an NCRIS enabled capability supported by the Australian Government.


2. Background to SDMBC package

RETURN TO TOP

Various bias correction techniques have been used to correct RCM input boundary conditions, ranging from simple scaling to more complex approaches that mimic observed multi-scale relationships in simulations. Studies have shown that increasingly sophisticated techniques that correct auto- and cross-dependence attributes can significantly improve rainfall characteristics, particularly for variability and extremes. Multivariate bias correction of RCM input boundary conditions has also been demonstrated to better represent compound events, which can be defined as a combination of extremes and hazards. However, while correcting the physical relationships between variables is important to reduce errors in simulated extreme events, daily and longer-term bias correction may impact the simulation of sub-daily rainfall, assuming that diurnal patterns are adequately modeled by the global climate model (GCM).

Therefore, a novel approach that corrects multivariate relationships between variables at a sub-daily time scale was developed. RCM simulations with sub-daily multivariate bias-corrected boundary conditions demonstrated improved performance particularly for extreme events. However, the bias correction process requires complex mathematical formulations and large matrices, making it challenging for users to apply the method. None of studies have developed software to support this process.

To address this issue, we developed the first software package for sub-daily multivariate bias correction, called Sub-Daily Multivariate Bias Correction (SDMBC) for Dynamical Downscaling, in the Python environment. The approach has been proposed by (Kim 2023, under review), and is generally more effective at representing the range of diurnal rainfall magnitude compared to multivariate bias correction and corrects the full atmospheric fields and sea surface temperature of GCM datasets prior to dynamical downscaling.

This software package simplifies the implementation of the bias correction process.


3. Installation

RETURN TO TOP

The following sections describe the software requirements and the process of installing SDMBC.

3.1 Software requirements (prerequisite):


3.2 Download

There are several options to donwload this package to your computer.

  1. Download and extract this file to your computer. This will create a directory named "sdmbc".

  2. Install SDMBC directly from GitHub

pip install https://github.com/young-ccrc/sdmbc/archive/refs/heads/master.zip
  1. Install SDMBC from PYPI
pip install sdmbc
  1. Clone SDMBC git repository and install
git clone https://github.com/young-ccrc/sdmbc.git

Then,

python setup.py install
  • Recommend to install this package under new python or conda environment.

To create and activate new conda environment,

conda create -n sdmbc python=3.10
conda activate sdmbc

4. Input data

RETURN TO TOP

Users need to modify the 'user_input.py' file, which contains input data information and bias correction options. The input files include global climate model (GCM) data that needs to be bias-corrected and reanalysis data used as observations. It should be noted that the reanalysis data must be properly interpolated to match the GCM resolutions before being used as inputs.

To conduct bias correction, a simluation period of a minimum of 31 years is recommended to correct climatological statistics, considering a 1-year spin-up period for RCM simulations.

Following files must be in the same folder.

  • user_input.py
  • main_biascorrection.exe
  • Input files
    • 3d.gcm.%level%.input.nc: three-dimensional atmospheric variables of GCM, including specific humidity (q), temperature (t), and zonal and meridional wind components (u and v)
    • 3d.obs.%level%.input.nc: three-dimensional atmospheric variables of observation, including specific humidity (q), temperature (t), zonal and meridional wind components (u and v)
    • sfc.gcm.input.nc: two-dimensional surface variable of GCM, including sea surface temperatrue (sst)
    • sfc.obs.input.nc: two-dimensional surface variable of observation, including sea surface temperatrue (sst)

5. Output data

RETURN TO TOP

This package provides two types of bias-corrected outputs: three-dimensional atmospheric variables at each vertical level and sea surface temperature. If bias correction performed correctly, the package generates key statistics of the outputs within the selected domain.

These results provide an evaluation of model performance at different time scales, including climatological mean, standard deviation, lag1 auto-correlation, cross-correlation, mean absolute bias of sea surface temperature, and distribution at a sub-daily time scale.

  • Output files
    • 3d.bcd.%level%.output.nc: bias-corrected specific humidity (q), temperature (t), and zonal and meridional wind components (u and v)
    • sfc.bcd.output.nc: bias-corrected sea surface temperatrue (sst)

Once SDMBC has been applied to all vertical levels, the resulting outputs can be reformatted according to the CMIP6 global attribute description. If users set the reformat option to 1 in 'user_input.py', the package will automatically generate bias-corrected GCM datasets that have the same format as the original data.


6. Totorial

RETURN TO TOP

Jupyter Notebook example, how to run this packge, can be found in example folder.


7. Get in touch

RETURN TO TOP

The authors welcome any contributions to code development going forward. youngil.kim@student.unsw.edu.au


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sdmbc-0.1.1.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

sdmbc-0.1.1-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

Details for the file sdmbc-0.1.1.tar.gz.

File metadata

  • Download URL: sdmbc-0.1.1.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for sdmbc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 db1f0e35330d24a255e5c837ac767d6cf61fe8583252b9cfb978b4b7d7e33657
MD5 2ed41b22c2dc6e8edaef119d5dce2c66
BLAKE2b-256 cf2acb0b722b235ca7865e98c8592589ce391b1433f420661547e28e7598a4b6

See more details on using hashes here.

File details

Details for the file sdmbc-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sdmbc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for sdmbc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3962c2be82289ad4009e144f233229b0a0051591299a19f26878841552fdc025
MD5 de004bf1c5ce5ea24641ec3f3994b536
BLAKE2b-256 d4c84068c62af6a4fe8b0e0d908571f98afe8a05c3ea683896830fc7a763f625

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page