Oasis3 4.0.2
mpp_mod_oa Module Reference

Data Types

type  communicator
type  event
type  clock
type  Clock_Data_Summary
type  Summary_Struct
interface  mpp_max
interface  mpp_min
interface  mpp_sum
interface  mpp_transmit
interface  mpp_recv
interface  mpp_send
interface  mpp_broadcast
interface  mpp_chksum
interface  mpp_error

Functions/Subroutines

subroutine, public mpp_init (flags, mpp_comm, logfile)
integer, public stdin ()
integer, public stdout ()
integer, public stderr ()
integer, public stdlog ()
subroutine, public mpp_exit ()
integer, public mpp_pe ()
integer, public mpp_node ()
integer, public mpp_npes ()
integer, public mpp_root_pe ()
subroutine, public mpp_set_root_pe (num)
subroutine, public mpp_declare_pelist (pelist, name)
subroutine, public mpp_set_current_pelist (pelist)
subroutine, public mpp_get_current_pelist (pelist, name)
integer get_peset (pelist)
subroutine, public mpp_clock_set_grain (grain)
integer, public mpp_clock_id (name, flags, grain)
subroutine, public mpp_clock_begin (id)
subroutine, public mpp_clock_end (id)
subroutine increment_current_clock (event_id, bytes)
subroutine dump_clock_summary ()
integer get_unit ()
subroutine sum_clock_data ()
subroutine clock_init (id, name, flags)
subroutine, public mpp_sync (pelist)
subroutine, public mpp_sync_self (pelist)
subroutine mpp_error_basic (errortype, errormsg)
subroutine mpp_error_mesg (routine, errormsg, errortype)
subroutine mpp_error_noargs ()
subroutine, public mpp_set_warn_level (flag)
integer, public mpp_error_state ()
subroutine, public mpp_set_stack_size (n)

Variables

character(len=128), private version = '$Id: mpp_mod_oa.F90 2826 2010-12-10 11:14:21Z valcke $'
character(len=128), private tagname = '$Name$'
integer, private in_unit = 5
integer, private out_unit = 6
integer, private err_unit = 0
integer log_unit
integer etc_unit
logical, private module_is_initialized = .FALSE.
integer, private pe = 0
integer, private node = 0
integer, private npes = 1
integer, private root_pe = 0
integer, private error
integer, parameter, private MAXPES = 2048
character(len=32) configfile = 'logfile.out'
character(len=32) etcfile = '._mpp.nonrootpe.stdout'
logical, save logfile_defined = .false.
logical, save opened
integer io_num
integer, parameter, public MPP_VERBOSE = 1
integer, parameter, public MPP_DEBUG = 2
logical, private verbose = .FALSE.
logical, private debug = .FALSE.
integer, parameter, public ALL_PES = -1
integer, parameter, public ANY_PE = -2
integer, parameter, public NULL_PE = -3
integer, parameter, public NOTE = 0
integer, parameter, public WARNING = 1
integer, parameter, public FATAL = 2
logical, private warnings_are_fatal = .FALSE.
integer, private error_state = 0
integer(LONG_KIND), parameter,
private 
MPP_WAIT = -1
integer(LONG_KIND), parameter,
private 
MPP_READY = -2
real(DOUBLE_KIND), dimension(:),
allocatable, private 
mpp_stack
integer, private mpp_stack_size = 0
integer, private mpp_stack_hwm = 0
integer, parameter PESET_MAX = 32
type(communicator), dimension(0:peset_max) peset
integer peset_num = 0
integer current_peset_num = 0
integer world_peset_num
integer, private tick
integer, private ticks_per_sec
integer, private max_ticks
integer, private start_tick
integer, private end_tick
integer, private tick0 = 0
real, private tick_rate
integer, parameter, private MAX_CLOCKS = 100
integer, parameter, private MAX_EVENT_TYPES = 5
integer, parameter, private MAX_EVENTS = 40000
integer, parameter, private EVENT_ALLREDUCE = 1
integer, parameter, private EVENT_BROADCAST = 2
integer, parameter, private EVENT_RECV = 3
integer, parameter, private EVENT_SEND = 4
integer, parameter, private EVENT_WAIT = 5
integer, private clock_num = 0
integer, private current_clock = 0
integer, private clock0
integer, private clock_grain = HUGE(1)
integer, parameter, public MPP_CLOCK_SYNC = 1
integer, parameter, public MPP_CLOCK_DETAILED = 2
type(clock), dimension(max_clocks) clocks
integer, parameter MAX_BINS = 20
type(Summary_Struct),
dimension(max_clocks) 
clock_summary

Function/Subroutine Documentation

subroutine mpp_mod_oa::clock_init ( integer,intent(in)  id,
character(len=*),intent(in)  name,
integer,intent(in),optional  flags 
) [private]

Definition at line 1552 of file mpp_mod_oa.F90.

References clock_summary, clocks, EVENT_ALLREDUCE, EVENT_BROADCAST, EVENT_RECV, EVENT_SEND, EVENT_WAIT, MAX_EVENT_TYPES, and tick0.

Referenced by mpp_clock_id().

Here is the caller graph for this function:

subroutine mpp_mod_oa::dump_clock_summary ( ) [private]

Definition at line 1320 of file mpp_mod_oa.F90.

References a, clock_num, clock_summary, clocks, get_unit(), MAX_BINS, and MAX_EVENT_TYPES.

Referenced by mpp_exit().

Here is the call graph for this function:

Here is the caller graph for this function:

integer mpp_mod_oa::get_peset ( integer,dimension(:),intent(in),optional  pelist) [private]

Definition at line 1112 of file mpp_mod_oa.F90.

References ascend_sort(), current_peset_num, FATAL, peset, PESET_MAX, peset_num, stderr(), and WARNING.

Referenced by mpp_declare_pelist(), mpp_init(), mpp_set_current_pelist(), mpp_sync(), and mpp_sync_self().

Here is the call graph for this function:

Here is the caller graph for this function:

integer mpp_mod_oa::get_unit ( ) [private]

Definition at line 1453 of file mpp_mod_oa.F90.

References FATAL, not, and opened.

Referenced by dump_clock_summary(), mpp_init(), stderr(), stdlog(), and stdout().

Here is the caller graph for this function:

subroutine mpp_mod_oa::increment_current_clock ( integer,intent(in)  event_id,
integer,intent(in),optional  bytes 
) [private]

Definition at line 1293 of file mpp_mod_oa.F90.

References clock_num, clocks, current_clock, end_tick, FATAL, MAX_EVENTS, max_ticks, start_tick, and WARNING.

Referenced by mpp_sync(), and mpp_sync_self().

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_clock_begin ( integer,intent(in)  id)

Definition at line 1250 of file mpp_mod_oa.F90.

References clock_num, clocks, current_clock, current_peset_num, FATAL, and mpp_sync().

Referenced by mpp_init().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_clock_end ( integer,intent(in),optional  id)

Definition at line 1271 of file mpp_mod_oa.F90.

References clock_num, clocks, current_clock, current_peset_num, end_tick, FATAL, max_ticks, stderr(), and WARNING.

Referenced by mpp_exit().

Here is the call graph for this function:

Here is the caller graph for this function:

integer,public mpp_mod_oa::mpp_clock_id ( character(len=*),intent(in)  name,
integer,intent(in),optional  flags,
integer,intent(in),optional  grain 
)

Definition at line 1210 of file mpp_mod_oa.F90.

References clock_grain, clock_init(), clock_num, clocks, FATAL, MAX_CLOCKS, and WARNING.

Referenced by mpp_domains_mod_oa::mpp_domains_init(), and mpp_init().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_clock_set_grain ( integer,intent(in)  grain)

Definition at line 1198 of file mpp_mod_oa.F90.

References clock_grain, and FATAL.

subroutine,public mpp_mod_oa::mpp_declare_pelist ( integer,dimension(:),intent(in)  pelist,
character(len=*),optional  name 
)

Definition at line 1053 of file mpp_mod_oa.F90.

References FATAL, get_peset(), and peset.

Here is the call graph for this function:

subroutine mpp_mod_oa::mpp_error_basic ( integer,intent(in)  errortype,
character(len=*),intent(in),optional  errormsg 
) [private]

Definition at line 2215 of file mpp_mod_oa.F90.

References error_state, FATAL, NOTE, mod_comprism_proto::nulprt, peset, stderr(), WARNING, and warnings_are_fatal.

Here is the call graph for this function:

subroutine mpp_mod_oa::mpp_error_mesg ( character(len=*),intent(in)  routine,
character(len=*),intent(in)  errormsg,
integer,intent(in)  errortype 
) [private]

Definition at line 2263 of file mpp_mod_oa.F90.

subroutine mpp_mod_oa::mpp_error_noargs ( ) [private]

Definition at line 2270 of file mpp_mod_oa.F90.

References FATAL.

integer,public mpp_mod_oa::mpp_error_state ( )

Definition at line 2287 of file mpp_mod_oa.F90.

References error_state, FATAL, mod_comprism_proto::nulprt, and tick.

subroutine,public mpp_mod_oa::mpp_exit ( )
subroutine,public mpp_mod_oa::mpp_get_current_pelist ( integer,dimension(:),intent(out)  pelist,
character(len=*),intent(out),optional  name 
)

Definition at line 1098 of file mpp_mod_oa.F90.

References current_peset_num, FATAL, and peset.

Referenced by mpp_domains_mod_oa::mpp_broadcast_domain(), and mpp_domains_mod_oa::mpp_define_domains2D().

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_init ( integer,intent(in),optional  flags,
integer,intent(in),optional  mpp_comm,
character(len=*),intent(in),optional  logfile 
)
integer,public mpp_mod_oa::mpp_node ( )

Definition at line 999 of file mpp_mod_oa.F90.

References FATAL, and node.

integer,public mpp_mod_oa::mpp_pe ( )

Definition at line 991 of file mpp_mod_oa.F90.

References FATAL.

Referenced by mpp_domains_mod_oa::mpp_domains_init(), mpp_io_mod_oa::mpp_io_init(), and mpp_io_mod_oa::mpp_nullify_axistype_array().

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_set_current_pelist ( integer,dimension(:),intent(in),optional  pelist)

Definition at line 1074 of file mpp_mod_oa.F90.

References current_peset_num, FATAL, get_peset(), mpp_set_root_pe(), mpp_sync(), peset, and world_peset_num.

Referenced by mpp_exit().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_set_root_pe ( integer,intent(in)  num)

Definition at line 1024 of file mpp_mod_oa.F90.

References current_peset_num, FATAL, peset, and root_pe.

Referenced by mpp_set_current_pelist().

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_set_stack_size ( integer,intent(in)  n)

Definition at line 2331 of file mpp_mod_oa.F90.

References mpp_stack, mpp_stack_size, NOTE, and root_pe.

Referenced by mpp_init().

Here is the caller graph for this function:

subroutine,public mpp_mod_oa::mpp_set_warn_level ( integer,intent(in)  flag)

Definition at line 2274 of file mpp_mod_oa.F90.

References FATAL, WARNING, and warnings_are_fatal.

subroutine,public mpp_mod_oa::mpp_sync ( integer,dimension(:),intent(in),optional  pelist)
subroutine,public mpp_mod_oa::mpp_sync_self ( integer,dimension(:),intent(in),optional  pelist)

Definition at line 2163 of file mpp_mod_oa.F90.

References current_clock, EVENT_WAIT, get_peset(), increment_current_clock(), MPP_WAIT, peset, and start_tick.

Referenced by mpp_domains_mod_oa::mpp_define_domains2D(), and mpp_sync().

Here is the call graph for this function:

Here is the caller graph for this function:

integer,public mpp_mod_oa::stdin ( )

Definition at line 813 of file mpp_mod_oa.F90.

References in_unit.

Referenced by mpp_io_mod_oa::mpp_io_init(), and mpp_io_mod_oa::mpp_nullify_axistype_array().

Here is the caller graph for this function:

integer,public mpp_mod_oa::stdlog ( )

Definition at line 896 of file mpp_mod_oa.F90.

References configfile, etc_unit, FATAL, get_unit(), log_unit, and root_pe.

Here is the call graph for this function:

subroutine mpp_mod_oa::sum_clock_data ( ) [private]

Definition at line 1474 of file mpp_mod_oa.F90.

References clock_num, clock_summary, clocks, find_bin(), MAX_EVENT_TYPES, and tick_rate.

Referenced by mpp_exit().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

integer,parameter,public mpp_mod_oa::ALL_PES = -1

Definition at line 94 of file mpp_mod_oa.F90.

Definition at line 194 of file mpp_mod_oa.F90.

Referenced by mpp_exit(), and mpp_init().

integer,private mpp_mod_oa::clock_grain = HUGE(1)

Definition at line 195 of file mpp_mod_oa.F90.

Referenced by mpp_clock_id(), and mpp_clock_set_grain().

type(Summary_Struct),dimension(max_clocks) mpp_mod_oa::clock_summary

Definition at line 233 of file mpp_mod_oa.F90.

Referenced by clock_init(), dump_clock_summary(), and sum_clock_data().

character(len=32) mpp_mod_oa::configfile = 'logfile.out'

Definition at line 84 of file mpp_mod_oa.F90.

Referenced by mpp_init(), stderr(), and stdlog().

logical,private mpp_mod_oa::debug = .FALSE.

Definition at line 91 of file mpp_mod_oa.F90.

Definition at line 187 of file mpp_mod_oa.F90.

Referenced by increment_current_clock(), and mpp_clock_end().

Definition at line 77 of file mpp_mod_oa.F90.

Referenced by stderr().

Definition at line 82 of file mpp_mod_oa.F90.

Definition at line 99 of file mpp_mod_oa.F90.

Referenced by mpp_error_basic(), and mpp_error_state().

Definition at line 79 of file mpp_mod_oa.F90.

Referenced by mpp_init(), stdlog(), and stdout().

character(len=32) mpp_mod_oa::etcfile = '._mpp.nonrootpe.stdout'

Definition at line 85 of file mpp_mod_oa.F90.

Referenced by mpp_init(), and stdout().

integer,parameter,private mpp_mod_oa::EVENT_ALLREDUCE = 1

Definition at line 192 of file mpp_mod_oa.F90.

Referenced by clock_init().

integer,parameter,private mpp_mod_oa::EVENT_BROADCAST = 2

Definition at line 192 of file mpp_mod_oa.F90.

Referenced by clock_init().

integer,parameter,private mpp_mod_oa::EVENT_RECV = 3

Definition at line 192 of file mpp_mod_oa.F90.

Referenced by clock_init().

integer,parameter,private mpp_mod_oa::EVENT_SEND = 4

Definition at line 192 of file mpp_mod_oa.F90.

Referenced by clock_init().

integer,parameter,private mpp_mod_oa::EVENT_WAIT = 5

Definition at line 192 of file mpp_mod_oa.F90.

Referenced by clock_init(), mpp_sync(), and mpp_sync_self().

integer,parameter,public mpp_mod_oa::FATAL = 2

Definition at line 97 of file mpp_mod_oa.F90.

Referenced by get_peset(), get_unit(), increment_current_clock(), mpp_domains_mod_oa::mpp_broadcast_domain(), mpp_clock_begin(), mpp_clock_end(), mpp_clock_id(), mpp_clock_set_grain(), mpp_io_mod_oa::mpp_close(), mpp_domains_mod_oa::mpp_copy_domains2D(), mpp_io_mod_oa::mpp_copy_meta_axis(), mpp_io_mod_oa::mpp_copy_meta_field(), mpp_io_mod_oa::mpp_copy_meta_global(), mpp_declare_pelist(), mpp_domains_mod_oa::mpp_define_domains1D(), mpp_domains_mod_oa::mpp_define_domains2D(), mpp_error_basic(), mpp_error_noargs(), mpp_error_state(), mpp_io_mod_oa::mpp_flush(), mpp_io_mod_oa::mpp_get_axes(), mpp_io_mod_oa::mpp_get_axis_atts(), mpp_io_mod_oa::mpp_get_axis_data(), mpp_domains_mod_oa::mpp_get_compute_domains1D(), mpp_domains_mod_oa::mpp_get_compute_domains2D(), mpp_get_current_pelist(), mpp_io_mod_oa::mpp_get_field_atts(), mpp_io_mod_oa::mpp_get_fields(), mpp_io_mod_oa::mpp_get_global_atts(), mpp_io_mod_oa::mpp_get_info(), mpp_io_mod_oa::mpp_get_iospec(), mpp_domains_mod_oa::mpp_get_layout1D(), mpp_domains_mod_oa::mpp_get_layout2D(), mpp_domains_mod_oa::mpp_get_pelist1D(), mpp_domains_mod_oa::mpp_get_pelist2D(), mpp_io_mod_oa::mpp_get_recdimid(), mpp_io_mod_oa::mpp_get_times(), mpp_io_mod_oa::mpp_io_exit(), mpp_node(), mpp_npes(), mpp_io_mod_oa::mpp_nullify_axistype_array(), mpp_io_mod_oa::mpp_open(), mpp_pe(), mpp_io_mod_oa::mpp_read_meta(), mpp_root_pe(), mpp_set_current_pelist(), mpp_set_root_pe(), mpp_io_mod_oa::mpp_set_unit_range(), mpp_set_warn_level(), mpp_io_mod_oa::mpp_write_axis(), mpp_io_mod_oa::mpp_write_meta_axis(), mpp_io_mod_oa::mpp_write_meta_field(), mpp_io_mod_oa::mpp_write_meta_global(), mpp_io_mod_oa::mpp_write_meta_var(), mpp_io_mod_oa::netcdf_err(), mpp_io_mod_oa::read_record(), mpp_io_mod_oa::read_record_b(), stderr(), stdlog(), stdout(), mpp_io_mod_oa::write_attribute(), mpp_io_mod_oa::write_attribute_netcdf(), mpp_io_mod_oa::write_record(), mpp_io_mod_oa::write_record_b(), and mpp_io_mod_oa::write_record_c().

Definition at line 77 of file mpp_mod_oa.F90.

Referenced by stdin().

Definition at line 87 of file mpp_mod_oa.F90.

Referenced by mpp_init().

Definition at line 79 of file mpp_mod_oa.F90.

Referenced by mpp_init(), and stdlog().

logical,save mpp_mod_oa::logfile_defined = .false.

Definition at line 86 of file mpp_mod_oa.F90.

Referenced by mpp_init(), stderr(), and stdout().

integer,parameter mpp_mod_oa::MAX_BINS = 20

Definition at line 218 of file mpp_mod_oa.F90.

Referenced by dump_clock_summary(), and find_bin().

integer,parameter,private mpp_mod_oa::MAX_CLOCKS = 100

Definition at line 190 of file mpp_mod_oa.F90.

Referenced by mpp_clock_id().

integer,parameter,private mpp_mod_oa::MAX_EVENT_TYPES = 5

Definition at line 190 of file mpp_mod_oa.F90.

Referenced by clock_init(), dump_clock_summary(), mpp_exit(), and sum_clock_data().

integer,parameter,private mpp_mod_oa::MAX_EVENTS = 40000

Definition at line 190 of file mpp_mod_oa.F90.

Referenced by increment_current_clock().

Definition at line 187 of file mpp_mod_oa.F90.

Referenced by increment_current_clock(), mpp_clock_end(), and mpp_init().

integer,parameter,private mpp_mod_oa::MAXPES = 2048

Definition at line 83 of file mpp_mod_oa.F90.

logical,private mpp_mod_oa::module_is_initialized = .FALSE.

Definition at line 80 of file mpp_mod_oa.F90.

Definition at line 203 of file mpp_mod_oa.F90.

integer,parameter,public mpp_mod_oa::MPP_CLOCK_SYNC = 1

Definition at line 203 of file mpp_mod_oa.F90.

Referenced by mpp_init().

integer(LONG_KIND),parameter,private mpp_mod_oa::MPP_READY = -2

Definition at line 101 of file mpp_mod_oa.F90.

Referenced by mpp_init().

real(DOUBLE_KIND),dimension(:),allocatable,private mpp_mod_oa::mpp_stack

Definition at line 146 of file mpp_mod_oa.F90.

Referenced by mpp_set_stack_size().

Definition at line 148 of file mpp_mod_oa.F90.

Referenced by mpp_exit().

Definition at line 148 of file mpp_mod_oa.F90.

Referenced by mpp_set_stack_size().

integer(LONG_KIND),parameter,private mpp_mod_oa::MPP_WAIT = -1

Definition at line 101 of file mpp_mod_oa.F90.

Referenced by mpp_init(), and mpp_sync_self().

Definition at line 81 of file mpp_mod_oa.F90.

Referenced by mpp_init(), and mpp_node().

Definition at line 81 of file mpp_mod_oa.F90.

logical,save mpp_mod_oa::opened

Definition at line 86 of file mpp_mod_oa.F90.

Referenced by get_unit().

Definition at line 77 of file mpp_mod_oa.F90.

Referenced by stdout().

integer,private mpp_mod_oa::pe = 0

Definition at line 81 of file mpp_mod_oa.F90.

Definition at line 161 of file mpp_mod_oa.F90.

Referenced by get_peset().

Definition at line 163 of file mpp_mod_oa.F90.

Referenced by get_peset().

Definition at line 187 of file mpp_mod_oa.F90.

Referenced by increment_current_clock(), mpp_sync(), and mpp_sync_self().

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

Definition at line 61 of file mpp_mod_oa.F90.

Definition at line 187 of file mpp_mod_oa.F90.

Definition at line 187 of file mpp_mod_oa.F90.

Referenced by clock_init(), and mpp_init().

real,private mpp_mod_oa::tick_rate

Definition at line 189 of file mpp_mod_oa.F90.

Referenced by mpp_exit(), mpp_init(), and sum_clock_data().

Definition at line 187 of file mpp_mod_oa.F90.

Referenced by mpp_init().

logical,private mpp_mod_oa::verbose = .FALSE.

Definition at line 91 of file mpp_mod_oa.F90.

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

Definition at line 59 of file mpp_mod_oa.F90.

logical,private mpp_mod_oa::warnings_are_fatal = .FALSE.

Definition at line 98 of file mpp_mod_oa.F90.

Referenced by mpp_error_basic(), and mpp_set_warn_level().

 All Data Structures Namespaces Files Functions Variables Defines