FMS
2024.03
Flexible Modeling System
|
Routines for "blocks" used for OpenMP threading of column-based calculations. More...
Data Types | |
type | block_control_type |
Block data and extents for OpenMP threading of column-based calculations. More... | |
type | ix_type |
Type to dereference packed index from global index. More... | |
type | pk_type |
Type to dereference packed index from global indices. More... | |
Functions/Subroutines | |
subroutine, public | define_blocks (component, Block, isc, iec, jsc, jec, kpts, nx_block, ny_block, message) |
Sets up "blocks" used for OpenMP threading of column-based calculations using rad_n[x/y]xblock from coupler_nml. More... | |
subroutine, public | define_blocks_packed (component, Block, isc, iec, jsc, jec, kpts, blksz, message) |
Creates and populates a data type which is used for defining the sub-blocks of the MPI-domain to enhance OpenMP and memory performance. Uses a packed concept. More... | |
Routines for "blocks" used for OpenMP threading of column-based calculations.
type block_control_mod::block_control_type |
Block data and extents for OpenMP threading of column-based calculations.
Definition at line 47 of file block_control.F90.
Public Attributes | |
integer, dimension(:,:), allocatable | blkno |
dereference block number using global indices | |
integer, dimension(:), allocatable | blksz |
number of points in each individual block blocks are not required to be uniforom in size | |
integer, dimension(:), allocatable | ibe |
integer, dimension(:), allocatable | ibs |
block extents for mpp-style | |
integer | iec |
type(pk_type), dimension(:), allocatable | index |
dereference global indices from block/ixp combo | |
integer | isc |
type(ix_type), dimension(:), allocatable | ix |
dereference packed index from global index | |
integer, dimension(:,:), allocatable | ixp |
dereference packed index from global indices must be used in conjuction with blkno | |
integer, dimension(:), allocatable | jbe |
integer, dimension(:), allocatable | jbs |
integer | jec |
MPI domain global extents. | |
integer | jsc |
integer | nblks |
number of blocks cover MPI domain | |
integer | npz |
vertical extent | |
integer | nx_block |
integer | ny_block |
blocking factor using mpp-style decomposition | |
type block_control_mod::ix_type |
Type to dereference packed index from global index.
Definition at line 34 of file block_control.F90.
Public Attributes | |
integer, dimension(:,:), allocatable | ix |
type block_control_mod::pk_type |
Type to dereference packed index from global indices.
Definition at line 40 of file block_control.F90.
Public Attributes | |
integer, dimension(:), allocatable | ii |
integer, dimension(:), allocatable | jj |
subroutine, public block_control_mod::define_blocks | ( | character(len=*), intent(in) | component, |
type(block_control_type), intent(inout) | Block, | ||
integer, intent(in) | isc, | ||
integer, intent(in) | iec, | ||
integer, intent(in) | jsc, | ||
integer, intent(in) | jec, | ||
integer, intent(in) | kpts, | ||
integer, intent(in) | nx_block, | ||
integer, intent(in) | ny_block, | ||
logical, intent(inout) | message | ||
) |
Sets up "blocks" used for OpenMP threading of column-based calculations using rad_n[x/y]xblock from coupler_nml.
[in] | component | Component name string |
[in,out] | block | Returns instantiated block_control_type |
[in,out] | message | flag for outputting debug message |
Definition at line 78 of file block_control.F90.
subroutine, public block_control_mod::define_blocks_packed | ( | character(len=*), intent(in) | component, |
type(block_control_type), intent(inout) | Block, | ||
integer, intent(in) | isc, | ||
integer, intent(in) | iec, | ||
integer, intent(in) | jsc, | ||
integer, intent(in) | jec, | ||
integer, intent(in) | kpts, | ||
integer, intent(inout) | blksz, | ||
logical, intent(inout) | message | ||
) |
Creates and populates a data type which is used for defining the sub-blocks of the MPI-domain to enhance OpenMP and memory performance. Uses a packed concept.
[in] | component | Component name string |
[in,out] | block | Returns instantiated block_control_type |
[in,out] | blksz | block size |
[in,out] | message | flag for outputting debug message |
Definition at line 173 of file block_control.F90.