Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:37:35 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
1be817fa63 Jean*0001 #include "ATM_CPL_OPTIONS.h"
a9cdd26a43 Jean*0002 
79e04e6111 Jean*0003 CBOP 0
                0004 C !ROUTINE: CPL_EXCH_CONFIGS
                0005 
                0006 C !INTERFACE:
a9cdd26a43 Jean*0007       SUBROUTINE CPL_EXCH_CONFIGS( myThid )
79e04e6111 Jean*0008 
                0009 C !DESCRIPTION:
a9cdd26a43 Jean*0010 C     *==========================================================*
a659e5f095 Jean*0011 C     | SUBROUTINE CPL_EXCH_CONFIGS
                0012 C     | o Controlling routine for initial config exchange between
                0013 C     |   component models and atmosphere component.
                0014 C     | - Atmospheric version -
a9cdd26a43 Jean*0015 C     *==========================================================*
a659e5f095 Jean*0016 C     | Controls the import of configuration information
                0017 C     | (grid/topography,etc...) from other components and the
                0018 C     | export of configuration information from this component.
                0019 C     | The routine does some basic checking on consistency
                0020 C     | components and summarizes the information that has been
                0021 C     | imported.
                0022 C     | The routine will need to be customised for different
                0023 C     | styles of coupled run. The coupler requires consistency
                0024 C     | between sending and receiving operations posted by
                0025 C     | various components. Therefore changes in one component
                0026 C     | model CPL_EXCH_CONFIG may require changes in other
                0027 C     | component models CPL_EXCH_CONFIG routines as well
                0028 C     | as in the coupler EXCH_COMPONENT_CONFIG routine.
a9cdd26a43 Jean*0029 C     *==========================================================*
                0030 
79e04e6111 Jean*0031 C !USES:
                0032       IMPLICIT NONE
a9cdd26a43 Jean*0033 C     == Global variables ==
                0034 #include "SIZE.h"
                0035 #include "EEPARAMS.h"
1be817fa63 Jean*0036 c#include "PARAMS.h"
                0037 c#include "CPL_PARAMS.h"
a9cdd26a43 Jean*0038 
79e04e6111 Jean*0039 C !INPUT/OUTPUT PARAMETERS:
                0040 C     myThid :: Thread number for this instance of the routine
a9cdd26a43 Jean*0041       INTEGER myThid
                0042 
a659e5f095 Jean*0043 C !LOCAL VARIABLES:
1be817fa63 Jean*0044 C     errMsg   :: error message to print to clog file
a659e5f095 Jean*0045       LOGICAL errFlag
                0046       CHARACTER*70 errMsg
1be817fa63 Jean*0047 c     CHARACTER*(MAX_LEN_MBUF) msgBuf
a659e5f095 Jean*0048 C--   local variable in common block
                0049       _RL landMask_loc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0050       COMMON / CPL_EXCH_CONFIGS_LOC / landMask_loc
                0051 CEOP
                0052 
                0053       errFlag = .FALSE.
1be817fa63 Jean*0054       errMsg  = ' '
a659e5f095 Jean*0055 
1be817fa63 Jean*0056 C-    Get configuration information (=land/sea mask) from other pkg
a659e5f095 Jean*0057       CALL ATM_GET_ATMCONFIG(
                0058      O                        landMask_loc,
                0059      I                        myThid )
a9cdd26a43 Jean*0060 
1be817fa63 Jean*0061 C-    Post my configuration information to the coupler "layer".
a659e5f095 Jean*0062       CALL ATM_EXPORT_ATMCONFIG(
                0063      U                        errFlag,
                0064      I                        landMask_loc, myThid )
a9cdd26a43 Jean*0065 
1be817fa63 Jean*0066 C-    Import other component model(s) configuration(s) from the coupler "layer"
a9cdd26a43 Jean*0067 C     o Get ocean model configuration
                0068       CALL ATM_IMPORT_OCNCONFIG( myThid )
                0069 
1be817fa63 Jean*0070 C-    Summarise coupling config set-up and check for inconsistency
a659e5f095 Jean*0071       _BARRIER
1be817fa63 Jean*0072       CALL ATM_CHECK_CPLCONFIG(
                0073      U                        errFlag, errMsg,
                0074      I                        landMask_loc, myThid )
a659e5f095 Jean*0075 
                0076 C--   All procs in World check for error and stop if any
1be817fa63 Jean*0077       _BEGIN_MASTER( myThid )
a659e5f095 Jean*0078       CALL MITCPLR_ALL_CHECK( errFlag, errMsg )
                0079       _END_MASTER( myThid )
1be817fa63 Jean*0080 
a659e5f095 Jean*0081       _BARRIER
a9cdd26a43 Jean*0082 
                0083       RETURN
                0084       END