pyPDAF.UserFunc¶
- pyPDAF.UserFunc.py__add_obs_err_pdaf(step, dim_obs_p, c_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_p (int) – dimension of observation vector
c_p (ndarray[float]) – matrix to that observation covariance r is added; Dimension: dim_obs_p,dim_obs_p
- Returns:
c_p – matrix to that observation covariance r is added; Dimension: dim_obs_p,dim_obs_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__collect_state_pdaf(dim_p, state_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
dim_p (int) – pe-local state dimension
state_p (ndarray[float]) – local state vector; Dimension: dim_p
- Returns:
state_p – local state vector; Dimension: dim_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__cvt_adj_ens_pdaf(iter, dim_p, dim_ens, dim_cv_ens_p, ens_p, vcv_p, cv_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
iter (int) – iteration of optimization
dim_p (int) – pe-local observation dimension
dim_ens (int) – ensemble size
dim_cv_ens_p (int) – pe-local dimension of control vector
ens_p (ndarray[float]) – pe-local ensemble; Dimension: dim_p,dim_ens
vcv_p (ndarray[float]) – pe-local input vector; Dimension: dim_p
cv_p (ndarray[float]) – pe-local result vector; Dimension: dim_cv_ens_p
- Returns:
cv_p – pe-local result vector; Dimension: dim_cv_ens_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__cvt_adj_pdaf(iter, dim_p, dim_cvec, vcv_p, cv_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
iter (int) – iteration of optimization
dim_p (int) – pe-local observation dimension
dim_cvec (int) – dimension of control vector
vcv_p (ndarray[float]) – pe-local result vector (state vector increment); Dimension: dim_p
cv_p (ndarray[float]) – pe-local control vector; Dimension: dim_cvec
- Returns:
cv_p – pe-local control vector; Dimension: dim_cvec
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__cvt_ens_pdaf(iter, dim_p, dim_ens, dim_cvec_ens, ens_p, v_p, vv_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
iter (int) – iteration of optimization
dim_p (int) – pe-local dimension of state
dim_ens (int) – ensemble size
dim_cvec_ens (int) – dimension of control vector
ens_p (ndarray[float]) – pe-local ensemble; Dimension: dim_p,dim_ens
v_p (ndarray[float]) – pe-local control vector; Dimension: dim_cvec_ens
vv_p (ndarray[float]) – pe-local state increment; Dimension: dim_p
- Returns:
vv_p – pe-local state increment; Dimension: dim_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__cvt_pdaf(iter, dim_p, dim_cvec, cv_p, vv_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
iter (int) – iteration of optimization
dim_p (int) – pe-local observation dimension
dim_cvec (int) – dimension of control vector
cv_p (ndarray[float]) – pe-local control vector; Dimension: dim_cvec
vv_p (ndarray[float]) – pe-local result vector (state vector increment); Dimension: dim_p
- Returns:
vv_p – pe-local result vector (state vector increment); Dimension: dim_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__dist_stateinc_pdaf(dim_p, state_inc_p, first, steps)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
dim_p (int) – dimension of pe-local state
state_inc_p (ndarray[float]) – pe-local state vector; Dimension: dim_p
first (int) – flag for first call of each forecast
steps (int) – number of time steps in forecast
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__distribute_state_pdaf(dim_p, state_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
dim_p (int)
state_p (ndarray[float]) – ; Dimension: dim_p
- Returns:
state_p – ; Dimension: dim_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__g2l_obs_pdaf(domain_p, step, dim_obs_f, dim_obs_l, mstate_f, dim_p, mstate_l, dim_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_f (int) – size of full observation vector for model sub-domain
dim_obs_l (int) – size of observation vector for local analysis domain
mstate_f (ndarray[int]) – full observation vector for model sub-domain; Dimension: dim_p
dim_p (int) – size of full observation vector for model sub-domain
mstate_l (ndarray[int]) – observation vector for local analysis domain; Dimension: dim_l
dim_l (int) – size of observation vector for local analysis domain
- Returns:
mstate_l – observation vector for local analysis domain; Dimension: dim_l
- Return type:
ndarray[int]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__g2l_state_pdaf(step, domain_p, dim_p, state_p, dim_l, state_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
domain_p (int) – current local analysis domain
dim_p (int) – pe-local full state dimension
state_p (ndarray[float]) – pe-local full state vector; Dimension: dim_p
dim_l (int) – local state dimension
state_l (ndarray[float]) – state vector on local analysis domain; Dimension: dim_l
- Returns:
state_l – state vector on local analysis domain; Dimension: dim_l
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__get_obs_f_pdaf(step, dim_obs_f, observation_f)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_f (int) – size of the full observation vector
observation_f (ndarray[float]) – full vector of synthetic observations (process-local); Dimension: dim_obs_f
- Returns:
observation_f – full vector of synthetic observations (process-local); Dimension: dim_obs_f
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_dim_l_pdaf(step, domain_p, dim_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
domain_p (int) – current local analysis domain
dim_l (int) – local state dimension
- Returns:
dim_l – local state dimension
- Return type:
int
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_dim_obs_f_pdaf(step, dim_obs_f)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_f (int) – size of the full observation vector
- Returns:
dim_obs_f – size of the full observation vector
- Return type:
int
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_dim_obs_l_pdaf(domain_p, step, dim_obs_f, dim_obs_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_f (int) – full dimension of observation vector
dim_obs_l (int) – local dimension of observation vector
- Returns:
dim_obs_l – local dimension of observation vector
- Return type:
int
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_dim_obs_pdaf(step, dim_obs_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_p (int) – dimension of observation vector
- Returns:
dim_obs_p – dimension of observation vector
- Return type:
int
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_ens_pdaf(filtertype, dim_p, dim_ens, state_p, uinv, ens_p, flag)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
filtertype (int) – type of filter to initialize
dim_p (int) – pe-local state dimension
dim_ens (int) – size of ensemble
state_p (ndarray[float]) – pe-local model state; Dimension: dim_p
uinv (ndarray[float]) – array not referenced for ensemble filters; Dimension: dim_ens-1,dim_ens-1
ens_p (ndarray[float]) – pe-local state ensemble; Dimension: dim_p,dim_ens
flag (int) – pdaf status flag
- Returns:
state_p (ndarray[float]) – pe-local model state; Dimension: dim_p
uinv (ndarray[float]) – array not referenced for ensemble filters; Dimension: dim_ens-1,dim_ens-1
ens_p (ndarray[float]) – pe-local state ensemble; Dimension: dim_p,dim_ens
flag (int) – pdaf status flag
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_n_domains_p_pdaf(step, n_domains_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
n_domains_p (int) – pe-local number of analysis domains
- Returns:
n_domains_p – pe-local number of analysis domains
- Return type:
int
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obs_covar_pdaf(step, dim_obs, dim_obs_p, covar, obs_p, isdiag)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs (int) – global size of observation vector
dim_obs_p (int) – size of process-local observation vector
covar (float) – observation error covariance matrix
obs_p (ndarray[float]) – process-local vector of observations; Dimension: dim_obs_p
isdiag (bool)
- Returns:
covar (float) – observation error covariance matrix
isdiag (bool)
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obs_f_pdaf(step, dim_obs_f, observation_f)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_f (int) – size of the full observation vector
observation_f (ndarray[float]) – full vector of observations; Dimension: dim_obs_f
- Returns:
observation_f – full vector of observations; Dimension: dim_obs_f
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obs_l_pdaf(domain_p, step, dim_obs_l, observation_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_l (int) – local size of the observation vector
observation_l (ndarray[float]) – local vector of observations; Dimension: dim_obs_l
- Returns:
observation_l – local vector of observations; Dimension: dim_obs_l
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obs_pdaf(step, dim_obs_p, observation_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_p (int) – size of the observation vector
observation_p (ndarray[float]) – vector of observations; Dimension: dim_obs_p
- Returns:
observation_p – vector of observations; Dimension: dim_obs_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obserr_f_pdaf(step, dim_obs_f, obs_f, obserr_f)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_f (int) – full dimension of observation vector
obs_f (ndarray[float]) – full observation vector; Dimension: dim_obs_f
obserr_f (ndarray[float]) – full observation error stddev; Dimension: dim_obs_f
- Returns:
obserr_f – full observation error stddev; Dimension: dim_obs_f
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obsvar_l_pdaf(domain_p, step, dim_obs_l, obs_l, dim_obs_p, meanvar_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_l (int) – local dimension of observation vector
obs_l (ndarray[float]) – local observation vector; Dimension: dim_obs_p
dim_obs_p (int) – dimension of local observation vector
meanvar_l (float) – mean local observation error variance
- Returns:
meanvar_l – mean local observation error variance
- Return type:
float
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__init_obsvar_pdaf(step, dim_obs_p, obs_p, meanvar)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_p (int) – size of observation vector
obs_p (ndarray[float]) – vector of observations; Dimension: dim_obs_p
meanvar (float) – mean observation error variance
- Returns:
meanvar – mean observation error variance
- Return type:
float
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__l2g_state_pdaf(step, domain_p, dim_l, state_l, dim_p, state_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
domain_p (int) – current local analysis domain
dim_l (int) – local state dimension
state_l (ndarray[float]) – state vector on local analysis domain; Dimension: dim_l
dim_p (int) – pe-local full state dimension
state_p (ndarray[float]) – pe-local full state vector; Dimension: dim_p
- Returns:
state_p – pe-local full state vector; Dimension: dim_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__likelihood_hyb_l_pdaf(domain_p, step, dim_obs_l, rank, obs_l, gamma, a_l, c_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_l (int) – number of local observations at current time step (i.e. the size of the local observation vector)
rank (int) – number of the columns in the matrix processes here. this is usually the ensemble size minus one (or the rank of the initial covariance matrix)
obs_l (ndarray[float]) – local vector of observations; Dimension: dim_obs_l
gamma (float) – hybrid weight provided by pdaf
a_l (ndarray[float]) – input matrix provided by pdaf; Dimension: dim_obs_l,rank
c_l (ndarray[float]) – output matrix; Dimension: dim_obs_l,rank
- Returns:
c_l – output matrix; Dimension: dim_obs_l,rank
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__likelihood_l_pdaf(domain_p, step, dim_obs_l, obs_l, resid_l, likely_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_l (int) – number of local observations at current time step (i.e. the size of the local observation vector)
obs_l (ndarray[float]) – local vector of observations; Dimension: dim_obs_l
resid_l (ndarray[float]) – nput vector holding the local residual; Dimension: dim_obs_l
likely_l (float) – output value of the local likelihood
- Returns:
likely_l – output value of the local likelihood
- Return type:
float
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__likelihood_pdaf(step, dim_obs_p, obs_p, resid, likely)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_p (int) – number of observations at current time step (i.e. the size of the observation vector)
obs_p (ndarray[float]) – vector of observations; Dimension: dim_obs_p
resid (ndarray[float]) – input vector holding the residual; Dimension: dim_obs_p
likely (float) – output value of the likelihood
- Returns:
likely – output value of the likelihood
- Return type:
float
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__localize_covar_pdaf(dim_p, dim_obs, hp_p, hph)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
dim_p (int) – pe-local state dimension
dim_obs (int) – number of observations
hp_p (ndarray[float]) – pe local part of matrix hp; Dimension: dim_obs,dim_p
hph (ndarray[float]) – matrix hph; Dimension: dim_obs,dim_obs
- Returns:
hp_p (ndarray[float]) – pe local part of matrix hp; Dimension: dim_obs,dim_p
hph (ndarray[float]) – matrix hph; Dimension: dim_obs,dim_obs
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__next_observation_pdaf(stepnow, nsteps, doexit, time)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
stepnow (int) – number of the current time step
nsteps (int) – number of time steps until next obs
doexit (int) – whether to exit forecasting (1 for exit)
time (float) – current model (physical) time
- Returns:
nsteps (int) – number of time steps until next obs
doexit (int) – whether to exit forecasting (1 for exit)
time (float) – current model (physical) time
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__obs_op_adj_pdaf(step, dim_p, dim_obs_p, state_p, m_state_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_p (int) – pe-local dimension of state
dim_obs_p (int) – dimension of observed state
state_p (ndarray[float]) – pe-local model state; Dimension: dim_p
m_state_p (ndarray[float]) – pe-local observed state; Dimension: dim_obs_p
- Returns:
state_p – pe-local model state; Dimension: dim_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__obs_op_f_pdaf(step, dim_p, dim_obs_f, state_p, m_state_f)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_p (int) – size of state vector (local part in case of parallel decomposed state)
dim_obs_f (int) – size of full observation vector
state_p (ndarray[float]) – model state vector; Dimension: dim_p
m_state_f (ndarray[float]) – full observed state (i.e. the result after applying the observation operator to state_p); Dimension: dim_obs_f
- Returns:
m_state_f – full observed state (i.e. the result after applying the observation operator to state_p); Dimension: dim_obs_f
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__obs_op_lin_pdaf(step, dim_p, dim_obs_p, state_p, m_state_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_p (int) – pe-local dimension of state
dim_obs_p (int) – dimension of observed state
state_p (ndarray[float]) – pe-local model state; Dimension: dim_p
m_state_p (ndarray[float]) – pe-local observed state; Dimension: dim_obs_p
- Returns:
m_state_p – pe-local observed state; Dimension: dim_obs_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__obs_op_pdaf(step, dim_p, dim_obs_p, state_p, m_state_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_p (int) – size of state vector (local part in case of parallel decomposed state)
dim_obs_p (int) – size of observation vector
state_p (ndarray[float]) – model state vector; Dimension: dim_p
m_state_p (ndarray[float]) – observed state vector (i.e. the result after applying the observation operator to state_p); Dimension: dim_obs_p
- Returns:
m_state_p – observed state vector (i.e. the result after applying the observation operator to state_p); Dimension: dim_obs_p
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__prepoststep_pdaf(step, dim_p, dim_ens, dim_ens_p, dim_obs_p, state_p, uinv, ens_p, flag)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step (negative for call after forecast)
dim_p (int) – pe-local state dimension
dim_ens (int) – size of state ensemble
dim_ens_p (int) – pe-local size of ensemble
dim_obs_p (int) – pe-local dimension of observation vector
state_p (ndarray[float]) – pe-local forecast/analysis state(the array ‘state_p’ is not generally notinitialized in the case of seik.it can be used freely here.); Dimension: dim_p
uinv (ndarray[float]) – inverse of matrix u; Dimension: dim_ens-1,dim_ens-1
ens_p (ndarray[float]) – pe-local state ensemble; Dimension: dim_p,dim_ens
flag (int) – pdaf status flag
- Returns:
state_p (ndarray[float]) – pe-local forecast/analysis state(the array ‘state_p’ is not generally notinitialized in the case of seik.it can be used freely here.); Dimension: dim_p
uinv (ndarray[float]) – inverse of matrix u; Dimension: dim_ens-1,dim_ens-1
ens_p (ndarray[float]) – pe-local state ensemble; Dimension: dim_p,dim_ens
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__prodrinva_hyb_l_pdaf(domain_p, step, dim_obs_l, obs_l, resid_l, gamma, likely_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_l (int) – number of local observations at current time step (i.e. the size of the local observation vector)
obs_l (ndarray[float]) – local vector of observations; Dimension: dim_obs_l
resid_l (ndarray[float]) – input vector holding the local residual; Dimension: dim_obs_l
gamma (float) – hybrid weight provided by pdaf
likely_l (float) – output value of the local likelihood
- Returns:
likely_l – output value of the local likelihood
- Return type:
float
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__prodrinva_l_pdaf(domain_p, step, dim_obs_l, rank, obs_l, a_l, c_l)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
domain_p (int) – index of current local analysis domain
step (int) – current time step
dim_obs_l (int) – number of local observations at current time step (i.e. the size of the local observation vector)
rank (int) – number of the columns in the matrix processes here.this is usually the ensemble size minus one (or the rank of the initial covariance matrix)
obs_l (ndarray[float]) – local vector of observations; Dimension: dim_obs_l
a_l (ndarray[float]) – input matrix provided by pdaf; Dimension: dim_obs_l,rank
c_l (ndarray[float]) – output matrix; Dimension: dim_obs_l,rank
- Returns:
c_l – output matrix; Dimension: dim_obs_l,rank
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function
- pyPDAF.UserFunc.py__prodrinva_pdaf(step, dim_obs_p, rank, obs_p, a_p, c_p)¶
See detailed explanation of the routine in https://pdaf.awi.de/trac/wiki/
- Parameters:
step (int) – current time step
dim_obs_p (int) – number of observations at current time step (i.e. the size of the observation vector)
rank (int) – number of the columns in the matrix processes here.this is usually the ensemble size minus one(or the rank of the initial covariance matrix)
obs_p (ndarray[float]) – vector of observations; Dimension: dim_obs_p
a_p (ndarray[float]) – input matrix provided by pdaf; Dimension: dim_obs_p,rank
c_p (ndarray[float]) – output matrix; Dimension: dim_obs_p,rank
- Returns:
c_p – output matrix; Dimension: dim_obs_p,rank
- Return type:
ndarray[float]
- Raises:
RuntimeError – No user-supplied function