|
FMS
2025.04
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 177 of file block_control.F90.