C $Header: /u/gcmpack/MITgcm/pkg/shap_filt/SHAP_FILT.h,v 1.8 2005/10/07 00:24:01 jmc Exp $ C $Name: $ #ifdef ALLOW_SHAP_FILT C- Package flag and logical parameters : C shap_filt_uvStar :: filter applied to u*,v* (before SOLVE_FOR_P) C shap_filt_TrStagg :: if using a Stagger time-step, filter T,S before C computing PhiHyd ; C has no effect if syncr. time step is used C Shap_alwaysExchUV :: always call exch(U,V) nShapUV times C Shap_alwaysExchTr :: always call exch(Tracer) nShapTr times C Note :: those exchanges are part of the filtering itself and C are not dealing with the validity of the output field C in the overlap region. LOGICAL shap_filt_uvStar, shap_filt_TrStagg LOGICAL Shap_alwaysExchUV, Shap_alwaysExchTr COMMON /SHAP_FILT_PARM_L/ & shap_filt_uvStar, shap_filt_TrStagg, & Shap_alwaysExchUV, Shap_alwaysExchTr C- Shapiro Filter integer parameters : C Shap_funct :: define which Shapiro Filter function is used C = 1 (S1) : [1 - d_xx^n - d_yy^n] C = 4 (S4) : [1 - d_xx^n][1- d_yy^n] C = 2 (S2) : [1 - (d_xx+d_yy)^n] C nShap_T,S,UV :: (total) power of the filter for T,S, Velocity C available only with Shap_funct=2 : C combine filter in Physical space (power of nShap_Phys) C and pure numerical filter (power nShap - nShap_Phys) INTEGER Shap_funct, nShapT, nShapS, nShapUV INTEGER nShapTrPhys, nShapUVPhys COMMON /SHAP_FILT_PARM_I/ & Shap_funct, nShapT, nShapS, nShapTrPhys, & nShapUV, nShapUVPhys C- Shapiro Filter (real) parameters C Shap_Trtau :: Time scale for tracer filter C Shap_TrLength :: Length scale for tracer filter C Shap_uvtau :: Time scale for momentum filter C Shap_uvLength :: Length scale for momentum filter C Shap_noSlip :: No-slip parameter (=0 free sleep ; =1 No-slip) C Shap_diagFreq :: Frequency^-1 for diagnostic output (s) _RL Shap_Trtau, Shap_TrLength _RL Shap_uvtau, Shap_uvLength _RL Shap_noSlip _RL Shap_diagFreq COMMON /SHAP_FILT_PARAMS/ & Shap_Trtau, Shap_TrLength, & Shap_uvtau, Shap_uvLength, Shap_noSlip, & Shap_diagFreq C- Shapiro Filter temporary working arrays : _RL Shap_tmpFld1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL Shap_tmpFld2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) COMMON /SHAP_FILT_WRK_FLD/ & Shap_tmpFld1, Shap_tmpFld2 #endif /* ALLOW_SHAP_FILT */