/[MITgcm]/MITgcm_contrib/exch3/ex3_util.F
ViewVC logotype

Contents of /MITgcm_contrib/exch3/ex3_util.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Thu Apr 6 20:36:26 2006 UTC (18 years, 1 month ago) by edhill
Branch: MAIN
CVS Tags: HEAD
move out of the model and into MITgcm_contrib

1 C $Header: /u/gcmpack/MITgcm/pkg/ex3/ex3_util.F,v 1.2 2005/10/16 06:55:48 edhill Exp $
2 C $Name: $
3
4 #include "EX3_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP 0
8 C !ROUTINE: EX3_GET_BUFFTAG
9
10 C !INTERFACE:
11 SUBROUTINE EX3_GET_BUFFTAG(
12 I i_sendtile, i_recvtile, i_neigh,
13 O bufftag,
14 I myThid )
15
16 C !DESCRIPTION:
17 C Vector exchange routine which copies values from two input arrays,
18 C performs a rotation/permutation of the values, writes the values
19 C to two buffers in the specified order and then, if necessary,
20 C calls the appropriate MPI send functions.
21
22 C !USES:
23 IMPLICIT NONE
24 #include "EX3_SIZE.h"
25
26 C !INPUT PARAMETERS:
27 INTEGER i_sendtile, i_recvtile, i_neigh
28 INTEGER bifftag
29 INTEGER myThid
30 CEOP
31
32 C !LOCAL VARIABLES
33 INTEGER bufftag
34
35 C Probably a 32-bit (signed or unsigned?) int so things are fine as
36 C when: (EX3_MAX_E_NBS * EX3_MAX_TILES) < 21,000
37
38 C . 2^32 = 4294967296
39 C . 2^31 = 2147483648
40 C . 2^30 = 1073741824
41 C
42 C . 2100021000
43 C . rrrrrsssss
44 C . 0987654321
45 bufftag =
46 & (i_sendtile - 1)*EX3_MAX_E_NBS + i_neigh
47 & + 100000*( (i_recvtile - 1)*EX3_MAX_E_NBS + i_neigh )
48
49 RETURN
50 END
51
52 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
53

  ViewVC Help
Powered by ViewVC 1.1.22