C $Header: /u/gcmpack/MITgcm/pkg/atm_compon_interf/cpl_exch_configs.F,v 1.5 2015/11/12 01:06:40 jmc Exp $ C $Name: $ #include "ATM_CPL_OPTIONS.h" CBOP 0 C !ROUTINE: CPL_EXCH_CONFIGS C !INTERFACE: SUBROUTINE CPL_EXCH_CONFIGS( myThid ) C !DESCRIPTION: C *==========================================================* C | SUBROUTINE CPL_EXCH_CONFIGS C | o Controlling routine for initial config exchange between C | component models and atmosphere component. C | - Atmospheric version - C *==========================================================* C | Controls the import of configuration information C | (grid/topography,etc...) from other components and the C | export of configuration information from this component. C | The routine does some basic checking on consistency C | components and summarizes the information that has been C | imported. C | The routine will need to be customised for different C | styles of coupled run. The coupler requires consistency C | between sending and receiving operations posted by C | various components. Therefore changes in one component C | model CPL_EXCH_CONFIG may require changes in other C | component models CPL_EXCH_CONFIG routines as well C | as in the coupler EXCH_COMPONENT_CONFIG routine. C *==========================================================* C !USES: IMPLICIT NONE C == Global variables == #include "SIZE.h" #include "EEPARAMS.h" c#include "PARAMS.h" c#include "CPL_PARAMS.h" C !INPUT/OUTPUT PARAMETERS: C myThid :: Thread number for this instance of the routine INTEGER myThid C !LOCAL VARIABLES: C errMsg :: error message to print to clog file LOGICAL errFlag CHARACTER*70 errMsg c CHARACTER*(MAX_LEN_MBUF) msgBuf C-- local variable in common block _RL landMask_loc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) COMMON / CPL_EXCH_CONFIGS_LOC / landMask_loc CEOP errFlag = .FALSE. errMsg = ' ' C- Get configuration information (=land/sea mask) from other pkg CALL ATM_GET_ATMCONFIG( O landMask_loc, I myThid ) C- Post my configuration information to the coupler "layer". CALL ATM_EXPORT_ATMCONFIG( U errFlag, I landMask_loc, myThid ) C- Import other component model(s) configuration(s) from the coupler "layer" C o Get ocean model configuration CALL ATM_IMPORT_OCNCONFIG( myThid ) C- Summarise coupling config set-up and check for inconsistency _BARRIER CALL ATM_CHECK_CPLCONFIG( U errFlag, errMsg, I landMask_loc, myThid ) C-- All procs in World check for error and stop if any _BEGIN_MASTER( myThid ) CALL MITCPLR_ALL_CHECK( errFlag, errMsg ) _END_MASTER( myThid ) _BARRIER RETURN END