App-SeismicUnixGui
view release on metacpan or search on metacpan
lib/App/SeismicUnixGui/big_streams/immodpg.pl view on Meta::CPAN
=head1 DOCUMENTATION
=head2 SYNOPSIS
PROGRAM NAME: immodpg (interactive ray trace modeling)
AUTHOR: Juan Lorenzo
=head2 CHANGES and their DATES
DATES: Feb 7 2020
April 4 2021
Version 0.0.1 , 0.0.2
=head2 DESCRIPTION
Interactively model first arrivals using raytracing approximation
=head2 USE
=head2 Examplesoff
=head2 SEISMIC UNIX NOTES
=head2 STEPS
=head2 NOTES
We are using Moose.
Moose already declares that you need debuggers turned on
so you don't need a linewlike the following:
use warnings;
When program starts change file is initialized to "no". --change file
is deleted and reset to a default "no" at the start.
change file is set to yes in Perl.
however we are careful only to do so when the file indicates a previous 'no'
and reset to no in fortran after fortran uses the setting
When exiting the change file contains a "yes"
Avoids asynchronous reading and writing crashes
Lock files are not failsafe
There are two types of methods:
One method type only sets the message type (immodpg->set_option(message #)) and
indicates a forced change (immodpg->set_change(yes)) for use with fortran
program immodpg.for
e.g., _setVbot_plus, _set_move_down.
The gui shows a symbol for these cases
A second type of method manages changing values for a parameter as well
as the functions of the first method. These actions are relegated to
immodpg
eg., _setVbot, _setVtop_upper_layer, _setVincrement, _set_clip, _set_layer
The gui shows a parameter value that can be changed by the user.
The Entry widget is configured to recognize text value changes and
a return(1) is needed to indicate a successful validation
immodpg must follow premmod to prevent logical circularity
as a result of the use of the 'aliased' syntax
April 2021, removed commented lines
=cut
use Moose;
our $VERSION = '0.0.1';
use Time::HiRes qw(gettimeofday tv_interval);
use Tk;
use aliased 'App::SeismicUnixGui::misc::L_SU_global_constants';
use aliased 'App::SeismicUnixGui::configs::big_streams::Project_config';
use aliased 'App::SeismicUnixGui::configs::big_streams::immodpg_config';
use aliased 'App::SeismicUnixGui::big_streams::immodpg_global_constants';
use aliased 'App::SeismicUnixGui::misc::premmod';
use App::SeismicUnixGui::big_streams::immodpg '0.0.2';
use aliased 'App::SeismicUnixGui::big_streams::immodpg';
use aliased 'App::SeismicUnixGui::sunix::shell::xk';
=head2 private anonymous hash
used to hand off variables for external printing
=cut
my $immodpg_Tk = {
_prompt => '',
_base_file_name => '',
_pre_digitized_XT_pairs => '',
_data_traces => '',
_clip4plotEntry => '',
_lower_layerLabel => '',
_min_t_s => '',
_min_x_m => '',
_mw => '',
_thickness_increment_m => '',
_thickness_mEntry => '',
_thickness_mLabel => '',
_source_depth_m => '',
_receiver_depth_m => '',
_reducing_vel_mps => '',
_plot_min_x_m => '',
( run in 2.209 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )