diff --git a/climax/core/qm.py b/climax/core/qm.py new file mode 100644 index 0000000000000000000000000000000000000000..6f7a94fc5b9f93b330ddc994d657b3af47910d28 --- /dev/null +++ b/climax/core/qm.py @@ -0,0 +1,31 @@ +"""Empirical quantile mapping for climate model bias correction.""" + +# !/usr/bin/env python +# -*- coding: utf-8 -*- + +# externals +import numpy as np +from scipy.stats.mstats import mquantiles + + +def iecdf(array, probs, **kwargs): + """Empirical quantile function, inverse cumulative distribution function. + + Parameters + ---------- + array : :py:class:`numpy.ndarray` + Data to compute empirical quantiles. + probs : `int` or :py:class:`numpy.ndarray` + Quantile or range of quantiles to compute. + **kwargs : `dict` + Additional keyword arguments passed to + :py:func:`scipy.stats.mstats.mquantiles`. + + Returns + ------- + quantiles : :py:class:`numpy.ndarray` + Empirical quantiles. + + """ + return mquantiles(array, probs, **kwargs) +