FUNDING AND ORGANIZATION FOR SOME
OF THE
PROPOSED PROJECTS BEING DISCUSSED
ON THIS WEB PAGE
CREATE A GITHUB PROJECT
OR SIMILAR TYPE OF RESOURCE
These types of resources would
make it possible for individuals and groups of people to post notes
discussing what progress was being made with the various projects.
One or more Web site forums or
blogs already exist where notes can be posted regarding progress
that is being made with regard to the earthquake projects being
discussed on this Web page.
This type of resource would
make it possible for individual donors in the general public to
donate funding for some of the projects being discussed on this Web
page.
GET PRIVATE,
UNIVERSITY, NON-GOVERNMENTAL ORGANIZATION (NGO),
OR
GOVERNMENT ORGANIZATION FUNDING FOR
SOME OF THE PROPOSED
PROJECTS THAT ARE BEING DISCUSSED
ON THIS PRESENT WEB PAGE
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. Some of the latest to be studied are Secondary Cosmic Rays. They are the photons and other entities that are created when Primary
Cosmic Rays collide with atoms or molecules in the Earth's
atmosphere. Researchers are proposing that some earthquake
occurrence times can be linked with the times when Secondary Cosmic rays
make it to the surface of the Earth.
No book or technical report could keep pace with
those discoveries. Information regarding the science of
studying Earthquake Clouds, for example, could fill a book just 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 rely on just 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 structures 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 files 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
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 and
store the data as picture files. The charts that can presently be
seen at the Web site are actually not downloadable picture files.
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 drive and flash drive letter
and attempt to determine if a copy of that text ID 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 individual 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 the Perl l
language Etdprog.pl computer program (formally copyrighted) are being
constantly expanded. The present
version of the program has more than 13,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, and Cosmic Rays. 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, planetary influences on earthquakes 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 does already exist.
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.