1      subroutine argos_space_upd_i(numsa,isl,islp,numwm,iwl,iwlp)
2c
3      implicit none
4c
5#include "argos_space_common.fh"
6#include "global.fh"
7#include "msgids.fh"
8c
9      integer numsa,isl(msa,mis2)
10      integer numwm,iwl(mwm,miw2)
11      integer iwlp(mwm,npackw),islp(msa,npack)
12c
13      integer il,ih,jl,jh
14c
15      if(numsa.gt.0) then
16      call ga_distribution(ga_is,me,il,ih,jl,jh)
17      if(npack.eq.0) then
18      call ga_put(ga_is,il,il+numsa-1,jl,jh,isl,msa)
19      else
20      call argos_space_pack(numsa,isl,islp)
21      call ga_put(ga_is,il,il+numsa-1,jl,jl+npack-1,islp,msa)
22      endif
23      endif
24c
25      if(numwm.gt.0) then
26      call ga_distribution(ga_iw,me,il,ih,jl,jh)
27      if(npackw.eq.0) then
28      call ga_put(ga_iw,il,il+numwm-1,jl,jh,iwl,mwm)
29      else
30      call argos_space_packw(numwm,iwl,iwlp)
31      call ga_put(ga_iw,il,il+numwm-1,jl,jl+npackw-1,iwlp,mwm)
32      endif
33      endif
34c
35      call ga_sync()
36c
37      return
38      end
39c $Id$
40