EMPIRE DA  v1.9.1
Data assimilation codes using EMPIRE communication
 All Classes Files Functions Variables Pages
var_data::var_control_type Type Reference

Public Attributes

character(6) opt_method
 which optimization method to use currently this has a number of options:
More...
 
integer cg_method
 which type of nonlinear CG method to use options are:
1 FLETCHER-REEVES
2 POLAK-RIBIERE (DEFAULT)
3 POSITIVE POLAK-RIBIERE (BETA=MAX{BETA,0} ) More...
 
real(kind=kind(1.0d0)) cg_eps
 convergence tolerance for CG method
DEFAULT = 1.0d-5 More...
 
real(kind=kind(1.0d0)) lbfgs_factr
 factr is a DOUBLE PRECISION variable that must be set by the user.
It is a tolerance in the termination test for the algorithm. The iteration will stop when More...
 
real(kind=kind(1.0d0)) lbfgs_pgtol
 pgtol is a double precision variable.
On entry pgtol >= 0 is specified by the user. The iteration will stop when More...
 
real(kind=kind(1.0d0)), dimension(:), allocatable l
 
real(kind=kind(1.0d0)), dimension(:), allocatable u
 
real(kind=kind(1.0d0)), dimension(:), allocatable x0
 
integer, dimension(:), allocatable nbd
 
integer n
 the size of the state vector More...
 
integer total_timesteps
 the total number of timesteps in the assimilation window More...
 
integer, dimension(:), allocatable ny
 array containing the number of observations. More...
 

Detailed Description

Definition at line 32 of file var_data.f90.

Member Data Documentation

real(kind=kind(1.0d0)) var_data::var_control_type::cg_eps

convergence tolerance for CG method
DEFAULT = 1.0d-5

Definition at line 44 of file var_data.f90.

integer var_data::var_control_type::cg_method

which type of nonlinear CG method to use options are:
1 FLETCHER-REEVES
2 POLAK-RIBIERE (DEFAULT)
3 POSITIVE POLAK-RIBIERE (BETA=MAX{BETA,0} )

Definition at line 39 of file var_data.f90.

real(kind=kind(1.0d0)), dimension(:), allocatable var_data::var_control_type::l

Definition at line 78 of file var_data.f90.

real(kind=kind(1.0d0)) var_data::var_control_type::lbfgs_factr

factr is a DOUBLE PRECISION variable that must be set by the user.
It is a tolerance in the termination test for the algorithm. The iteration will stop when

(f^k - f^{k+1})/max{|f^k|,|f^{k+1}|,1} <= factr*epsmch

where epsmch is the machine precision which is automatically generated by the code. Typical values for factr on a computer with 15 digits of accuracy in double precision are:
factr=1.d+12 for low accuracy;
1.d+7 for moderate accuracy;
1.d+1 for extremely high accuracy.
The user can suppress this termination test by setting factr=0.

DEFAULT = 1.0d7

Definition at line 48 of file var_data.f90.

real(kind=kind(1.0d0)) var_data::var_control_type::lbfgs_pgtol

pgtol is a double precision variable.
On entry pgtol >= 0 is specified by the user. The iteration will stop when

max{|proj g_i | i = 1, ..., n} <= pgtol

where pg_i is the ith component of the projected gradient.
The user can suppress this termination test by setting pgtol=0.

DEFAULT = 1.0d-5

Definition at line 66 of file var_data.f90.

integer var_data::var_control_type::n

the size of the state vector

Definition at line 81 of file var_data.f90.

integer, dimension(:), allocatable var_data::var_control_type::nbd

Definition at line 79 of file var_data.f90.

integer, dimension(:), allocatable var_data::var_control_type::ny

array containing the number of observations.

ny(t) contains the number of observations at time t

if no observations at time t then ny(t) = 0

Definition at line 85 of file var_data.f90.

character(6) var_data::var_control_type::opt_method

which optimization method to use currently this has a number of options:

  • 'cg'
  • 'lbfgs'
  • 'lbfgsb'

Definition at line 33 of file var_data.f90.

integer var_data::var_control_type::total_timesteps

the total number of timesteps in the assimilation window

Definition at line 82 of file var_data.f90.

real(kind=kind(1.0d0)), dimension(:), allocatable var_data::var_control_type::u

Definition at line 78 of file var_data.f90.

real(kind=kind(1.0d0)), dimension(:), allocatable var_data::var_control_type::x0

Definition at line 78 of file var_data.f90.


The documentation for this type was generated from the following file: