ITM Command-line Driver

January 18, 2024 ยท View on GitHub

This readme explains the use of the ITM command-line driver. This is a supplemental software tool to allow a user to call the ITM DLL from the command-line with inputs specified in supporting file formats.

Input Files

Inputs to the command-line driver are specified in an ASCII text file using the common key,value format. Each line holds a single key,value combination, with the key representing the model input variable name and the value representing its value. The driver will automatically detect whether ITM should be called specifying variability in time/location/situation or confidence/reliability based on the input parameters specified.

Output Files

After parsing the inputs and calling ITM, the command-line driver will generate an output report file containing the results. This results file contains inputs params, output params, and human-readable supporting documentation.

Execution

Executing the ITM command-line driver requires specifying input arguments, defined in the below table:

FlagTypeRequired?Description
-istringTrueFile specifying model input parameters in key,value format
-ostringTrueFilename where output results should be written
-modeenumTrueSpecify the prediction mode of ITM.
  • P2P = Point-to-Point Mode
  • AREA = Area Mode
-tstringFalseFile containing terrain information in PFL format. Only needed if using point-to-point mode
-dbgFalseIf flag is specified, the intermediate data structure values will be written to the output file

Input arguments are not case sensitive and do not have to be specified in a certain order. A generic example of calling the ITM command-line driver is:

ITMDrvr.exe -i <input_file> -t <terrain_file> -o <output_file> -mode P2P

Examples

Input FileTerrain FileOutput FileArguments
i_p2ptls.txtpfl.txto_p2ptls.txt-i i_p2ptls.txt -t pfl.txt -o o_p2ptls.txt -mode P2P -dbg
i_p2pcr.txtpfl.txto_p2pcr.txt-i i_p2pcr.txt -t pfl.txt -o o_p2pcr.txt -mode P2P -dbg
i_p2pcr_tbl.txtpfl.txto_p2pcr_tbl.txt-i i_p2pcr_tbl.txt -t pfl.txt -o o_p2pcr_tbl.txt -mode P2P -dbg
i_areatls.txto_areatls.txt-i i_areatls.txt -o o_areatls.txt -mode AREA -dbg
i_areacr.txto_areacr.txt-i i_areacr.txt -o o_areacr.txt -mode AREA -dbg
i_areacr_tbl.txto_areacr_tbl.txt-i i_areacr_tbl.txt -o o_areacr_tbl.txt -mode AREA -dbg

Command-line Driver Errors

In addition to the ITM DLL errors, the ITM command-line driver defines the following list of return codes.

General Errors

ValueConst NameDescription
0SUCCESSSuccessful execution
1001DRVRERR__DLL_LOADINGFailed to load itm.dll
1002DRVRERR__MAJOR_VERSION_MISMATCHThe major version number of the ITM driver and DLL do not match
1003DRVRERR__INVALID_OPTIONUnknown option specified
1004DRVRERR__GET_P2P_TLS_FUNC_LOADINGFailed to load point-to-point TLS function
1005DRVRERR__GET_P2P_CR_FUNC_LOADINGFailed to load point-to-point CR function
1006DRVRERR__GET_AREA_TLS_FUNC_LOADINGFailed to load area TLS function
1007DRVRERR__GET_AREA_CR_FUNC_LOADINGFailed to load area CR function
1008DRVRERR__PARSE_MODE_VALUEInvalid value for -mode argument

Input File Parsing Errors

ValueConst NameDescription
1101DRVRERR__PARSE_HTXUnable to parse transmitter height
1102DRVRERR__PARSE_HRXUnable to parse receiver height
1103DRVRERR__PARSE_CLIMATEUnable to parse climate
1104DRVRERR__PARSE_N0Unable to parse refractivity
1105DRVRERR__PARSE_FREQUnable to parse frequency
1106DRVRERR__PARSE_POLUnable to parse polarization
1107DRVRERR__PARSE_EPSILONUnable to parse relative permittivity
1108DRVRERR__PARSE_SIGMAUnable to parse conductivity
1109DRVRERR__PARSE_MDVARUnable to parse mode of variability
1110DRVRERR__PARSE_TIMEUnable to parse time
1111DRVRERR__PARSE_LOCATIONUnable to parse location
1112DRVRERR__PARSE_SITUATIONUnable to parse situation
1113DRVRERR__PARSE_CONFIDENCEUnable to parse confidence
1114DRVRERR__PARSE_RELIABILITYUnable to parse reliability
1115DRVRERR__PARSE_TX_SITEUnable to parse transmitter siting criteria
1116DRVRERR__PARSE_RX_SITEUnable to parse receiver siting criteria
1117DRVRERR__PARSE_DKMUnable to parse path distance
1118DRVRERR__PARSE_DELTAHUnable to parse terrain irregularity parameter
1119DRVRERR__PARSE_INCOMPLETE_DISTANCESInvalid specification of multiple distance values

Validation Errors

Driver validation errors occur when required input parameters are missing. The validation of the parameters values does not occur until after they are passed to ITM.

ValueConst NameDescription
1201DRVRERR__VALIDATION_MODEPrediction mode is not specified
1202DRVRERR__VALIDATION_IN_FILEInput parameter file is not specified
1203DRVRERR__VALIDATION_OUT_FILEOutput file is not specified
1204DRVRERR__VALIDATION_TERRAIN_FILETerrain file is not specified
1205DRVRERR__VALIDATION_HTXTransmitter height (h_tx__meter) is required but missing from input parameter file
1206DRVRERR__VALIDATION_HRXReceiver height (h_rx__meter) is required but missing from input parameter file
1207DRVRERR__VALIDATION_CLIMATERadio climate (climate) is required but missing from input parameter file
1208DRVRERR__VALIDATION_N0Refractivity (N_0) is required but missing from input parameter file
1209DRVRERR__VALIDATION_FMHZFrequency (f__mhz) is required but missing from input parameter file
1210DRVRERR__VALIDATION_POLPolarization (pol) is required but missing from input parameter file
1211DRVRERR__VALIDATION_EPSILONRelative permittivity (epsilon) is required but missing from input parameter file
1212DRVRERR__VALIDATION_SIGMAConductivity (sigma) is required but missing from input parameter file
1213DRVRERR__VALIDATION_MDVARMode of variability (mdvar) is required but missing from input parameter file
1214DRVRERR__VALIDATION_TLS_AND_CRProvided both time/location/situation parameters and confidence/reliability
1215DRVRERR__VALIDATION_TLS_OR_CRMust provide time/location/situation parameters or confidence/reliability
1216DRVRERR__VALIDATION_HTX_SITETransmitter siting criteria (tx_siting_criteria) is required but missing from input parameter file
1217DRVRERR__VALIDATION_RTX_SITEReceiver siting criteria (rx_siting_criteria) is required but missing from input parameter file
1218DRVRERR__VALIDATION_DKMPath distance (d__km) is required but missing from input parameter file
1219DRVRERR__VALIDATION_DELTAHTerrain irregularity parameter (delta_h) is required but missing from input parameter file