Release Notes for Freeze 25.10.2012

This document is divided into the following sections:

  1. Incredible New Features
  2. New/Modified Documentation
  3. New Routines
  4. Modified Routines
  5. Modified Data Structures
  6. Deprecated Routines
Incredible New Features
Ray Coverage Plots
TTBox can now plot rays that start at any source point within the interior and reach any station at the surface. These coverage plots are produced using the new MKRAYCOVERAGE routine and can be produced in true 3D geometry or in a simplified/cartoonized 2D geometry
Pdiff and Sdiff phases
PDiff and SDiff phases can now be computed for all source depths and all distances at which they exist, (i.e. core shadow boundary onwards). MKX4P and MKTIM4P compute ray paths and MKRAYFAN plots rays.
Since PDiff and SDiff have the same ray parameter and incidence angles irrespective of epicentral distance, extra calling modes were introduced into MKX4P, MKTIM4P, MKRAYFAN. Backward compatibility is preserved.
Ray path lengths
the length of the ray paths plotted by MKRAYFAN and MKSYSNOPSIS is now computed and written into the UserData field of the generated line objects. To do so, a new routine MKRAYLENGTH is introduced (see below).
New/Modified Documentation
Error Messages
New diagnostics from the new and modified routines have been added, obsolete ones were deleted.
Programs
A dead link to a removed routine (mktouchdis) was removed.
Data Structures
The description of the SYN structure has been updated.
New Routines
mkraylength
Computes the length of a ray path, in kilometers, from the output of MKX4P.
mkraycoverage
Plots the coverage of the planetary interior with rays, for any number and position of sources and any number of surface receivers.
mkangledir
Determine sign of the directional change necessary to rotated from an angle alpha to the angle beta.
mkanglediff
Determine the angular difference between two directions, using the dot product.
mkchkmodelintegrity
Tests velocity models (in MODEL structures as returned by MKREADND) for several bugs that make them impossible to use, and gives diagnostic informations.
mkreduceto180
Reduces epicentral distances to the interval 0°...180°, as common in seismology.
Modified Routines
mkclr2model
When discretizing a clr model by defining an increment, the discrete version did not always contain a depth sample at the planet's center. This did not do much harm to travel time computations, but is now fixed.
mksynopsis
The routine now stores the ray path length (in kilometers) in the UserData field of gthe line object generated for the ray
mkrayfan
The routine now stores the ray path length (in kilometers) in the UserData field of the line object generated for the ray
mkreadnd
The routine may now be called without any input parameters. In that case, it returns a model structutre in which all fields are empty. This is now a way to obtain a valid model structure for use in other programs. The error message which occured in previous versions in this case is now obsolete and has been removed.
mkplotttcurves
A switch is introcudced by which the drawing of phase name labels aside the travel time curves can be suppressed.
mkraydiagram
Does not modify the hol dstatus if it is on - this is necessary to be able to plot several ray fans into one plot.
mkx4p, mktim4p, mksynopsis, mkttcurves, mksmarttakeoff
Can now evaluate Pdiff
mksynopsis
Even if it was set silent, the routine resetted MatLab's tic/toc timer function. Fixed.
mkpsampler
In case MKSMARTTAKEOFF returns an empty list of angles, MKPSAMPLER now quits instead of throwing an error.
mksmarttakeoff
An invalid assumption about sources in liquids caused MKSMARTTAKEOFF to return empty for all sources in liquids, although only S wave sources are impossible. Now only S wave sources cause empty.
mkttcurves
The travel time curve plot (figure 3 of the MKTTCURVES output) is now underlain with standard MatLab axes withour tick labels to enable the grid. The grid is switched ON by default.
mkwritend
When the model publication year was given as a number (as usual), the routine produced a warning and didn't write the year into the file. fixed.
mkfindextremedists
The "insunfficient information" error ischanged into a warning, and some actions are executed now. This is experimental.
mkraydepth
A small bug in this routine supressed most of the SKSac phase. Fixed.
mkreduceto180
Now this routine returns empty if the input is empty. (instead of crashing)
mksynopsis
The returned SYN structure now contains a field .tp in which the greatest depth reached by the described rays is contained.
mkchkmodelintegrity
The routine now tests if the proper units are used for velocities and densities (the proper units are km/s and g/ccm), and casts a warning if values are suspicious. Values are considered suspicious if they are larger than 1000, since this points to use of m/s or kg/m3
mksmarttakeoff
The output parameters minangle and maxangle were not initialized properly. This has been repaired.
mkpolarframe
The labeling of the angular scale is modified, some minor issues concerning the versatility of the routine were changed.
mkreadnd
After constructing the model structure, the new routine mkchkmodelintegrity is carried out.
mkinterpmodel
Before interpolating the model structure, mkchkmodelintegrity is carried out.
mkshootray
The previous version did not find ray solutions with epicentral distances outside 0°...180°. It did not recognize that distances Δ 360-Δ, n*360*±Delta are all the same.
mkfzeronest
This routine may now be called without input parameters. It then returns the epsilon used to control the ietration convergence. This is used internally by MKSYNOPSIS.
mkimprovemodel
An "index exceeds matrix dimensions" error was observed if a LVZ starts at the surface, i.e. if v(z>0)<v(0). This has been repaired.
mksynopsis
Now uses MKREDUCETO180 to reduce all distances into the interval 0°...180°. It also supresses all solutions that deviate from the desired distance by more than the epsilon returned by MKFZERONEST
New/Modified Data Structures
SYN structure
A new field .tp has been added to the SYN structure. This field contains the turning point depth (either from bending or from reflecting) of the ray.
Deprecated Routines

eof.