mpp_domains_mod_oa Module Reference

Data Types

type  domain_axis_spec
type  domain1D
type  rectangle
type  domain2D
interface  mpp_copy_domains
interface  mpp_define_domains
interface  mpp_update_domains
interface  mpp_redistribute
interface  mpp_global_field
interface  mpp_global_max
interface  mpp_global_min
interface  mpp_global_sum
interface  operator(.EQ.)
interface  operator(.NE.)
interface  mpp_get_compute_domain
interface  mpp_get_compute_domains
interface  mpp_get_data_domain
interface  mpp_get_global_domain
interface  mpp_define_layout
interface  mpp_get_pelist
interface  mpp_get_layout

Functions/Subroutines

subroutine mpp_domains_init (flags)
subroutine mpp_domains_set_stack_size (n)
subroutine mpp_domains_exit ()
logical mpp_domain1D_eq (a, b)
logical mpp_domain1D_ne (a, b)
logical mpp_domain2D_eq (a, b)
logical mpp_domain2D_ne (a, b)
subroutine mpp_copy_domains1D (domain_in, domain_out, halo)
subroutine mpp_copy_domains2D (domain_in, domain_out, xhalo, yhalo)
subroutine mpp_define_domains1D (global_indices, ndivs, domain, pelist, flags, halo, extent, maskmap, offset)
subroutine mpp_define_domains2D (global_indices, layout, domain, pelist, xflags, yflags, xhalo, yhalo, xextent, yextent, maskmap, offsetx, offsety, name)
subroutine mpp_broadcast_domain (domain)
subroutine compute_overlaps (domain)
subroutine mpp_define_layout2D (global_indices, ndivs, layout)
subroutine mpp_get_compute_domain1D (domain, begin, end, size, max_size, is_global)
subroutine mpp_get_data_domain1D (domain, begin, end, size, max_size, is_global)
subroutine mpp_get_global_domain1D (domain, begin, end, size, max_size)
subroutine mpp_get_compute_domain2D (domain, xbegin, xend, ybegin, yend, xsize, xmax_size, ysize, ymax_size, x_is_global, y_is_global)
subroutine mpp_get_data_domain2D (domain, xbegin, xend, ybegin, yend, xsize, xmax_size, ysize, ymax_size, x_is_global, y_is_global)
subroutine mpp_get_global_domain2D (domain, xbegin, xend, ybegin, yend, xsize, xmax_size, ysize, ymax_size)
subroutine mpp_get_domain_components (domain, x, y)
subroutine mpp_get_compute_domains1D (domain, begin, end, size)
subroutine mpp_get_compute_domains2D (domain, xbegin, xend, xsize, ybegin, yend, ysize)
subroutine mpp_get_pelist1D (domain, pelist, pos)
subroutine mpp_get_pelist2D (domain, pelist, pos)
subroutine mpp_get_layout1D (domain, layout)
subroutine mpp_get_layout2D (domain, layout)

Variables

character(len=128) version
character(len=128) tagname
character(len=128) version_update_domains2D
character(len=128) version_global_reduce
character(len=128) version_global_sum
character(len=128) version_global_field
integer, parameter GLOBAL = 0
integer, parameter CYCLIC = 1
integer, parameter WEST = 2
integer, parameter EAST = 3
integer, parameter SOUTH = 4
integer, parameter NORTH = 5
integer, parameter SEND = 1
integer, parameter RECV = 2
integer, parameter GLOBAL_DATA_DOMAIN = 2**GLOBAL
integer, parameter CYCLIC_GLOBAL_DOMAIN = 2**CYCLIC
integer, parameter AGRID = 0
integer, parameter BGRID = 1
integer, parameter CGRID = 2
integer, parameter BGRID_NE = BGRID+2**NORTH+2**EAST
integer, parameter BGRID_SW = BGRID+2**SOUTH+2**WEST
integer, parameter CGRID_NE = CGRID+2**NORTH+2**EAST
integer, parameter CGRID_SW = CGRID+2**SOUTH+2**WEST
integer grid_offset_type = AGRID
integer, parameter FOLD_WEST_EDGE = 2**WEST
integer, parameter FOLD_EAST_EDGE = 2**EAST
integer, parameter FOLD_SOUTH_EDGE = 2**SOUTH
integer, parameter FOLD_NORTH_EDGE = 2**NORTH
integer, parameter WUPDATE = 2**WEST
integer, parameter EUPDATE = 2**EAST
integer, parameter SUPDATE = 2**SOUTH
integer, parameter NUPDATE = 2**NORTH
integer, parameter XUPDATE = WUPDATE+EUPDATE
integer, parameter YUPDATE = SUPDATE+NUPDATE
integer, parameter BITWISE_EXACT_SUM = 1
type(domain1DNULL_DOMAIN1D
type(domain2DNULL_DOMAIN2D
integer pe
integer tk
logical verbose = .FALSE.
logical debug = .FALSE.
logical domain_clocks_on = .FALSE.
logical module_is_initialized = .FALSE.
integer, parameter MPP_DOMAIN_TIME = MPP_DEBUG+1
integer send_clock = 0
integer recv_clock = 0
integer unpk_clock = 0
integer wait_clock = 0
integer pack_clock = 0
integer pack_loop_clock = 0
real(DOUBLE_KIND), dimension(:),
allocatable 
mpp_domains_stack
integer mpp_domains_stack_size = 0
integer mpp_domains_stack_hwm = 0
integer, dimension(16) domain_info_buf

Function/Subroutine Documentation

subroutine mpp_domains_mod_oa::compute_overlaps ( type(domain2D),intent(inout)  domain  )  [private]

Definition at line 1260 of file mpp_domains_mod_oa.F90.

References AGRID, EAST, grid_offset_type, max, NORTH, SOUTH, and WEST.

Referenced by mpp_define_domains2D().

Here is the caller graph for this function:

subroutine mpp_domains_mod_oa::mpp_broadcast_domain ( type(domain2D),intent(inout)  domain  ) 
subroutine mpp_domains_mod_oa::mpp_copy_domains1D ( type(domain1D),intent(in)  domain_in,
type(domain1D),intent(out)  domain_out,
integer,intent(in),optional  halo 
) [private]

Definition at line 603 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_copy_domains2D ( type(domain2D),intent(in)  domain_in,
type(domain2D),intent(out)  domain_out,
integer,intent(in),optional  xhalo,
integer,intent(in),optional  yhalo 
) [private]

Definition at line 646 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, mpp_get_pelist2D(), and mpp_mod_oa::mpp_npes().

Here is the call graph for this function:

subroutine mpp_domains_mod_oa::mpp_define_domains1D ( integer,dimension(2),intent(in)  global_indices,
integer,intent(in)  ndivs,
type(domain1D),intent(inout)  domain,
integer,dimension(0:),intent(in),optional  pelist,
integer,intent(in),optional  flags,
integer,intent(in),optional  halo,
integer,dimension(0:),intent(in),optional  extent,
logical,dimension(0:),intent(in),optional  maskmap,
integer,dimension(0:),intent(in),optional  offset 
) [private]

Definition at line 731 of file mpp_domains_mod_oa.F90.

References CYCLIC, mpp_mod_oa::FATAL, GLOBAL, max, module_is_initialized, mpp_mod_oa::mpp_npes(), not, pe, mpp_mod_oa::stderr(), and mpp_mod_oa::WARNING.

Here is the call graph for this function:

subroutine mpp_domains_mod_oa::mpp_define_domains2D ( integer,dimension(4),intent(in)  global_indices,
integer,dimension(2),intent(in)  layout,
type(domain2D),intent(inout)  domain,
integer,dimension(0:),intent(in),optional  pelist,
integer,intent(in),optional  xflags,
integer,intent(in),optional  yflags,
integer,intent(in),optional  xhalo,
integer,intent(in),optional  yhalo,
integer,dimension(0:),intent(in),optional  xextent,
integer,dimension(0:),intent(in),optional  yextent,
logical,dimension(0:,0:),intent(in),optional  maskmap,
integer,dimension(0:),intent(in),optional  offsetx,
integer,dimension(0:),intent(in),optional  offsety,
character(len=*),intent(in),optional  name 
) [private]
subroutine mpp_domains_mod_oa::mpp_define_layout2D ( integer,dimension(4),intent(in)  global_indices,
integer,intent(in)  ndivs,
integer,dimension(2),intent(out)  layout 
) [private]

Definition at line 1964 of file mpp_domains_mod_oa.F90.

References max.

logical mpp_domains_mod_oa::mpp_domain1D_eq ( type(domain1D),intent(in)  a,
type(domain1D),intent(in)  b 
) [private]

Definition at line 549 of file mpp_domains_mod_oa.F90.

logical mpp_domains_mod_oa::mpp_domain1D_ne ( type(domain1D),intent(in)  a,
type(domain1D),intent(in)  b 
) [private]

Definition at line 567 of file mpp_domains_mod_oa.F90.

logical mpp_domains_mod_oa::mpp_domain2D_eq ( type(domain2D),intent(in)  a,
type(domain2D),intent(in)  b 
) [private]

Definition at line 575 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::ANY_PE.

logical mpp_domains_mod_oa::mpp_domain2D_ne ( type(domain2D),intent(in)  a,
type(domain2D),intent(in)  b 
) [private]

Definition at line 588 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_domains_exit (  ) 

Definition at line 534 of file mpp_domains_mod_oa.F90.

References module_is_initialized, mpp_domains_stack_hwm, mpp_mod_oa::mpp_root_pe(), pe, and mpp_mod_oa::stdout().

Here is the call graph for this function:

subroutine mpp_domains_mod_oa::mpp_domains_init ( integer,intent(in),optional  flags  ) 
subroutine mpp_domains_mod_oa::mpp_domains_set_stack_size ( integer,intent(in)  n  ) 

Definition at line 515 of file mpp_domains_mod_oa.F90.

References mpp_domains_stack, mpp_domains_stack_size, mpp_mod_oa::mpp_root_pe(), mpp_mod_oa::NOTE, and pe.

Referenced by mpp_domains_init(), and psmile_io_init().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine mpp_domains_mod_oa::mpp_get_compute_domain1D ( type(domain1D),intent(in)  domain,
integer,intent(out),optional  begin,
integer,intent(out),optional  end,
integer,intent(out),optional  size,
integer,intent(out),optional  max_size,
logical,intent(out),optional  is_global 
) [private]

Definition at line 1996 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_get_compute_domain2D ( type(domain2D),intent(in)  domain,
integer,intent(out),optional  xbegin,
integer,intent(out),optional  xend,
integer,intent(out),optional  ybegin,
integer,intent(out),optional  yend,
integer,intent(out),optional  xsize,
integer,intent(out),optional  xmax_size,
integer,intent(out),optional  ysize,
integer,intent(out),optional  ymax_size,
logical,intent(out),optional  x_is_global,
logical,intent(out),optional  y_is_global 
) [private]

Definition at line 2033 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_get_compute_domains1D ( type(domain1D),intent(in)  domain,
integer,dimension(:),intent(out),optional  begin,
integer,dimension(:),intent(out),optional  end,
integer,dimension(:),intent(out),optional  size 
) [private]

Definition at line 2069 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, and module_is_initialized.

subroutine mpp_domains_mod_oa::mpp_get_compute_domains2D ( type(domain2D),intent(in)  domain,
integer,dimension(:),intent(out),optional  xbegin,
integer,dimension(:),intent(out),optional  xend,
integer,dimension(:),intent(out),optional  xsize,
integer,dimension(:),intent(out),optional  ybegin,
integer,dimension(:),intent(out),optional  yend,
integer,dimension(:),intent(out),optional  ysize 
) [private]

Definition at line 2094 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, and module_is_initialized.

subroutine mpp_domains_mod_oa::mpp_get_data_domain1D ( type(domain1D),intent(in)  domain,
integer,intent(out),optional  begin,
integer,intent(out),optional  end,
integer,intent(out),optional  size,
integer,intent(out),optional  max_size,
logical,intent(out),optional  is_global 
) [private]

Definition at line 2009 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_get_data_domain2D ( type(domain2D),intent(in)  domain,
integer,intent(out),optional  xbegin,
integer,intent(out),optional  xend,
integer,intent(out),optional  ybegin,
integer,intent(out),optional  yend,
integer,intent(out),optional  xsize,
integer,intent(out),optional  xmax_size,
integer,intent(out),optional  ysize,
integer,intent(out),optional  ymax_size,
logical,intent(out),optional  x_is_global,
logical,intent(out),optional  y_is_global 
) [private]

Definition at line 2043 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_get_domain_components ( type(domain2D),intent(in)  domain,
type(domain1D),intent(out),optional  x,
type(domain1D),intent(out),optional  y 
)

Definition at line 2061 of file mpp_domains_mod_oa.F90.

Referenced by psmile_def_domains().

Here is the caller graph for this function:

subroutine mpp_domains_mod_oa::mpp_get_global_domain1D ( type(domain1D),intent(in)  domain,
integer,intent(out),optional  begin,
integer,intent(out),optional  end,
integer,intent(out),optional  size,
integer,intent(out),optional  max_size 
) [private]

Definition at line 2022 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_get_global_domain2D ( type(domain2D),intent(in)  domain,
integer,intent(out),optional  xbegin,
integer,intent(out),optional  xend,
integer,intent(out),optional  ybegin,
integer,intent(out),optional  yend,
integer,intent(out),optional  xsize,
integer,intent(out),optional  xmax_size,
integer,intent(out),optional  ysize,
integer,intent(out),optional  ymax_size 
) [private]

Definition at line 2053 of file mpp_domains_mod_oa.F90.

subroutine mpp_domains_mod_oa::mpp_get_layout1D ( type(domain1D),intent(in)  domain,
integer,intent(out)  layout 
) [private]

Definition at line 2167 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, and module_is_initialized.

subroutine mpp_domains_mod_oa::mpp_get_layout2D ( type(domain2D),intent(in)  domain,
integer,dimension(2),intent(out)  layout 
) [private]

Definition at line 2178 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, and module_is_initialized.

subroutine mpp_domains_mod_oa::mpp_get_pelist1D ( type(domain1D),intent(in)  domain,
integer,dimension(:),intent(out)  pelist,
integer,intent(out),optional  pos 
) [private]

Definition at line 2134 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, and module_is_initialized.

subroutine mpp_domains_mod_oa::mpp_get_pelist2D ( type(domain2D),intent(in)  domain,
integer,dimension(:),intent(out)  pelist,
integer,intent(out),optional  pos 
) [private]

Definition at line 2152 of file mpp_domains_mod_oa.F90.

References mpp_mod_oa::FATAL, and module_is_initialized.

Referenced by mpp_copy_domains2D().

Here is the caller graph for this function:


Variable Documentation

Definition at line 54 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps().

Definition at line 54 of file mpp_domains_mod_oa.F90.

Definition at line 55 of file mpp_domains_mod_oa.F90.

Definition at line 56 of file mpp_domains_mod_oa.F90.

Definition at line 67 of file mpp_domains_mod_oa.F90.

Definition at line 54 of file mpp_domains_mod_oa.F90.

Definition at line 57 of file mpp_domains_mod_oa.F90.

Definition at line 58 of file mpp_domains_mod_oa.F90.

Definition at line 49 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains1D().

Definition at line 52 of file mpp_domains_mod_oa.F90.

logical mpp_domains_mod_oa::debug = .FALSE.

Definition at line 115 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 131 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains2D().

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

Definition at line 64 of file mpp_domains_mod_oa.F90.

Definition at line 61 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains2D().

Definition at line 62 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains2D().

Definition at line 62 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains2D().

Definition at line 61 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains2D().

Definition at line 49 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains1D().

Definition at line 52 of file mpp_domains_mod_oa.F90.

Definition at line 59 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps().

Definition at line 117 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

real(DOUBLE_KIND),dimension(:),allocatable mpp_domains_mod_oa::mpp_domains_stack

Definition at line 126 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_set_stack_size().

Definition at line 128 of file mpp_domains_mod_oa.F90.

Definition at line 128 of file mpp_domains_mod_oa.F90.

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

Definition at line 110 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 64 of file mpp_domains_mod_oa.F90.

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 112 of file mpp_domains_mod_oa.F90.

Definition at line 51 of file mpp_domains_mod_oa.F90.

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 51 of file mpp_domains_mod_oa.F90.

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

Definition at line 64 of file mpp_domains_mod_oa.F90.

character(len=128) mpp_domains_mod_oa::tagname

Definition at line 41 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 114 of file mpp_domains_mod_oa.F90.

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

logical mpp_domains_mod_oa::verbose = .FALSE.
character(len=128) mpp_domains_mod_oa::version

Definition at line 43 of file mpp_domains_mod_oa.F90.

Definition at line 43 of file mpp_domains_mod_oa.F90.

Definition at line 43 of file mpp_domains_mod_oa.F90.

Definition at line 43 of file mpp_domains_mod_oa.F90.

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

Definition at line 64 of file mpp_domains_mod_oa.F90.

Definition at line 65 of file mpp_domains_mod_oa.F90.

Definition at line 65 of file mpp_domains_mod_oa.F90.


Generated on 18 Mar 2011 for Oasis4 by  doxygen 1.6.1