32 integer,
public,
parameter ::
zdir = 1
33 integer,
public,
parameter ::
xdir = 2
34 integer,
public,
parameter ::
ydir = 3
36 integer,
public ::
kmax = -1
37 integer,
public ::
imax = -1
38 integer,
public ::
jmax = -1
43 integer,
public,
parameter ::
khalo = 2
63 integer,
public ::
isb 64 integer,
public ::
ieb 65 integer,
public ::
jsb 66 integer,
public ::
jeb 67 integer,
public ::
ieh 68 integer,
public ::
jeh 73 integer,
public ::
iag 74 integer,
public ::
jag 98 integer,
public ::
i_xy = 1
99 integer,
public ::
i_uy = 2
115 KHALO, IHALO, JHALO, &
118 integer,
intent(in),
optional :: KMAX
119 integer,
intent(in),
optional :: IMAXG, JMAXG
120 integer,
intent(in),
optional :: IMAX, JMAX
121 integer,
intent(in),
optional :: KHALO, IHALO, JHALO
122 integer,
intent(in),
optional :: IBLOCK, JBLOCK
124 call atmos_grid_cartesc_index_setup_main( &
128 khalo, ihalo, jhalo, &
134 subroutine atmos_grid_cartesc_index_setup_main( &
136 IMAXG_in, JMAXG_in, &
138 KHALO_in, IHALO_in, JHALO_in, &
139 IBLOCK_in, JBLOCK_in )
154 integer,
intent(in),
optional :: KMAX_in
155 integer,
intent(in),
optional :: IMAXG_in, JMAXG_in
156 integer,
intent(in),
optional :: IMAX_in, JMAX_in
157 integer,
intent(in),
optional :: KHALO_in, IHALO_in, JHALO_in
158 integer,
intent(in),
optional :: IBLOCK_in, JBLOCK_in
160 namelist / param_atmos_grid_cartesc_index / &
174 if (
present(kmax_in) )
kmax = kmax_in
175 if (
present(imaxg_in) )
imaxg = imaxg_in
176 if (
present(jmaxg_in) )
jmaxg = jmaxg_in
177 if (
present(imax_in) )
imax = imax_in
178 if (
present(jmax_in) )
jmax = jmax_in
180 if (
present(ihalo_in) )
ihalo = ihalo_in
181 if (
present(jhalo_in) )
jhalo = jhalo_in
182 if (
present(iblock_in) )
iblock = iblock_in
183 if (
present(jblock_in) )
jblock = jblock_in
186 log_info(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'Setup' 190 read(
io_fid_conf,nml=param_atmos_grid_cartesc_index,iostat=ierr)
192 log_info(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'Not found namelist. Default used.' 193 elseif( ierr > 0 )
then 194 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'Not appropriate names in namelist PARAM_ATMOS_GRID_CARTESC_INDEX. Check!' 197 log_nml(param_atmos_grid_cartesc_index)
200 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'KMAX must be >= 2! ',
kmax 206 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'Both IMAXG and JMAXG must set! ',
imaxg,
jmaxg 210 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'Both IMAX and JMAX must set! ',
imax,
jmax 222 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'number of IMAXG should be divisible by PRC_NUM_X' 233 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'number of JMAXG should be divisible by PRC_NUM_Y' 243 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'IMAXG&JMAXG or IMAX&JMAX must set!' 248 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'number of grid size IMAX must >= IHALO! ',
imax,
ihalo 252 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'number of grid size JMAX must >= JHALO! ',
jmax,
jhalo 275 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'number of grid size IMAX must be divisible by IBLOCK! ',
imax,
iblock 278 log_error(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'number of grid size JMAX must be divisible by JBLOCK! ',
jmax,
jblock 378 log_info(
"ATMOS_GRID_CARTESC_index_setup_main",*)
'Atmosphere grid index information ' 381 log_info_cont(
'(1x,3(A,I6))')
'No. of Computational Grid (global) :', &
383 log_info_cont(
'(1x,2(A,I6))')
'Global index of local grid (X) :', &
385 log_info_cont(
'(1x,2(A,I6))')
'Global index of local grid (Y) :', &
390 log_info_cont(
'(1x,3(A,I6))')
'No. of Computational Grid (local) :', &
392 log_info_cont(
'(1x,3(A,I6))')
'No. of Grid (including HALO, local) :', &
394 log_info_cont(
'(1x,2(A,I6))')
'Local index of inner grid (X) :', &
396 log_info_cont(
'(1x,2(A,I6))')
'Local index of inner grid (Y) :', &
400 end subroutine atmos_grid_cartesc_index_setup_main
integer, public iagb
of computational grids
integer, public jmax
of computational cells: y, local
integer, parameter, public khalo
of halo cells: z
integer, public jsgb
start point of the inner domain: y, global
integer, public ihalo
of halo cells: x
integer, public imax
of computational cells: x, local
integer, public jhalo
of halo cells: y
integer, public ia
of whole cells: x, local, with HALO
integer, public iag
of computational grids
integer, public iblock
block size for cache blocking: x
integer, public ja
of whole cells: y, local, with HALO
integer, public io_fid_conf
Config file ID.
logical, public prc_has_s
integer, public je_ing
end point of the inner domain: cy, global
integer, public jsga
start point of the full domain: cy, global
integer, public isgb
start point of the inner domain: x, global
logical, public prc_has_n
logical, public prc_has_e
logical, public prc_periodic_y
periodic condition or not (Y)?
integer, public jmaxg
of computational cells: y, global
logical, public prc_periodic_x
periodic condition or not (X)?
subroutine, public atmos_grid_cartesc_index_setup(KMAX, IMAXG, JMAXG, IMAX, JMAX, KHALO, IHALO, JHALO, IBLOCK, JBLOCK)
setup index
integer, public is
start point of inner domain: x, local
integer, public ie
end point of inner domain: x, local
integer, public js_ing
start point of the inner domain: cy, global
integer, parameter, public ydir
integer, public jega
end point of the full domain: cy, global
module atmosphere / grid / cartesC index
integer, public ke
end point of inner domain: z, local
integer, public ie_ing
end point of the inner domain: cx, global
integer, public je
end point of inner domain: y, local
integer, public iega
end point of the full domain: cx, global
integer, public iegb
end point of the inner domain: x, global
integer, public ieh
end point of inner domain: x, local (half level)
integer, public ks
start point of inner domain: z, local
integer, public prc_myrank
process num in local communicator
integer, public jblock
block size for cache blocking: y
integer, public jegb
end point of the inner domain: y, global
integer, dimension(:,:), allocatable, public prc_2drank
node index in 2D topology
integer, public kmax
of computational cells: z, local
subroutine, public prc_abort
Abort Process.
integer, public jag
of computational grids
integer, public js
start point of inner domain: y, local
integer, parameter, public xdir
integer, public is_ing
start point of the inner domain: cx, global
integer, public prc_num_y
y length of 2D processor topology
integer, public jagb
of computational grids
integer, public imaxg
of computational cells: x, global
integer, public ka
of whole cells: z, local, with HALO
integer, public jeh
end point of inner domain: y, local (half level)
integer, parameter, public zdir
integer, public isga
start point of the full domain: cx, global
integer, public kijmax
of computational cells: z*x*y
logical, public prc_has_w
integer, public prc_num_x
x length of 2D processor topology