Shakyground’s message code

During run time the numerical kernel of SHAKYGROUND performs a number of checks in order to ensure a proper processing of the model parameters. As quite normal in numerical processing, the formulae are valid only within certain ranges and may become unstable it these limits are violated. In most cases the limits are wide enough to cover the user’s demands, nevertheless it may happen that users try to overstretch the underlying concept, or, for unfortunate combination of model parameters the numerical instability is encountered in an unforeseen manner. In order to limit problems due to numerical instabilities which may even cause program failure SHAKYGROUND tries to fix the possible reasons adjusting the critical parameters in a suitable way. SHAKYGROUND reports the critical situations encountered during run time writing an integer number, the so-called “Message Code”to the file “simul.log”. The single events are coded as follows:

1 = correction of layer thickness (happens if thickness of layer stack is less than focal depth)

2 = danger of numerical overflow in absorption terms

4 = overcritical reflection encountered

8 = time window probably too short

16 = upper frequency limit of response spectrum calculation adjusted.

Since the single events can occur simultaneously the final message code reported by SHAKYGROUND is given by the sum of the codes of the single events. For example a message code of 17, which occurs quite often, corresponds to a “correction of layer thickness” (1) plus the adjustment of the upper frequency limit of the response spectrum calculation (16).