Modified the way travel time for Pg/Lg phases is calculated. Previously, Pg/Lg travel times were computed with the Headwave method. Starting with this release, Pg/Lg travel times are computed with both the Headwave and TauP methods and the reported travel time is the lesser of the travel times calculated with the two methods. See SLBM_design.pdf for more details. The SlbmInterface method
- getPgLgComponents(double* tTotal, double* tTaup, double* tHeadwave, double* rBottom)
has been added to all interfaces to facilitate evaluation of this new capability.
Added following methods to the interface(s):
- getFractionActive ( double* fractionActive );
- setMaxDistance ( const double* maxDistance );
- getMaxDistance ( double* maxDistance );
- setMaxDepth ( const double* maxDepth );
- getMaxDepth ( double* maxDepth );
- getPgLgComponents(double* tTotal, double* tTaup, double* tHeadwave, double* rBottom);
Added a section labeled “test_2_3_0_BETA_Changes()” in each testscript (programming language) to exercise each new method.
Due to function name length limitations in some Fortran compilers, renamed all function calls from “SLBM_shell_xxx()” to “SLBM_xxx()” in the Fortran interface. Additionally, further renamed functions:
- SLBM_getActiveNodeWeightsReceiver() -> SLBM_getActiveNodeWeightsRcvr()
- SLBM_getActiveNodeWeightsSource() -> SLBM_getActiveNodeWgtsSrc()
Modified the way CrustalProfile objects are stored. Previously, all CrustalProfile objects were stored in memory so that if they were called for again they would not have to be recomputed. This was a problem since the number of objects could grow until all available memory was consumed. Starting with this release, the number of source CrustalProfile objects saved is limited to 10 and the number of receiver CrustalProfile objects saved is limited to 1000. When these limits are reached, the least-recently used objects are deleted from memory. These limits are hard-coded in the software but can be modified in the Grid constructor in Grid.cc.