Back to home page

MITgcm

 
 

    


File indexing completed on 2023-05-28 05:10:39 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       SUBROUTINE GLOBAL_SUM_TILE_RL_D(phiTile, phiTiled,
                0004      &     sumPhi, sumPhid, myThid)
                0005       IMPLICIT NONE
                0006 #include "SIZE.h"
                0007 #include "EEPARAMS.h"
                0008 #include "EESUPPORT.h"
                0009 #include "GLOBAL_SUM.h"
                0010       _RL     phiTile(nSx,nSy)
                0011       _RL     phiTiled(nSx,nSy)
                0012       _RL     sumPhid
                0013       _RL     sumPhi
                0014       INTEGER myThid
                0015       CALL GLOBAL_SUM_TILE_RL(phiTiled, sumPhid, myThid)
                0016       CALL GLOBAL_SUM_TILE_RL(phiTile, sumPhi, myThid)
                0017       END
                0018 
                0019       SUBROUTINE GLOBAL_SUM_R8_D(sumPhi, sumPhid, myThid)
                0020       IMPLICIT NONE
                0021 #include "SIZE.h"
                0022 #include "EEPARAMS.h"
                0023 #include "EESUPPORT.h"
                0024 #include "GLOBAL_SUM.h"
                0025       _RL sumPhi
                0026       _RL sumPhid
                0027       INTEGER myThid
                0028       CALL GLOBAL_SUM_R8(sumPhid, myThid)
                0029       CALL GLOBAL_SUM_R8(sumPhi, myThid)
                0030       END
                0031 
                0032       SUBROUTINE CG2D_D(cg2d_b, cg2d_bd, cg2d_x,
                0033      &                cg2d_xd, firstResidual, minResidualSq,
                0034      &                lastResidual,numIters, nIterMin,myThid )
                0035       IMPLICIT NONE
                0036 #include "SIZE.h"
                0037       _RL  cg2d_b(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy)
                0038       _RL  cg2d_bd(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy)
                0039       _RL  cg2d_x(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy)
                0040       _RL  cg2d_xd(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy)
                0041       _RL  firstResidual
                0042       _RL  minResidualSq
                0043       _RL  lastResidual
                0044       INTEGER numIters
                0045       INTEGER nIterMin
                0046       INTEGER myThid
                0047       INTEGER copyIt1, copyIt2
                0048 
                0049       copyIt1 = numIters
                0050       copyIt2 = nIterMin
                0051 ! [llh] it seems the input 2nd arg of cg2d() pollutes its output value:
                0052       cg2d_xd = 0.d0
                0053       CALL CG2D(cg2d_bd, cg2d_xd, firstResidual,
                0054      &        minResidualSq, lastResidual, numIters,
                0055      &        nIterMin, myThid)
                0056 ! [llh] we assume the downstream cg2d_b is passive:
                0057       cg2d_bd = 0.d0
                0058       CALL CG2D(cg2d_b, cg2d_x, firstResidual,
                0059      &        minResidualSq, lastResidual, copyIt1,
                0060      &        copyIt2, myThid)
                0061       END
                0062 
                0063       SUBROUTINE GLOBAL_MAX_R8_D(rhsmax, rhsmaxd, myThid)
                0064       IMPLICIT NONE
                0065       _RL     rhsmax
                0066       _RL     rhsmaxd
                0067       INTEGER myThid
                0068       print *, "NOT IMPLEMENTED GLOBAL_MAX_R8_D yet."
                0069       RETURN
                0070       END
                0071