Changed InterpolatedProfile and all derived classes so that they no longer have to call new to create the data arrays. This involved changing from vector to double arrays in many places. Resulted in factor of 3 improvement in execution speed.
Fixed bug that prevented SLBM from exiting gracefully when invalid file specified in Grid::loadVelocityModel().
Added the following methods to all interfaces:
- saveVelocityModel() – save earth model currently in memory to file.
- getHeadwaveDistanceKm() – Retrieve horizontal distance traveled by the ray below the headwave interface, in km.
- getHeadwaveDistance() – Retrieve angular distance traveled by the ray below the headwave interface.
- getSourceDistance() – returns horizontal offset below the source.
- getReceiverDistance() – returns horizontal offset below the receiver.
- getWeightsSource() – Retrieve the node IDs and the interpolation coefficients for the source CrustalProfile.
- getWeightsReceiver() – Retrieve the node IDs and the interpolation coefficients for the receiver CrustalProfile.
Fixed many issues with the Fortran interface.
Updated all of the html documentation files.
Added a mode of operation to SLBM_test_Java wherein two parameters are specified on the command line. The first is interpreted as the name of the file containing the earth model and the second is interpreted to be the name of a file containing a bunch of source and receiver locations. SLBM_test_Java will compute the total travel time and spew the results to standard out. The input file should contain the following information on each record, separated by spaces:
- phase – one of the following strings: Pn, Sn, Pg or Lg
- sourceLat – source latitude in degrees.
- sourceLon – source longitude in degrees.
- sourceDepth – source depth in km.
- receiverLat – receiver latitude in degrees.
- receiverLon – receiver longitude in degrees.
- receiverDepth – receiver depth (negative elevation) in km.