sppt Module

For computing stochastically perturbed parametrization tendency (SPPT) patterns.

To be used as multiplicative noise applied to physical tendencies. SPPT is a parametrization of model error. See ECMWF Tech. Memo. #598 (Palmer et al. 2009).


Uses

  • module~~sppt~~UsesGraph module~sppt sppt module~params params module~sppt->module~params

Used by

  • module~~sppt~~UsedByGraph module~sppt sppt proc~get_physical_tendencies get_physical_tendencies proc~get_physical_tendencies->module~sppt

Contents


Variables

TypeVisibility AttributesNameInitial
real, public :: mu(kx) =(/1, 1, 1, 1, 1, 1, 1, 1/)

Array for tapering value of SPPT in the different layers of the atmosphere. A value of 1 means the tendency is not tapered at that level

complex, private :: sppt_spec(mx,nx,kx)

SPPT pattern in spectral space

logical, private :: first =.true.

Flag for controlling first-use behaviour

real, private, parameter:: time_decorr =6.0

Decorrelation time of SPPT perturbation (in hours)

real, private :: phi =exp(-(24/real(nsteps))/time_decorr)

Time autocorrelation of spectral AR(1) signals

real, private, parameter:: len_decorr =500000.0

Correlation length scale of SPPT perturbation (in metres)

real, private, parameter:: stddev =0.33

Standard deviation of SPPT perturbation (in grid point space)

real, private :: sigma(mx,nx,kx)

Total wavenumber-wise standard deviation of spectral signals


Functions

public function gen_sppt() result(sppt_grid)

Generate grid point space SPPT pattern distribution.

Arguments

None

Return Value real (ix,il,kx)

The generated grid point pattern

private function randn(mean, stdev)

Generates a random number drawn for the specified normal distribution.

Arguments

Type IntentOptional AttributesName
real, intent(in) :: mean

The mean of the distribution to draw from

real, intent(in) :: stdev

The standard deviation of the distribution to draw from

Return Value real

The generated random number


Subroutines

private subroutine time_seed()

Seeds RNG from system clock.

Arguments

None