SABER
type_ens Module Reference

Ensemble derived type. More...

Data Types

type  ens_type
 

Functions/Subroutines

subroutine ens_set_att (ens, ne, nsub)
 Set attributes. More...
 
subroutine ens_alloc (ens, ne, nsub)
 Allocation. More...
 
subroutine ens_dealloc (ens)
 Release memory. More...
 
subroutine ens_copy (ens_out, mpl, nam, geom, ens_in)
 Copy. More...
 
subroutine ens_compute_mean (ens, mpl, nam, geom)
 Compute ensemble mean(s) More...
 
subroutine ens_compute_moments (ens, mpl, nam, geom)
 Compute 2nd- and 4th-order centered moments. More...
 
subroutine ens_normalize (ens, mpl, nam, geom)
 Normalize ensemble members as perturbations (zero mean) with unit variance. More...
 
subroutine ens_get_c0_single (ens, mpl, iv, geom, fieldtype, i, fld_c0a)
 Get ensemble field on subset Sc0, single field. More...
 
subroutine ens_get_c0_all (ens, mpl, nam, geom, fieldtype, i, fld_c0a)
 Get ensemble field on subset Sc0, all field. More...
 
subroutine ens_set_c0_single (ens, mpl, iv, geom, fieldtype, i, fld_c0a)
 Set ensemble member on subset Sc0, single field. More...
 
subroutine ens_set_c0_all (ens, mpl, nam, geom, fieldtype, i, fld_c0a)
 Get ensemble member or perturbation on subset Sc0, all field. More...
 
subroutine ens_apply_bens (ens, mpl, nam, geom, fld)
 Apply raw ensemble covariance. More...
 
subroutine ens_apply_bens_dirac (ens, mpl, nam, geom, iprocdir, ic0adir, il0dir, ivdir, fld)
 Apply raw ensemble covariance to a Dirac (faster formulation) More...
 
subroutine ens_normality (ens, mpl, nam, geom, io)
 Perform some normality diagnostics. More...
 

Detailed Description

Ensemble derived type.

Function/Subroutine Documentation

◆ ens_alloc()

subroutine type_ens::ens_alloc ( class(ens_type), intent(inout)  ens,
integer, intent(in)  ne,
integer, intent(in)  nsub 
)
private

Allocation.

Parameters
[in,out]ensEnsemble
[in]neEnsemble size
[in]nsubNumber of sub-ensembles

Definition at line 85 of file type_ens.F90.

◆ ens_apply_bens()

subroutine type_ens::ens_apply_bens ( class(ens_type), intent(in)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0,nam%nv), intent(inout)  fld 
)
private

Apply raw ensemble covariance.

Parameters
[in]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in,out]fldField

Definition at line 563 of file type_ens.F90.

◆ ens_apply_bens_dirac()

subroutine type_ens::ens_apply_bens_dirac ( class(ens_type), intent(in)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
integer, intent(in)  iprocdir,
integer, intent(in)  ic0adir,
integer, intent(in)  il0dir,
integer, intent(in)  ivdir,
real(kind_real), dimension(geom%nc0a,geom%nl0,nam%nv), intent(out)  fld 
)
private

Apply raw ensemble covariance to a Dirac (faster formulation)

Parameters
[in]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]iprocdirProcessor index for dirac function
[in]ic0adirSubset Sc0, halo A index for dirac function
[in]il0dirSubset Sl0 index for dirac function
[in]ivdirVariable index for dirac function
[out]fldField

Definition at line 618 of file type_ens.F90.

◆ ens_compute_mean()

subroutine type_ens::ens_compute_mean ( class(ens_type), intent(inout)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Compute ensemble mean(s)

Parameters
[in,out]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 189 of file type_ens.F90.

◆ ens_compute_moments()

subroutine type_ens::ens_compute_moments ( class(ens_type), intent(inout)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Compute 2nd- and 4th-order centered moments.

Parameters
[in,out]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 223 of file type_ens.F90.

◆ ens_copy()

subroutine type_ens::ens_copy ( class(ens_type), intent(inout)  ens_out,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(ens_type), intent(in)  ens_in 
)
private

Copy.

Parameters
[in,out]ens_outOutput ensemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]ens_inInput ensemble

Definition at line 141 of file type_ens.F90.

◆ ens_dealloc()

subroutine type_ens::ens_dealloc ( class(ens_type), intent(inout)  ens)
private

Release memory.

Parameters
[in,out]ensEnsemble

Definition at line 109 of file type_ens.F90.

◆ ens_get_c0_all()

subroutine type_ens::ens_get_c0_all ( class(ens_type), intent(in)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
character(len=*), intent(in)  fieldtype,
integer, intent(in)  i,
real(kind_real), dimension(geom%nc0a,geom%nl0,nam%nv), intent(out)  fld_c0a 
)
private

Get ensemble field on subset Sc0, all field.

Parameters
[in]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]fieldtypeField type ('member', 'pert', 'mean', 'm2' or 'm4')
[in]iIndex (member or subset)
[out]fld_c0aField on Sc0 subset, halo A

Definition at line 416 of file type_ens.F90.

Here is the caller graph for this function:

◆ ens_get_c0_single()

subroutine type_ens::ens_get_c0_single ( class(ens_type), intent(in)  ens,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  iv,
type(geom_type), intent(in)  geom,
character(len=*), intent(in)  fieldtype,
integer, intent(in)  i,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(out)  fld_c0a 
)
private

Get ensemble field on subset Sc0, single field.

Parameters
[in]ensEnsemble
[in,out]mplMPI data
[in]ivVariable index
[in]geomGeometry
[in]fieldtypeField type ('member', 'pert', 'mean', 'm2' or 'm4')
[in]iIndex (member or subset)
[out]fld_c0aField on Sc0 subset, halo A

Definition at line 324 of file type_ens.F90.

Here is the caller graph for this function:

◆ ens_normality()

subroutine type_ens::ens_normality ( class(ens_type), intent(inout)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(io_type), intent(in)  io 
)
private

Perform some normality diagnostics.

Parameters
[in,out]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]ioI/O

Definition at line 673 of file type_ens.F90.

◆ ens_normalize()

subroutine type_ens::ens_normalize ( class(ens_type), intent(inout)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Normalize ensemble members as perturbations (zero mean) with unit variance.

Parameters
[in,out]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 273 of file type_ens.F90.

◆ ens_set_att()

subroutine type_ens::ens_set_att ( class(ens_type), intent(inout)  ens,
integer, intent(in)  ne,
integer, intent(in)  nsub 
)
private

Set attributes.

Parameters
[in,out]ensEnsemble
[in]neEnsemble size
[in]nsubNumber of sub-ensembles

Definition at line 66 of file type_ens.F90.

◆ ens_set_c0_all()

subroutine type_ens::ens_set_c0_all ( class(ens_type), intent(inout)  ens,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
character(len=*), intent(in)  fieldtype,
integer, intent(in)  i,
real(kind_real), dimension(geom%nc0a,geom%nl0,nam%nv), intent(in)  fld_c0a 
)
private

Get ensemble member or perturbation on subset Sc0, all field.

Parameters
[in,out]ensEnsemble
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]fieldtypeField type ('member', 'pert', 'mean', 'm2' or 'm4')
[in]iIndex (member or subset)
[in]fld_c0aField on Sc0 subset, halo A

Definition at line 536 of file type_ens.F90.

Here is the caller graph for this function:

◆ ens_set_c0_single()

subroutine type_ens::ens_set_c0_single ( class(ens_type), intent(inout)  ens,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  iv,
type(geom_type), intent(in)  geom,
character(len=*), intent(in)  fieldtype,
integer, intent(in)  i,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(in)  fld_c0a 
)
private

Set ensemble member on subset Sc0, single field.

Parameters
[in,out]ensEnsemble
[in,out]mplMPI data
[in]ivVariable index
[in]geomGeometry
[in]fieldtypeField type ('member', 'pert', 'mean', 'm2' or 'm4')
[in]iIndex (member or subset)
[in]fld_c0aField on Sc0 subset, halo A

Definition at line 443 of file type_ens.F90.

Here is the caller graph for this function: