1 |
C $Header: $ |
2 |
C $Name: $ |
3 |
|
4 |
!======================================================================= |
5 |
subroutine MITCOMPONENT_register( nx, ny, i0, j0 ) |
6 |
implicit none |
7 |
|
8 |
! Arguments |
9 |
integer nx,ny,i0,j0 |
10 |
|
11 |
! MPI variables |
12 |
#include "mpif.h" |
13 |
integer myid, numprocs, ierr, rc |
14 |
|
15 |
! Predefined constants/arrays |
16 |
#include "CPLR_SIG.h" |
17 |
|
18 |
! Functions |
19 |
integer mitcplr_match_comp |
20 |
integer generate_tag |
21 |
|
22 |
! Local |
23 |
integer bi,bj,num_tiles,bibj |
24 |
integer count,datatype,dest,tag,comm |
25 |
|
26 |
! ------------------------------------------------------------------ |
27 |
|
28 |
! Set up buffer |
29 |
ibuf(1)=1 |
30 |
ibuf(2)=nx |
31 |
ibuf(3)=ny |
32 |
ibuf(4)=i0 |
33 |
ibuf(5)=j0 |
34 |
|
35 |
my_num_tiles=1 |
36 |
my_tile_nx(1)=nx |
37 |
my_tile_ny(1)=ny |
38 |
my_tile_i0(1)=i0 |
39 |
my_tile_j0(1)=j0 |
40 |
|
41 |
! Send message |
42 |
count=5 |
43 |
datatype=MPI_INTEGER |
44 |
dest=my_coupler_rank |
45 |
tag=generate_tag(115,my_rank_in_global,'Register') |
46 |
comm=MPI_COMM_myglobal |
47 |
|
48 |
call MPI_Send( ibuf, count, datatype, dest, tag, comm, ierr ) |
49 |
|
50 |
if (ierr.ne.0) then |
51 |
write(LogUnit,*) 'MITCOMPONENT_register: rank(W,G,L)=', |
52 |
& my_rank_in_world,my_rank_in_global,my_rank_in_local, |
53 |
& ' ierr=',ierr |
54 |
stop 'MITCOMPONENT_register: MPI_Send failed' |
55 |
endif |
56 |
|
57 |
! ------------------------------------------------------------------ |
58 |
call flush(LogUnit) |
59 |
return |
60 |
end |
61 |
!======================================================================= |