Back to OASIS4 home
Toy simple-mg :
atm : 1 input and 1 output field,
only one grid (1:66, 1:34, 1:4)
ocn : 1 input and 1 output field,
only one grid (1:92, 1:51, 1:45)
In the search of intersections, dest is the remote proc with which
the comp on the local component has an intersection. It is the process
in communicator comm_psmile.
tag == lastag = 100 (defined in psmile.inc)
The new coordinates must cover the
same range as the original grid
atm grid in common space : global comp id
= 1
Number of grids per process in comp comm:
2 2
Ranks in psmile communicator
0 1
Grid extents:
(-2.8125E+00: 1.8000E+02, -8.7134E+01: 5.5378E+00,
0.0000E+00: 3.5000E+02)
(-1.8000E+02:-2.8125E+00, -8.7134E+01: 5.5378E+00,
0.0000E+00: 3.5000E+02)
(-2.8125E+00: 1.8000E+02, 5.5378E+00: 8.7134E+01,
0.0000E+00: 3.5000E+02)
(-1.8000E+02:-2.8125E+00, 5.5378E+00: 8.7134E+01,
0.0000E+00: 3.5000E+02)
ocn grid in common space : global comp id = 2
Number of grids per process in comp comm:
2 2 2
Ranks in psmile communicator
2 3 4
Grid extents:
(-6.0000E+00: 1.8000E+02, -7.0185E+01:-3.0458E+01,
0.0000E+00: 5.5000E+03)
(-1.8000E+02:-6.0000E+00, -7.0185E+01:-3.0458E+01,
0.0000E+00: 5.5000E+03)
(-6.0000E+00: 1.8000E+02, -3.0458E+01: 3.3844E+01,
0.0000E+00: 5.5000E+03)
(-1.8000E+02:-6.0000E+00, -3.0458E+01: 3.3844E+01,
0.0000E+00: 5.5000E+03)
(-6.0000E+00: 1.8000E+02, 3.3844E+01: 6.8784E+01,
0.0000E+00: 5.5000E+03)
(-1.8000E+02:-6.0000E+00, 3.3844E+01: 6.8784E+01,
0.0000E+00: 5.5000E+03)
There are 3 intersections npart after removing common ones.
For the atmosphere proc 0 :
[1] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
65
5
12
1 4
[1] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
65
5
12
1 4
[1] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
65
5
12
1 4
psmile_find_intersect: psmile_rank->dest,
tag:
0
2
100
use of psmile_bsend for msgint : non-blocking sends
[1] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65 12
18
1 4
[1] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65 12
18
1 4
[1] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65 12
18
1 4
psmile_find_intersect: psmile_rank->dest,
tag:
0 3
100
use of psmile_bsend for msgint : non-blocking sends
psmile_mg_setup
For the atmosphere proc 1 :
[2] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
65
19
24
1 4
[2] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
65
19
24
1 4
[2] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65
19
24
1 4
psmile_find_intersect: psmile_rank->dest,
tag:
1 3
100
use of psmile_bsend for msgint : non-blocking sends
[2] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65 24
30
1 4
[2] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65 24
30
1 4
[2] atm: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
65 24
30
1 4
psmile_find_intersect: psmile_rank->dest,
tag:
1 4
100
use of psmile_bsend for msgint : non-blocking sends
psmile_mg_setup
There are 3 intersections npart after removing common ones.
For the ocean proc
0 :
[3] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
91
2
18
1 17
[3] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91
2
18
1 17
[3] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91
2
18
1 17
psmile_find_intersect: psmile_rank->dest,
tag:
2
0
100
use of psmile_bsend for msgint : non-blocking sends
psmile_mg_setup
For the ocean proc
1 :
[4] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91
19
28
1 17
[4] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
91
19
28
1 17
[4] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91
19
28
1 17
psmile_find_intersect: psmile_rank->dest,
tag:
3
0
100
use of psmile_bsend for msgint : non-blocking sends
psmile_mg_setup
[4] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91 28
35
1 17
[4] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91 28
35
1 17
[4] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91 28
35
1 17
psmile_find_intersect: psmile_rank->dest,
tag:
3 1
100
use of psmile_bsend for msgint : non-blocking sends
psmile_mg_setup
For the ocean proc
2 :
[5] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ; inter
=
2
91
36
50
1 17
[5] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91
36
50
1 17
[5] ocn: PSMILe_Sel_grid_range eof:
grid_id
1 , ierror = 0 ;
inter
=
2
91
36
50
1 17
psmile_find_intersect: psmile_rank->dest,
tag:
4 1
100
use of psmile_bsend for msgint : non-blocking sends
psmile_mg_setup
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
For
atm proc 0
:
[1] atm: psmile_get_intersect: ninter 2,
nmyint 0, nnull 0
ninter : intersections with 2 different procs (2 and 3 in comm_psmile)
Posting Irecv
request(1)
165 with
tag 101
Posting Irecv
request(4)
164 with
tag 104
Posting Irecv
request(2)
166 with
tag 100
For atm proc 1
:
[2] atm: psmile_get_intersect: ninter 2,
nmyint 0, nnull 0
ninter : intersections with 2 different ocn procs (3 and 4 in
comm_psmile)
Posting Irecv
request(1)
165 with
tag 101
Posting Irecv
request(4)
164 with
tag 104
Posting Irecv
request(2)
166 with
tag 100
For the ocean proc
1 :
[3] ocn: psmile_get_intersect: ninter 1, nmyint
0, nnull 0
ninter : intersections with one atm proc (0 in comm_psmile)
Posting Irecv
request(1)
164 with
tag 101
Posting Irecv
request(4)
165 with
tag 104
Posting Irecv
request(2)
166 with
tag 100
For the ocean proc
1 :
[4] ocn: psmile_get_intersect: ninter 2,
nmyint 0, nnull 0
ninter : intersections with two atm proc (0 and 1 in comm_psmile)
Posting Irecv
request(1)
167 with
tag 101
Posting Irecv
request(4)
165 with
tag 104
Posting Irecv
request(2)
166 with
tag 100
For the ocean proc
2 :
[5] ocn: psmile_get_intersect: ninter 1,
nmyint 0, nnull 0
ninter : intersections with one atm proc (1 in comm_psmile)
Posting Irecv
request(1)
165 with
tag 101
Posting Irecv
request(4)
164 with
tag 104
Posting Irecv
request(2)
166 with
tag 100
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Before MPI_Waitany