[Mitgcm-support] Re: exchange of floats

mitgcm-support at dev.mitgcm.org mitgcm-support at dev.mitgcm.org
Wed Jul 9 15:27:17 EDT 2003


This is a classic problem with particle methods and there's
a huge literature on it but as far as I know the only way
to do this robustly is to have a trajectory phase and a
re-ditribution phase and in that redistribution all tiles
send/receive to their neighbours (you can at least assume
nearest neighbour communication only). You shouldn't
do each phase for each float but instead do all floats
in each phase.

The naive algorithm would have to communicate
eight times per tiles (N,NE,E,SE,S,SW,W,NW).

A faster way would be to do all the east-west
exchanges first; if a tile goes to the NE then
send it to the east, then all the north-south exchanges;
the float that went NE is now in the N and is sent to
the right neighbour. This has four instead of eight
send/receives.

A.




More information about the MITgcm-support mailing list