WSF 1.7.2 - 27 Oct 2011¶
Removal of Transition Object Types In The Next Release¶
Over the last couple of years several movers were reimplemented in such a way that compatibility between the old and new implementations could not be maintained transparently. As such, both old and new forms coexisted under different names (i.e. OLD and NEW). The default implementation (i.e.: name without the OLD or NEW) eventually changed from referring to the old implementation to referring to the new implementation.
The new implementations have been the default implementation for over year. Effective with the NEXT release, the old implementations will be removed from the code and the transition names (OLD and NEW) will be removed as follows:
WSF_OLD_AIR_MOVER and WSF_NEW_AIR_MOVER (use WSF_AIR_MOVER)
WSF_OLD_GROUND_MOVER and WSF_NEW_GROUND_MOVER (use WSF_GROUND_MOVER)
WSF_OLD_ROAD_MOVER and WSF_NEW_ROAD_MOVER (use WSF_ROAD_MOVER)
WSF_OLD_SUBSURFACE_MOVER and WSF_NEW_SUBSURFACE_MOVER (use WSF_SUBSURFACE_MOVER)
WSF_OLD_SURFACE_MOVER and WSF_NEW_SURFACE_MOVER (use WSF_SURFACE_MOVER)
WSF_OLD_6DOF_MOVER and WSF_NEW_6DOF_MOVER (use WSF_P6DOF_MOVER)
WSF_OLD_GUIDED_MOVER and WSF_NEW_GUIDED_MOVER (use WSF_GUIDED_MOVER)
WSF_OLD_GUIDANCE_COMPUTER and WSF_NEW_GUIDANCE_COMPUTER (use WSF_GUIDANCE_COMPUTER)
If you haven’t already done so, please convert your definitions to use the standard (non-transition) names.
Corrections¶
(CR 8828) Removed the ‘beam_color_rgba’ capability from Antenna Commands that was implemented in version WSF 1.7.1 - 25 Mar 2011. The non-standard DIS PDU caused problems for some simulations and resulted in larger replay files. A different implementation may be provided at some point in the future.
(CR 8861) Corrected a problem where WSF_TBM_MOVER could hang in an infinite loop if the target was at a higher MSL altitude than the launcher (as could occur when using terrain).
(CR 8865) Corrected a problem where the event_output events SENSOR_KILLED, SENSOR_NON_OPERATIONAL and SENSOR_OPERATIONAL were not properly terminated.
(CR 8875) Corrected a problem in WSF_RADIO_TRANSCEIVER (as well as WSF_RADIO_XMTR and WSF_RADIO_RCVR) where a message that required two or more relay hops (e.g. a STATCOM cross-link) could get stuck in an infinite cycle of being transmitted between two nodes.
(CR 8908) Corrected a problem where the script method WsfPlatformPart.SetOperational would not parse using the syntax in the documentation.
(CR 8916) Corrected a problem where raw tracks filtered by the track manager on one node and then reported to another node, could get marked in such a way on the receiving node that they would never get evaluated by WSF_TASK_PROCESSOR unless evaluate_candidate_tracks was set to ‘true’.
(CR 8932) Corrected a problem where the simulation would crash if a WSF_COMPOSITE_SENSOR was used when a record was enabled.
(CR 8933) Corrected a situation where enabled simulation observer would get called multiple times per event if a multi-run Monte Carlo Iteration execution was used.
(CR 8966) Corrected a problem in [[sensor_plot flight_path_analysis]] with the treatment of velocity from TSPI files. The velocity direction derived by sensor_plot was inconsistent with the derivation in WSF_TSPI_MOVER. The magnitude was correct, but the direction could be different.
(CR 8984) Corrected a problem in the calculation of the message transfer rate in WSF_COMM_TRANSCEIVER and WSF_RADIO_TRANSCEIVER when ‘transfer_rate’ was being defined on the communication network and not in the communication device.
(CR 9002) Corrected a minor problem in the GENAP cosecant antenna generator which cause a slight (0.1 degree) elevation shift in the resulting pattern. Also applied the most recent patches from SUPPRESSOR.
(CR 9025) Corrected a problem where radio based communications were not being affected by Zone-based attenuation.
(CR 9038) Corrected a problem in WSF_GEOMETRIC_SENSOR where the earth_radius_multiplier was being accepted, but didn’t affect the detection results. This prevented using the sensor as a simple low-fidelity surrogate for a radar sensor.
(CR 9047) Corrected a problem where the sensing chance list entry for a target platform was sometimes not getting deleted when the target platform was deleted. This occurred only for target tracking sensors. The main impact was a performance problem caused by the constant reallocation of the list as new platforms were added to the simulation.
(CR 9051) Corrected several problems in WSF_STRAIGHT_LINE_MOVER that was causing erratic behavior.
(CR 9054) The common orientation for satellites using WSF_SPACE_MOVER or WSF_NORAD_SPACE_MOVER will be “right side up, ” so that platforms appear to fly “straight and level.” More specifically, satellites will be oriented so that the local z axis points to nadir (Earth center), the x axis is in the direction of motion (perpendicular to z and in the same plane as z and the ECI velocity vector), and y is perpendicular to both x and z. In STK it is identical with the attitude option “Nadir alignment with ECI velocity constraint.”
(CR 9061) Corrected a problem in WsfSensorInteraction and WsfCommInteraction where range values were mistakenly being return in units of kilometers rather than meters.
(CR 9088) Corrected an issue with the WSF_ESM_SENSOR track type reporting being overridden by the ‘reports_type’ flag when using the ‘reported_emitter_type’ block input commands.
(CR 9098) Corrected an issue where the last timestamp in the DIS output stream was always the value of the ‘end_time’ command, even if the simulation was terminated early (e.g.: by using WsfSimulation.Terminate()). The last timestamp will now be set to the maximum simulation time that was achieved.
(CR 9133) Corrected a problem with the WSF_ESM_SENSOR, WSF_IR10T_SENSOR, and WSF_SOSM_SENSOR when using ranging_time and ranging_time_track_quality where the track quality was being applied before the range was valid.
(CR 9135) When attempting to estimate a pseudo-3D location from a 2D (range-bearing) track, the location would be corrupted if the slant range was less than the assumed altitude used to compute the location.
(CR 9137) Corrected a problem where the origin of a sensor report incorrectly used the platform location instead of the sensor antenna location. This was causing a error in the track report if the sensor antenna was offset from the origin of the platform, as range and angles are measured relative to the origin of the sensor antenna.
(CR 9142) Fixed an issue where stopping a jamming assignment when a repeater was operating in manual mode with signal following set to ‘true’ would fail.
(CR 9149) Corrected an issue where a csims_interface missile launched from moving platform (e.g.: a ship) would occasionally abort immediately after launch with an erroneous ‘hit ground’ message.
(CR 9163) Prevented the sending of jamming systems in the DIS emission PDUs that are off and have been off for the previous sending to lessen the DIS loading.
(CR 9165) Correct a problem where the incorrect beam position would be computed if the device was cued, the azimuth to the target had the opposite sign of the cued azimuth, and the scan volume about the cue spanned the +/- 180 degree azimuth line (relative to the uncued orientation).
(CR 9190) Corrected a problem in the altitude triggers of WSF_WEAPON_FUSE (and the derived variants WSF_AIR_TARGET_FUSE and WSF_GROUND_TARGET_FUSE) where detonation was incorrectly occurring when any altitude sample was above/below the criteria value. Detonation will now occur when crossing the criteria value in the proper direction, as specified in the documentation.
(CR 9267) Corrected a problem where sensor_plot_flight_path_analysis was improperly manipulating the heading from a TSPI file.
(CR 9268) Corrected a problem where the TIME_NOW variable would not reflect the current simulation time if the script was invoked as a result of calling WsfSimulation.ExecuteAtTime, WsfPlatform.ExecuteAtTime or WsfProcessor.ExecuteAtTime specifying a time in the past.
(CR 9303) Corrected a problem in WSF_ESM_SENSOR where the reported location data for tracking radars would be incorrect if the sensing platform had a significant orientation change (i.e. started to bank) between the time the detection attempt occurred and the data was reported.
Enhancements¶
(CR 8683) Added support for loading PLT signature files in 3-column format.
Various modifications were made to the image processing architecture:
Merged the capabilities of WSF_IMAGE_PROCESSOR and WSF_VIDEO_PROCESSOR into WSF_IMAGE_PROCESSOR, which will now process static images or a stream of images (video). WSF_VIDEO_PROCESSOR still exists, but is simply a synonym for WSF_IMAGE_PROCESSOR.
Added the ability to define a filter in WSF_IMAGE_PROCESSOR to be used when processing image streams. If a filter is defined, it will be used to generate a filtered position and velocity in the output tracks.
Modified the pixel count attribute in the image and track objects so it is now a floating point value.
Added a normalize pixel intensity attribute in the image.
Added the minimum and maximum signal level attributes to the image. WSF_SAR_SENSOR will now compute an intensity based on the radar signature.
WsfImage.BackgroundLevel() and WsfImage.SignalLevel() now return raw signal levels instead of being divided by the noise level.
The tracks created from static images (e.g.: spot SAR images) will now always report a zero velocity. Otherwise the velocity in the local track into which the track is fused will never go to zero.
Added support for MIL-STD-210 Non-Standard Atmospheres atmosphere.
Added support for unit type of angular inertia (mass*length*length) [[Values|units]].
Added the aux_data_fusion_rules to track_manager to control the fusion of aux_data variables from a raw tracks into local tracks.
Added WsfSensor script methods: WsfSensor.SetFOV_Azimuth, WsfSensor.SetFOV_Elevation, WsfSensor.SetFOV_Range.
Added the command pixel_count to WSF_EOIR_SENSOR. Used in conjunction with new WsfSensor methods to change field of view allows zooming the WSF_EOIR_SENSOR in script.
(CR 8866) Added the on_death attribute for platform which lets a user define the disposition of a platform when it is killed. The default is to remove the platform from the simulation, but now an option exists to allow the platform to be retained, but with all its systems disabled.
Added the playback command to the dis_interface, which allow the entities contained in a DIS ‘replay’ file to be injected back into a simulation as regular WSF platforms.
(CR 8872) Added the ability to use a communications filter with a JTIDS terminal for use by the VWC and the Comm Effects Engine. This is a code enhancement with no impact to users.
(CR 8883) Added the ability to delete an aux_data variable in WsfGroup, WsfMessage, Platform, WsfPlatformPart and WsfTrack
Added the print_track_residual_covariance command to event_output.
Added numerous script methods to WsfArticulatedPart and WsfSensor to query the slewing, cueing, and scanning parameters.
If a platform does not have an optical_signature defined but does have the length, width and height attributes defined, the values of those attributes and the current viewing angle to compute an optical cross section.
Added script methods to WsfLocalTrack: WsfLocalTrack.RawTracksFrom, WsfLocalTrack.RawTrackFromSensorName, and WsfLocalTrack.RawTrackFromSensorType
Added script methods to WsfSensor: SelectEP_Technique and DeselectEP_Technique
Added the ability to turn off verbose information about fire and detonate PDUs to the console through the debug_warfare_pdu input to the DIS interface.
Added user-defined scripts to WSF_TASK_PROCESSOR: on_task_assign_sent, on_task_complete_sent, on_task_cancel_sent.
(CR 8922) Added a WsfMessage.DataTag field to messages which can be used to track the progress of certain types of data (tracks and images in particular) as they are sent over communications networks. There was no easy provision to do this if the object was forwarded from platform-to-platform via using processes other than the normal communications relay and routing (e.g.: using the track reporting provided by WSF_TRACK_PROCESSOR).
(CR 8939) Enhanced track error effects in WSF_TRACK_EFFECT. Errors in range, azimuth, elevation, and velocity can be applied to a track. Errors can be walked off at a linear rate, if the required J-to-S is met, until a holdout point, and then optionally recycled.
(CR 8940) Add provisions to WSF_SLC_EFFECT to operate and handle the effects of the WSF_POL_MOD_EFFECT and its polarization_switching_rate.
(CR 8941) Add provisions to dynamically set the priority of a message. Added script methods WsfMessage.Priority and WsfMessage.SetPriority to get and set the message priority. Added the ability to define the script on_message_create which will get called by certain processors after a message is created internally but before it is sent.
(CR 8947) Implemented the channel_partition_protocol frequency division multiple access (FDMA) capability. Users can now set the number of channels per comm device using ‘number_of_channels’ (defaults is 1 channel).
(CR 8948) Implemented the channel_partition_protocol time division multiple access (TDMA) capability. Users can now set the number of channels per comm device using ‘number_of_channels’ (defaults is 1 channel).
Added the ability to define a filter for a WSF_COMPOSITE_SENSOR operating in independent mode.
(CR 8953) Added the WsfImage.CollectionFactor to WsfImage, which for a SAR sensor will return the ratio of the desired azimuth resolution divided by the achieved azimuth resolution.
(CR 8954) Modified WSF_COMPOSITE_SENSOR to use the track quality of the constituent sensors as as guide when determining if a track report should be used updating the composite track. This prevents a lower quality report from updating the composite track if the track is being updated by a higher quality reported.
(CR 8957) Added in a jamming to signal (J/S) table into the WSF_POWER_EFFECT.
Added the ability for horizontal_map to produce contour plots of detection probability in KML (Keyhold Markup Language) and ESRI shapefile format.
(CR 8962) Added in random calculation for false targets for the WSF_SIMPLE_FT_EFFECT and allowed connection to the false_target_screener to get the track capacity for the maximum false target capacity in this effect.
(CR 8985) Added in a new WSF_COVER_PULSE_EFFECT.
(CR 9008) Added in the capability to allow for target_protection_type (e.g. self-protect or non-self-protect). Also added in the capability to allow and/or reject targets for the application of jamming EA effects and jamming power.
Added the ability to specify slew rates for :command`_.articulated_part.azimuth_slew_rate` and azimuth_cue_rate.
Added the ability to define number_of_false_targets to the WSF_FALSE_TARGET_EFFECT.
(CR 9041) Added the rescale_substandard_image command to WSF_SAR_SENSOR to control if a substandard image (i.e.: one whose collection time was not sufficient to achieve the desired azimuth resolution) will be rescaled to maintain the aspect ratio that would have existed if the collection time was completed.
Added the WsfSimulation.CreatePlatform and WsfSimulation.AddPlatform script methods to WsfSimulation. These methods provide a simpler interface for spawning off or dynamically creating platforms during a simulation.
Added maximum_range_rate and minimum_range_rate commands to WSF_GEOMETRIC_SENSOR.
Added group-based reporting via the report_to_group command – an alternative to command chains.
Added check_terrain_masking command to receiver.
Added aux_data input for groups.
(CR 9089) Refactored some of the Electronic Steered/Scanned Array (ESA) Pattern previously steered_array_pattern to allow for software inheritance of this class and to extend this into other types of ESA patterns.
Added WsfTime script class, as a script representation of date and time. It exposes many of the methods of the UtCalendar class.
(CR 9102) The surface-to-surface mode of WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER will first attempt to use the location from the target track, and if that is not present will use the location of the truth platform contained in the track (if it is present). This eliminates the need to construct a pseudo-platform at the desired impact location.
Added filtering options to the dis_interface to filter out entity states. These options are ignore_kind_and_domain, ignore_type, and filter_out_by_range. When all entity states are filtered for a given DIS entity, the corresponding external platform will not appear in the simulation.
Added in a new WsfEW_Effects scripting object type, use by accessing from WsfEM_Interaction script.
(CR 9153) Added WsfDraw script method BeginEllipsoid with parameters for heading, pitch, roll, and the 3 radii defining the semi-principal axes. Also added an alias BeginSphere and BeginCircle (an alias for BeginEllipse), which take a single radius.
(CR 9182) Added script methods to WsfFuel (ConsumptionRate, SetConsumptionRate, BingoQuantity, SetBingoQuantity, ReserveQuantity, and SetReserveQuantity).
(CR 9183) Enhanced WSF_GUIDED_MOVER to allow thrust and fuel burn rate to be defined using tables that are a function of time.
Added the capability for the WSF_IMAGE_PROCESSOR to report bearing-elevation data in its output tracks, instead of location data. This feature is currently incompatible with filtering options.
Added a jam_strobe_detector capability to the WSF_RADAR_SENSOR.
Added in the capability to define a debug_level for platform parts. Allows for limiting and controlling the debug information displayed to standard output. Currently only implemented for WSF_RADAR_SENSOR, WSF_OTH_RADAR_SENSOR and WSF_RF_JAMMER. More capability to be added to inheriting platform parts in future releases.
(CR 9250) Added in bistatic_signature to radar_signature to define bistatic signature tables for platform_types.
Modified sensor_plot_flight_path_analysis so the analysis will be performed considering the target platform against all the other platforms, rather than considering the all the other sensors versus the target. (See reverse_evaluations).
Added MOVER_UPDATED callback to the script observer interface.
Added the reference_platform to zone definitions.