App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/sunix/statsMath/suinterp.pm  view on Meta::CPAN

          $suinterp->{_note} . ' nxmax=' . $suinterp->{_nxmax};
        $suinterp->{_Step} =
          $suinterp->{_Step} . ' nxmax=' . $suinterp->{_nxmax};

    }
    else {
        print("suinterp, nxmax, missing nxmax,\n");
    }
}

=head2 sub smooth_ns_t 

  same as lent
  number of samples to smooth in time

=cut

sub smooth_ns_t {

    my ( $self, $lent ) = @_;
    if ( defined $lent
        && $lent ne $empty_string )
    {

        $suinterp->{_lent} = $lent;
        $suinterp->{_note} =
          $suinterp->{_note} . ' lent=' . $suinterp->{_lent};
        $suinterp->{_Step} =
          $suinterp->{_Step} . ' lent=' . $suinterp->{_lent};

    }
    else {
        print("suinterp, smooth_ns_t, missing smooth_ns_t,\n");
    }
}

=head2 sub tmpdir 


=cut

sub tmpdir {

    my ( $self, $tmpdir ) = @_;
    if ( defined $tmpdir
        && $tmpdir ne $empty_string )
    {

        $suinterp->{_tmpdir} = $tmpdir;
        $suinterp->{_note} =
          $suinterp->{_note} . ' tmpdir=' . $suinterp->{_tmpdir};
        $suinterp->{_Step} =
          $suinterp->{_Step} . ' tmpdir=' . $suinterp->{_tmpdir};

    }
    else {
        print("suinterp, tmpdir, missing tmpdir,\n");
    }
}

=head2 sub update_num_traces

 calculate if we know the original trace separation 
 .e.g. 2 m or 2 feet
 input the original trace separation
 return the update trace separation
 estimate the new trace separation after interpolation
 confirm that interpolation parameters exist

=cut

sub update_num_traces {

    my ( $variable, $old_num_traces ) = @_;

    if ( defined $old_num_traces
        && $old_num_traces ne $empty_string )
    {
        $suinterp->{_old_num_traces} = $old_num_traces;

        if ( defined $suinterp->{_ninterp}
            && $suinterp->{_ninterp} ne $empty_string )
        {

            $suinterp->{_update_num_traces} =
              ( $suinterp->{_old_num_traces} - 1 ) * $suinterp->{_ninterp} +
              $suinterp->{_old_num_traces};

        }
        else {
            print("Warning: required number of new interpolated traces\n\n");
        }

        $suinterp->{_note} =
            $suinterp->{_note}
          . ' updated_num_traces='
          . $suinterp->{_update_num_traces};
        print(
            "updated number of traces is $suinterp->{_update_num_traces}\n\n");

        return $suinterp->{_update_num_traces};
    }
}

=head2 sub update_trace_separation

 calculate if we know the original trace separation 
 e.g., 2 m or 2 feet
 input the original trace separation
 return the update trace separation
 estimate the new trace separation after interpolation
 confirm that interpolation parameters exist

 When ninterp=1 
 and interpolation factor=1
	print ("interpolated trace separation is $suinterp->{_update_trace_separation}\n\n");
	print ("interpolation factor  is $suinterp->{_interpolation_factor}\n\n");

=cut

sub update_trace_separation {

    my ( $variable, $old_trace_separation ) = @_;

    if ( defined $old_trace_separation
        && $old_trace_separation ne $empty_string )
    {

        $suinterp->{_old_trace_separation} = $old_trace_separation;

        if ( defined $suinterp->{_ninterp}
            && $suinterp->{_ninterp} ne $empty_string )
        {

            $suinterp->{_interpolation_factor} = $suinterp->{_ninterp} + 1;
            $suinterp->{_update_trace_separation} =
              $suinterp->{_old_trace_separation} /
              $suinterp->{_interpolation_factor};
            $suinterp->{_note} =
                $suinterp->{_note}
              . ' updated_trace_separation='
              . $suinterp->{_update_trace_separation};

            return $suinterp->{_update_trace_separation};

        }
        else {
            print("Warning: requires number of new traces to interpolate \n\n");
        }
    }
}

=head2 sub verbose 


=cut

sub verbose {

    my ( $self, $verbose ) = @_;
    if ( defined $verbose
        && $verbose ne $empty_string )
    {

        $suinterp->{_verbose} = $verbose;
        $suinterp->{_note} =
          $suinterp->{_note} . ' verbose=' . $suinterp->{_verbose};
        $suinterp->{_Step} =
          $suinterp->{_Step} . ' verbose=' . $suinterp->{_verbose};

    }
    else {
        print("suinterp, verbose, missing verbose,\n");
    }
}

=head2 sub xopt 


=cut



( run in 0.532 second using v1.01-cache-2.11-cpan-39bf76dae61 )