EARTHQUAKE  PROJECTS

Latest Update:  June 7, 2022



TABLE  OF  CONTENTS

CREATE  A  GITHUB  RESOURCE  FOR  AT  LEAST  SOME  OF  THE  PROPOSED  PROJECTS
THAT  ARE  BEING  DISCUSSED  ON  THIS  PRESENT  WEB  PAGE

CREATE  A  GOFUNDME  RESOURCE  FOR  AT  LEAST  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


CREATE  AN  INTERNET  WEB  SITE  WHERE  EARTHQUAKE  PRECURSOR  DATA
CAN  BE  COLLECTED  FROM  PEOPLE  AROUND  THE  WORLD
AND  THEN  PROCESSED  AND  DISPLAYED


CREATE  A  GROUP  OF  ROUTINES  THAT  WOULD  ENABLE  ANY  COMPUTER  LANGUAGE
PROGRAM  TO  INTERACT  WITH  ANY  OTHER  COMPUTER  PROGRAM  OR  WITH

THE  WINDOWS,  UNIX,  AND  LINUX  OPERATING  SYSTEMS


PROPOSED  PYTHON  PROJECTS

Create A Science Projects And Utilities Oriented Python Computer Program

Create A Python Version Of The SunGP.exe
Sun, Moon And Planets Locations Program


Create A Python Version Of The Etgtab.exe
Tide Data Generation Program

Create A Python Version Of The Etdprog.pl
Earthquake Forecasting Computer Program

Create A Self-Optimizing Python Program That Will Show
How And Why Powerful Earthquakes Are Occurring When They Are Occurring


Create A Python Program That Will Show How
Planetary Alignments Can Affect Earthquake Occurrence Times



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

http://www.dynamicgravity.org/mereni/

        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.

  1. ---  The program would start running when some keyboard key such as F1 was pressed.

  2. ---  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.

  3. ---  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.

  4. ---  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.

  5. ---  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.

  6. ---  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.

  7. ---  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.

  8. ---  Read data from and control the computer mouse or touch screen relative to the computer monitor screen.

  9. ---  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.

  10. ---  Send the Windows, Linux, and UNIX operating systems information as if it had been typed in on the computer keyboard.

  11. ---  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.

  12. ---  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.

  13. ---  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.

  14. ---  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.

  15. ---  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.

  16. ---  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.

  17. ---  Extract data from computer data files and use those data to create simple picture charts on the computer monitor.

  18. ---  Extract data from computer data files and use those data to create interactive picture charts on the computer monitor.

  19. ---  Read computer keyboard presses and use the information to control interactive picture charts being displayed on the computer monitor.

  20. ---  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.

  21. ---  Extract data from computer data files and do fast searches through the data.

  22. ---  Extract data from computer data files and use those data to do extremely fast calculations such as repetitive multiplications and divisions.

  23. ---  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.

  24. ---  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.

  25. ---  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.

  26. ---  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:
  1. ---  The distances (in kilometers) between the centers of the sun and moon from the center of the Earth

  2. ---  The locations on the surface of the Earth where the sun and the moon gravities are strongest

  3. ---  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

  4. ---  The locations on the surface of the Earth where the individual sun and moon Tide Generating Forces are strongest

  5. ---  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

  6. ---  The location on the surface of the Earth where the combination of the sun and moon Tide Generating Forces is strongest

  7. ---  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

       This general subject was briefly discussed in the Create A Science Projects Oriented Python Program section of this Web page.

       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.


Return To Earthquake Research Homepage
This first version of this Web page was stored at this site on
March 28, 2020. Comments regarding this Web page are welcome.
Please send them to: webmaster@earthquake-research.com
The information on this Web page represents expressions of personal opinion by
the Web page author. The address -URL- for this Web page is:
http://www.earthquake-research.com/Earthquake-Projects.html