Back to home page

MITgcm

 
 

    


File indexing completed on 2023-05-28 05:10:13 UTC

view on githubraw file Latest commit b4daa243 on 2023-05-28 03:53:22 UTC
b4daa24319 Shre*0001 #include "CPP_EEOPTIONS.h"
                0002 
                0003 C--  File exch2_rs_rl_12_d.F: Tapenade Tangent Linear EXCH2 routines
                0004 C--   Contents
                0005 C--   o  EXCH2_RS1_CUBE_D(
                0006 C--   o  EXCH2_RL1_CUBE_D(
                0007 C--   o  EXCH2_RS2_CUBE_D(
                0008 C--   o  EXCH2_RL2_CUBE_D(
                0009 
                0010 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0011 
                0012       SUBROUTINE EXCH2_RS1_CUBE_D(
                0013      U            array, arrayd,
                0014      I            signOption, fieldCode,
                0015      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0016      I            exchWidthX, exchWidthY,
                0017      I            cornerMode, myThid )
                0018       IMPLICIT NONE
                0019 #include "SIZE.h"
                0020 #include "EEPARAMS.h"
                0021 #include "EESUPPORT.h"
                0022 #include "W2_EXCH2_SIZE.h"
                0023 #include "W2_EXCH2_TOPOLOGY.h"
                0024 #include "W2_EXCH2_BUFFER.h"
                0025 
                0026       INTEGER myOLw, myOLe, myOLs, myOLn, myNz
                0027       _RS array(1-myOLw:sNx+myOLe,
                0028      &           1-myOLs:sNy+myOLn,
                0029      &           myNz, nSx, nSy)
                0030       _RS arrayd(1-myOLw:sNx+myOLe,
                0031      &           1-myOLs:sNy+myOLn,
                0032      &           myNz, nSx, nSy)
                0033       LOGICAL signOption
                0034       CHARACTER*2 fieldCode
                0035       INTEGER exchWidthX
                0036       INTEGER exchWidthY
                0037       INTEGER cornerMode
                0038       INTEGER myThid
                0039 
                0040       CALL EXCH2_RS1_CUBE(
                0041      U            array,
                0042      I            signOption, fieldCode,
                0043      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0044      I            exchWidthX, exchWidthY,
                0045      I            cornerMode, myThid )
                0046       CALL EXCH2_RS1_CUBE(
                0047      U            arrayd,
                0048      I            signOption, fieldCode,
                0049      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0050      I            exchWidthX, exchWidthY,
                0051      I            cornerMode, myThid )
                0052       END
                0053 
                0054 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0055 
                0056       SUBROUTINE EXCH2_RL1_CUBE_D(
                0057      U            array, arrayd,
                0058      I            signOption, fieldCode,
                0059      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0060      I            exchWidthX, exchWidthY,
                0061      I            cornerMode, myThid )
                0062       IMPLICIT NONE
                0063 #include "SIZE.h"
                0064 #include "EEPARAMS.h"
                0065 #include "EESUPPORT.h"
                0066 #include "W2_EXCH2_SIZE.h"
                0067 #include "W2_EXCH2_TOPOLOGY.h"
                0068 #include "W2_EXCH2_BUFFER.h"
                0069 
                0070       INTEGER myOLw, myOLe, myOLs, myOLn, myNz
                0071       _RL array(1-myOLw:sNx+myOLe,
                0072      &           1-myOLs:sNy+myOLn,
                0073      &           myNz, nSx, nSy)
                0074       _RL arrayd(1-myOLw:sNx+myOLe,
                0075      &           1-myOLs:sNy+myOLn,
                0076      &           myNz, nSx, nSy)
                0077       LOGICAL signOption
                0078       CHARACTER*2 fieldCode
                0079       INTEGER exchWidthX
                0080       INTEGER exchWidthY
                0081       INTEGER cornerMode
                0082       INTEGER myThid
                0083 
                0084       CALL EXCH2_RL1_CUBE(
                0085      U            array,
                0086      I            signOption, fieldCode,
                0087      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0088      I            exchWidthX, exchWidthY,
                0089      I            cornerMode, myThid )
                0090       CALL EXCH2_RL1_CUBE(
                0091      U            arrayd,
                0092      I            signOption, fieldCode,
                0093      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0094      I            exchWidthX, exchWidthY,
                0095      I            cornerMode, myThid )
                0096 
                0097       END
                0098 
                0099 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0100 
                0101       SUBROUTINE EXCH2_RS2_CUBE_D(
                0102      U            array1, array1d,
                0103      U            array2, array2d,
                0104      I            signOption, fieldCode,
                0105      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0106      I            exchWidthX, exchWidthY,
                0107      I            cornerMode, myThid )
                0108       IMPLICIT NONE
                0109 #include "SIZE.h"
                0110 #include "EEPARAMS.h"
                0111 #include "EESUPPORT.h"
                0112 #include "W2_EXCH2_SIZE.h"
                0113 #include "W2_EXCH2_TOPOLOGY.h"
                0114 #include "W2_EXCH2_BUFFER.h"
                0115       INTEGER myOLw, myOLe, myOLs, myOLn, myNz
                0116       _RS array1(1-myOLw:sNx+myOLe,
                0117      &           1-myOLs:sNy+myOLn,
                0118      &           myNz, nSx, nSy)
                0119       _RS array1d(1-myOLw:sNx+myOLe,
                0120      &           1-myOLs:sNy+myOLn,
                0121      &           myNz, nSx, nSy)
                0122       _RS array2(1-myOLw:sNx+myOLe,
                0123      &           1-myOLs:sNy+myOLn,
                0124      &           myNz, nSx, nSy)
                0125       _RS array2d(1-myOLw:sNx+myOLe,
                0126      &           1-myOLs:sNy+myOLn,
                0127      &           myNz, nSx, nSy)
                0128 
                0129       LOGICAL signOption
                0130       CHARACTER*2 fieldCode
                0131       INTEGER exchWidthX
                0132       INTEGER exchWidthY
                0133       INTEGER cornerMode
                0134       INTEGER myThid
                0135 
                0136       CALL EXCH2_RS2_CUBE(
                0137      U            array1, array2,
                0138      I            signOption, fieldCode,
                0139      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0140      I            exchWidthX, exchWidthY,
                0141      I            cornerMode, myThid )
                0142 
                0143       CALL EXCH2_RS2_CUBE(
                0144      U            array1d, array2d,
                0145      I            signOption, fieldCode,
                0146      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0147      I            exchWidthX, exchWidthY,
                0148      I            cornerMode, myThid )
                0149 
                0150       END
                0151 
                0152 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0153 
                0154       SUBROUTINE EXCH2_RL2_CUBE_D(
                0155      U            array1, array1d,
                0156      U            array2, array2d,
                0157      I            signOption, fieldCode,
                0158      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0159      I            exchWidthX, exchWidthY,
                0160      I            cornerMode, myThid )
                0161       IMPLICIT NONE
                0162 #include "SIZE.h"
                0163 #include "EEPARAMS.h"
                0164 #include "EESUPPORT.h"
                0165 #include "W2_EXCH2_SIZE.h"
                0166 #include "W2_EXCH2_TOPOLOGY.h"
                0167 #include "W2_EXCH2_BUFFER.h"
                0168 
                0169       INTEGER myOLw, myOLe, myOLs, myOLn, myNz
                0170       _RL array1(1-myOLw:sNx+myOLe,
                0171      &           1-myOLs:sNy+myOLn,
                0172      &           myNz, nSx, nSy)
                0173       _RL array1d(1-myOLw:sNx+myOLe,
                0174      &           1-myOLs:sNy+myOLn,
                0175      &           myNz, nSx, nSy)
                0176       _RL array2(1-myOLw:sNx+myOLe,
                0177      &           1-myOLs:sNy+myOLn,
                0178      &           myNz, nSx, nSy)
                0179       _RL array2d(1-myOLw:sNx+myOLe,
                0180      &           1-myOLs:sNy+myOLn,
                0181      &           myNz, nSx, nSy)
                0182 
                0183       LOGICAL signOption
                0184       CHARACTER*2 fieldCode
                0185       INTEGER exchWidthX
                0186       INTEGER exchWidthY
                0187       INTEGER cornerMode
                0188       INTEGER myThid
                0189 
                0190       CALL EXCH2_RL2_CUBE(
                0191      U            array1, array2,
                0192      I            signOption, fieldCode,
                0193      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0194      I            exchWidthX, exchWidthY,
                0195      I            cornerMode, myThid )
                0196 
                0197       CALL EXCH2_RL2_CUBE(
                0198      U            array1d, array2d,
                0199      I            signOption, fieldCode,
                0200      I            myOLw, myOLe, myOLs, myOLn, myNz,
                0201      I            exchWidthX, exchWidthY,
                0202      I            cornerMode, myThid )
                0203 
                0204       END