24.12.2013 Views

wradlib Documentation - Bitbucket

wradlib Documentation - Bitbucket

wradlib Documentation - Bitbucket

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>wradlib</strong> <strong>Documentation</strong>, Release 0.1.1<br />

For internal use from AdjustBase.xvalidate only (defaults to None)<br />

ix : (INTERNAL) array of integers<br />

For internal use from AdjustBase.xvalidate only (defaults to None)<br />

<strong>wradlib</strong>.adjust.AdjustAdd.xvalidate<br />

AdjustAdd.xvalidate(obs, raw)<br />

Leave-One-Out Cross Validation, applicable to all gage adjustment classes.<br />

This method will be inherited to other Adjust classes. It should thus be applicable to all adjustment procedures<br />

without any modification. This way, the actual adjustment procedure has only to be defined once in the __call__<br />

method.<br />

The output of this method can be evaluated by using the verify.ErrorMetrics class.<br />

Parameters obs : array of floats<br />

raw : array of floats<br />

Returns obs : array of floats<br />

valid observations at those locations which have a valid radar observation<br />

estatobs : array of floats<br />

estimated values at the valid observation locations<br />

<strong>wradlib</strong>.adjust.AdjustMixed<br />

class <strong>wradlib</strong>.adjust.AdjustMixed(obs_coords, raw_coords, nnear_raws=9, stat=’median’, mingages=5,<br />

minval=0.0, Ipclass=, **ipargs)<br />

Gage adjustment using a mixed error model (additive and multiplicative).<br />

The mixed error model assumes that you have both a multiplicative and an additive error term. The intention<br />

is to overcome the drawbacks of the purely additive and multiplicative approaches (see AdjustAdd and Adjust-<br />

Multiply). The formal reprentation of the error model according to [Pfaff2010] is:<br />

R(gage) = R(radar) * (1+delta) + epsilon<br />

delta and epsilon have to be assumed to be independent and normally distributed. The present implementation is<br />

based on a Least Squares estimation of delta and epsilon for each rain gage location. delta and epsilon are then<br />

interpolated and used to correct the radar rainfall field. The least squares implementation uses the equation for<br />

the error model plus the condition to minimize (delta**2 + epsilon**2) for each gage location. The idea behind<br />

this is that epsilon dominates the adjustment for small deviations between radar and gage while delta dominates<br />

in case of large deviations.<br />

Usage: First, an instance of AdjustMMixed has to be created. Calling this instance then does the actual adjustment.<br />

The motivation behind this is performance. In case the observation points are always the same for<br />

different time steps, the computation of neighbours and invserse distance weights only needs to be performed<br />

once during initialisation.<br />

AdjustMixed automatically takes care of invalid gage or radar observations (e.g. NaN, Inf or other typical missing<br />

data flags such as -9999. However, in case e.g. the observation data contain missing values, the computation<br />

of the inverse distance weights needs to be repeated in __call__ which is at the expense of performance.<br />

Parameters obs_coords : array of float<br />

coordinate pairs of observations points<br />

3.13. Gage adjustment 75

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!