C $Header: /u/gcmpack/MITgcm/pkg/atm_ocn_coupler/accept_component_registrations.F,v 1.3 2006/06/15 23:29:17 jmc Exp $ C $Name: $ #include "CPP_OPTIONS.h" CStartOfInterface SUBROUTINE ACCEPT_COMPONENT_REGISTRATIONS C /==========================================================\ C | SUBROUTINE ACCEPT_COMPONENT_REGISTRATIONS | C | o Routine to coordinate registration of component other | C | component processes. | C |==========================================================| C | During registration each component process sends its | C | attributes. Currently attributes are the layout of tiles | C | that the process owns. The 'Coupler' component (i.e. this| C | process) stores these attributes. Subsequent transfers | C | to/from the 'Coupler' process implicitly assume these | C | gridding attributes. Only one set of attributes is | C | allowed per process. The dimension arguments in the | C | 'Coupler' process calls to the registration routine are | C | used to check consistency. The tile interior extents | C | registered by a component have to lie within the global | C | extents set in the 'Coupler' process for that component. | C \==========================================================/ IMPLICIT NONE C === GLobal variables == #include "CPLIDS.h" #include "ATMSIZE.h" #include "OCNSIZE.h" #include "ATMIDS.h" #include "OCNIDS.h" CEndOfInterface C === Local variables === C During registration the coupler process collects attributes from each C of the "component" participants. It collects the attributes from each C participating component in turn. Individual components comprise of one C or more processes. Each component process does its own registration call C to report its attributes. The attributes that are collected C include information on the grid region that a particular process "owns" C and sends out information from. C Get attributes for atmosphere component. CALL CPL_REGISTER_ATM C Get attributes for ocean component. CALL CPL_REGISTER_OCN RETURN END