subroutine ArrDescrSet(ArrDes, offset, &
readers_comm, ioscattercomm, &
writers_comm, iogathercomm, &
i1, in, j1, jn, im_world, jm_world, lm_world)
type(ArrDescr), intent(INOUT) :: ArrDes
integer(kind=MPI_OFFSET_KIND), &
optional, intent(IN ) :: offset
integer, optional, intent(IN ) :: readers_comm, ioscattercomm
integer, optional, intent(IN ) :: writers_comm, iogathercomm
integer, optional, target :: i1(:), in(:), j1(:), jn(:)
integer, optional, intent(IN ) :: im_world, jm_world, lm_world
integer :: status
if(present(offset )) ArrDes%offset = offset
if(present(readers_comm )) then
call MAPL_Comm_dup(readers_comm, ArrDes%readers_comm, status)
end if
if(present(ioscattercomm)) then
call MAPL_Comm_dup(IOscattercomm, ArrDes%IOscattercomm, status)
end if
if(present(writers_comm )) then
call MAPL_Comm_dup(writers_comm, ArrDes%writers_comm, status)
end if
if(present(iogathercomm)) then
call MAPL_Comm_dup(IOgathercomm, ArrDes%IOgathercomm, status)
end if
if(present(i1 )) ArrDes%i1 => i1
if(present(in )) ArrDes%in => in
if(present(j1 )) ArrDes%j1 => j1
if(present(jn )) ArrDes%jn => jn
if(present(im_world)) ArrDes%im_world = im_world
if(present(jm_world)) ArrDes%jm_world = jm_world
if(present(lm_world)) ArrDes%lm_world = lm_world
end subroutine ArrDescrSet