SABER
type_com Module Reference

Generic ranks, dimensions and types. 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_def (com, mpl, ncid)
 Write, definition mode. More...
 
subroutine com_write_data (com, mpl)
 Write, data mode. 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_int_r1 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_int_r2 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_int_r3 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_int_r4 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_real_r1 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_real_r2 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_real_r3 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_real_r4 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_logical_r1 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_logical_r2 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_logical_r3 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_ext_logical_r4 (com, mpl, vec_red, vec_ext)
 Communicate field to halo (extension) More...
 
subroutine com_red_int_r1 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_int_r2 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_int_r3 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_int_r4 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_real_r1 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_real_r2 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_real_r3 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_real_r4 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_logical_r1 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_logical_r2 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_logical_r3 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 
subroutine com_red_logical_r4 (com, mpl, vec_ext, vec_red, nosum, op)
 Communicate vector from halo (reduction) More...
 

Detailed Description

Generic ranks, dimensions and types.

Subroutines/functions list Instrumentation functions 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 395 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 216 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 488 of file type_com.F90.

◆ com_ext_int_r1()

subroutine type_com::com_ext_int_r1 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:), intent(in)  vec_red,
integer(kind_int), dimension(:), intent(out)  vec_ext 
)
private

Communicate field to halo (extension)

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

Definition at line 903 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_int_r2()

subroutine type_com::com_ext_int_r2 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:,:), intent(in)  vec_red,
integer(kind_int), dimension(:,:), intent(out)  vec_ext 
)
private

Communicate field to halo (extension)

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

Definition at line 981 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_int_r3()

subroutine type_com::com_ext_int_r3 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:,:,:), intent(in)  vec_red,
integer(kind_int), dimension(:,:,:), intent(out)  vec_ext 
)
private

Communicate field to halo (extension)

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

Definition at line 1082 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_int_r4()

subroutine type_com::com_ext_int_r4 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:,:,:,:), intent(in)  vec_red,
integer(kind_int), dimension(:,:,:,:), intent(out)  vec_ext 
)
private

Communicate field to halo (extension)

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

Definition at line 1195 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_logical_r1()

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

Communicate field to halo (extension)

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

Definition at line 1741 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_logical_r2()

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

Communicate field to halo (extension)

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

Definition at line 1819 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_logical_r3()

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

Communicate field to halo (extension)

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

Definition at line 1920 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_logical_r4()

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

Communicate field to halo (extension)

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

Definition at line 2033 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_real_r1()

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

Communicate field to halo (extension)

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

Definition at line 1322 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_real_r2()

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

Communicate field to halo (extension)

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

Definition at line 1400 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_real_r3()

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

Communicate field to halo (extension)

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

Definition at line 1501 of file type_com.F90.

Here is the caller graph for this function:

◆ com_ext_real_r4()

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

Communicate field to halo (extension)

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

Definition at line 1614 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 250 of file type_com.F90.

◆ com_red_int_r1()

subroutine type_com::com_red_int_r1 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:), intent(in)  vec_ext,
integer(kind_int), dimension(:), 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 2162 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_int_r2()

subroutine type_com::com_red_int_r2 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:,:), intent(in)  vec_ext,
integer(kind_int), dimension(:,:), 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 2291 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_int_r3()

subroutine type_com::com_red_int_r3 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:,:,:), intent(in)  vec_ext,
integer(kind_int), dimension(:,:,:), 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 2466 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_int_r4()

subroutine type_com::com_red_int_r4 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
integer(kind_int), dimension(:,:,:,:), intent(in)  vec_ext,
integer(kind_int), dimension(:,:,:,:), 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 2667 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_logical_r1()

subroutine type_com::com_red_logical_r1 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
logical, dimension(:), intent(in)  vec_ext,
logical, dimension(:), 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 3630 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_logical_r2()

subroutine type_com::com_red_logical_r2 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
logical, dimension(:,:), intent(in)  vec_ext,
logical, dimension(:,:), 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 3765 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_logical_r3()

subroutine type_com::com_red_logical_r3 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
logical, dimension(:,:,:), intent(in)  vec_ext,
logical, dimension(:,:,:), 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 3950 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_logical_r4()

subroutine type_com::com_red_logical_r4 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
logical, dimension(:,:,:,:), intent(in)  vec_ext,
logical, dimension(:,:,:,:), 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 4165 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_real_r1()

subroutine type_com::com_red_real_r1 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(:), intent(in)  vec_ext,
real(kind_real), dimension(:), 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 2896 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_real_r2()

subroutine type_com::com_red_real_r2 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(:,:), intent(in)  vec_ext,
real(kind_real), dimension(:,:), 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 3025 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_real_r3()

subroutine type_com::com_red_real_r3 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(:,:,:), intent(in)  vec_ext,
real(kind_real), dimension(:,:,:), 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 3200 of file type_com.F90.

Here is the caller graph for this function:

◆ com_red_real_r4()

subroutine type_com::com_red_real_r4 ( class(com_type), intent(in)  com,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(:,:,:,:), intent(in)  vec_ext,
real(kind_real), dimension(:,:,:,:), 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 3401 of file type_com.F90.

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 422 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 566 of file type_com.F90.

◆ com_write_data()

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

Write, data mode.

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

Definition at line 362 of file type_com.F90.

◆ com_write_def()

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

Write, definition mode.

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

Definition at line 314 of file type_com.F90.