downscale {rainfarmr}R Documentation

Downscale a precipitation field

Description

Downscales an input precipitation matrix using a metagaussian spectral field f previously generated with initmetagauss(). The target resolution is defined by the dimensions of f. An optional weights array can be specified.

Usage

downscale(r, f, weights = 1, fglob = FALSE, fsmooth = TRUE)

Arguments

r

matrix of precipitation data to downscale.

f

matrix containing a complex spectrum generated by the initmetagauss() function.

weights

matrix with climatological weights generated with the rfweights() function.

fglob

logical to conserve global average over domain.

fsmooth

logical to use smoothing for conservation. If neither option is set precipitation is conserved over each coarse box.

Value

The downscaled field, with the same dimensions as f.

Author(s)

Jost von Hardenberg, j.vonhardenberg@isac.cnr.it

Examples

# Make some sample synthetic rainfall data
r <- exp(rnorm(4 * 4))
dim(r) <- c(4, 4)
r
#           [,1]      [,2]      [,3]      [,4]
# [1,] 1.8459816 1.8536550 2.1600665 1.3102116
# [2,] 1.3851011 1.4647348 0.2708219 0.4571810
# [3,] 0.2492451 0.8227134 0.4790567 1.9320403
# [4,] 0.5985922 3.3065678 2.1282795 0.6849944
# Create help field `f` with logarithmic slope 1.7
# with `dim(f) = c(8 * 4 ,8 * 4)`
f <- initmetagauss(1.7, 8 * 4)
rd <- downscale(r, f, fsmooth=FALSE) 
# Verify that downscaled data maintained original box averages
agg(rd, 4) 
#           [,1]      [,2]      [,3]      [,4]
# [1,] 1.8459816 1.8536550 2.1600665 1.3102116
# [2,] 1.3851011 1.4647348 0.2708219 0.4571810
# [3,] 0.2492451 0.8227134 0.4790567 1.9320403
# [4,] 0.5985922 3.3065678 2.1282795 0.6849944

[Package rainfarmr version 0.1 Index]