FMS 2025.01-dev
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. | |
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. | |
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 48 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 | |
integer, dimension(:,:), allocatable blkno |
dereference block number using global indices
Definition at line 61 of file block_control.F90.
integer, dimension(:), allocatable blksz |
number of points in each individual block blocks are not required to be uniforom in size
Definition at line 59 of file block_control.F90.
integer, dimension(:), allocatable ibe |
Definition at line 53 of file block_control.F90.
integer, dimension(:), allocatable ibs |
block extents for mpp-style
Definition at line 53 of file block_control.F90.
integer iec |
Definition at line 51 of file block_control.F90.
type(pk_type), dimension(:), allocatable index |
dereference global indices from block/ixp combo
Definition at line 64 of file block_control.F90.
integer isc |
Definition at line 51 of file block_control.F90.
type(ix_type), dimension(:), allocatable ix |
dereference packed index from global index
Definition at line 57 of file block_control.F90.
integer, dimension(:,:), allocatable ixp |
dereference packed index from global indices must be used in conjuction with blkno
Definition at line 62 of file block_control.F90.
integer, dimension(:), allocatable jbe |
Definition at line 53 of file block_control.F90.
integer, dimension(:), allocatable jbs |
Definition at line 53 of file block_control.F90.
integer jec |
MPI domain global extents.
Definition at line 51 of file block_control.F90.
integer jsc |
Definition at line 51 of file block_control.F90.
integer nblks |
number of blocks cover MPI domain
Definition at line 50 of file block_control.F90.
integer npz |
vertical extent
Definition at line 52 of file block_control.F90.
integer nx_block |
Definition at line 49 of file block_control.F90.
integer ny_block |
blocking factor using mpp-style decomposition
Definition at line 49 of file block_control.F90.
type block_control_mod::ix_type |
Type to dereference packed index from global index.
Definition at line 35 of file block_control.F90.
Public Attributes | |
integer, dimension(:,:), allocatable | ix |
integer, dimension(:,:), allocatable ix |
Definition at line 36 of file block_control.F90.
type block_control_mod::pk_type |
Type to dereference packed index from global indices.
Definition at line 41 of file block_control.F90.
Public Attributes | |
integer, dimension(:), allocatable | ii |
integer, dimension(:), allocatable | jj |
integer, dimension(:), allocatable ii |
Definition at line 42 of file block_control.F90.
integer, dimension(:), allocatable jj |
Definition at line 43 of file block_control.F90.
subroutine, public 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 79 of file block_control.F90.
subroutine, public 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 178 of file block_control.F90.