1 |
jmc |
1.3 |
C $Header: /u/gcmpack/MITgcm/pkg/aim_ocn_coupler/accept_component_registrations.F,v 1.1 2003/12/15 02:28:00 jmc Exp $ |
2 |
jmc |
1.1 |
C $Name: $ |
3 |
|
|
|
4 |
|
|
#include "CPP_OPTIONS.h" |
5 |
|
|
|
6 |
|
|
CStartOfInterface |
7 |
|
|
SUBROUTINE ACCEPT_COMPONENT_REGISTRATIONS |
8 |
|
|
C /==========================================================\ |
9 |
|
|
C | SUBROUTINE ACCEPT_COMPONENT_REGISTRATIONS | |
10 |
|
|
C | o Routine to coordinate registration of component other | |
11 |
|
|
C | component processes. | |
12 |
|
|
C |==========================================================| |
13 |
|
|
C | During registration each component process sends its | |
14 |
|
|
C | attributes. Currently attributes are the layout of tiles | |
15 |
|
|
C | that the process owns. The 'Coupler' component (i.e. this| |
16 |
|
|
C | process) stores these attributes. Subsequent transfers | |
17 |
|
|
C | to/from the 'Coupler' process implicitly assume these | |
18 |
|
|
C | gridding attributes. Only one set of attributes is | |
19 |
|
|
C | allowed per process. The dimension arguments in the | |
20 |
|
|
C | 'Coupler' process calls to the registration routine are | |
21 |
|
|
C | used to check consistency. The tile interior extents | |
22 |
|
|
C | registered by a component have to lie within the global | |
23 |
|
|
C | extents set in the 'Coupler' process for that component. | |
24 |
|
|
C \==========================================================/ |
25 |
|
|
IMPLICIT NONE |
26 |
|
|
C === GLobal variables == |
27 |
|
|
#include "CPLIDS.h" |
28 |
|
|
#include "ATMSIZE.h" |
29 |
|
|
#include "OCNSIZE.h" |
30 |
|
|
#include "ATMIDS.h" |
31 |
|
|
#include "OCNIDS.h" |
32 |
|
|
|
33 |
|
|
CEndOfInterface |
34 |
|
|
|
35 |
|
|
C === Local variables === |
36 |
|
|
|
37 |
|
|
C During registration the coupler process collects attributes from each |
38 |
|
|
C of the "component" participants. It collects the attributes from each |
39 |
|
|
C participating component in turn. Individual components comprise of one |
40 |
|
|
C or more processes. Each component process does its own registration call |
41 |
|
|
C to report its attributes. The attributes that are collected |
42 |
|
|
C include information on the grid region that a particular process "owns" |
43 |
|
|
C and sends out information from. |
44 |
|
|
|
45 |
|
|
C Get attributes for atmosphere component. |
46 |
|
|
CALL CPL_REGISTER_ATM |
47 |
|
|
|
48 |
|
|
C Get attributes for ocean component. |
49 |
|
|
CALL CPL_REGISTER_OCN |
50 |
|
|
|
51 |
|
|
|
52 |
|
|
RETURN |
53 |
|
|
END |