Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:40:56 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
31566b6684 Alis*0001 #include "GAD_OPTIONS.h"
                0002 
aba3ddc7b7 Alis*0003 CBOP
                0004 C !ROUTINE: GAD_DEL2
                0005 
                0006 C !INTERFACE: ==========================================================
eaba2fd266 Jean*0007       SUBROUTINE GAD_DEL2(
31566b6684 Alis*0008      I           bi,bj,k,
                0009      I           dTdx,dTdy,
                0010      O           del2,
                0011      I           myThid )
                0012 
aba3ddc7b7 Alis*0013 C !DESCRIPTION:
                0014 C Calculates the horizontal Laplacian of a tracer:
                0015 C \begin{equation*}
                0016 C \nabla^2 \theta = \partial_{xx} \theta + \partial_{yy} \theta
                0017 C \end{equation*}
                0018 
                0019 C !USES: ===============================================================
                0020       IMPLICIT NONE
31566b6684 Alis*0021 #include "SIZE.h"
                0022 #include "GRID.h"
                0023 
aba3ddc7b7 Alis*0024 C !INPUT PARAMETERS: ===================================================
                0025 C  bi,bj                :: tile indices
                0026 C  k                    :: vertical level
                0027 C  dTx                  :: zonal tracer gradient
                0028 C  dTy                  :: meridional tracer gradient
                0029 C  myThid               :: thread number
31566b6684 Alis*0030       INTEGER bi,bj,k
                0031       _RL dTdx(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0032       _RL dTdy(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0033       INTEGER myThid
                0034 
aba3ddc7b7 Alis*0035 C !OUTPUT PARAMETERS: ==================================================
                0036 C  del2                 :: Laplacian of tracer
                0037       _RL del2(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
                0038 
                0039 C !LOCAL VARIABLES: ====================================================
                0040 C  i,j                  :: loop indices
31566b6684 Alis*0041       INTEGER i,j
aba3ddc7b7 Alis*0042 CEOP
31566b6684 Alis*0043 
e7daa0560d Jean*0044 C--   Initialise to zero.
31566b6684 Alis*0045       DO j=1-Oly,sNy+Oly
e7daa0560d Jean*0046        DO i=1-Olx,sNx+Olx
                0047         del2(i,j)= 0. _d 0
31566b6684 Alis*0048        ENDDO
                0049       ENDDO
                0050 
e7daa0560d Jean*0051 C     Difference of zonal fluxes & meridional fluxes
                0052 C      and divide by grid-cell volume
31566b6684 Alis*0053       DO j=1-Oly,sNy+Oly-1
e7daa0560d Jean*0054        DO i=1-Olx,sNx+Olx-1
064c896cc8 Jean*0055         del2(i,j)=recip_rA(i,j,bi,bj)*recip_deepFac2C(k)
eaba2fd266 Jean*0056      &           *recip_drF(k)*_recip_hFacC(i,j,k,bi,bj)
e7daa0560d Jean*0057      &           *( ( dTdx(i+1,j)-dTdx(i,j) )
                0058      &             +( dTdy(i,j+1)-dTdy(i,j) )
31566b6684 Alis*0059      &            )
                0060        ENDDO
                0061       ENDDO
                0062 
                0063       RETURN
                0064       END