C $Header: /u/gcmpack/MITgcm/pkg/smooth/SMOOTH.h,v 1.6 2014/04/01 08:05:37 atn Exp $
C $Name: $
c pkg/smooth constants
integer smoothprec
parameter ( smoothprec = 32 )
logical smooth3DdoImpldiff
parameter ( smooth3DdoImpldiff = .TRUE. )
integer smoothOpNbMax
PARAMETER ( smoothOpNbMax = 10 )
_RL smooth2DdelTime,smooth3DdelTime
PARAMETER ( smooth2DdelTime = 1. _d 0 )
PARAMETER ( smooth3DdelTime = 1. _d 0 )
c fields:
_RS
& smooth_recip_hFacC(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy),
& smooth_hFacW(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy),
& smooth_hFacS(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
integer smooth3Dnbt(smoothOpNbMax),
& smooth3DtypeZ(smoothOpNbMax),smooth3DsizeZ(smoothOpNbMax),
& smooth3DtypeH(smoothOpNbMax),smooth3DsizeH(smoothOpNbMax),
& smooth3Dfilter(smoothOpNbMax)
_RL smooth3DtotTime,
& smooth3D_Lx0(smoothOpNbMax),
& smooth3D_Ly0(smoothOpNbMax), smooth3D_Lz0(smoothOpNbMax),
& smooth3D_Lx(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy),
& smooth3D_Ly(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy),
& smooth3D_Lz(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy),
& smooth3Dnorm (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
integer smooth2Dnbt(smoothOpNbMax),
& smooth2Dtype(smoothOpNbMax),smooth2Dsize(smoothOpNbMax),
& smooth2Dfilter(smoothOpNbMax)
_RL smooth2DtotTime,
& smooth2D_Lx0(smoothOpNbMax),smooth2D_Ly0(smoothOpNbMax),
& smooth2D_Lx(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy),
& smooth2D_Ly(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy),
& smooth2Dnorm (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
_RL
& smooth3D_kappaR (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy),
& smooth3D_Kwx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kwy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kwz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kvy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kuz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kvz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kuy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy),
& smooth3D_Kvx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL
& smooth2D_Kux (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy),
& smooth2D_Kvy (1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
COMMON /smooth_flds_rs/
& smooth_recip_hFacC, smooth_hFacW, smooth_hFacS
COMMON /smooth_flds_rl/
& smooth3Dnorm,smooth3DtotTime,
& smooth2Dnorm,smooth2DtotTime,
& smooth3D_Lx0,smooth3D_Ly0,smooth3D_Lz0,
& smooth3D_Lx,smooth3D_Ly,smooth3D_Lz,
& smooth2D_Lx0,smooth2D_Ly0,
& smooth2D_Lx,smooth2D_Ly
COMMON /smooth_operators_i/
& smooth3Dnbt, smooth2Dnbt,
& smooth2Dtype, smooth2Dsize,
& smooth3DtypeZ, smooth3DsizeZ,
& smooth3DtypeH, smooth3DsizeH,
& smooth2Dfilter, smooth3Dfilter
COMMON /smooth_operators_r/
& smooth3D_kappaR,smooth3D_Kwx,smooth3D_Kwy,smooth3D_Kwz,
& smooth3D_Kux,smooth3D_Kvy,smooth3D_Kuz,smooth3D_Kvz,
& smooth3D_Kuy,smooth3D_Kvx,
& smooth2D_Kux,smooth2D_Kvy