SABER
type_bump Module Reference

Subroutines/functions list. More...

Data Types

type  bump_type
 

Functions/Subroutines

subroutine bump_create (bump, comm, afunctionspace, fieldset, conf, grid, universe_rad)
 Create. More...
 
subroutine bump_create_deprecated_atlas (bump, comm, afunctionspace, afieldset, conf, grid, universe_rad)
 Create (deprecated) More...
 
subroutine bump_setup (bump, f_comm, afunctionspace, fieldset, lunit, msvali, msvalr, universe_rad)
 Setup. More...
 
subroutine bump_add_member (bump, fieldset, ie, iens)
 Add member into bumpens[1,2]. More...
 
subroutine bump_update_vbal_cov (bump, fieldset, ie)
 Update vertical covariances, one member at a time. More...
 
subroutine bump_update_var (bump, fieldset, ie)
 Update variance, one member at a time. More...
 
subroutine bump_update_mom (bump, fieldset, ie)
 Update moments, one member at a time. More...
 
subroutine bump_run_drivers (bump)
 Run drivers. More...
 
subroutine bump_apply_vbal (bump, fieldset)
 Vertical balance application. More...
 
subroutine bump_apply_vbal_inv (bump, fieldset)
 Vertical balance application, inverse. More...
 
subroutine bump_apply_vbal_ad (bump, fieldset)
 Vertical balance application, adjoint. More...
 
subroutine bump_apply_vbal_inv_ad (bump, fieldset)
 Vertical balance application, inverse adjoint. More...
 
subroutine bump_apply_stddev (bump, fieldset)
 Standard-deviation application. More...
 
subroutine bump_apply_stddev_inv (bump, fieldset)
 Standard-deviation application, inverse. More...
 
subroutine bump_apply_nicas (bump, fieldset)
 NICAS application. More...
 
subroutine bump_apply_nicas_deprecated_atlas (bump, afieldset)
 NICAS application (deprecated. More...
 
subroutine bump_get_cv_size (bump, n)
 Get control variable size. More...
 
subroutine bump_apply_nicas_sqrt (bump, pcv, fieldset)
 NICAS square-root application. More...
 
subroutine bump_apply_nicas_sqrt_deprecated_atlas (bump, pcv, afieldset)
 NICAS square-root application (deprecated) More...
 
subroutine bump_apply_nicas_sqrt_ad (bump, fieldset, pcv)
 NICAS square-root adjoint application. More...
 
subroutine bump_randomize (bump, fieldset)
 NICAS randomization. More...
 
subroutine bump_psichi_to_uv (bump, fieldset_in, fieldset_out)
 psi/chi to u/v transform More...
 
subroutine bump_psichi_to_uv_ad (bump, fieldset_in, fieldset_out)
 psi/chi to u/v transform, adjoint More...
 
subroutine bump_get_parameter (bump, param, fieldset)
 Get a parameter. More...
 
subroutine bump_copy_to_field (bump, param, ib, fld_mga)
 Copy to field. More...
 
subroutine bump_test_get_parameter (bump)
 Test get_parameter. More...
 
subroutine bump_set_parameter (bump, param, fieldset)
 Set a parameter. More...
 
subroutine bump_set_parameter_deprecated_atlas (bump, param, afieldset)
 Set a parameter (deprecated) More...
 
subroutine bump_copy_from_field (bump, param, ib, fld_mga)
 Copy from field. More...
 
subroutine bump_test_set_parameter (bump)
 Test set_parameter. More...
 
subroutine bump_test_apply_interfaces (bump)
 Test BUMP apply interfaces. More...
 
subroutine bump_partial_dealloc (bump)
 Release memory (partial) More...
 
subroutine bump_dealloc (bump)
 Release memory (full) More...
 
subroutine bump_dummy_final (bump)
 Dummy finalization. More...
 

Variables

integer, parameter dmsvali = -999
 Default missing value for integers. More...
 
real(kind_real), parameter dmsvalr = -999.0_kind_real
 Default missing value for reals. More...
 
logical copy_ensemble = .false.
 Deep copy of ensemble members. More...
 

Detailed Description

Subroutines/functions list.

Instrumentation functions BUMP derived type

Function/Subroutine Documentation

◆ bump_add_member()

subroutine type_bump::bump_add_member ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(in)  fieldset,
integer, intent(in)  ie,
integer, intent(in)  iens 
)
private

Add member into bumpens[1,2].

Parameters
[in]ieMember index
[in]iensEnsemble number

Definition at line 467 of file type_bump.F90.

◆ bump_apply_nicas()

subroutine type_bump::bump_apply_nicas ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

NICAS application.

Definition at line 1199 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_apply_nicas_deprecated_atlas()

subroutine type_bump::bump_apply_nicas_deprecated_atlas ( class(bump_type), intent(inout)  bump,
type(atlas_fieldset), intent(inout)  afieldset 
)
private

NICAS application (deprecated.

Parameters
[in,out]afieldsetATLAS fieldset

Definition at line 1250 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_apply_nicas_sqrt()

subroutine type_bump::bump_apply_nicas_sqrt ( class(bump_type), intent(inout)  bump,
real(kind_real), dimension(:), intent(in)  pcv,
type(fieldset_type), intent(inout)  fieldset 
)
private

NICAS square-root application.

Parameters
[in]pcvPacked control variable

Definition at line 1320 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_apply_nicas_sqrt_ad()

subroutine type_bump::bump_apply_nicas_sqrt_ad ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset,
real(kind_real), dimension(:), intent(inout)  pcv 
)
private

NICAS square-root adjoint application.

Parameters
[in,out]pcvPacked control variable

Definition at line 1417 of file type_bump.F90.

◆ bump_apply_nicas_sqrt_deprecated_atlas()

subroutine type_bump::bump_apply_nicas_sqrt_deprecated_atlas ( class(bump_type), intent(inout)  bump,
real(kind_real), dimension(:), intent(in)  pcv,
type(atlas_fieldset), intent(inout)  afieldset 
)
private

NICAS square-root application (deprecated)

Parameters
[in]pcvPacked control variable
[in,out]afieldsetATLAS Fieldset

Definition at line 1381 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_apply_stddev()

subroutine type_bump::bump_apply_stddev ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

Standard-deviation application.

Definition at line 1117 of file type_bump.F90.

◆ bump_apply_stddev_inv()

subroutine type_bump::bump_apply_stddev_inv ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

Standard-deviation application, inverse.

Definition at line 1158 of file type_bump.F90.

◆ bump_apply_vbal()

subroutine type_bump::bump_apply_vbal ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

Vertical balance application.

Definition at line 953 of file type_bump.F90.

◆ bump_apply_vbal_ad()

subroutine type_bump::bump_apply_vbal_ad ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

Vertical balance application, adjoint.

Definition at line 1035 of file type_bump.F90.

◆ bump_apply_vbal_inv()

subroutine type_bump::bump_apply_vbal_inv ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

Vertical balance application, inverse.

Definition at line 994 of file type_bump.F90.

◆ bump_apply_vbal_inv_ad()

subroutine type_bump::bump_apply_vbal_inv_ad ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

Vertical balance application, inverse adjoint.

Definition at line 1076 of file type_bump.F90.

◆ bump_copy_from_field()

subroutine type_bump::bump_copy_from_field ( class(bump_type), intent(inout)  bump,
character(len=*), intent(in)  param,
integer, intent(in)  ib,
real(kind_real), dimension(bump%geom%nmga,bump%geom%nl0), intent(in)  fld_mga 
)
private

Copy from field.

Parameters
[in]paramParameter
[in]ibBlock index
[in]fld_mgaField

Definition at line 2189 of file type_bump.F90.

◆ bump_copy_to_field()

subroutine type_bump::bump_copy_to_field ( class(bump_type), intent(inout)  bump,
character(len=*), intent(in)  param,
integer, intent(in)  ib,
real(kind_real), dimension(bump%geom%nmga,bump%geom%nl0), intent(out)  fld_mga 
)
private

Copy to field.

Parameters
[in]paramParameter
[in]ibBlock index
[out]fld_mgaField

Definition at line 1749 of file type_bump.F90.

◆ bump_create()

subroutine type_bump::bump_create ( class(bump_type), intent(inout)  bump,
type(fckit_mpi_comm), intent(in)  comm,
type(atlas_functionspace), intent(in)  afunctionspace,
type(fieldset_type), intent(in)  fieldset,
type(fckit_configuration), intent(in)  conf,
type(fckit_configuration), intent(in)  grid,
type(fieldset_type), intent(in), optional  universe_rad 
)
private

Create.

Parameters
[in]commFCKIT MPI communicator wrapper
[in]afunctionspaceATLAS function space
[in]fieldsetFieldset containing geometry elements
[in]confFCKIT configuration
[in]gridFCKIT grid configuration
[in]universe_radFieldset optionally containing universe radius

Definition at line 140 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_create_deprecated_atlas()

subroutine type_bump::bump_create_deprecated_atlas ( class(bump_type), intent(inout)  bump,
type(fckit_mpi_comm), intent(in)  comm,
type(atlas_functionspace), intent(in)  afunctionspace,
type(atlas_fieldset), intent(in)  afieldset,
type(fckit_configuration), intent(in)  conf,
type(fckit_configuration), intent(in)  grid,
type(fieldset_type), intent(in), optional  universe_rad 
)
private

Create (deprecated)

Parameters
[in]commFCKIT MPI communicator wrapper
[in]afunctionspaceATLAS function space
[in]afieldsetATLAS fieldset containing geometry elements
[in]confFCKIT configuration
[in]gridFCKIT grid configuration
[in]universe_radFieldset optionally containing universe radius

Definition at line 201 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_dealloc()

subroutine type_bump::bump_dealloc ( class(bump_type), intent(inout)  bump)
private

Release memory (full)

Definition at line 2570 of file type_bump.F90.

◆ bump_dummy_final()

subroutine type_bump::bump_dummy_final ( type(bump_type), intent(inout)  bump)
private

Dummy finalization.

Definition at line 2621 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_get_cv_size()

subroutine type_bump::bump_get_cv_size ( class(bump_type), intent(inout)  bump,
integer, intent(out)  n 
)
private

Get control variable size.

Parameters
[out]nControl variable size

Definition at line 1285 of file type_bump.F90.

◆ bump_get_parameter()

subroutine type_bump::bump_get_parameter ( class(bump_type), intent(inout)  bump,
character(len=*), intent(in)  param,
type(fieldset_type), intent(inout)  fieldset 
)
private

Get a parameter.

Parameters
[in]paramParameter

Definition at line 1672 of file type_bump.F90.

◆ bump_partial_dealloc()

subroutine type_bump::bump_partial_dealloc ( class(bump_type), intent(inout)  bump)
private

Release memory (partial)

Definition at line 2530 of file type_bump.F90.

◆ bump_psichi_to_uv()

subroutine type_bump::bump_psichi_to_uv ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset_in,
type(fieldset_type), intent(inout)  fieldset_out 
)
private

psi/chi to u/v transform

Parameters
[in,out]fieldset_inFieldset (input)
[in,out]fieldset_outFieldset (output)

Definition at line 1507 of file type_bump.F90.

◆ bump_psichi_to_uv_ad()

subroutine type_bump::bump_psichi_to_uv_ad ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset_in,
type(fieldset_type), intent(inout)  fieldset_out 
)
private

psi/chi to u/v transform, adjoint

Parameters
[in,out]fieldset_inFieldset (input)
[in,out]fieldset_outFieldset (output)

Definition at line 1590 of file type_bump.F90.

◆ bump_randomize()

subroutine type_bump::bump_randomize ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset 
)
private

NICAS randomization.

Definition at line 1465 of file type_bump.F90.

◆ bump_run_drivers()

subroutine type_bump::bump_run_drivers ( class(bump_type), intent(inout)  bump)
private

Run drivers.

Definition at line 670 of file type_bump.F90.

◆ bump_set_parameter()

subroutine type_bump::bump_set_parameter ( class(bump_type), intent(inout)  bump,
character(len=*), intent(in)  param,
type(fieldset_type), intent(inout)  fieldset 
)
private

Set a parameter.

Parameters
[in]paramParameter

Definition at line 2072 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_set_parameter_deprecated_atlas()

subroutine type_bump::bump_set_parameter_deprecated_atlas ( class(bump_type), intent(inout)  bump,
character(len=*), intent(in)  param,
type(atlas_fieldset), intent(inout)  afieldset 
)
private

Set a parameter (deprecated)

Parameters
[in]paramParameter
[in,out]afieldsetATLAS fieldset

Definition at line 2153 of file type_bump.F90.

Here is the caller graph for this function:

◆ bump_setup()

subroutine type_bump::bump_setup ( class(bump_type), intent(inout)  bump,
type(fckit_mpi_comm), intent(in)  f_comm,
type(atlas_functionspace), intent(in)  afunctionspace,
type(fieldset_type), intent(in), optional  fieldset,
integer, intent(in), optional  lunit,
integer, intent(in), optional  msvali,
real(kind_real), intent(in), optional  msvalr,
type(fieldset_type), intent(in), optional  universe_rad 
)
private

Setup.

Parameters
[in]f_commFCKIT MPI communicator wrapper
[in]afunctionspaceATLAS functionspace
[in]fieldsetFieldset containing geometry elements
[in]lunitListing unit
[in]msvaliMissing value for integers
[in]msvalrMissing value for reals
[in]universe_radFieldset optionally containing universe radius

Definition at line 245 of file type_bump.F90.

◆ bump_test_apply_interfaces()

subroutine type_bump::bump_test_apply_interfaces ( class(bump_type), intent(inout)  bump)
private

Test BUMP apply interfaces.

Definition at line 2413 of file type_bump.F90.

◆ bump_test_get_parameter()

subroutine type_bump::bump_test_get_parameter ( class(bump_type), intent(inout)  bump)
private

Test get_parameter.

Definition at line 2000 of file type_bump.F90.

◆ bump_test_set_parameter()

subroutine type_bump::bump_test_set_parameter ( class(bump_type), intent(inout)  bump)
private

Test set_parameter.

Definition at line 2330 of file type_bump.F90.

◆ bump_update_mom()

subroutine type_bump::bump_update_mom ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset,
integer, intent(in)  ie 
)
private

Update moments, one member at a time.

Parameters
[in]ieMember index

Definition at line 621 of file type_bump.F90.

◆ bump_update_var()

subroutine type_bump::bump_update_var ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset,
integer, intent(in)  ie 
)
private

Update variance, one member at a time.

Parameters
[in]ieMember index

Definition at line 581 of file type_bump.F90.

◆ bump_update_vbal_cov()

subroutine type_bump::bump_update_vbal_cov ( class(bump_type), intent(inout)  bump,
type(fieldset_type), intent(inout)  fieldset,
integer, intent(in)  ie 
)
private

Update vertical covariances, one member at a time.

Parameters
[in]ieMember index

Definition at line 532 of file type_bump.F90.

Variable Documentation

◆ copy_ensemble

logical type_bump::copy_ensemble = .false.

Deep copy of ensemble members.

Definition at line 64 of file type_bump.F90.

◆ dmsvali

integer, parameter type_bump::dmsvali = -999

Default missing value for integers.

Definition at line 62 of file type_bump.F90.

◆ dmsvalr

real(kind_real), parameter type_bump::dmsvalr = -999.0_kind_real

Default missing value for reals.

Definition at line 63 of file type_bump.F90.