A manual for ITM, "Irregular Terrain Model" This is a series of subprograms which compute statistics of received radio field strengths. Its use generally involves three consecutive steps: the preparation of parameters, the computation of the reference attenuation, and then the computation of selected statistics. Around these processes the programmer will put others which assemble the required input and which manipulate the resulting output. These latter we leave largely to the user's ingenuity and in what follows we try to describe only the central three processes. The ITM may be used in two separate modes of operation: the "area pre- diction mode" and the "point-to-point" mode. Both modes use very similar calling sequences and they are treated below in parallel. Parameter preparation is accomplished by one of two subroutines: QLRA for the area prediction mode and QLRPFL for the point-to-point mode. Also useful is the subroutine QLRPS. The reference attenuation is computed by LRPROP and the statistics by the function subprogram AVAR. Much of the input and output is through the two common blocks /PROP/ and /PROPV/ which must therefore be accessed directly by the user. *Common Blocks* COMMON/PROP/KWX,AREF,MDP,DIST,HG(2),WN,DH,ENS,GME,ZGND, HE(2),DL(2),THE(2) COMPLEX ZGND This is the collection of the principle system and path parameters. It also includes the reference attenuation and an error marker. Note that all heights, lengths, and distances are measured in meters. KWX Error marker. Indicates by its value the severity of the warning: 0 no warning 1 caution; parameters are close to limits 7 15 18 2 impossible parameters; default values have been substituted 3 internal calculations show parameters out of range 4 parameters out of range AREF Reference attenuation. Computed by LRPROP. MDP Mode of the propagation model. Values: -1 point-to-point 1 area prediction; to initialize 0 area prediction; to continue For further remarks see note 2 below. DIST Distance between terminals. See note 3 below. HG Heights of the antennas above ground. WN Wave number of the radio frequency. DH Terrain irregularity parameter. ENS Surface refractivity of the atmosphere. GME Effective earth's curvature. ZGND Surface transfer impedance. HE Effective antenna heights. DL Horizon distances. THE Horizon elevation angles. Note 1. The error marker KWX is meant to serve as a warning to the user that one or more of the parameters have values that make the results dubious or unusable. Except when it has the value 2, there is no effect on the computations. The value is cumulative in that after a series of calcula- tions it will retain its highest value. Since it is never reset to 0, users must do this themselves. Note 2. The value of MDP is handled automatically by QLRA and QLRPFL. In the area prediction mode it must first be set to 1 whereupon LRPROP will initialize various constants and set MDP to 0. On subsequent calls where only the distance changes, LRPROP need not recompute these constants. Note 3. The value of DIST is enetered in two ways. In the point-to- point mode it is entered directly into /PROP/. This is done automatically by QLRPFL. In the area prediction mode the distance is an actual parameter in the call to LRPROP. COMMON/PROPV/LVAR,SGC,MDVAR,KLIM This is the collection of instructions for treating variability in the subprogram AVAR. LVAR Level to which coefficients in AVAR must be redefined. Each time the parameter indicated below is changed, LVAR must be set to at least: level parameter 0 quantiles 1 DIST 2 HE, etc. 3 WN 4 MDVAR 5 KLIM The subroutine AVAR will compute the necessary coefficients and reset LVAR to 0. SGC The standard deviation of confidence. This is output by AVAR and may be used to compute a confidence level. MDVAR Mode of the variability calculations. Values: 0 Single message mode. Time, location, and situation variability are combined together to give a con- fidence level 1 Accidental mode. Reliability is given by time availability. Confidence is a combination of location and situation variability. 2 Mobile mode. Reliability is a combination of time and location variability. Confidence is given by the situation variability. 3 Broadcast mode. Reliability is given by the twofold statement of -at least- qT of the time in qL of the locations. Confidence is given by the situation variability. In addition, to these values may be added either or both of the numbers 10 and 20: +10 For the point-to-point mode. Location variability is eliminated. +20 For interference problems. Direct situation variability is eliminated. Note that there may still be a small residual situation variability. KLIM Climate code. Values: 1 Equatorial 2 Continental subtropical 3 Maritime subtropical 4 Desert 5 Continental temperate 6 Maritime temperate, overland 7 Maritime temperate, oversea *Parameter Preparation* The reference attenuation requires the variables MDP, DIST, HG, WN, DH, ENS, GME, ZGND, HE, DL, THE and also an attention to KWX. The statistics require the variables MDVAR, KLIM, ZT, ZL, ZC and also an attention to LVAR; note that the value of MDVAR determines the meanings of ZT, ZL, ZC. The following subroutines should be used to intro- duce many of these variables. CALL QLRPS(FMHZ,ZSYS,EN0,IPOL,EPS,SGM) This will define WN, ENS, GME, ZGND in /PROP/. FMHZ Radio frequency in MHz. ZSYS Average system elevation above sea level. Used only to adjust EN0. If ZSYS=0., EN0 will be interpreted as ENS. EN0 Minimum monthly mean surface refractivity reduced to sea level. If it is desired to introduce ENS instead, then set ZSYS=0.. IPOL Polarization code; 0=horizontal, 1=vertical. EPS,SGM Ground constants; the dielectric constant and the conduc- tivity. CALL QLRA(KST,KLIM,MDVAR) Prepares parameters for the area prediction mode. Prior to this call one shouold define HG, DH and WN, ENS, GME, ZGND, all in /PROP/. Then this routine will define HE, DL, THE, LVAR, and optionally KLIM, MDVAR. It sets MDP=1. KST Siting criterion code for each terminal; an array of length 2. Values: 0=randon, 1=careful, 2=very careful. KLIM Climate code. If greater than 0 the routine will put this value in /PROPV/ and set LVAR=5. MDVAR Mode of variability. If nonnegative the routine will put this value in /PROPV/ and set LVAR to at least 4. In any case, the routine set LVAR to at least 3. CALL QLRPFL(PFL,KLIM,MDVAR) Prepares parameters for the point-to-point mode and then calls LRPROP thus also defining the reference attenuation AREF. Prior to this call, one should define HG and WN, ENS, GME, ZGND in /PROP/. One should also have prepared a terrain profile in the array PFL. For this we imagine a sequence of elevations P(0), P(1), ..., P(NP), taken at equal intervals XI from the point under the first terminal to the point under the second. Note that the path distance is then NP*XI. PFL Terrain profile. An array packed with the values NP, XI, P(0), ..., P(NP), in that order. Thus PFL(1) is the floating point representation of NP, PFL(2) equals the interval XI betwee profile points, and PFL(i+3) equals P(i), i=0, ..., NP, i.e., the elevation of the point distant i*XI from the first terminal. The total length of the array is NP+3. KLIM Climate code. If greater than 0 the routine will put this value in /PROPV/ and set LVAR=5. MDVAR Mode of variability. If nonnegative the routine will put this value in /PROPV/ and set LVAR to at least 4. In any case, the routine set LVAR to at least 3. It should be noted that the original ITM is silent on many of the details for defining some of the path parameters. This is particularly true of the effective heights HE, and, to some lesser degree, of the terrain irregularity parameter DH. The effective height, for example, is defined as the height above the "effective reflecting plane," and in the past the investigator has been urged to use his own best judgement as to where that plane should be placed. The subroutine QLRPFL, in trying to automate the definition of all parameters, has been forced to define explicitly all missing details. It has done this in a way that seems reasonable and in full accord with the intent of the model. One should not, however, conclude that these efforts are completed. Hopefully, better results are obtainable. *The Reference Attenuation* After defining all necessary parameters (MDP, WN, HG, DH, ENS, GME, ZGND, HE, DL, and THE, all in /PROP/) the next step is to compute the reference attenuation. This is done by a single call CALL LRPROP(D) In the point-to-point mode (when MDP=-1) the distance must be defined as DIST in /PROP/; then the formal parameter D is ignored. In the area prediction mode (when MDP=1 or 0) D represents the distance. In that case LRPROP will replace DIST in /PROP/ by this value. In the area prediction mode there is also a special call obtained by setting D=0. Normally, a call to LRPROP will result in the definition of only those coefficients that are necessary to compute the reference attenuation at the indicated distance. With this special call, however, all the coefficients are defined. If desired, the user can consider these coefficients to be additional output from LRPROP. They may be found in the additional common block /PROPA/. *Statistics* Statistics are available through the function subprogram AVAR in the form of quantiles--i.e., values of attenuation which are not exceeded for a fraction q of the samples. As a programming device, AVAR requires not the fraction q directly, but the corresponding -standard normal deviate- z. This is the value which satisfies q=Q(z), where Q(z) is the complementary normal probability function as given in most texts on statistics. This standard normal deviate is preferred because the random variables involved are all normally distributed or very nearly normally distributed, and calculations with the deviates are greatly simplified. We use the com- plementary function rather than the direct function because we usually think in terms of a received signal level rather than a loss or an attenuation and would like to say that this level is at least so large for a fraction q=Q(z) of the samples. Note that Q(z) is a montone decreasing function and that as q goes from 0 to 1, z covers the real line from right to left. For example, Q(0)=0.5, Q(1.28155)=0.1, and Q(-1.28155)=0.9. Before using AVAR one should have defined all system and path parameters in /PROP/ and have called LRPROP to also define AREF. In addition, one should define LVAR, MDVAR, KLIM in /PROPV/. Then the function AVAR can be evaluated. It has three formal parameters whose meanings are determined by the mode of variability as specified in MDVAR. In what follows we use freely a notation such as QC, ZC, to indicate a pair consisting of a probability and its corresponding standard normal deviate. *Single message (MDVAR=0): A=AVAR(0.,0.,ZC) With confidence QC the attenuation will not exceed A. The first two parameters are unused. *Accidental and Mobile (MDVAR=1 or 2): A=AVAR(ZR,0.,ZC) With confidence QC the reliability is at least QR that the attenuation does not exceed A. The second parameter is unused. *Broadcast (MDVAR=3): A=AVAR(ZT,ZL,ZC) With confidence QC there will be at least QL of the locations where the attenuation will not exceed A for at least QT of the time. These applications of AVAR are intended for use with the area prediction mode. With the point-to-point mode it is probably best to always set MDVAR=11 and thus to use only the "Accidental" format above. Finally, there are two small function subprograms which may, if desired, be used to facilitate the translation between probabilities and standard normal deviates. Q=QERF(Z) Z=QERFI(Q) These are the complimentary normal distribution function Q(z) and its inverse, respectively. *Suggested Operational Flow* TO use the area prediction mode: set KWX=0, LVAR=5 define HG, DH, and call QLRPS optionally, define MDVAR, KLIM call QLRA loop for selected distances D set LVAR=max(LVAR,1) call LRPROP(D) loop for selected quantiles A=AVAR(...) output A repeat repeat check KWX endTO TO use the point-to-point mode set KWX=0, LVAR=5 define PFL, HG, and call QLRPS optionally, define KLIM call QLRPFL loop for selected quantiles A=AVAR(...) output A repeat check KWX endTO