CAM
phys_grid Module Reference

Data Types

type  btofc_pters
 
type  chunk
 
type  column_map
 
type  knuhc
 
type  lchunk
 

Functions/Subroutines

integer function get_nlcols_p ()
 
integer function get_clon_p_tot ()
 
integer function get_clat_p_tot ()
 
subroutine phys_grid_init ()
 
subroutine phys_grid_find_col (lat, lon, owner, lcid, icol)
 
subroutine phys_grid_find_cols (lat, lon, nclosest, owner, lcid, icol, distmin, mlats, mlons)
 
logical function phys_grid_initialized ()
 
subroutine phys_grid_defaultopts (phys_loadbalance_out, phys_twin_algorithm_out, phys_alltoall_out, phys_chnk_per_thd_out)
 
subroutine phys_grid_setopts (phys_loadbalance_in, phys_twin_algorithm_in, phys_alltoall_in, phys_chnk_per_thd_in)
 
subroutine get_chunk_indices_p (index_beg, index_end)
 
subroutine get_gcol_all_p (lcid, latdim, gcols)
 
integer function get_gcol_p (lcid, col)
 
subroutine get_gcol_vec_p (lcid, lth, cols, gcols)
 
integer function get_ncols_p (lcid)
 
subroutine get_lat_all_p (lcid, latdim, lats)
 
subroutine get_lat_vec_p (lcid, lth, cols, lats)
 
integer function get_lat_p (lcid, col)
 
subroutine get_lon_all_p (lcid, londim, lons)
 
subroutine get_lon_vec_p (lcid, lth, cols, lons)
 
integer function get_lon_p (lcid, col)
 
subroutine get_rlat_all_p (lcid, rlatdim, rlats)
 
subroutine get_area_all_p (lcid, rdim, area)
 
real(r8) function get_area_p (lcid, col)
 
subroutine get_wght_all_p (lcid, rdim, wght)
 
real(r8) function get_wght_p (lcid, col)
 
subroutine get_rlat_vec_p (lcid, lth, cols, rlats)
 
real(r8) function get_rlat_p (lcid, col)
 
subroutine get_rlon_all_p (lcid, rlondim, rlons)
 
subroutine get_rlon_vec_p (lcid, lth, cols, rlons)
 
real(r8) function get_rlon_p (lcid, col)
 
subroutine scatter_field_to_chunk (fdim, mdim, ldim, hdim1d, globalfield, localchunks)
 
subroutine scatter_field_to_chunk4 (fdim, mdim, ldim, hdim1d, globalfield, localchunks)
 
subroutine scatter_field_to_chunk_int (fdim, mdim, ldim, hdim1d, globalfield, localchunks)
 
subroutine gather_chunk_to_field (fdim, mdim, ldim, hdim1d, localchunks, globalfield)
 
subroutine gather_chunk_to_field4 (fdim, mdim, ldim, hdim1d, localchunks, globalfield)
 
subroutine gather_chunk_to_field_int (fdim, mdim, ldim, hdim1d, localchunks, globalfield)
 
subroutine write_field_from_chunk (iu, fdim, mdim, ldim, localchunks)
 
subroutine read_chunk_from_field (iu, fdim, mdim, ldim, localchunks)
 
subroutine transpose_block_to_chunk (record_size, block_buffer, chunk_buffer, window)
 
subroutine block_to_chunk_send_pters (blockid, fdim, ldim, record_size, pter)
 
subroutine block_to_chunk_recv_pters (lcid, fdim, ldim, record_size, pter)
 
subroutine transpose_chunk_to_block (record_size, chunk_buffer, block_buffer, window)
 
subroutine chunk_to_block_send_pters (lcid, fdim, ldim, record_size, pter)
 
subroutine chunk_to_block_recv_pters (blockid, fdim, ldim, record_size, pter)
 
subroutine create_chunks (opt, chunks_per_thread)
 
subroutine find_partners (opt, proc_busy_d, nsmpx, proc_smp_mapx)
 
subroutine find_twin (gcol, smp, proc_smp_mapx, twingcol_f)
 
subroutine assign_chunks (npthreads, nsmpx, proc_smp_mapx, nsmpthreads, nsmpchunks)
 

Variables

integer, private block_buf_nrecs
 
integer, private chunk_buf_nrecs
 
logical, private local_dp_map =.true.
 
integer, parameter, public phys_decomp = 100
 
integer, private hdim1_d
 
integer, private hdim2_d
 
integer ngcols
 
integer, public ngcols_p
 
integer, dimension(:), allocatable, private dyn_to_latlon_gcol_map
 
integer, dimension(:), allocatable, public latlon_to_dyn_gcol_map
 
integer, dimension(:), allocatable, private lonlat_to_dyn_gcol_map
 
integer, public clat_p_tot
 
integer, public clon_p_tot
 
integer, dimension(:), allocatable, private clat_p_cnt
 
integer, dimension(:), allocatable, private clat_p_idx
 
real(r8), dimension(:), allocatable clat_p
 
integer, dimension(:), allocatable, private clon_p_cnt
 
integer, dimension(:), allocatable, private clon_p_idx
 
real(r8), dimension(:), allocatable clon_p
 
integer, dimension(:), allocatable, private lat_p
 
integer, dimension(:), allocatable, private lon_p
 
integer nchunks
 
type(chunk), dimension(:), allocatable, public chunks
 
integer, dimension(:), allocatable, public npchunks
 
integer, private nlchunks
 
type(lchunk), dimension(:), allocatable, private lchunks
 
type(knuhc), dimension(:), allocatable, public knuhcs
 
integer, private nlcols
 
type(column_map), dimension(:), allocatable, private pgcols
 
integer, dimension(:), allocatable, private gs_col_num
 
integer, dimension(:), allocatable, private gs_col_offset
 
integer, dimension(:), allocatable, private btofc_blk_num
 
integer, dimension(:), allocatable, private btofc_chk_num
 
type(btofc_pters), dimension(:), allocatable, private btofc_blk_offset
 
type(btofc_pters), dimension(:), allocatable, private btofc_chk_offset
 
integer, private dp_coup_steps
 
integer, dimension(:), allocatable, private dp_coup_proc
 
logical physgrid_set = .false.
 
integer, private max_nproc_smpx
 
integer, private nproc_busy_d
 
integer, parameter, private min_lbal_opt = -1
 
integer, parameter, private max_lbal_opt = 5
 
integer, parameter, private def_lbal_opt = 2
 
integer, private lbal_opt = def_lbal_opt
 
integer, parameter, private min_twin_alg = 0
 
integer, parameter, private max_twin_alg = 1
 
integer, parameter, private def_twin_alg_lonlat = 1
 
integer, parameter, private def_twin_alg_unstructured = 0
 
integer, private twin_alg = def_twin_alg_lonlat
 
integer, parameter, private min_chunks_per_thread = 1
 
integer, parameter, private def_chunks_per_thread = min_chunks_per_thread
 
integer, private chunks_per_thread = def_chunks_per_thread
 
integer, parameter, private min_alltoall = -1
 
integer, parameter, private max_alltoall = 3
 
integer, parameter, private def_alltoall = 1
 
integer, private phys_alltoall = def_alltoall
 

Function/Subroutine Documentation

◆ assign_chunks()

subroutine phys_grid::assign_chunks ( integer, dimension(0:npes-1), intent(in)  npthreads,
integer, intent(in)  nsmpx,
integer, dimension(0:npes-1), intent(in)  proc_smp_mapx,
integer, dimension(0:nsmpx-1), intent(in)  nsmpthreads,
integer, dimension(0:nsmpx-1), intent(in)  nsmpchunks 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ block_to_chunk_recv_pters()

subroutine phys_grid::block_to_chunk_recv_pters ( integer, intent(in)  lcid,
integer, intent(in)  fdim,
integer, intent(in)  ldim,
integer, intent(in)  record_size,
integer, dimension(fdim,ldim), intent(out)  pter 
)
Here is the caller graph for this function:

◆ block_to_chunk_send_pters()

subroutine phys_grid::block_to_chunk_send_pters ( integer, intent(in)  blockid,
integer, intent(in)  fdim,
integer, intent(in)  ldim,
integer, intent(in)  record_size,
integer, dimension(fdim,ldim), intent(out)  pter 
)
Here is the caller graph for this function:

◆ chunk_to_block_recv_pters()

subroutine phys_grid::chunk_to_block_recv_pters ( integer, intent(in)  blockid,
integer, intent(in)  fdim,
integer, intent(in)  ldim,
integer, intent(in)  record_size,
integer, dimension(fdim,ldim), intent(out)  pter 
)
Here is the caller graph for this function:

◆ chunk_to_block_send_pters()

subroutine phys_grid::chunk_to_block_send_pters ( integer, intent(in)  lcid,
integer, intent(in)  fdim,
integer, intent(in)  ldim,
integer, intent(in)  record_size,
integer, dimension(fdim,ldim), intent(out)  pter 
)
Here is the caller graph for this function:

◆ create_chunks()

subroutine phys_grid::create_chunks ( integer, intent(in)  opt,
integer, intent(in)  chunks_per_thread 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_partners()

subroutine phys_grid::find_partners ( integer, intent(in)  opt,
logical, dimension(0:npes-1), intent(in)  proc_busy_d,
integer, intent(out)  nsmpx,
integer, dimension(0:npes-1), intent(out)  proc_smp_mapx 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_twin()

subroutine phys_grid::find_twin ( integer, intent(in)  gcol,
integer, intent(in)  smp,
integer, dimension(0:npes-1), intent(in)  proc_smp_mapx,
integer, intent(out)  twingcol_f 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gather_chunk_to_field()

subroutine phys_grid::gather_chunk_to_field ( integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
integer, intent(in)  hdim1d,
real(r8), dimension(fdim,pcols,mdim, begchunk:endchunk,ldim), intent(in)  localchunks,
real(r8), dimension(fdim,hdim1d,mdim,hdim2_d,ldim), intent(out)  globalfield 
)
Here is the caller graph for this function:

◆ gather_chunk_to_field4()

subroutine phys_grid::gather_chunk_to_field4 ( integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
integer, intent(in)  hdim1d,
real(r4), dimension(fdim,pcols,mdim, begchunk:endchunk,ldim), intent(in)  localchunks,
real(r4), dimension(fdim,hdim1d,mdim,hdim2_d,ldim), intent(out)  globalfield 
)

◆ gather_chunk_to_field_int()

subroutine phys_grid::gather_chunk_to_field_int ( integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
integer, intent(in)  hdim1d,
integer, dimension(fdim,pcols,mdim,begchunk:endchunk,ldim), intent(in)  localchunks,
integer, dimension(fdim,hdim1d,mdim,hdim2_d,ldim), intent(out)  globalfield 
)

◆ get_area_all_p()

subroutine phys_grid::get_area_all_p ( integer, intent(in)  lcid,
integer, intent(in)  rdim,
real(r8), dimension(rdim), intent(out)  area 
)
Here is the caller graph for this function:

◆ get_area_p()

real(r8) function phys_grid::get_area_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)

◆ get_chunk_indices_p()

subroutine phys_grid::get_chunk_indices_p ( integer, intent(out)  index_beg,
integer, intent(out)  index_end 
)

◆ get_clat_p_tot()

integer function phys_grid::get_clat_p_tot ( )

◆ get_clon_p_tot()

integer function phys_grid::get_clon_p_tot ( )

◆ get_gcol_all_p()

subroutine phys_grid::get_gcol_all_p ( integer, intent(in)  lcid,
integer, intent(in)  latdim,
integer, dimension(:), intent(out)  gcols 
)
Here is the caller graph for this function:

◆ get_gcol_p()

integer function phys_grid::get_gcol_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)
Here is the caller graph for this function:

◆ get_gcol_vec_p()

subroutine phys_grid::get_gcol_vec_p ( integer, intent(in)  lcid,
integer, intent(in)  lth,
integer, dimension(lth), intent(in)  cols,
integer, dimension(lth), intent(out)  gcols 
)

◆ get_lat_all_p()

subroutine phys_grid::get_lat_all_p ( integer, intent(in)  lcid,
integer, intent(in)  latdim,
integer, dimension(latdim), intent(out)  lats 
)
Here is the caller graph for this function:

◆ get_lat_p()

integer function phys_grid::get_lat_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)
Here is the caller graph for this function:

◆ get_lat_vec_p()

subroutine phys_grid::get_lat_vec_p ( integer, intent(in)  lcid,
integer, intent(in)  lth,
integer, dimension(lth), intent(in)  cols,
integer, dimension(lth), intent(out)  lats 
)

◆ get_lon_all_p()

subroutine phys_grid::get_lon_all_p ( integer, intent(in)  lcid,
integer, intent(in)  londim,
integer, dimension(londim), intent(out)  lons 
)
Here is the caller graph for this function:

◆ get_lon_p()

integer function phys_grid::get_lon_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)
Here is the caller graph for this function:

◆ get_lon_vec_p()

subroutine phys_grid::get_lon_vec_p ( integer, intent(in)  lcid,
integer, intent(in)  lth,
integer, dimension(lth), intent(in)  cols,
integer, dimension(lth), intent(out)  lons 
)

◆ get_ncols_p()

integer function phys_grid::get_ncols_p ( integer, intent(in)  lcid)
Here is the caller graph for this function:

◆ get_nlcols_p()

integer function phys_grid::get_nlcols_p ( )
Here is the caller graph for this function:

◆ get_rlat_all_p()

subroutine phys_grid::get_rlat_all_p ( integer, intent(in)  lcid,
integer, intent(in)  rlatdim,
real(r8), dimension(rlatdim), intent(out)  rlats 
)
Here is the caller graph for this function:

◆ get_rlat_p()

real(r8) function phys_grid::get_rlat_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)
Here is the caller graph for this function:

◆ get_rlat_vec_p()

subroutine phys_grid::get_rlat_vec_p ( integer, intent(in)  lcid,
integer, intent(in)  lth,
integer, dimension(lth), intent(in)  cols,
real(r8), dimension(lth), intent(out)  rlats 
)

◆ get_rlon_all_p()

subroutine phys_grid::get_rlon_all_p ( integer, intent(in)  lcid,
integer, intent(in)  rlondim,
real(r8), dimension(rlondim), intent(out)  rlons 
)
Here is the caller graph for this function:

◆ get_rlon_p()

real(r8) function phys_grid::get_rlon_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)
Here is the caller graph for this function:

◆ get_rlon_vec_p()

subroutine phys_grid::get_rlon_vec_p ( integer, intent(in)  lcid,
integer, intent(in)  lth,
integer, dimension(lth), intent(in)  cols,
real(r8), dimension(lth), intent(out)  rlons 
)

◆ get_wght_all_p()

subroutine phys_grid::get_wght_all_p ( integer, intent(in)  lcid,
integer, intent(in)  rdim,
real(r8), dimension(rdim), intent(out)  wght 
)
Here is the caller graph for this function:

◆ get_wght_p()

real(r8) function phys_grid::get_wght_p ( integer, intent(in)  lcid,
integer, intent(in)  col 
)

◆ phys_grid_defaultopts()

subroutine phys_grid::phys_grid_defaultopts ( integer, intent(out), optional  phys_loadbalance_out,
integer, intent(out), optional  phys_twin_algorithm_out,
integer, intent(out), optional  phys_alltoall_out,
integer, intent(out), optional  phys_chnk_per_thd_out 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ phys_grid_find_col()

subroutine phys_grid::phys_grid_find_col ( real(r8), intent(in)  lat,
real(r8), intent(in)  lon,
integer, intent(out)  owner,
integer, intent(out)  lcid,
integer, intent(out)  icol 
)
Here is the caller graph for this function:

◆ phys_grid_find_cols()

subroutine phys_grid::phys_grid_find_cols ( real(r8), intent(in)  lat,
real(r8), intent(in)  lon,
integer, intent(in)  nclosest,
integer, dimension(nclosest), intent(out)  owner,
integer, dimension(nclosest), intent(out)  lcid,
integer, dimension(nclosest), intent(out)  icol,
real(r8), dimension(nclosest), intent(out)  distmin,
real(r8), dimension(nclosest), intent(out)  mlats,
real(r8), dimension(nclosest), intent(out)  mlons 
)

◆ phys_grid_init()

subroutine phys_grid::phys_grid_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ phys_grid_initialized()

logical function phys_grid::phys_grid_initialized ( )
Here is the caller graph for this function:

◆ phys_grid_setopts()

subroutine phys_grid::phys_grid_setopts ( integer, intent(in), optional  phys_loadbalance_in,
integer, intent(in), optional  phys_twin_algorithm_in,
integer, intent(in), optional  phys_alltoall_in,
integer, intent(in), optional  phys_chnk_per_thd_in 
)
Here is the caller graph for this function:

◆ read_chunk_from_field()

subroutine phys_grid::read_chunk_from_field ( integer, intent(in)  iu,
integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
real(r8), dimension(fdim,pcols,mdim,begchunk:endchunk,ldim), intent(out)  localchunks 
)
Here is the call graph for this function:

◆ scatter_field_to_chunk()

subroutine phys_grid::scatter_field_to_chunk ( integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
integer, intent(in)  hdim1d,
real(r8), dimension(fdim,hdim1d,mdim,hdim2_d,ldim), intent(in)  globalfield,
real(r8), dimension(fdim,pcols,mdim, begchunk:endchunk,ldim), intent(out)  localchunks 
)
Here is the caller graph for this function:

◆ scatter_field_to_chunk4()

subroutine phys_grid::scatter_field_to_chunk4 ( integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
integer, intent(in)  hdim1d,
real(r4), dimension(fdim,hdim1d,mdim,hdim2_d,ldim), intent(in)  globalfield,
real(r4), dimension(fdim,pcols,mdim, begchunk:endchunk,ldim), intent(out)  localchunks 
)

◆ scatter_field_to_chunk_int()

subroutine phys_grid::scatter_field_to_chunk_int ( integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
integer, intent(in)  hdim1d,
integer, dimension(fdim,hdim1d,mdim,hdim2_d,ldim), intent(in)  globalfield,
integer, dimension(fdim,pcols,mdim, begchunk:endchunk,ldim), intent(out)  localchunks 
)

◆ transpose_block_to_chunk()

subroutine phys_grid::transpose_block_to_chunk ( integer, intent(in)  record_size,
real(r8), dimension(record_size*block_buf_nrecs), intent(in)  block_buffer,
real(r8), dimension(record_size*chunk_buf_nrecs), intent(out)  chunk_buffer,
integer, intent(in), optional  window 
)
Here is the caller graph for this function:

◆ transpose_chunk_to_block()

subroutine phys_grid::transpose_chunk_to_block ( integer, intent(in)  record_size,
real(r8), dimension(record_size*chunk_buf_nrecs), intent(in)  chunk_buffer,
real(r8), dimension(record_size*block_buf_nrecs), intent(out)  block_buffer,
integer, intent(in), optional  window 
)
Here is the caller graph for this function:

◆ write_field_from_chunk()

subroutine phys_grid::write_field_from_chunk ( integer, intent(in)  iu,
integer, intent(in)  fdim,
integer, intent(in)  mdim,
integer, intent(in)  ldim,
real(r8), dimension(fdim,pcols,mdim,begchunk:endchunk,ldim), intent(in)  localchunks 
)
Here is the call graph for this function:

Variable Documentation

◆ block_buf_nrecs

integer, private phys_grid::block_buf_nrecs
private

◆ btofc_blk_num

integer, dimension(:), allocatable, private phys_grid::btofc_blk_num
private

◆ btofc_blk_offset

type (btofc_pters), dimension(:), allocatable, private phys_grid::btofc_blk_offset
private

◆ btofc_chk_num

integer, dimension(:), allocatable, private phys_grid::btofc_chk_num
private

◆ btofc_chk_offset

type (btofc_pters), dimension(:), allocatable, private phys_grid::btofc_chk_offset
private

◆ chunk_buf_nrecs

integer, private phys_grid::chunk_buf_nrecs
private

◆ chunks

type (chunk), dimension(:), allocatable, public phys_grid::chunks

◆ chunks_per_thread

integer, private phys_grid::chunks_per_thread = def_chunks_per_thread
private

◆ clat_p

real(r8), dimension(:), allocatable phys_grid::clat_p

◆ clat_p_cnt

integer, dimension(:), allocatable, private phys_grid::clat_p_cnt
private

◆ clat_p_idx

integer, dimension(:), allocatable, private phys_grid::clat_p_idx
private

◆ clat_p_tot

integer, public phys_grid::clat_p_tot

◆ clon_p

real(r8), dimension(:), allocatable phys_grid::clon_p

◆ clon_p_cnt

integer, dimension(:), allocatable, private phys_grid::clon_p_cnt
private

◆ clon_p_idx

integer, dimension(:), allocatable, private phys_grid::clon_p_idx
private

◆ clon_p_tot

integer, public phys_grid::clon_p_tot

◆ def_alltoall

integer, parameter, private phys_grid::def_alltoall = 1
private

◆ def_chunks_per_thread

integer, parameter, private phys_grid::def_chunks_per_thread = min_chunks_per_thread
private

◆ def_lbal_opt

integer, parameter, private phys_grid::def_lbal_opt = 2
private

◆ def_twin_alg_lonlat

integer, parameter, private phys_grid::def_twin_alg_lonlat = 1
private

◆ def_twin_alg_unstructured

integer, parameter, private phys_grid::def_twin_alg_unstructured = 0
private

◆ dp_coup_proc

integer, dimension(:), allocatable, private phys_grid::dp_coup_proc
private

◆ dp_coup_steps

integer, private phys_grid::dp_coup_steps
private

◆ dyn_to_latlon_gcol_map

integer, dimension(:), allocatable, private phys_grid::dyn_to_latlon_gcol_map
private

◆ gs_col_num

integer, dimension(:), allocatable, private phys_grid::gs_col_num
private

◆ gs_col_offset

integer, dimension(:), allocatable, private phys_grid::gs_col_offset
private

◆ hdim1_d

integer, private phys_grid::hdim1_d
private

◆ hdim2_d

integer, private phys_grid::hdim2_d
private

◆ knuhcs

type (knuhc), dimension(:), allocatable, public phys_grid::knuhcs

◆ lat_p

integer, dimension(:), allocatable, private phys_grid::lat_p
private

◆ latlon_to_dyn_gcol_map

integer, dimension(:), allocatable, public phys_grid::latlon_to_dyn_gcol_map

◆ lbal_opt

integer, private phys_grid::lbal_opt = def_lbal_opt
private

◆ lchunks

type (lchunk), dimension(:), allocatable, private phys_grid::lchunks
private

◆ local_dp_map

logical, private phys_grid::local_dp_map =.true.
private

◆ lon_p

integer, dimension(:), allocatable, private phys_grid::lon_p
private

◆ lonlat_to_dyn_gcol_map

integer, dimension(:), allocatable, private phys_grid::lonlat_to_dyn_gcol_map
private

◆ max_alltoall

integer, parameter, private phys_grid::max_alltoall = 3
private

◆ max_lbal_opt

integer, parameter, private phys_grid::max_lbal_opt = 5
private

◆ max_nproc_smpx

integer, private phys_grid::max_nproc_smpx
private

◆ max_twin_alg

integer, parameter, private phys_grid::max_twin_alg = 1
private

◆ min_alltoall

integer, parameter, private phys_grid::min_alltoall = -1
private

◆ min_chunks_per_thread

integer, parameter, private phys_grid::min_chunks_per_thread = 1
private

◆ min_lbal_opt

integer, parameter, private phys_grid::min_lbal_opt = -1
private

◆ min_twin_alg

integer, parameter, private phys_grid::min_twin_alg = 0
private

◆ nchunks

integer phys_grid::nchunks

◆ ngcols

integer phys_grid::ngcols

◆ ngcols_p

integer, public phys_grid::ngcols_p

◆ nlchunks

integer, private phys_grid::nlchunks
private

◆ nlcols

integer, private phys_grid::nlcols
private

◆ npchunks

integer, dimension(:), allocatable, public phys_grid::npchunks

◆ nproc_busy_d

integer, private phys_grid::nproc_busy_d
private

◆ pgcols

type (column_map), dimension(:), allocatable, private phys_grid::pgcols
private

◆ phys_alltoall

integer, private phys_grid::phys_alltoall = def_alltoall
private

◆ phys_decomp

integer, parameter, public phys_grid::phys_decomp = 100

◆ physgrid_set

logical phys_grid::physgrid_set = .false.

◆ twin_alg

integer, private phys_grid::twin_alg = def_twin_alg_lonlat
private