! 4 step run:
! 1. Set harmonic sextupoles, adjust chromaticity sextupoles
! 2. Track to get tunes vs momentum offset
! 3. Determine on-momentum DA
! 4. Determine momentum aperture

&run_setup
        lattice = aps.lte
        use_beamline = RING,
        p_central_mev = 6000
        default_order = 2
        rootname = mog
        semaphore_file = %s.done0
	parameters = %s.param
&end

!&load_parameters
!        filename_list = "<rootname>-linear.param",
!        allow_missing_elements = 1
!        change_defined_values = 1
!&end

&alter_elements name = S3, item = K2, value = -118.92727 &end
&alter_elements name = OXY3, item = K3, value = -1429.08 &end
&alter_elements name = OXY4, item = K3, value = 214.38 &end

&run_control &end

&link_control &end

&twiss_output
        output_at_each_step = 1
        concat_order = 2
&end

&chromaticity
        sextupoles = "S1 S2",
        strength_limit = 160,
        dnux_dp = 3.9,
        dnuy_dp = 3.9,
        n_iterations = 50,
        tolerance = 0.01
        change_defined_values = 1
&end

&bunched_beam &end

&track &end

&save_lattice filename = %s.new &end

! Track particles with variable initial momentum offset in order to find our where the
! integer and half-integer resonances get crossed

&run_setup
        lattice = aps.lte,
        use_beamline = RINGW,
        p_central_mev = 6000
        default_order = 1
	final = %s.fin
        semaphore_file = %s.done0
        rootname = mog
&end

!&load_parameters
!        filename = "%s.param"
!	change_defined_values = 1
!&end

&alter_elements name=MALIN, item=ON_PASS, value=0 &end
&alter_elements name=MALIN, item=DX, value=1e-10 &end
&alter_elements name=MALIN, item=DY, value=1e-10 &end

&closed_orbit   
                iteration_fraction = 0.1
                closed_orbit_iterations = 500
&end

&run_control 
	n_passes = 100
	n_indices = 1
&end

&vary_element name=MALIN, item=DP, initial=-0.0, final=0.00, index_number=0, index_limit=11 
&end

&bunched_beam &end

&track 
    center_on_orbit=1 
    check_beam_structure=1
    interrupt_file=%s.interrupt
&end

! Add errors, then track for dynamic aperture with radiation damping

&run_setup
        lattice = "mog.new",
        use_beamline = RINGRF,
        p_central_mev = 6e3
        default_order = 2
        rootname = mog
        semaphore_file = %s.done0
        losses = %s.lost
        magnets = %s.mag
&end

&twiss_output
	filename = %s.twi
	concat_order = 1
	radiation_integrals = 1
&end

&twiss_output
        filename = %s.twi2
        output_at_each_step = 1
        concat_order = 2
        radiation_integrals = 1
&end

&run_control
	n_passes = 100
&end

&error_control error_log = %s.erl &end

&error_element name = *, type = gaussian, element_type=KQUAD, item = FSE, bind = 0, amplitude = 1e-5 &end
&error_element name = *, type = gaussian, element_type=KSEXT, item = FSE, bind = 0, amplitude = 1e-5 &end
&error_element name = *, type = gaussian, element_type=KQUAD, item = TILT, bind = 0, amplitude = 5e-5 &end
&error_element name = *, type = gaussian, element_type=KSEXT, item = TILT, bind = 0, amplitude = 5e-5 &end

&find_aperture
        output = %s.aper
        mode = "n-line",
        n_lines = 21,
        xmax = 0.020
        ymax = 0.001
        nx = 31
        n_splits = 1
        split_fraction = 0.1
        verbosity=2,
        offset_by_orbit=1
&end

! Determine momentum aperture at selected points in the first 6 sectors
! We load the errors from the previous step

&run_setup
        lattice = mog.new,
        use_beamline = RINGRF,
        p_central_mev = 6000
        default_order = 2
        semaphore_file = %s.done0
        rootname = mog
&end

!&load_parameters
!        filename = "%s.erl",
!        force_occurence_data = 1
!&end

&twiss_output
        concat_order = 2
        radiation_integrals = 1
        output_at_each_step = 1
&end

&run_control
	n_passes = 500
&end

&momentum_aperture
	output = %s.mmap,
	x_initial = 1e-5,
	y_initial = 1e-5,
	delta_negative_start= -0.010,
!	delta_negative_limit = -0.10,
	delta_positive_start= 0.010,
!	delta_positive_limit = 0.10,
	delta_step_size = 0.0010,
	s_start = 0.0,
	s_end = 29.999
	include_name_pattern = S*,OXY*
	fiducialize = 0,
	verbosity = 1,
&end
