Back to home page

MITgcm

 
 

    


Warning, /eesupp/src/exch_z_3d_rx.template is written in an unsupported language. File is not indexed.

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
ce7304455e Jean*0001 #include "PACKAGES_CONFIG.h"
                0002 #include "CPP_EEOPTIONS.h"
                0003 
                0004 CBOP
                0005 C     !ROUTINE: EXCH_Z_3D_RX
                0006 
                0007 C     !INTERFACE:
                0008       SUBROUTINE EXCH_Z_3D_RX(
                0009      U                         phi,
                0010      I                         myNz, myThid )
                0011       IMPLICIT NONE
                0012 C     !DESCRIPTION:
                0013 C     *==========================================================*
                0014 C     | SUBROUTINE EXCH_Z_3D_RX
                0015 C     | o Handle exchanges for _RX, 3-dim, zeta coord arrays.
                0016 C     *==========================================================*
                0017 C     | Branch to appropriate exchange routine for a zeta coord
                0018 C     | array on the current grid scheme.
                0019 C     *==========================================================*
                0020 
                0021 C     !USES:
                0022 C     == Global variables ==
                0023 #include "SIZE.h"
                0024 #include "EEPARAMS.h"
                0025 
                0026 C     !INPUT/OUTPUT PARAMETERS:
                0027 C     == Routine arguments ==
                0028 C     phi    :: Array with overlap regions are to be exchanged
                0029 C               Note - The interface to EXCH_RX assumes that
                0030 C               the standard Fortran 77 sequence association rules
                0031 C               apply.
                0032 C     myNz   :: 3rd dimension of array to exchange
                0033 C     myThid :: My thread id.
                0034       INTEGER myNz
                0035       _RX phi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy)
                0036       INTEGER myThid
                0037 
                0038 C     !LOCAL VARIABLES:
3e943aa97a Jean*0039 #ifndef ALLOW_EXCH2
ce7304455e Jean*0040 C     == Local variables ==
                0041 C     OL[wens]       :: Overlap extents in west, east, north, south.
                0042 C     exchWidth[XY]  :: Extent of regions that will be exchanged.
                0043       INTEGER OLw, OLe, OLn, OLs, exchWidthX, exchWidthY
3e943aa97a Jean*0044 #endif
ce7304455e Jean*0045 CEOP
                0046 
                0047 #ifdef ALLOW_EXCH2
                0048       CALL EXCH2_Z_3D_RX(
                0049      U                    phi,
                0050      I                    myNz, myThid )
3e943aa97a Jean*0051 #else /* ALLOW_EXCH2 */
ce7304455e Jean*0052 
                0053       OLw        = OLx
                0054       OLe        = OLx
                0055       OLn        = OLy
                0056       OLs        = OLy
                0057       exchWidthX = OLx
                0058       exchWidthY = OLy
                0059       IF (useCubedSphereExchange) THEN
45d7b5cc4e Jean*0060        CALL EXCH1_Z_RX_CUBE( phi, .FALSE.,
ce7304455e Jean*0061      I            OLw, OLe, OLs, OLn, myNz,
                0062      I            exchWidthX, exchWidthY,
45d7b5cc4e Jean*0063      I            EXCH_UPDATE_CORNERS, myThid )
ce7304455e Jean*0064       ELSE
6979a1789e Jean*0065 #ifdef DISCONNECTED_TILES
                0066        CALL EXCH0_RX( phi,
                0067      I            OLw, OLe, OLs, OLn, myNz,
                0068      I            exchWidthX, exchWidthY,
                0069      I            EXCH_UPDATE_CORNERS, myThid )
                0070 #else /* DISCONNECTED_TILES */
45d7b5cc4e Jean*0071        CALL EXCH1_RX( phi,
ce7304455e Jean*0072      I            OLw, OLe, OLs, OLn, myNz,
                0073      I            exchWidthX, exchWidthY,
45d7b5cc4e Jean*0074      I            EXCH_UPDATE_CORNERS, myThid )
6979a1789e Jean*0075 #endif /* DISCONNECTED_TILES */
ce7304455e Jean*0076       ENDIF
                0077 
3e943aa97a Jean*0078 #endif /* ALLOW_EXCH2 */
6979a1789e Jean*0079 
                0080       RETURN
ce7304455e Jean*0081       END