# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
module fixbad
! Given a PEF, find bad data and restore it.
  use mis2_mod
  use helicon
  use quantile_mod
  implicit none
  contains
  subroutine fixbad1 (niter, aa, yy)
    integer, intent (in) :: niter
    type( filter), intent (in) :: aa
    real, dimension (:) :: yy
    real, dimension (size (yy)) :: rr
    logical, dimension (size (yy)) :: known
    integer :: stat
    call helicon_init( aa)
    stat = helicon_lop (.false., .false., yy, rr)
    rr = abs (rr)
    known = ( yy > 0.) .and. ( rr < 4. * quantile( size(rr)/2, rr))
    call mis2 (niter, yy, aa, known, 2)
  end subroutine
end module
