localizationFunction_mod

link to source code

Dependency Diagrams:

localizationFunction_mod.svg

Direct Dependency Diagram

localizationFunction_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE localizationFunction_mod (prefix=’lfn’ category=’2. B and R matrices’)

Purpose

To store various functions for horizontal and vertical covariance localization. Length-scale estimation for function available in this module is also possible through curve fitting using pre-computed optimal separation-distance localization values.

Quick access

Routines

lfn_createbiperfunction(), lfn_curvefit(), lfn_fifthorderfunction(), lfn_fifthorderfunctiongradient(), lfn_gradient(), lfn_lengthscale(), lfn_response(), lfn_setup()

Needed modules

  • earthconstants_mod: MODULE earthConstants_mod (prefix=’ec’ category=’8. Low-level utilities and constants’)

  • utilities_mod: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)

Variables

Subroutines and functions

subroutine  localizationfunction_mod/lfn_setup(locfunctionwanted)
Arguments

locfunctionwanted [character ,in]

Called from

bmat1d_setupbens(), bcs_setup(), applyhorizloc(), applyvertloc(), enkf_letkfanalyses(), getmodulationfactor(), lsp_setup(), calchorizlocalizationradii(), calcvertlocalizationradii(), sstb_getgriddedbias(), vms_computemodesfromfunction()

Call to

utl_abort()

function  localizationfunction_mod/lfn_response(distance, lengthscale)
Arguments
  • distance [real ,in]

  • lengthscale [real ,in]

Return

correlation [real ]

Called from

bmat1d_setupbens(), bcs_setup(), applyvertloc(), enkf_letkfanalyses(), getmodulationfactor(), lfn_createbiperfunction(), lfn_curvefit(), setuplocalizationmatrices(), setupglobalspectralhloc(), sstb_getgriddedbias(), vms_computemodesfromfunction()

Call to

utl_abort(), lfn_fifthorderfunction()

function  localizationfunction_mod/lfn_gradient(distance, lengthscale)
Arguments
  • distance [real ,in]

  • lengthscale [real ,in]

Return

gradient [real ]

Called from

lfn_curvefit()

Call to

utl_abort(), lfn_fifthorderfunctiongradient()

function  localizationfunction_mod/lfn_fifthorderfunction(distance, lengthscale)
Arguments
  • distance [real ,in]

  • lengthscale [real ,in]

Return

correlation [real ]

Called from

lfn_response()

function  localizationfunction_mod/lfn_fifthorderfunctiongradient(distance, lengthscale)
Arguments
  • distance [real ,in]

  • lengthscale [real ,in]

Return

gradient [real ]

Called from

lfn_gradient()

subroutine  localizationfunction_mod/lfn_createbiperfunction(gridpoint, correllength, dlon, ni, nj, nk)
Arguments
  • gridpoint (ni,nj,nk) [real ,out]

  • correllength (nk) [real ,in] :: in km

  • dlon [real ,in] :: in radian

  • ni [integer ,in]

  • nj [integer ,in]

  • nk [integer ,in,]

Called from

applyhorizloc(), setuplamspectralhloc()

Call to

lfn_response()

subroutine  localizationfunction_mod/lfn_lengthscale(lengthscale, rmse, localizationvalues, distance, weight, numbins)
Arguments
  • lengthscale [real ,inout] :: INOUT

  • rmse [real ,out]

  • localizationvalues (numbins) [real ,in] :: IN

  • distance (numbins) [real ,in]

  • weight (numbins) [real ,in]

  • numbins [integer ,in,]

Called from

calchorizlocalizationradii(), calcvertlocalizationradii()

Call to

lfn_curvefit()

subroutine  localizationfunction_mod/lfn_curvefit(nn, x, y, w, nmax, param, minv, ilist, ierr, ssq)
Purpose

This subroutine computes the lengthscale (sl, here: param) of a FUNCTION that best fits (in a least-square perspective) a data set. The method follows routine CURVEFIT from: Heeswijk, M.V., and C.G. Fox, 1988: Iterative Method and Fortran Code for Nonlinear Curve Fitting, Computers and Geosciences, 14, 4, pp. 489-503.

Arguments
  • nn [integer ,in,]

  • x (nn) [real ,in]

  • y (nn) [real ,in]

  • w (nn) [real ,in]

  • nmax [integer ,in]

  • param [real ,inout]

  • minv [real ,in]

  • ilist [integer ,in]

  • ierr [integer ,inout]

  • ssq [real ,out]

Called from

lfn_lengthscale()

Call to

lfn_response(), lfn_gradient()