Back to home page

MITgcm

 
 

    


File indexing completed on 2023-05-31 05:09:35 UTC

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