Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Wed, 15 Jul 2025 05:08:56 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/eesupp/src/exch_z_3d_rx.template
ce7304455e Jean*0001 #include "PACKAGES_CONFIG.h"
0002 #include "CPP_EEOPTIONS.h"
00030004 CBOP
0005 C !ROUTINE: EXCH_Z_3D_RX
00060007 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 *==========================================================*
00200021 C !USES:
0022 C == Global variables ==
0023 #include "SIZE.h"
0024 #include "EEPARAMS.h"
00250026 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
00370038 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
00460047 #ifdef ALLOW_EXCH2
0048 CALL EXCH2_Z_3D_RX(
0049 U phi,
0050 I myNz, myThid )
3e943aa97a Jean*0051 #else /* ALLOW_EXCH2 */
ce7304455e Jean*00520053 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
00773e943aa97a Jean*0078 #endif /* ALLOW_EXCH2 */
6979a1789e Jean*00790080 RETURN
ce7304455e Jean*0081 END