SABER
type_com Module Reference

Communications derived type. More...

Data Types

type  com_type
 

Functions/Subroutines

subroutine com_dealloc (com)
 Release memory. More...
 
subroutine com_read (com, mpl, ncid)
 Read communications from a NetCDF file. More...
 
subroutine com_write (com, mpl, ncid)
 Write communications to a NetCDF file. More...
 
subroutine com_buffer_size (com, mpl, nbufi)
 Buffer size. More...
 
subroutine com_serialize (com, mpl, nbufi, bufi)
 Serialize. More...
 
subroutine com_deserialize (com, mpl, nbufi, bufi)
 Receive. More...
 
subroutine com_setup (com_out, mpl, prefix, nred, next, nglb, red_to_glb, ext_to_glb, own_to_glb)
 Setup communications. More...
 
subroutine com_ext_integer_1d (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension), 1d. More...
 
subroutine com_ext_integer_2d (com, mpl, nl, vec_red, vec_ext)
 Communicate field to halo (extension), 2d. More...
 
subroutine com_ext_real_1d (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension), 1d. More...
 
subroutine com_ext_real_2d (com, mpl, nl, vec_red, vec_ext)
 Communicate field to halo (extension), 2d. More...
 
subroutine com_ext_logical_1d (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension), 1d. More...
 
subroutine com_ext_logical_2d (com, mpl, nl, vec_red, vec_ext)
 Communicate field to halo (extension), 2d. More...
 
subroutine com_red_integer_1d (com, mpl, vec_ext, vec_red, nosum)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_integer_2d (com, mpl, nl, vec_ext, vec_red, nosum)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_real_1d (com, mpl, vec_ext, vec_red, nosum)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_real_2d (com, mpl, nl, vec_ext, vec_red, nosum)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_logical_1d (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_logical_2d (com, mpl, nl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 

Detailed Description

Communications derived type.

Function/Subroutine Documentation

◆ com_buffer_size()

subroutine type_com::com_buffer_size ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(out)  nbufi 
)
private

Buffer size.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[out]nbufiBuffer size (integer)

Definition at line 209 of file type_com.F90.

◆ com_dealloc()

subroutine type_com::com_dealloc ( class(com_type), intent(inout)  com)
private

Release memory.

Parameters
[in,out]comCommunication data

Definition at line 74 of file type_com.F90.

◆ com_deserialize()

subroutine type_com::com_deserialize ( class(com_type), intent(inout)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nbufi,
integer, dimension(nbufi), intent(in)  bufi 
)
private

Receive.

Parameters
[in,out]comCommunication data
[in,out]mplMPI data
[in]nbufiBuffer size (integer)
[in]bufiBuffer (integer)

Definition at line 285 of file type_com.F90.

◆ com_ext_integer_1d()

subroutine type_com::com_ext_integer_1d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, dimension(com%nred), intent(in)  vec_red,
integer, dimension(com%next), intent(out)  vec_ext 
)
private

Communicate field to halo (extension), 1d.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]vec_redReduced vector
[out]vec_extExtended vector

Definition at line 680 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_integer_2d()

subroutine type_com::com_ext_integer_2d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nl,
integer, dimension(com%nred,nl), intent(in)  vec_red,
integer, dimension(com%next,nl), intent(out)  vec_ext 
)
private

Communicate field to halo (extension), 2d.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nlNumber of levels
[in]vec_redReduced vector
[out]vec_extExtended vector

Definition at line 735 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_logical_1d()

subroutine type_com::com_ext_logical_1d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
logical, dimension(com%nred), intent(in)  vec_red,
logical, dimension(com%next), intent(out)  vec_ext 
)
private

Communicate field to halo (extension), 1d.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]vec_redReduced vector
[out]vec_extExtended vector

Definition at line 924 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_logical_2d()

subroutine type_com::com_ext_logical_2d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nl,
logical, dimension(com%nred,nl), intent(in)  vec_red,
logical, dimension(com%next,nl), intent(out)  vec_ext 
)
private

Communicate field to halo (extension), 2d.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nlNumber of levels
[in]vec_redReduced vector
[out]vec_extExtended vector

Definition at line 979 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_real_1d()

subroutine type_com::com_ext_real_1d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(com%nred), intent(in)  vec_red,
real(kind_real), dimension(com%next), intent(out)  vec_ext 
)
private

Communicate field to halo (extension), 1d.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]vec_redReduced vector
[out]vec_extExtended vector

Definition at line 802 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_real_2d()

subroutine type_com::com_ext_real_2d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nl,
real(kind_real), dimension(com%nred,nl), intent(in)  vec_red,
real(kind_real), dimension(com%next,nl), intent(out)  vec_ext 
)
private

Communicate field to halo (extension), 2d.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nlNumber of levels
[in]vec_redReduced vector
[out]vec_extExtended vector

Definition at line 857 of file type_com.F90.

Here is the caller graph for this function:

◆ com_read()

subroutine type_com::com_read ( class(com_type), intent(inout)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  ncid 
)
private

Read communications from a NetCDF file.

Parameters
[in,out]comCommunication data
[in,out]mplMPI data
[in]ncidNetCDF file

Definition at line 99 of file type_com.F90.

◆ com_red_integer_1d()

subroutine type_com::com_red_integer_1d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, dimension(com%next), intent(in)  vec_ext,
integer, dimension(com%nred), intent(out)  vec_red,
logical, intent(in), optional  nosum 
)
private

Communicate vector from halo (reduction)

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]vec_extExtended vector
[out]vec_redReduced vector
[in]nosumNo-sum flag

Definition at line 1046 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_integer_2d()

subroutine type_com::com_red_integer_2d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nl,
integer, dimension(com%next,nl), intent(in)  vec_ext,
integer, dimension(com%nred,nl), intent(out)  vec_red,
logical, intent(in), optional  nosum 
)
private

Communicate vector from halo (reduction)

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nlNumber of levels
[in]vec_extExtended vector
[out]vec_redReduced vector
[in]nosumNo-sum flag

Definition at line 1153 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_logical_1d()

subroutine type_com::com_red_logical_1d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
logical, dimension(com%next), intent(in)  vec_ext,
logical, dimension(com%nred), intent(out)  vec_red,
logical, intent(in), optional  nosum,
character(len=*), intent(in), optional  op 
)
private

Communicate vector from halo (reduction)

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]vec_extExtended vector
[out]vec_redReduced vector
[in]nosumNo-sum flag
[in]opLogical operation for the sum

Definition at line 1498 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_logical_2d()

subroutine type_com::com_red_logical_2d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nl,
logical, dimension(com%next,nl), intent(in)  vec_ext,
logical, dimension(com%nred,nl), intent(out)  vec_red,
logical, intent(in), optional  nosum,
character(len=*), intent(in), optional  op 
)
private

Communicate vector from halo (reduction)

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nlNumber of levels
[in]vec_extExtended vector
[out]vec_redReduced vector
[in]nosumNo-sum flag
[in]opLogical operation for the sum

Definition at line 1622 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_real_1d()

subroutine type_com::com_red_real_1d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(com%next), intent(in)  vec_ext,
real(kind_real), dimension(com%nred), intent(out)  vec_red,
logical, intent(in), optional  nosum 
)
private

Communicate vector from halo (reduction)

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]vec_extExtended vector
[out]vec_redReduced vector
[in]nosumNo-sum flag

Definition at line 1272 of file type_com.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ com_red_real_2d()

subroutine type_com::com_red_real_2d ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nl,
real(kind_real), dimension(com%next,nl), intent(in)  vec_ext,
real(kind_real), dimension(com%nred,nl), intent(out)  vec_red,
logical, intent(in), optional  nosum 
)
private

Communicate vector from halo (reduction)

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nlNumber of levels
[in]vec_extExtended vector
[out]vec_redReduced vector
[in]nosumNo-sum flag

Definition at line 1379 of file type_com.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ com_serialize()

subroutine type_com::com_serialize ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nbufi,
integer, dimension(nbufi), intent(out)  bufi 
)
private

Serialize.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]nbufiBuffer size (integer)
[out]bufiBuffer (integer)

Definition at line 227 of file type_com.F90.

◆ com_setup()

subroutine type_com::com_setup ( class(com_type), intent(inout)  com_out,
type(mpl_type), intent(inout)  mpl,
character(len=*), intent(in)  prefix,
integer, intent(in)  nred,
integer, intent(in)  next,
integer, intent(in)  nglb,
integer, dimension(nred), intent(in)  red_to_glb,
integer, dimension(next), intent(in)  ext_to_glb,
integer, dimension(:), intent(in), optional  own_to_glb 
)
private

Setup communications.

Parameters
[in,out]com_outCommunication data
[in,out]mplMPI data
[in]nredReduced halo size
[in]nextExtended halo size
[in]nglbGlobal size
[in]red_to_glbReduced halo to global
[in]ext_to_glbExtended halo to global
[in]own_to_glbOwn data to global

Definition at line 355 of file type_com.F90.

◆ com_write()

subroutine type_com::com_write ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  ncid 
)
private

Write communications to a NetCDF file.

Parameters
[in]comCommunication data
[in,out]mplMPI data
[in]ncidNetCDF file

Definition at line 158 of file type_com.F90.