post_processor

Overview

The Post Processor creates formatted reports from raw data that is output from AFSIM, based off given configuration files. The report types are:

Each report has modifiable options in a configuration file to filter and alter the format of the given data. Certain options apply to all reports (See Configuration Options below).

Configuration Options

The following options apply to all reports unless otherwise stated:

report [communication | detection | eclipse | engagement | dsv | trajectory]

Specifies the type of report that is being generated.

report_name <string>

Specifies the name of the report. If the folder(s) or file(s) already exist then it will be overwritten. The run number is automatically inserted at the end of the filename, but can be inserted manually also using the %d tag. The date and time tags, %D and %T may also be used to aid in file management.

Example: report_name example_report

Note

Quotation marks are required for values that contain spaces.

data_file [<file_name>]

Specifies the name of the file where the input file(s) are located. To process Monte-Carlo files insert the run number tag %d in the file name.

Example: data_file ../input/example_%d.csv

Note

Quotation marks are required for values that contain spaces.

output_directory [<folder_name>]

Specifies the name of the folder where the output files will be generated. If the folder & files already exist then it will be overwritten. The run number is automatically inserted at the end of the filename, but can be inserted manually also using the %d tag. The date and time tags, %D and %T may also be used to aid in file management.

Example: output_directory output/run_%d/

Note

Quotation marks are required for values that contain spaces.

monte_carlo_start <integer-value>

Specifies the starting run number.

Default 1

monte_carlo_end <integer-value>

Specifies the ending run number.

Default All consecutive runs in ascending order of the %d.

single_output_file <boolean-value>

Specifies if all formatted run data should be output to a single file. (Currently not implemented)

Note

Not applicable for DSV output.

Default true

write_header_information <boolean-value>

Specifies if headers should be output to the report(s).

Note

Not applicable for DSV output.

Default true

delimiter [comma | column | semicolon | space | tab]

Specifies the delimiter that separates the values.

Default comma

length_units [feet | meters]

Specifies the unit of measurement for distances. (Currently not implemented)

Note

Not applicable for DSV output.

Default meters

angle_units [radians | degrees]

Specifies the unit of measurement for angles. (Currently not implemented)

Note

Not applicable for DSV output.

Default degrees

track_number_options [numerical | jtids]

Specifies the track number format options. (Currently not implemented)

Note

Not applicable for DSV output.

Default numerical

start_time <real> <time-units>

Specifies the start time of the desired data.

Default 0

end_time <real> <time-units>

Specifies the end time of the desired data.

Default std::numeric_limits<double>::max()

lat_lon_format d[:m[:s]][.#]

Specifies the format and number of decimal places for displaying latitude and longitude values.

Default: d:m:s.2

time_format [[h:]m:]s[.#]

Specifies the format and number of decimal places for displaying time values.

Default s.5

precision <double-value>

Specifies the precision of double values.

Note

Not applicable for DSV output.

Default 2

Communication Report

Report of how and how often platforms communicate to other platforms.

Important

At least one of the following events must be enabled for the communication report to generate data:

report_type [traffic_counts | connectivity]

Specifies the subreport type. (See also: Subreports)

Default traffic_counts

transmitters … end_transmitters

Specifies the transmitters whose data will be collected.

Default all

receivers … end_receivers

Specifies the receivers whose data will be collected.

Default all

networks … end_networks

Specifies the networks whose data will be collected.

Default all

Subreports

Traffic Counts

Outputs the number of messages generated, transmitted, completed to receivers, and purged/deleted per platform or network.

options … end_options

Specifies other options that applies to the traffic count subreport.

Accepted options:

options
   platforms | networks | time_interval
end_options
interval <real> <time-units>

Specifies the interval of time desired per data set.

Default 1 second

Example: interval 60 seconds : gives data between 0-60 seconds, then 60-120 seconds, and so on.

Connectivity

Currently not implemented

Detection Report

Important

At least one of the following events must be enabled for the detection report to generate data:

report_type [total_detections | first_detections | access]

Specifies the subreport type. (See also: Subreports)

detected_platforms … end_detected_platforms

Specifies the detected platforms whose data will be collected.

Default all

detecting_platforms … end_detecting_platforms

Specifies the detecting platforms whose data will be collected.

Default all

Subreports

Total Detections

Outputs the number of detections made by each of the given platforms. This subreport has no other options.

First detections

Outputs the first detection from one platform to another.

options … end_options

Specifies other options that applies to the first detections subreport.

Accepted options:

options
   platform_type_of_detected_platform
   side_indicator
   altitude_of_detected_platform
   azimuth_angle
   elevation_angle
end_options

Access

Provides the start time, end time, and the duration of platforms’ visibility to each other.

Eclipse Report

Eclipse report provides the start time, end time, and the duration that platforms are within the Earth’s shadow.

Important

At least one of the following events must be enabled for the eclipse report to generate data:

Note

Results do not take into account the effect of the oblate Earth or motion of the Earth during a single orbit of a platform.

platforms … end_platforms

Specifies the platforms whose data will be collected.

Default all

Engagement Report

report_type [total_detections | first_detections]

Specifies the subreport type. (See also: Subreports)

acting_platforms … end_acting_platforms

Specifies the acting platforms whose data will be collected.

Default all

against_platforms … end_against_platforms

Specifies the target platforms whose data will be collected.

Default all

types_of_actions … end_types_of_actions

Specifies the detecting platforms whose data will be collected.

Default all

types_of_weapons … end_types_of_weapons

Specifies the types of weapons whose data will be collected. (Currently not implemented)

Default all

Subreports

Track Event History

Outputs the number of detections made by each of the given platforms.

Weapon Expenditures

options … end_options

Specifies other options that applies to the weapon expenditures subreport. (Currently not implemented)

Trajectory Report

TODO

DSV (Delimited Separated Value) Output

This report generates multiple delimited separated value (DSV) output files as specified below. Any files not listed below or not mapped in the post_processor will be output into a file matching the event name in the header of the input file.

# Example input file
report DSV
report_name sample_demo_%D
data_file sample_demo_%d.csv
output_directory .
delimiter comma
lat_lon_format d:m:s.2
time_format s.5

Generated Files

Core Files List

Weapon Files List

Cyber Files List