#$=head1 NAME #$ #$msmis - Fill in missing data using a multi scale #$ #$=head1 SYNOPSIS #$ #$C #$ #$=head1 PARAMETERS #$ #$=over 4 #$ #$=item niter - integer #$ #$ number of iterations #$ #$=item nx - integer #$ #$ number of points in the data #$ #$=item ns - integer #$ #$ number of scales #$ #$=item xx -real #$ #$ fitting variable #$ #$=item aa -type(filter) #$ #$ filter to apply #$ #$=item known -C #$ #$ Known data #$ #$=item doprec -logical #$ #$ Whether or not to run preconditioning #$ #$=back #$ #$=head1 DESCRIPTION #$ #$fill in missing data by minimizing power out of a given multi scale filter #$ by helix magic works in any number of dimensions #$ #$=head1 SEE ALSO #$ #$L,L,L,L,L,L #$ #$=head1 LIBRARY #$ #$B #$ #$=cut module msmis2 { # multi-scale missing data interpolation use mshelicon use cgstep_mod use solver_mod contains subroutine mis1( niter, nx, ns, xx, aa, known) { integer, intent( in) :: niter, nx, ns logical, dimension( :), intent( in) :: known type( msfilter), intent( in) :: aa real, dimension( :), intent( in out) :: xx real, dimension( nx*ns) :: dd dd = 0. call mshelicon_init( nx,ns, aa) call solver( mshelicon_lop, cgstep, niter= niter, x = xx, dat = dd, known = known, x0 = xx) call cgstep_close() } }