SOCA
soca_covariance_mod::soca_cov Type Reference

SOCA background/model covariance. More...

Collaboration diagram for soca_covariance_mod::soca_cov:

Public Member Functions

procedure setup => soca_cov_setup
 Setup for the SOCA model's 3d error covariance matrices (B and Q_i) More...
 
procedure delete => soca_cov_delete
 Delete for the SOCA model's 3d error covariance matrices. More...
 
procedure mult => soca_cov_c_mult
 Apply convolution to an increment. More...
 
procedure sqrt_c_mult => soca_cov_sqrt_c_mult
 Apply the square root of C to an increment. More...
 
procedure getconv => soca_cov_get_conv
 Get the convolution operator needed for a specific field. More...
 

Public Attributes

type(bump_type), dimension(:), pointer conv
 convolution op from bump More...
 
type(soca_state), pointer bkg
 Background field (or first guess) More...
 
type(oops_variables) vars
 Apply B to vars. More...
 
real(kind=kind_real), dimension(:), allocatable pert_scale
 index matches "vars" More...
 
type(oops_variables), dimension(:), allocatable conv_vars
 index mathces "conv" More...
 

Related Functions

(Note that these are not member functions.)

subroutine soca_cov_setup (self, f_conf, geom, bkg, vars)
 Setup for the SOCA model's 3d error covariance matrices (B and Q_i) More...
 
subroutine soca_cov_delete (self)
 Delete for the SOCA model's 3d error covariance matrices. More...
 
subroutine soca_cov_get_conv (self, field, conv)
 Get the convolution operator needed for a specific field. More...
 
subroutine soca_cov_c_mult (self, dx)
 Apply convolution to an increment. More...
 
subroutine soca_cov_sqrt_c_mult (self, dx)
 Apply the square root of C to an increment. More...
 
subroutine soca_bump_correlation (self, horiz_convol, geom, f_conf_bump, f_conf_domain, domain)
 Setup bump for horizontal convolution, Using rossby radiusbased correlation lengths. More...
 
subroutine soca_2d_convol (dx, horiz_convol, geom)
 Apply bump 2D convolution. More...
 
subroutine soca_2d_sqrt_convol (dx, horiz_convol, geom, pert_scale)
 Apply bump square root of C. More...
 

Detailed Description

SOCA background/model covariance.

Definition at line 29 of file soca_covariance_mod.F90.

Member Function/Subroutine Documentation

◆ delete()

procedure soca_covariance_mod::soca_cov::delete

Delete for the SOCA model's 3d error covariance matrices.

See also
soca_cov_delete

Definition at line 42 of file soca_covariance_mod.F90.

◆ getconv()

procedure soca_covariance_mod::soca_cov::getconv

Get the convolution operator needed for a specific field.

See also
soca_cov_get_conv

Definition at line 51 of file soca_covariance_mod.F90.

◆ mult()

procedure soca_covariance_mod::soca_cov::mult

Apply convolution to an increment.

See also
soca_cov_c_mult

Definition at line 45 of file soca_covariance_mod.F90.

◆ setup()

procedure soca_covariance_mod::soca_cov::setup

Setup for the SOCA model's 3d error covariance matrices (B and Q_i)

See also
soca_cov_setup

Definition at line 39 of file soca_covariance_mod.F90.

◆ sqrt_c_mult()

procedure soca_covariance_mod::soca_cov::sqrt_c_mult

Apply the square root of C to an increment.

See also
soca_cov_sqrt_c_mult

Definition at line 48 of file soca_covariance_mod.F90.

Friends And Related Function Documentation

◆ soca_2d_convol()

subroutine soca_2d_convol ( real(kind=kind_real), dimension(:,:), intent(inout)  dx,
type(bump_type), intent(inout)  horiz_convol,
type(soca_geom), intent(in)  geom 
)
related

Apply bump 2D convolution.

Used by soca_cov::mult()

Definition at line 365 of file soca_covariance_mod.F90.

◆ soca_2d_sqrt_convol()

subroutine soca_2d_sqrt_convol ( real(kind=kind_real), dimension(:,:), intent(inout)  dx,
type(bump_type), intent(inout)  horiz_convol,
type(soca_geom), intent(in)  geom,
real(kind=kind_real), intent(in)  pert_scale 
)
related

Apply bump square root of C.

used by soca_cov::sqrt_C_mult()

Definition at line 392 of file soca_covariance_mod.F90.

◆ soca_bump_correlation()

subroutine soca_bump_correlation ( class(soca_cov), intent(inout)  self,
type(bump_type), intent(inout)  horiz_convol,
type(soca_geom), intent(in)  geom,
type(fckit_configuration), intent(in)  f_conf_bump,
type(fckit_configuration), intent(in)  f_conf_domain,
character(len=3), intent(in)  domain 
)
related

Setup bump for horizontal convolution, Using rossby radiusbased correlation lengths.

Used by soca_cov::setup()

Correlation lengths are calculated as follows : 1) rh = "base value" + rossby_radius * "rossby mult" 2) minimum value of "min grid mult" * grid_size is imposed 3) min/max are imposed based on "min value" and "max value" 4) converted from a gaussian sigma to Gaspari-Cohn cutoff distance

Parameters
[in,out]selfThe covariance structure

Definition at line 251 of file soca_covariance_mod.F90.

◆ soca_cov_c_mult()

subroutine soca_cov_c_mult ( class(soca_cov), intent(inout)  self,
type(soca_increment), intent(inout)  dx 
)
related

Apply convolution to an increment.

Parameters
[in,out]selfThe covariance structure
[in,out]dxInput: Increment, Output: C dx

Definition at line 172 of file soca_covariance_mod.F90.

◆ soca_cov_delete()

subroutine soca_cov_delete ( class(soca_cov), intent(inout)  self)
related

Delete for the SOCA model's 3d error covariance matrices.

Parameters
[in,out]selfThe covariance structure

Definition at line 124 of file soca_covariance_mod.F90.

◆ soca_cov_get_conv()

subroutine soca_cov_get_conv ( class(soca_cov), intent(inout)  self,
type(soca_field), intent(in), pointer  field,
type(bump_type), intent(out), pointer  conv 
)
related

Get the convolution operator needed for a specific field.

Exceptions
abor1_ftnaborts if trying to use a field not on the tracer grid
Parameters
[in]fieldThe field that will be convolved
[out]convpointer to resulting convolution

Definition at line 140 of file soca_covariance_mod.F90.

◆ soca_cov_setup()

subroutine soca_cov_setup ( class(soca_cov), intent(inout)  self,
type(fckit_configuration), intent(in)  f_conf,
type(soca_geom), intent(in)  geom,
type(soca_state), intent(in), target  bkg,
type(oops_variables), intent(in)  vars 
)
related

Setup for the SOCA model's 3d error covariance matrices (B and Q_i)

This routine queries the configuration for the parameters that define the covariance matrix, and stores the relevant values in the error covariance structure.

Parameters
[in,out]selfThe covariance structure
[in]f_confThe configuration
[in]geomGeometry
[in]bkgBackground
[in]varsList of variables

Definition at line 67 of file soca_covariance_mod.F90.

◆ soca_cov_sqrt_c_mult()

subroutine soca_cov_sqrt_c_mult ( class(soca_cov), intent(inout)  self,
type(soca_increment), intent(inout)  dx 
)
related

Apply the square root of C to an increment.

Exceptions
abor1_ftnaborts if no pertubation scales are given
Parameters
[in,out]selfThe covariance structure
[in,out]dxInput: Increment, Output: C^1/2 dx

Definition at line 204 of file soca_covariance_mod.F90.

Member Data Documentation

◆ bkg

type(soca_state), pointer soca_covariance_mod::soca_cov::bkg

Background field (or first guess)

Definition at line 31 of file soca_covariance_mod.F90.

◆ conv

type(bump_type), dimension(:), pointer soca_covariance_mod::soca_cov::conv

convolution op from bump

Definition at line 30 of file soca_covariance_mod.F90.

◆ conv_vars

type(oops_variables), dimension(:), allocatable soca_covariance_mod::soca_cov::conv_vars

index mathces "conv"

Definition at line 35 of file soca_covariance_mod.F90.

◆ pert_scale

real(kind=kind_real), dimension(:), allocatable soca_covariance_mod::soca_cov::pert_scale

index matches "vars"

Definition at line 34 of file soca_covariance_mod.F90.

◆ vars

type(oops_variables) soca_covariance_mod::soca_cov::vars

Apply B to vars.

Definition at line 32 of file soca_covariance_mod.F90.


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