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

Public Attributes

integer nens
 the total number of ensemble members More...
 
real(kind=kind(1.0d0)), dimension(:), allocatable weight
 the negative log of the weights of the particles More...
 
integer time_obs
 the number of observations we will assimilate More...
 
integer time_bwn_obs
 the number of model timesteps between observations More...
 
real(kind=kind(1.0d0)) nudgefac
 the nudging factor More...
 
logical gen_data
 true generates synthetic obs for a twin experiment More...
 
logical gen_q
 true attempts to build up \(Q\) from long model run. UNUSED. DOES NOTHING! More...
 
integer timestep =0
 the current timestep as the model progresses More...
 
real(kind=kind(1.0d0)), dimension(:,:), allocatable psi
 state vector of ensemble members on this mpi process More...
 
real(kind=kind(1.0d0)), dimension(:), allocatable mean
 mean state vector More...
 
real(kind=kind(1.0d0)) nfac
 standard deviation of normal distribution in mixture density More...
 
real(kind=kind(1.0d0)) ufac
 half width of the uniform distribution in mixture density More...
 
real(kind=kind(1.0d0)) efac
 
real(kind=kind(1.0d0)) keep
 proportion of particles to keep in EWPF EW step More...
 
real(kind=kind(1.0d0)) time
 dunno More...
 
real(kind=kind(1.0d0)) qscale
 scalar to multiply Q by More...
 
real(kind=kind(1.0d0)) rho
 enkf inflation factor so that \(P_f = (1+\rho)^2P_f\) More...
 
real(kind=kind(1.0d0)) len
 R localisation length scale The entries in the observation error covariance matrix \(R\) are multiplied by the function \( \exp\left(\frac{\mathrm{dist}^2}{2 \mathrm{len}^2}\right) \). More...
 
integer couple_root
 empire master processor More...
 
logical use_talagrand
 switch if true outputs rank histograms. See load_histogram_data for details. More...
 
logical output_weights
 switch if true outputs ensemble weights More...
 
logical output_forecast
 switch if true outputs the entire forecast ensemble More...
 
logical use_mean
 switch if true outputs ensemble mean More...
 
logical use_variance
 switch if true outputs ensemble variance More...
 
logical use_traj
 switch if true outputs trajectories More...
 
logical use_spatial_rmse
 switch if true outputs Root Mean Square Errors
See Outputting Root Mean Squared Errors for more information More...
 
logical use_ens_rmse
 switich if true outputs the field of root mean squared errors where \( rmse(j) = \sqrt{ \frac{1}{N_e}\sum_{i=1}^{N_e} (x_i(j)-x^t(j))^2}\) More...
 
character(250) rmse_filename
 string to hold the name of the file to output rmse to More...
 
character(250) forecast_path
 string to hold the path to output the forecast ensemble More...
 
character(50) relaxation_type
 string to hold the type of relaxation profile to use with the nudging or the equivalent weights particle filter More...
 
real(kind=kind(1.0d0)) relaxation_freetime
 pseudotime for which no nugding is applied to the relaxation More...
 
real(kind=kind(1.0d0)) power_law_p
 exponent in a relaxation power law More...
 
integer, dimension(:,:), allocatable talagrand
 storage for rank histograms More...
 
integer count
 number of ensemble members associated with this MPI process More...
 
integer, dimension(:), allocatable particles
 particles associates with this MPI process More...
 
character(2) filter
 which filter to use currently this has a number of options: More...
 
character(1) init
 which method to initialise ensemble currently this has a number of options: More...
 

Detailed Description

Definition at line 31 of file pf_control.f90.

Member Data Documentation

integer pf_control::pf_control_type::count

number of ensemble members associated with this MPI process

Definition at line 97 of file pf_control.f90.

integer pf_control::pf_control_type::couple_root

empire master processor

Definition at line 59 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::efac

Definition at line 45 of file pf_control.f90.

character(2) pf_control::pf_control_type::filter

which filter to use currently this has a number of options:

  • SE – a stochastic ensemble
  • DE – a deterministic ensemble
  • SI – the SIR filter
  • LE – the L-ETKF with noise
  • LD – the L-ETKF without noise
  • EW – the Equivalent Weights filter
  • EZ – the Zhu equal weights filter particle filter
  • LS – the L-ETKS with noise
  • 3D – 3DVar
    Todo:
    change these to a longer string

Definition at line 99 of file pf_control.f90.

character(250) pf_control::pf_control_type::forecast_path

string to hold the path to output the forecast ensemble

Definition at line 77 of file pf_control.f90.

logical pf_control::pf_control_type::gen_data

true generates synthetic obs for a twin experiment

Definition at line 37 of file pf_control.f90.

logical pf_control::pf_control_type::gen_q

true attempts to build up \(Q\) from long model run. UNUSED. DOES NOTHING!

Definition at line 38 of file pf_control.f90.

character(1) pf_control::pf_control_type::init

which method to initialise ensemble currently this has a number of options:

  • N – perturb around the model initial conditions with random noise distributed \(\mathcal{N}(0,I)\)
  • P – perturb around the model initial conditions with random noise distributed \(\mathcal{N}(0,Q)\)
  • B – perturb around the model initial conditions with random noise distributed \(\mathcal{N}(0,B)\)
  • R – read model states from rstrt folder where each ensemble member is stored in the file rstrt/##.state
  • S – read model states from start folder where each ensemble member is stored in the file start/##.state
  • U – call user defined perturbation routine. This assumes the user has implemented their own perturbation in user_perturb_particle
  • Z – do not perturb particles. This will assume each model is received with initial spread

Definition at line 113 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::keep

proportion of particles to keep in EWPF EW step

Definition at line 46 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::len

R localisation length scale The entries in the observation error covariance matrix \(R\) are multiplied by the function \( \exp\left(\frac{\mathrm{dist}^2}{2 \mathrm{len}^2}\right) \).

Definition at line 53 of file pf_control.f90.

real(kind=kind(1.0d0)), dimension(:), allocatable pf_control::pf_control_type::mean

mean state vector

Definition at line 42 of file pf_control.f90.

integer pf_control::pf_control_type::nens

the total number of ensemble members

Definition at line 32 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::nfac

standard deviation of normal distribution in mixture density

Definition at line 43 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::nudgefac

the nudging factor

Definition at line 36 of file pf_control.f90.

logical pf_control::pf_control_type::output_forecast

switch if true outputs the entire forecast ensemble

Definition at line 65 of file pf_control.f90.

logical pf_control::pf_control_type::output_weights

switch if true outputs ensemble weights

Definition at line 63 of file pf_control.f90.

integer, dimension(:), allocatable pf_control::pf_control_type::particles

particles associates with this MPI process

Definition at line 98 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::power_law_p

exponent in a relaxation power law

Definition at line 93 of file pf_control.f90.

real(kind=kind(1.0d0)), dimension(:,:), allocatable pf_control::pf_control_type::psi

state vector of ensemble members on this mpi process

Definition at line 41 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::qscale

scalar to multiply Q by

Definition at line 48 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::relaxation_freetime

pseudotime for which no nugding is applied to the relaxation

Definition at line 91 of file pf_control.f90.

character(50) pf_control::pf_control_type::relaxation_type

string to hold the type of relaxation profile to use with the nudging or the equivalent weights particle filter

currently the options are:

  • 'zero_linear'
  • 'power_law'
  • 'exponential'
  • 'constant'
  • 'user'

for more details see relaxation_profile

Definition at line 79 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::rho

enkf inflation factor so that \(P_f = (1+\rho)^2P_f\)

Definition at line 50 of file pf_control.f90.

character(250) pf_control::pf_control_type::rmse_filename

string to hold the name of the file to output rmse to

Definition at line 75 of file pf_control.f90.

integer, dimension(:,:), allocatable pf_control::pf_control_type::talagrand

storage for rank histograms

Definition at line 96 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::time

dunno

Definition at line 47 of file pf_control.f90.

integer pf_control::pf_control_type::time_bwn_obs

the number of model timesteps between observations

Definition at line 35 of file pf_control.f90.

integer pf_control::pf_control_type::time_obs

the number of observations we will assimilate

Definition at line 34 of file pf_control.f90.

integer pf_control::pf_control_type::timestep =0

the current timestep as the model progresses

Definition at line 40 of file pf_control.f90.

real(kind=kind(1.0d0)) pf_control::pf_control_type::ufac

half width of the uniform distribution in mixture density

Definition at line 44 of file pf_control.f90.

logical pf_control::pf_control_type::use_ens_rmse

switich if true outputs the field of root mean squared errors where \( rmse(j) = \sqrt{ \frac{1}{N_e}\sum_{i=1}^{N_e} (x_i(j)-x^t(j))^2}\)

Definition at line 72 of file pf_control.f90.

logical pf_control::pf_control_type::use_mean

switch if true outputs ensemble mean

Definition at line 67 of file pf_control.f90.

logical pf_control::pf_control_type::use_spatial_rmse

switch if true outputs Root Mean Square Errors
See Outputting Root Mean Squared Errors for more information

Definition at line 70 of file pf_control.f90.

logical pf_control::pf_control_type::use_talagrand

switch if true outputs rank histograms. See load_histogram_data for details.

Definition at line 60 of file pf_control.f90.

logical pf_control::pf_control_type::use_traj

switch if true outputs trajectories

Definition at line 69 of file pf_control.f90.

logical pf_control::pf_control_type::use_variance

switch if true outputs ensemble variance

Definition at line 68 of file pf_control.f90.

real(kind=kind(1.0d0)), dimension(:), allocatable pf_control::pf_control_type::weight

the negative log of the weights of the particles

Definition at line 33 of file pf_control.f90.


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