C $Header: /u/gcmpack/MITgcm/pkg/zonal_filt/zonal_filt_postsmooth.F,v 1.3 2001/02/04 14:38:51 cnh Exp $
C $Name: $
#include "ZONAL_FILT_OPTIONS.h"
SUBROUTINE ZONAL_FILT_POSTSMOOTH(
I holeMask,
U field,
O avgField,
I lField,
I myThid )
C /==========================================================\
C | S/R ZONAL_FILT_POSTSMOOTH |
C | o After FFT filtering processing. |
C |==========================================================|
C | Restore the mean value that was removed prior to FFT. |
C \==========================================================/
IMPLICIT NONE
C == Global data ==
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "GRID.h"
C == Routine arguments ==
C holeMask - Array with 0 for holes and != 0 for valid data.
C lField - Length of field to smooth (assumed periodic)
C field - Field smoothed.
C avgField - Mean value of the field.
C myThid - Thread number of this instance of FFT_PRESMOOTH_IN_X
INTEGER lField
Real*8 holeMask(lField)
Real*8 field(lField)
Real*8 avgField
INTEGER myThid
#ifdef ALLOW_ZONAL_FILT
C == Local variables ====
C I - Loop counter
C
INTEGER I
C
C Add fields mean value back in.
DO I=1,lField
IF ( holeMask(I) .NE. 0. ) THEN
field(I) = field(I) + avgField
ELSE
field(I) = 0.
ENDIF
ENDDO
#endif /* ALLOW_ZONAL_FILT */
RETURN
END