# ****************************************************************************
# CUI
#
# The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
#
# The use, dissemination or disclosure of data in this file is subject to
# limitation or restriction. See accompanying README and LICENSE for details.
# ****************************************************************************
###############################################################################
#                          ------ UNCLASSIFIED ------
#                                  RED_SRBM_2
###############################################################################
#
# ***** WARNING ***** WARNING ***** WARNING ***** WARNING ***** WARNING *****
#
# This definition is intended to be EXPORTABLE. It is defined using publicly
# available, attributable sources. DO NOT ADD ANYTHING BASED ON OTHER SOURCES!
#
# ***** WARNING ***** WARNING ***** WARNING ***** WARNING ***** WARNING *****
#
###############################################################################
#
# NOTE: If you modify any parameter in this file, you must rerun 'weapon_tools'
#       with 'red_srbm_2_lcg.txt' as input to regenerate the launch computer data.
#
###############################################################################
#
# References:
#
# 1) http://en.wikipedia.org/wiki/Scud
#
# 2) http://www.fas.org/nuke/guide/russia/theater/r-11.htm
###############################################################################

###############################################################################
# Signature data is unknown...

infrared_signature RED_SRBM_2_INFRARED_SIG
   constant 1 watts/steradian
end_infrared_signature

optical_signature  RED_SRBM_2_OPTICAL_SIG
   constant 1 m^2
end_optical_signature

radar_signature    RED_SRBM_2_RADAR_SIG
   constant 1 m^2
end_radar_signature

# Nominal lethality data.

weapon_effects RED_SRBM_2_EFFECT WSF_GRADUATED_LETHALITY
   radius_and_pk 1000.0 m 1.0
end_weapon_effects

###############################################################################

aero RED_SRBM_2_AERO WSF_AERO
   reference_area            6.5434 ft^2
   aspect_ratio              1.0
   cl_max                    5.0

   zero_lift_cd              0.3                 # Brian's value
end_aero

###############################################################################

mover RED_SRBM_2_MOVER WSF_GUIDED_MOVER
   integration_timestep      0.005 secs
   update_interval           0.05 secs

   stage 1
      aero                   RED_SRBM_2_AERO
      empty_mass             3910.0 lbs          # Brian's data
      fuel_mass              11812.0 lbs         # Brian's data
      thrust                 26000.0 lbf         # Brian's data
      specific_impulse       220.0 sec           # Brian's data
      thrust_duration        99.93 sec           # Brian's data (from ballistic table)
   end_stage
end_mover

###############################################################################

processor RED_SRBM_2_GUIDANCE WSF_GUIDANCE_COMPUTER

   # Go vertical for a short time.

   phase LIFTOFF
      guidance_delay                   100.0 sec

      # NOTE: Do not use altitude for the criteria for starting pitch over as
      # trajectory is VERY sensitive to the TIME when pitch over starts. If it
      # were to be used, a minor changes in the launcher altitude would cause
      # pitch over to start at a different time!

      next_phase PITCH_OVER when phase_time >= 0.5 sec     # About 100 ft
   end_phase

   # Pitch over to the desired flight path angle from the launch computer.

   phase PITCH_OVER
      commanded_flight_path_angle      from_launch_computer
      proportional_navigation_gain     0.0                 # Don't guide to target
      velocity_pursuit_gain            0.0                 # Don't guide to target
      maximum_commanded_g              1.0 g
      next_phase BALLISTIC when on_commanded_flight_path_angle
   end_phase

   # Continue flight without guidance (gravity turn).

   phase BALLISTIC
      # Turn the guidance processor off once pure ballistic mode is started.
      # This shaves several percent off the processor time.
      on_entry
        TurnOff();
      end_on_entry
      guidance_delay                   2000.0 sec
   end_phase

end_processor

###############################################################################

platform_type RED_SRBM_2 WSF_PLATFORM
   icon Scud_Missile

   infrared_signature RED_SRBM_2_INFRARED_SIG
   optical_signature  RED_SRBM_2_OPTICAL_SIG
   radar_signature    RED_SRBM_2_RADAR_SIG

   weapon_effects     RED_SRBM_2_EFFECT

   mover RED_SRBM_2_MOVER
      #show_status
   end_mover

   processor guidance RED_SRBM_2_GUIDANCE
      #show_status
      #show_graphics
   end_processor

   processor fuse WSF_GROUND_TARGET_FUSE
      # If the target is killed by another weapon we want to still keep going.
      coast_time_on_loss_of_target     10000.0 secs
   end_processor
end_platform_type

###############################################################################

launch_computer RED_SRBM_2_LAUNCH_COMPUTER WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER
   surface_to_surface_table weapons/ssm/red_srbm_2_launch_data.txt
   #maximum_time_of_flight 1000 sec
end_launch_computer

###############################################################################
# Provide the aero and mass data to WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER. This
# is 'truth data' used by the launch computer for 'trajectory estimation'.

ballistic_missile_launch_computer
   target_data RED_SRBM_2
      aero RED_SRBM_2_AERO                 # Aero type of final stage
      mass 3910.0 lbs                  # Mass of final stage
   end_target_data
end_ballistic_missile_launch_computer

###############################################################################

weapon RED_SRBM_2 WSF_EXPLICIT_WEAPON

   # The location offset puts the weapon center at half the length - 1 m.
   # This assumes the scenario creator puts the launching platform at 1 m agl.

   location 0.0 0.0 -4.625 m                     # Ref 1, length = 11.25 m

   launched_platform_type RED_SRBM_2

   launch_computer RED_SRBM_2_LAUNCH_COMPUTER
   end_launch_computer

   # The missiles are launched vertically.
   # We can't specify 90 degrees because of a singularity
   tilt  89.9 degrees

   # This causes a call to the launch computer to compute the predicted intercept.
   # The launcher will then be cued to the proper angles (Subject to the slewing
   # limits defined below). This is a bit of a hack until the guidance computer
   # is changed...

   cue_to_predicted_intercept true
   slew_mode azimuth
   azimuth_slew_limits -180 deg 180 deg

   # Default to a single weapon on the vehicle
   quantity 1

   # Abort the launch if the launch computer didn't provide the required data
   require_loft_angle

end_weapon
