CREATE AN INTERNET WEB SITE WHERE VARIOUS TYPES OF
EARTHQUAKE PRECURSORS CAN BE DESCRIBED AND DISCUSSED
Earthquake precursors are not actual earthquake predictions.
Instead, they are phenomena such as electromagnetic signals, glowing
lights on the horizon, and ground water level changes that can be
associated with approaching earthquakes. Earthquake precursors need to
be detected and evaluated so that accurate earthquake forecasts can be
generated.
Over the centuries quite a
few different types of earthquake precursors have been observed and
recorded. Technical reports and books have been published
describing and discussing them.
However, the study of and
description of earthquake precursors is a highly active field. New
earthquake precursors are constantly being discovered and reported
on. No book or technical report could keep pace with those
discoveries. Information regarding the science of studying
Earthquake Cloud, for example, could fill a book by itself.
The only way to keep pace with the
discoveries that are being constantly made regarding earthquake
precursors is to create one or more Internet Web sites where various
earthquake precursors can be discussed in detail with examples of their
observation and measurement.
CREATE AN INTERNET WEB SITE WHERE EARTHQUAKE PRECURSOR DATA
CAN BE COLLECTED FROM PEOPLE AROUND THE WORLD
AND THEN PROCESSED AND DISPLAYED
My own earthquake forecasting data
and forecasting data that I have seen from other earthquake forecasters indicate to me
that forecasting earthquakes is almost exactly like forecasting the
weather. In fact, many of our most powerful earthquakes might actually be easier to predict
than the weather.
One of the main reasons that
governments and nongovernmental organizations such as news services can
predict the weather, but not earthquakes, is because over the years,
effective organizational structures have been created for weather
forecasting. Similar types of organizational structures do not exist for earthquake forecasting.
Weather forecasters never simply rely on
any one measurement to predict that the coming days will be sunny and
dry or dark and rainy. They look at a variety of data collected
from different sources and merge those data into understandable
forecasts.
The same is true for the science of forecasting
earthquakes. Data from a variety of sources need to be collected,
evaluated, and merged in order to generate accurate earthquake
predictions. Governments are not yet doing that in an effective manner.
At the present time it would likely
be so difficult for any government to create and run the organizational
structure needed to prepare earthquake forecasts that it might be
necessary to have the United Nations create a special nonprofit
foundation to do the work.
Initially, what people working for
that nonprofit would do is to simply collect information regarding the
many earthquake forecasting methods that have already been
developed. From reports that I have seen, there might be as many
as two dozen forecasting methods that can generate valuable data.
Once the people working for that
foundation knew what types of data they had to work with they could
greatly expand the nonprofit and begin collecting and evaluating
earthquake precursor data. Then they could learn how to generate and circulate
meaningful earthquake forecasts.
CREATE A GROUP OF ROUTINES THAT WOULD ENABLE ANY COMPUTER LANGUAGE PROGRAM TO INTERACT WITH ANY OTHER COMPUTER PROGRAM
OR WITH THE WINDOWS, UNIX, OR LINUX OPERATING SYSTEMS
Most modern computer languages probably have special commands such as "Shell" or "System" that enable computer programs to read keyboard key presses and send commands to the computer operating system.
Many older computer languages including versions of FORTRAN and BASIC
cannot do that. They can open and close files and read information from them or write
information to them. But they might not be able to:
--- Execute a "Directory" command to display a list of files in the current directory.
--- Have Windows Notepad.exe open a text file for display.
--- Have Internet Explorer or some other Internet browser open a Web page on the Internet.
An already operational project involves providing all
computer languages with the ability to
do those types of things, assuming that computer programs written in
that language can read information from files and write information to
files.
When such a computer program was
running with the Windows operating system the program would store
special
commands in BAT files. When the computer program exited, the BAT files would automatically run and execute the commands. When the BAT
programs were done running, the original computer program or some other
computer program could start running. Or, computer control would simply revert back to the computer user.
Other refinements could be added to those routines such as having several
specialized computer programs running at the same time. Each would perform a specific task.
Routines that can enable any
computer language to do those types of things are relatively simple and
involve combinations of BAT and in certain instances, Windows Shortcut files. However, the different steps involved need to be carried out in a very specific
order. If that specific order of steps is not used, the computer
program being run can get locked in an unending loop. The special DOS, UNIX, or Linux routines might never execute.
PROPOSED PYTHON PROJECTS
Entries in some of the "lists of steps" associated the
below projects are numbered in an unusual manner. Roughly every other number
has blank line associated with it. This has to do with the limitations of the automatic list
generation feature of the Web page composer used to create this Web
page. This numbering system makes it easy to add new numbered entries.
CREATE A PYTHON COMPUTER PROGRAM THAT WILL GENERATE PNG PICTURE
FILES USING EARTHQUAKE FORECASTING DATA FROM THE FOLLOWING WEB SITE
The data on that Web site were in the past automatically converted to display charts by Adobe Flash Player.
Unfortunately, that Adobe program was discontinued a while ago.
So, those earthquake forecasting Web site data are now only available as
text data.
One or more Python programs
need to be created that will go to that Web site, download the data from
each of the Web sites files, and then display them as computer monitor
display charts. When the computer user requested, the Python
program would store the computer monitor display chart as a PNG file.
CREATE A SCIENCE PROJECTS AND UTILITIES ORIENTED PYTHON COMPUTER PROGRAM
A Python
program would be created that would do the following, among other things. I presently
have a Perl program that runs with Gnuplot to do many of these things.
--- The program would start running when some keyboard key such as F1 was pressed.
--- Pressing a different key might start the program running
with a version that did not display anything on the computer
monitor. That "invisibility" feature can be helpful when a
number of programs are active at the same time. It could make it
easier for the Python program to shift from one program screen to
another if there were one fewer active screens to deal with.
--- Each Python program would have a "version number" at the
start of the program. The Python compiler would then use that
version of Python to compile the program. That would take care of
problem associated with the creation of new versions of the Python
controller. I deal with the Perl language version of that problem
by copying the entire Perl directory (version 5) including all of the
attached modules, from one computer or flash drive to another.
That way I have a highly customized version of Perl to work with and
don't have to deal with changes made to new Perl compilers.
--- The Python program and its associated directories would
be totally portable. Copies of the original program and the entire
Python
program directory etc. could be copied from the C drive for example and
stored on
any computer, external hard disk drive, or flash drive. It would
then be possible to run the program from that flash drive etc. even
though the computer itself did not have Python installed on it.
--- When it started running, the Python program would
automatically determine where it was located on the computer network
such as in a specific directory on a flash drive. It would also
automatically determine where other important resources were located on
the network such as the main Python directory along with various drives
and directories that contained important file. There are a variety
of procedures that could be used to have the program determine where it
is physically located. What I myself do is store a special text
file on every drive. When they start running, my Perl programs go
to every possible hard and flash drive letter and attempt to determine
if a copy of that file is present on that drive. They then read
the file and at the end of the process know where various resources can
be found on the network.
--- The program would allow users to add program code or change existing code the Python program code while
the Python program is running. On command, the program would recompile itself
and
continue running at the point of interruption with no loss of data in
the computer memory. My Perl program can do this. I
understand that Python can do this as well. There are some simple
programming steps that are involved with this type of feature.
--- Run in a "trouble shooting mode" that would let
the user know when a programming error occurred, where the faulty code
was in the program, and at what point in the program run the error
occurred. For example, a "divide by zero" error might be
encountered at some point. Under the right conditions, the program
would not automatically end but rather let the user know that the error
had occurred and continue running, or let the user know and then pause
until the user made the necessary code corrections before continuing
with the run. If the CTRL and K keys were pressed at
the same time while the program was running, for example, the code for
the program step being run would be displayed on the computer
monitor. The user could select which key or combination of keys
would cause the program to do this or that while it was running.
--- Read data from and control the computer mouse or touch screen relative to the computer monitor screen.
--- While the program is running it would provide Windows users and perhaps Linux
and UNIX users with a programmable, versatile set of "Hot Keys"
that would enable the user to do things such as control data that were
appearing on the computer monitor, and to enter and exit a "trouble shooting mode." Keys such as the UP and DOWN arrow keys would control what was appearing on the computer monitor.
--- Send the Windows, Linux, and UNIX operating systems information as if it had been typed in on the
computer keyboard.
--- On
command, send commands to Windows, Linux, and UNIX that start other
programs running such as FORTRAN, Windows Notepad, Spread Sheet Programs, Internet Explorer, and Firefox.
--- On
command, store control words in files that are being constantly checked
by other running computer programs. Those programs would then check for and respond to the
control words.
--- Create "Pipes" to other running computer programs that
would enable the Python program to send the other programs relatively
simple types of data such as commands. The Python program could also be sent information through those Pipes. Experience has indicated that sending large amounts of data through Pipes
like that does not work very well. Data can get lost. But
sending occasional single commands etc. can work quite well. When
computer programs need to exchange large amounts of data, storage of the
data in files to be read by the various programs appears to work best.
--- Exchange information with other computer programs through the use of the Windows "Clipboard."
Once again, this process does not work very well. Information can
get lost. It is best to use files when computer programs are
exchanging large amounts of data.
--- Extract
data from computer data files and use those data to create picture files
such as PNG and GIF files. The user could specify what dimensions
those files need to have such as their widths and heights.
--- The picture files discussed in the next few options could display using the "full screen mode" or the "reduced size mode"
on the computer monitor. Multiple picture files could displayed
at the same time with one or more of them being interactive depending on
what the user wanted.
---
Extract
data from computer data files and use those data to create simple picture charts on the computer monitor.
---
Extract
data from computer data files and use those data to create interactive picture charts on the computer monitor.
---
Read computer keyboard presses and use the information to control interactive picture charts being displayed on the computer monitor.
---
Read computer keyboard presses and store that information in files
that can be read by programs written with any program language such as FORTRAN or BASIC.
---
Extract
data from computer data files and do fast searches through the data.
---
Extract
data from computer data files and use those data to do extremely fast
calculations such as repetitive multiplications and divisions.
---
On
command, the program would automatically do tedious or repetitive tasks such as visiting
Web sites, submitting information to them and requesting information
from them, and then downloading and processing the data.
--- The program could create new Python program code that
would duplicate the keyboard and mouse actions of the computer
user. It would do that on command by monitoring the keyboard and
computer mouse and generating code that would, for example, move the
mouse to a specific location on the computer window and then do a "right
click" on the mouse. This feature would make it possible for
program users to go to a Web site and automatically request some type of
information. Specific lines of code for doing that would not have
to be created one line at a time.
--- The program would have its own internal compiler that would enable it to:
accept input from the keyboard or, to load a text file, and use that
information to create code for another computer program such as a Python
program or a simple BASIC program. Many people would not want to
take the time to learn how to write Python programs just so they could
perform simple types of tasks such as doing some basic calculations and
storing the results in a file.
--- Actually run those specially created programs as if they were Python programs.
The Python computer program described in this section of this Web page
would be intended,
among other things, to make it possible for computer programmers to use
any
computer programming language to generate and to control charts,
including
interactive charts and picture charts such as .png files, that are
compatible with the Windows, Linux, and UNIX operating systems. As
mentioned earlier, that would be accomplished by having a FORTRAN
program for example, store control words and data in a file that the
Python program could read. The running Python program would
actually be controlling the interactive picture charts.
One of the problems that both
professional and amateur science researchers have is with working with
computer programmers who prefer to do their programming with one
computer language or another. Those various program might not have
the ability to generate interactive charts or picture charts that are
compatible with the Windows, Linux, or UNIX operating systems or with
other computer programming languages. Or, they might not be able
to do calculations as fast as the FORTRAN programming language.
This proposed Python language
computer program should make it easier for science researchers to work
with any computer programmer and not be affected by those limitations.
The Perl programming language
combined with the Gnuplot programming language can generate charts like
that. I have been using that combination of computer languages
myself for years. But Python is likely a better language to work
with on this project as it is supported quite well in the very active
Python Internet newsgroup.
CREATE A PYTHON VERSION OF THE SUNGP.EXE
SUN, MOON, AND PLANETS LOCATIONS PROGRAM
The SunGP.exe program is already
available with TrueBasic and Perl formats.
Dates and times, or ranges of dates
and times are submitted to the program through keyboard or text file
entries. The SunGP program then returns the following information
for those dates and times:
--- The distances (in kilometers) between the centers of the sun and moon from the center of the Earth
--- The locations on the surface of the Earth where the sun and the moon gravities are strongest
--- The strength of the sun and moon gravity forces on the
Earth using the center of each body as the reference point.
Gravitational forces are associated with the distance between the sun
and the Earth, or the moon and Earth, to the second power
--- The locations on the surface of the Earth where the individual sun and moon Tide Generating Forces are strongest
--- The strengths of the individaul sun and moon Tide Generating Forces. They are associated with the distance between the sun and the Earth for
example, to the third power
--- The location on the surface of the Earth where the combination of the sun and moon Tide Generating Forces is strongest
--- The strength of the combination of those two Tide Generation Forces at that location
CREATE A PYTHON VERSION OF THE ETGTAB.EXE
SOLID EARTH TIDE AND OCEAN TIDE DATA GENERATION PROGRAM
It is possible that a Python
version of this program already exists. Available versions were
written years ago using both FORTRAN and BASIC.
CREATE A PYTHON VERSION OF THE ETDPROG.PL
EARTHQUAKE FORECASTING COMPUTER PROGRAM
The capabilities of this Perl
language program are being constantly expanded. The present
version of the program has more than 12,000 lines of Perl code. It
works with the Gnuplot program to create computer monitor charts plus
PNG type picture files.
CREATE A SELF-OPTIMIZING PYTHON PROGRAM THAT WILL SHOW
HOW AND WHY POWERFUL EARTHQUAKES ARE
OCCURRING WHEN THEY ARE OCCURRING
It is believed that some of the
most
important discoveries regarding why powerful earthquakes occur when they
occur have probably already been made, by me! A formal U.S.
copyright was secured years ago for the most important of those
earthquake triggering theories.
Many powerful earthquakes are being
triggered by forces such as the Solid Earth Tide that are associated with the gravitational pulls of the sun
and the moon on the Earth. The Etdprog.pl Earthquake Forecasting Computer Program makes use of those discoveries.
This proposed Python program
would use what I have already learned about earthquake triggering
processes for a starting point. The program would include code
that would process data associated with earthquakes, with the sun and
moon locations, and with Solid Earth Tide and ocean tide data along with other types of data.
Pairs of past earthquakes that
appeared to have been triggered by the same combinations of sun and moon
gravity-related forces would be used by the program to optimize the sun
and moon equations etc. for those two earthquakes. Clear patterns
should then emerge for how and why significant earthquakes occur in
various fault zones.
Unfortunately, there appear to be
one or more earthquake
triggering phenomena that seem to be important and that cannot be
predicted too far ahead of time. Those might include solar and
geomagnetic storms. This proposed program should be able to help
us understand what the role of solar and geomagnetic storms, for
example, might be having on earthquake triggering processes.
CREATE A PYTHON PROGRAM THAT WILL SHOW HOW PLANETARY ALIGNMENTS
CAN AFFECT EARTHQUAKE OCCURRENCE TIMES
Researchers in the math and physics
worlds should have a lot of fun with this particular project. I believe that
I know how planetary alignments might be affecting earthquake
triggering times.
These processes are not linked with
the gravitational pulls of the planets on the Earth. Instead this
could involve a fairly large number of complex processes. It
should be possible to measure the various forces involved with all of
this in order to determine if these proposed effects are real.
PROGRAMMING LANGUAGE COMPILERS WRITTEN USING PYTHON
Compilers for many different
programming languages including FORTRAN,
Perl, and even BASIC could be written using the Python programming
language. At least one BASIC computer language written using Python already exists.
This process would eliminate the need to have special teams of
computer programmers attempt to create and maintain compilers for every
programming language.
It would make it possible to create
compiled versions of BASIC programs, for example, that would run much
faster than ones that have to be interpreted and run a single line of
code at a time. One option would enable users to create programs
that would still run like the original program, a single step at a time.
Most of the run mode and error checking advantages discussed in the Create A Science Projects Oriented Python Program section of this Web page would be available to programmers using these Python compiled computer programs.