A wrapper around 'PDAF'
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | stderr | = | error_unit | ||
integer, | private | :: | stdout | = | output_unit | ||
integer, | private | :: | verbosity | = | info | ||
integer, | public, | pointer, contiguous | :: | iobs(:) | => | null() | map observations to state |
real(kind=real64), | public, | pointer, contiguous | :: | obs(:) | => | null() | observation vector |
integer, | private | :: | filtertype | = | 6 | PDAF filter selection |
|
integer, | private | :: | subtype | = | 0 | PDAF subtype selection |
|
real(kind=real64), | private | :: | timenow | ||||
integer, | private | :: | doexit | ||||
integer, | private | :: | steps | ||||
real(kind=real64), | private | :: | rms_obs | = | 0.05 | Observation error standard deviation !KB shall be replaced |
|
procedure(cvt_callback_interface), | public, | pointer, save | :: | pcvt_callback | => | null() | user implemented routine (in Python) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=C_INT), | intent(in), | VALUE | :: | cb_type | ||
integer(kind=C_INT), | intent(in), | VALUE | :: | iter | < Iteration of optimization |
|
integer(kind=C_INT), | intent(in), | VALUE | :: | dim_p | < PE-local observation dimension |
|
integer(kind=C_INT), | intent(in), | VALUE | :: | dim_cvec | < Dimension of control vector |
|
integer(kind=C_INT), | intent(in), | VALUE | :: | dim_cvec_ens | < Dimension of control vector |
|
type(C_PTR), | intent(in), | VALUE | :: | ens_p | < PE-local ensemble |
|
type(C_PTR), | intent(in), | VALUE | :: | v_p | < PE-local control vector |
|
type(C_PTR), | intent(in), | VALUE | :: | Vv_p | < PE-local result vector |
Initialize various variable and call PDAF_init()
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in), | value | :: | EAT_COMM_filter | ||
integer, | intent(in), | value | :: | state_size | ||
integer, | intent(in), | value | :: | ensemble_size | ||
real(kind=real64), | pointer, contiguous | :: | model_states(:,:) | |||
integer, | intent(out) | :: | stat |
local variables
Cleanup and finalize the EAT/PDAF component
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | filtertype | Type of filter to initialize |
||
integer, | intent(in) | :: | dim_p | PE-local state dimension |
||
integer, | intent(in) | :: | dim_ens | Size of ensemble |
||
real(kind=REAL64), | intent(inout) | :: | state_p(dim_p) | PE-local model state |
||
real(kind=REAL64), | intent(inout) | :: | Uinv(dim_ens-1,dim_ens-1) | Array not referenced for SEIK |
||
real(kind=REAL64), | intent(out) | :: | ens_p(dim_p,dim_ens) | PE-local state ensemble |
||
integer, | intent(inout) | :: | flag | PDAF status flag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | dim_p | |||
integer, | intent(inout) | :: | state_p(dim_p) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | dim_p | |||
integer, | intent(inout) | :: | state_p(dim_p) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Current time step |
||
integer, | intent(out) | :: | dim_obs_p | Dimension of observation vector |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Currrent time step |
||
integer, | intent(in) | :: | dim_p | PE-local dimension of state |
||
integer, | intent(in) | :: | dim_obs_p | Dimension of observed state |
||
real(kind=REAL64), | intent(in) | :: | state_p(dim_p) | PE-local model state |
||
real(kind=REAL64), | intent(out) | :: | m_state_p(dim_obs_p) | PE-local observed state |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Current time step |
||
integer, | intent(in) | :: | dim_obs_f | Dimension of full observation vector |
||
real(kind=REAL64), | intent(out) | :: | observation_f(dim_obs_f) | Full observation vector |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Current time step (not relevant for offline mode) |
||
integer, | intent(in) | :: | dim_p | PE-local state dimension |
||
integer, | intent(in) | :: | dim_ens | Size of state ensemble |
||
integer, | intent(in) | :: | dim_ens_p | PE-local size of ensemble |
||
integer, | intent(in) | :: | dim_obs_p | PE-local dimension of observation vector |
||
real(kind=REAL64), | intent(inout) | :: | state_p(dim_p) | PE-local forecast/analysis state |
||
real(kind=REAL64), | intent(inout) | :: | Uinv(dim_ens-1,dim_ens-1) | Inverse of matrix U |
||
real(kind=REAL64), | intent(inout) | :: | ens_p(dim_p,dim_ens) | PE-local state ensemble |
||
integer, | intent(in) | :: | flag | PDAF status flag local variables |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Current time step |
||
integer, | intent(in) | :: | dim_obs_p | PE-local dimension of observation vector |
||
real(kind=REAL64), | intent(in) | :: | obs_p(dim_obs_p) | PE-local observation vector |
||
real(kind=REAL64), | intent(out) | :: | meanvar | Mean observation error variance |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | stepnow | Number of the current time step |
||
integer, | intent(out) | :: | nsteps | Number of time steps until next obs |
||
integer, | intent(out) | :: | doexit | Whether to exit forecasting (1 for exit) |
||
real(kind=REAL64), | intent(out) | :: | time | Current model (physical) time |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Current time step |
||
integer, | intent(in) | :: | dim_obs_p | PE-local dimension of obs. vector |
||
integer, | intent(in) | :: | rank | Rank of initial covariance matrix |
||
real(kind=REAL64), | intent(in) | :: | obs_p(dim_obs_p) | PE-local vector of observations |
||
real(kind=REAL64), | intent(in) | :: | A_p(dim_obs_p,rank) | Input matrix from SEEK_ANALYSIS |
||
real(kind=REAL64), | intent(out) | :: | C_p(dim_obs_p,rank) | Output matrix local variables |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iter | < Iteration of optimization |
||
integer, | intent(in) | :: | dim_p | < PE-local observation dimension |
||
integer, | intent(in) | :: | dim_cvec | < Dimension of control vector |
||
real, | intent(in), | TARGET | :: | v_p(dim_cvec) | < PE-local control vector |
|
real, | intent(inout), | TARGET | :: | Vv_p(dim_p) | < PE-local result vector |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iter | < Iteration of optimization |
||
integer, | intent(in) | :: | dim_p | < PE-local observation dimension |
||
integer, | intent(in) | :: | dim_cvec | < Dimension of control vector |
||
real, | intent(in), | TARGET | :: | Vv_p(dim_p) | < PE-local input vector |
|
real, | intent(inout), | TARGET | :: | v_p(dim_cvec) | < PE-local result vector |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iter | < Iteration of optimization |
||
integer, | intent(in) | :: | dim_p | < PE-local dimension of state |
||
integer, | intent(in) | :: | dim_ens | < Ensemble size |
||
integer, | intent(in) | :: | dim_cvec_ens | < Dimension of control vector |
||
real, | intent(in), | TARGET | :: | ens_p(dim_p,dim_ens) | < PE-local ensemble |
|
real, | intent(in), | TARGET | :: | v_p(dim_cvec_ens) | < PE-local control vector |
|
real, | intent(inout), | TARGET | :: | Vv_p(dim_p) | < PE-local state increment |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iter | < Iteration of optimization |
||
integer, | intent(in) | :: | dim_p | < PE-local dimension of state |
||
integer, | intent(in) | :: | dim_ens | < Ensemble size |
||
integer, | intent(in) | :: | dim_cvec_ens | < Number of columns in HV_p |
||
real, | intent(in), | TARGET | :: | ens_p(dim_p,dim_ens) | < PE-local ensemble |
|
real, | intent(in), | TARGET | :: | Vv_p(dim_p) | < PE-local input vector |
|
real, | intent(inout), | TARGET | :: | v_p(dim_cvec_ens) | < PE-local result vector |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | step | Currrent time step |
||
integer, | intent(in) | :: | dim_p | PE-local dimension of state |
||
integer, | intent(in) | :: | dim_obs_p | Dimension of observed state |
||
real(kind=REAL64), | intent(in) | :: | m_state_p(dim_obs_p) | PE-local observed state |
||
real(kind=REAL64), | intent(out) | :: | state_p(dim_p) | PE-local model state local variables |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | msg |