3 use fckit_log_module,
only: fckit_log
11 type(fckit_mpi_comm),
private :: comm
12 integer,
private :: nobs
13 integer,
private :: myproc
14 integer,
private :: nproc
15 integer,
allocatable,
public :: indx(:)
31 integer,
intent(in) :: gnobs
34 integer :: info, i, ic
37 call fckit_log%debug(
'random_distribution object created')
64 type(random_distribution),
intent(inout):: this
65 if (
allocated (this%indx))
then 68 call fckit_log%debug(
'random_distribution object finalized')
71 logical function received(this, seqno)
73 integer,
intent(in) :: seqno
77 if (mod(seqno-1, this%nproc) .eq. this%myproc)
then 81 call fckit_log%debug(
'distribute Obs Data Functionality')
87 call fckit_log%debug(
'nobs_pe Data Functionality')
91 integer function mype(this)
97 subroutine reset(this)
98 class(random_distribution),
intent(inout):: this
100 call fckit_log%debug(
'reset Data Functionality')
integer function mype(this)
integer function nobs_pe(this)
subroutine destructor(this)
logical function received(this, seqno)
type(random_distribution) function constructor(gnobs)