Oasis3 4.0.2
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, public mpp_domains_init (flags)
subroutine, public mpp_domains_set_stack_size (n)
subroutine, public 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, public 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, public 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), private version = '$Id: mpp_domains_mod_oa.F90 2826 2010-12-10 11:14:21Z valcke $'
character(len=128), private tagname = '$Name$'
character(len=128), private version_update_domains2D
character(len=128), private version_global_reduce
character(len=128), private version_global_sum
character(len=128), private version_global_field
integer, parameter, private GLOBAL = 0
integer, parameter, private CYCLIC = 1
integer, parameter, private WEST = 2
integer, parameter, private EAST = 3
integer, parameter, private SOUTH = 4
integer, parameter, private NORTH = 5
integer, parameter, private SEND = 1
integer, parameter, private RECV = 2
integer, parameter, public GLOBAL_DATA_DOMAIN = 2**GLOBAL
integer, parameter, public CYCLIC_GLOBAL_DOMAIN = 2**CYCLIC
integer, parameter, private AGRID = 0
integer, parameter, private BGRID = 1
integer, parameter, private CGRID = 2
integer, parameter, public BGRID_NE = BGRID+2**NORTH+2**EAST
integer, parameter, public BGRID_SW = BGRID+2**SOUTH+2**WEST
integer, parameter, public CGRID_NE = CGRID+2**NORTH+2**EAST
integer, parameter, public CGRID_SW = CGRID+2**SOUTH+2**WEST
integer, private grid_offset_type = AGRID
integer, parameter, public FOLD_WEST_EDGE = 2**WEST
integer, parameter, public FOLD_EAST_EDGE = 2**EAST
integer, parameter, public FOLD_SOUTH_EDGE = 2**SOUTH
integer, parameter, public FOLD_NORTH_EDGE = 2**NORTH
integer, parameter, public WUPDATE = 2**WEST
integer, parameter, public EUPDATE = 2**EAST
integer, parameter, public SUPDATE = 2**SOUTH
integer, parameter, public NUPDATE = 2**NORTH
integer, parameter, public XUPDATE = WUPDATE+EUPDATE
integer, parameter, public YUPDATE = SUPDATE+NUPDATE
integer, parameter, public BITWISE_EXACT_SUM = 1
type(domain1D), public NULL_DOMAIN1D
type(domain2D), public NULL_DOMAIN2D
integer, private pe
integer, private tk
logical, private verbose = .FALSE.
logical, private debug = .FALSE.
logical, private domain_clocks_on = .FALSE.
logical, private module_is_initialized = .FALSE.
integer, parameter, public 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, private 
mpp_domains_stack
integer, private mpp_domains_stack_size = 0
integer, private 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 1264 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,public 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 607 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 650 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 735 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 1968 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 553 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 571 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 579 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 592 of file mpp_domains_mod_oa.F90.

subroutine,public mpp_domains_mod_oa::mpp_domains_exit ( )

Definition at line 538 of file mpp_domains_mod_oa.F90.

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

Here is the call graph for this function:

subroutine,public mpp_domains_mod_oa::mpp_domains_set_stack_size ( integer,intent(in)  n)

Definition at line 519 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().

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 2000 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 2037 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 2073 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 2098 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 2013 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 2047 of file mpp_domains_mod_oa.F90.

subroutine,public 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 2065 of file mpp_domains_mod_oa.F90.

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 2026 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 2057 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 2171 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 2182 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 2138 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 2156 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

integer,parameter,private mpp_domains_mod_oa::AGRID = 0

Definition at line 54 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps().

integer,parameter,private mpp_domains_mod_oa::BGRID = 1

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.

integer,parameter,private mpp_domains_mod_oa::CGRID = 2

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.

integer,parameter,private mpp_domains_mod_oa::CYCLIC = 1

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,private mpp_domains_mod_oa::domain_clocks_on = .FALSE.

Definition at line 118 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

Definition at line 135 of file mpp_domains_mod_oa.F90.

Referenced by mpp_define_domains2D().

integer,parameter,private mpp_domains_mod_oa::EAST = 3

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

integer,parameter,public mpp_domains_mod_oa::EUPDATE = 2**EAST

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().

integer,parameter,private mpp_domains_mod_oa::GLOBAL = 0

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().

integer,parameter,public mpp_domains_mod_oa::MPP_DOMAIN_TIME = MPP_DEBUG+1

Definition at line 121 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_init().

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

Definition at line 130 of file mpp_domains_mod_oa.F90.

Referenced by mpp_domains_set_stack_size().

integer,parameter,private mpp_domains_mod_oa::NORTH = 5

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().

integer,parameter,public mpp_domains_mod_oa::NUPDATE = 2**NORTH

Definition at line 64 of file mpp_domains_mod_oa.F90.

Definition at line 112 of file mpp_domains_mod_oa.F90.

integer,parameter,private mpp_domains_mod_oa::RECV = 2

Definition at line 51 of file mpp_domains_mod_oa.F90.

integer,parameter,private mpp_domains_mod_oa::SEND = 1

Definition at line 51 of file mpp_domains_mod_oa.F90.

integer,parameter,private mpp_domains_mod_oa::SOUTH = 4

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

integer,parameter,public mpp_domains_mod_oa::SUPDATE = 2**SOUTH

Definition at line 64 of file mpp_domains_mod_oa.F90.

character(len=128),private mpp_domains_mod_oa::tagname = '$Name$'

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.

character(len=128),private mpp_domains_mod_oa::version = '$Id: mpp_domains_mod_oa.F90 2826 2010-12-10 11:14:21Z valcke $'
character(len=128),private mpp_domains_mod_oa::version_global_field

Definition at line 43 of file mpp_domains_mod_oa.F90.

character(len=128),private mpp_domains_mod_oa::version_global_reduce

Definition at line 43 of file mpp_domains_mod_oa.F90.

character(len=128),private mpp_domains_mod_oa::version_global_sum

Definition at line 43 of file mpp_domains_mod_oa.F90.

Definition at line 43 of file mpp_domains_mod_oa.F90.

integer,parameter,private mpp_domains_mod_oa::WEST = 2

Definition at line 50 of file mpp_domains_mod_oa.F90.

Referenced by compute_overlaps(), and mpp_define_domains2D().

integer,parameter,public mpp_domains_mod_oa::WUPDATE = 2**WEST

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.

 All Data Structures Namespaces Files Functions Variables Defines