SCALE-RM
|
module process / icoA More...
Functions/Subroutines | |
subroutine, public | prc_icoa_setup |
Setup Processor topology. More... | |
subroutine, public | prc_icoa_rgn_generate (rlevel, pall, rall, lall, edge_tab, lp2r) |
Generate region management info. More... | |
Variables | |
integer, parameter, public | prc_rank_pl = PRC_masterrank |
process ID which manages the pole regions More... | |
logical, public | prc_have_pl |
this ID manages pole region? More... | |
integer, parameter, public | i_l = 1 |
local region More... | |
integer, parameter, public | i_prc = 2 |
process More... | |
integer, parameter, public | i_rgnid = 1 |
region id More... | |
integer, parameter, public | i_dir = 2 |
direction More... | |
integer, parameter, public | i_sw = 1 |
south west More... | |
integer, parameter, public | i_nw = 2 |
north west More... | |
integer, parameter, public | i_ne = 3 |
north east More... | |
integer, parameter, public | i_se = 4 |
south east More... | |
integer, parameter, public | i_w = 1 |
west More... | |
integer, parameter, public | i_n = 2 |
north More... | |
integer, parameter, public | i_e = 3 |
east More... | |
integer, parameter, public | i_s = 4 |
south More... | |
integer, parameter, public | i_npl = 1 |
north pole More... | |
integer, parameter, public | i_spl = 2 |
south pole More... | |
integer, public | prc_rgn_level = -1 |
region division level More... | |
integer, public | prc_rgn_dmd = 10 |
number of diamonds More... | |
integer, public | prc_rgn_vlink = 5 |
maximum number of vertex linkage, ICO:5 More... | |
integer, public | prc_rgn_total |
number of regular region (global total) More... | |
integer, public | prc_rgn_local |
number of regular region (local) More... | |
integer, parameter, public | prc_rgn_total_pl = 2 |
number of pole region More... | |
integer, parameter, public | prc_rgn_local_lim = 2560 |
maximum number of regular region (local) More... | |
integer, dimension(:,:,:), allocatable, public | prc_rgn_edge_tab |
region link information (for 4 edges) More... | |
integer, dimension(:,:), allocatable, public | prc_rgn_vert_num |
number of region around the vertex (4 vertexes) More... | |
integer, dimension(:,:,:,:), allocatable, public | prc_rgn_vert_tab |
region link information (for 4 vertexes) More... | |
integer, dimension(:,:,:), allocatable, public | prc_rgn_vert_tab_pl |
region link information (for 4 vertexes) More... | |
integer, dimension(:,:), allocatable, public | prc_rgn_lp2r |
l,prc => rgn More... | |
integer, dimension(:,:), allocatable, public | prc_rgn_r2lp |
rgn => l,prc More... | |
integer, dimension(:), allocatable, public | prc_rgn_l2r |
l,prc_me => rgn More... | |
integer, dimension(prc_rgn_total_pl), public | prc_rgn_r2p_pl |
process ID which have the pole regions More... | |
integer, dimension(prc_rgn_total_pl), public | prc_rgn_rgn4pl |
region, having pole data in the halo More... | |
logical, dimension(:), allocatable, public | prc_rgn_have_sgp |
region have singlar point? More... | |
module process / icoA
name | type | default value | comment |
---|---|---|---|
PRC_RGN_LEVEL | integer | -1 | region division level |
DEBUG | logical | .false. | debug option |
name | type | default value | comment |
---|---|---|---|
PRC_ICOA_RGN_IN_FNAME | character(len=H_LONG) | '' | input file name for region management file |
PRC_ICOA_RGN_OUT_FNAME | character(len=H_LONG) | '' | output file name for region management file |
DEBUG | logical | .false. | debug option |
name | type | default value | comment |
---|---|---|---|
NUM_OF_RGN | integer | number of region |
name | type | default value | comment |
---|---|---|---|
RGNID | integer | ||
SW | integer, dimension(2) | -1 | south-west region info |
NW | integer, dimension(2) | -1 | north-west region info |
NE | integer, dimension(2) | -1 | north-east region info |
SE | integer, dimension(2) | -1 | south-east region info |
name | type | default value | comment |
---|---|---|---|
NUM_OF_PROC | integer | number of processes |
name | type | default value | comment |
---|---|---|---|
PEID | integer | process ID | |
NUM_OF_MNG | integer | number of regions be managed | |
MNG_RGNID | integer, dimension(PRC_RGN_LOCAL_LIM) | managed region ID |
subroutine, public scale_prc_icoa::prc_icoa_setup | ( | ) |
Setup Processor topology.
Definition at line 121 of file scale_prc_icoA.F90.
References i_dir, i_l, i_n, i_ne, i_npl, i_nw, i_prc, i_rgnid, i_s, i_se, i_spl, i_sw, i_w, scale_io::io_fid_conf, scale_io::io_fid_nml, scale_io::io_get_available_fid(), scale_io::io_l, scale_io::io_nml, scale_prc::prc_abort(), scale_prc::prc_abort_comm_world, scale_prc::prc_global_comm_world, scale_prc::prc_global_ismaster, scale_prc::prc_global_myrank, scale_prc::prc_global_nprocs, prc_have_pl, prc_icoa_rgn_generate(), scale_prc::prc_ismaster, scale_prc::prc_local_comm_world, scale_prc::prc_myrank, scale_prc::prc_nprocs, prc_rank_pl, prc_rgn_dmd, prc_rgn_edge_tab, prc_rgn_have_sgp, prc_rgn_l2r, prc_rgn_level, prc_rgn_local, prc_rgn_local_lim, prc_rgn_lp2r, prc_rgn_r2lp, prc_rgn_r2p_pl, prc_rgn_rgn4pl, prc_rgn_total, prc_rgn_total_pl, prc_rgn_vert_num, prc_rgn_vert_tab, prc_rgn_vert_tab_pl, prc_rgn_vlink, scale_prc::prc_universal_comm_world, scale_prc::prc_universal_ismaster, scale_prc::prc_universal_myrank, and scale_prc::prc_universal_nprocs.
subroutine, public scale_prc_icoa::prc_icoa_rgn_generate | ( | integer, intent(in) | rlevel, |
integer, intent(in) | pall, | ||
integer, intent(in) | rall, | ||
integer, intent(in) | lall, | ||
integer, dimension(2,4,rall), intent(out) | edge_tab, | ||
integer, dimension(lall,0:pall-1), intent(out) | lp2r | ||
) |
Generate region management info.
[in] | rlevel | region division level |
[in] | pall | number of process (global total) |
[in] | rall | number of regular region (global total) |
[in] | lall | number of regular region (local) |
[out] | edge_tab | region link information (for 4 edges) |
[out] | lp2r | l,prc => region |
Definition at line 564 of file scale_prc_icoA.F90.
References i_dir, i_e, i_n, i_ne, i_npl, i_nw, i_rgnid, i_s, i_se, i_spl, i_sw, i_w, scale_prc::prc_abort(), scale_prc::prc_myrank, prc_rgn_dmd, prc_rgn_edge_tab, prc_rgn_l2r, prc_rgn_level, prc_rgn_local, prc_rgn_lp2r, prc_rgn_r2p_pl, prc_rgn_rgn4pl, prc_rgn_total, prc_rgn_vert_num, prc_rgn_vert_tab, prc_rgn_vert_tab_pl, and prc_rgn_vlink.
Referenced by prc_icoa_setup().
integer, parameter, public scale_prc_icoa::prc_rank_pl = PRC_masterrank |
process ID which manages the pole regions
Definition at line 38 of file scale_prc_icoA.F90.
Referenced by prc_icoa_setup().
logical, public scale_prc_icoa::prc_have_pl |
this ID manages pole region?
Definition at line 39 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_l = 1 |
local region
Definition at line 43 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_prc = 2 |
process
Definition at line 44 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_rgnid = 1 |
region id
Definition at line 46 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_dir = 2 |
direction
Definition at line 47 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_sw = 1 |
south west
Definition at line 50 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_nw = 2 |
north west
Definition at line 51 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_ne = 3 |
north east
Definition at line 52 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_se = 4 |
south east
Definition at line 53 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_w = 1 |
west
Definition at line 56 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_n = 2 |
north
Definition at line 57 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), prc_icoa_setup(), and scale_comm_icoa::suf().
integer, parameter, public scale_prc_icoa::i_e = 3 |
east
Definition at line 58 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), and prc_icoa_rgn_generate().
integer, parameter, public scale_prc_icoa::i_s = 4 |
south
Definition at line 59 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), prc_icoa_setup(), and scale_comm_icoa::suf().
integer, parameter, public scale_prc_icoa::i_npl = 1 |
north pole
Definition at line 62 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), scale_comm_icoa::comm_var_dp(), scale_comm_icoa::comm_var_sp(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::i_spl = 2 |
south pole
Definition at line 63 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), scale_comm_icoa::comm_var_dp(), scale_comm_icoa::comm_var_sp(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, public scale_prc_icoa::prc_rgn_level = -1 |
region division level
Definition at line 66 of file scale_prc_icoA.F90.
Referenced by scale_atmos_grid_icoa_index::atmos_grid_icoa_index_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, public scale_prc_icoa::prc_rgn_dmd = 10 |
number of diamonds
Definition at line 67 of file scale_prc_icoA.F90.
Referenced by prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, public scale_prc_icoa::prc_rgn_vlink = 5 |
maximum number of vertex linkage, ICO:5
Definition at line 68 of file scale_prc_icoA.F90.
Referenced by scale_atmos_grid_icoa_index::atmos_grid_icoa_index_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, public scale_prc_icoa::prc_rgn_total |
number of regular region (global total)
Definition at line 71 of file scale_prc_icoA.F90.
Referenced by scale_atmos_grid_icoa_index::atmos_grid_icoa_index_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, public scale_prc_icoa::prc_rgn_local |
number of regular region (local)
Definition at line 72 of file scale_prc_icoA.F90.
Referenced by scale_atmos_grid_icoa_index::atmos_grid_icoa_index_setup(), scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::prc_rgn_total_pl = 2 |
number of pole region
Definition at line 73 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_var_dp(), scale_comm_icoa::comm_var_sp(), and prc_icoa_setup().
integer, parameter, public scale_prc_icoa::prc_rgn_local_lim = 2560 |
maximum number of regular region (local)
Definition at line 75 of file scale_prc_icoA.F90.
Referenced by prc_icoa_setup().
integer, dimension (:,:,:), allocatable, public scale_prc_icoa::prc_rgn_edge_tab |
region link information (for 4 edges)
Definition at line 77 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, dimension (:,:), allocatable, public scale_prc_icoa::prc_rgn_vert_num |
number of region around the vertex (4 vertexes)
Definition at line 79 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), prc_icoa_setup(), and scale_comm_icoa::suf().
integer, dimension (:,:,:,:), allocatable, public scale_prc_icoa::prc_rgn_vert_tab |
region link information (for 4 vertexes)
Definition at line 80 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, dimension(:,:,:), allocatable, public scale_prc_icoa::prc_rgn_vert_tab_pl |
region link information (for 4 vertexes)
Definition at line 81 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, dimension(:,:), allocatable, public scale_prc_icoa::prc_rgn_lp2r |
l,prc => rgn
Definition at line 83 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), scale_comm_icoa::comm_var_dp(), scale_comm_icoa::comm_var_sp(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, dimension(:,:), allocatable, public scale_prc_icoa::prc_rgn_r2lp |
rgn => l,prc
Definition at line 84 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), and prc_icoa_setup().
integer, dimension (:), allocatable, public scale_prc_icoa::prc_rgn_l2r |
l,prc_me => rgn
Definition at line 85 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), prc_icoa_setup(), and scale_comm_icoa::suf().
integer, dimension(prc_rgn_total_pl), public scale_prc_icoa::prc_rgn_r2p_pl |
process ID which have the pole regions
Definition at line 87 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_setup(), prc_icoa_rgn_generate(), and prc_icoa_setup().
integer, dimension(prc_rgn_total_pl), public scale_prc_icoa::prc_rgn_rgn4pl |
region, having pole data in the halo
Definition at line 88 of file scale_prc_icoA.F90.
Referenced by scale_comm_icoa::comm_var_dp(), scale_comm_icoa::comm_var_sp(), prc_icoa_rgn_generate(), and prc_icoa_setup().
logical, dimension(:), allocatable, public scale_prc_icoa::prc_rgn_have_sgp |
region have singlar point?
Definition at line 92 of file scale_prc_icoA.F90.
Referenced by prc_icoa_setup(), and scale_comm_icoa::suf().