Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:35:47 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
bcbf0beb7c Jean*0001 #include "GAD_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: GAD_EXCH_SOM
                0005 C     !INTERFACE:
                0006       SUBROUTINE GAD_EXCH_SOM(
                0007      U                         smTr,
                0008      I                         myNz, myThid )
                0009 
                0010 
                0011 C     !DESCRIPTION: \bv
                0012 C     *==========================================================*
                0013 C     | SUBROUTINE GAD_EXCH_SOM
38658b9aab Jean*0014 C     | o Apply exchanges to update overlaps of 1srt & 2nd.Order
bcbf0beb7c Jean*0015 C     |   Moments array, corresponding to 1 tracer
                0016 C     *==========================================================*
                0017 C     \ev
                0018 C     !USES:
                0019       IMPLICIT NONE
                0020 
                0021 C     === Global variables ===
                0022 #include "SIZE.h"
                0023 #include "EEPARAMS.h"
                0024 #include "GAD.h"
                0025 
                0026 C     !INPUT/OUTPUT PARAMETERS:
                0027 C     === Routine arguments ===
                0028 C     smTr   :: tracer 1rst & 2nd Order moments
                0029 C     myNz   ::  3rd dimension of array to exchange
                0030 C     myThid ::  my Thread Id number
                0031       INTEGER myNz
                0032       _RL     smTr(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy,nSOM)
                0033       INTEGER myThid
                0034 CEOP
                0035 
                0036 C     !LOCAL VARIABLES:
                0037 C     === Local variables ===
                0038 
                0039 C--   Apply exchanges to 1rst.O.Moments:
                0040 C-    Sx,Sy :
38658b9aab Jean*0041       CALL EXCH_UV_AGRID_3D_RL(
bcbf0beb7c Jean*0042      U                 smTr(1-OLx,1-OLy,1,1,1,1),
                0043      U                 smTr(1-OLx,1-OLy,1,1,1,2),
                0044      I                 .TRUE., myNz, myThid )
                0045 C-    Sz :
                0046       CALL EXCH_3D_RL(
                0047      U                 smTr(1-OLx,1-OLy,1,1,1,3),
                0048      I                 myNz, myThid )
                0049 
                0050 C--   Apply exchanges to 2nd.O.Moments:
                0051 C-    Sxx,Syy :
38658b9aab Jean*0052       CALL EXCH_UV_AGRID_3D_RL(
bcbf0beb7c Jean*0053      U                 smTr(1-OLx,1-OLy,1,1,1,4),
                0054      U                 smTr(1-OLx,1-OLy,1,1,1,5),
                0055      I                 .FALSE., myNz, myThid )
38658b9aab Jean*0056 C-    Szz :
bcbf0beb7c Jean*0057       CALL EXCH_3D_RL(
                0058      U                 smTr(1-OLx,1-OLy,1,1,1,6),
                0059      I                 myNz, myThid )
                0060 C-    Sxy :
                0061       CALL EXCH_SM_3D_RL(
                0062      U                 smTr(1-OLx,1-OLy,1,1,1,7),
                0063      I                 .TRUE., myNz, myThid )
                0064 C-    Sxz,Syz :
38658b9aab Jean*0065       CALL EXCH_UV_AGRID_3D_RL(
bcbf0beb7c Jean*0066      U                 smTr(1-OLx,1-OLy,1,1,1,8),
                0067      U                 smTr(1-OLx,1-OLy,1,1,1,9),
                0068      I                 .TRUE., myNz, myThid )
38658b9aab Jean*0069 
bcbf0beb7c Jean*0070       RETURN
                0071       END