Fixed bug that caused SLBM to occasionally segmentation fault for Pg/Lg calculations when using TaupLoc. What was happening was that a velocity stack was defined at the receiver with the bottom at the radius of the Moho at the receiver. The Taup model was constructed with only the velocity stack at the receiver. Then a source comes along where the Moho at the source position is deeper than the Moho at the receiver (and hence the bottom of the model). In addition, the source depth is deeper than the bottom of the taup model, causing taup to fail. This was fixed by modifying the way the taup model is built. Now we append a taup layer (in the taup model) that extends from the radius of the Moho at the receiver down to the center of the earth. That layer is assigned the velocity of the lower crust at the receiver.
Note: It has been discovered that the compiler option to turn off name mangling required for use of C++ libraries within C and Fortran code prevents the compiler from correctly finding the rand() function in Fortran. At this point, this is the only function we have discovered to work this way -but others may be found in the future. At present, the work-around is to manually “decorate” the function call within the Fortran code. For example: rand() function calls would change to rand_() and rand(seed) function calls would change to rand_(seed).