This program will evaluate the success or failure of up to 50 earthquake predictions at a time.
The program flow is as follows:
Three input files are required; a prediction file, an earthquake file and the historical database which is a CNSS catalog of all quakes from 1997 thru 2001 and contains information on 323,929 global events of all sizes.
The prediction file is comma delimited ascii and contains information on the predictor and details of the prediction, including start date of predicted window, end date, location lat-lon (rectangle or circle), expected magnitude range and radius of circle if appropriate.
The earthquake file must be from a global search of the CNSS combined catalog for the time period of interest, saved as a text file (.txt).
The historical file is used to calculate the observed probability of an event of a given size in a date window of a given size. The technique was designed by Dr. Alan Jones and is used with his permission
The program reads all predictions into an array. It calculates or saves predicted ranges of all parameters and also calculates outer limits based on the predicted values.
The outer limits for distance are 3 times the given radius for quakes less than or equal to mag. 3 and int(mag) + 2 for quakes larger than 3. If a rectangle is given, the distance from the center point to a corner is calculated and used as the radius.
The outer limits for date are 3 times the given window from start date and end date, giving a total date range of 7 times the window size.
The outer limits for magnitudes are quakes of any size.
Once these values are determined for each prediction, the program starts reading the quake file. Each quake is compared to each prediction in turn, looking for a fit to the outer limits. If a quake fits it is written to a temporary file for each prediction which it matches. These files, once completed, represent every quake that might possibly fit each prediction.
Finally the predictions are compared to their respective matching quakes.
Each quake has its distance to the center of the predicted date range and geographic area calculated. The smallest values are saved as "best fit". If the quake does not meet the predicted range, the range is extended in 10% increments until the quake falls inside the extended range. This range is then used in the probability calculation.
In the case of magnitudes, largest is considered the "best fit".
Finally, all this information is written to the output file for posting or future reference. (example)
If there are less than 55 such matches, the probability of each one is computed in order to select the lowest probability quake. If there are too many, probability will not be computed. It takes too long and the probability is most likely very high in such cases.