try:
    pp.log.record_flag(recipe_name)

    # Bring to safe pressure
    pp.v_out_open()
    pp.l_wait(60)
    pp.v_out_close()
    
    # Fill 'r up
    pp.v_in_open()
    pp.l_wait(30)
    pp.v_in_close()

    pp.h.on()
    pp.h.setfrequency(3)
    pp.heater_set_power(0)
    pp.l_wait(5*60)
    
    # Ramp temperature
    pp.log.record_flag("rt_s")
    period = 15*60
    for p in range(40):
        pp.heater_set_power(p*1.25)
        pp.l_wait(period)
    pp.log.record_flag("tr_e")
    
    # Cool down
    pp.heater_set_power(0)
    pp.l_wait(30*60)

except:
try:
    pp.log.record_flag(recipe_name)
    
    # Bring to safe pressure
    pp.v_out_open()
    pp.l_wait(60)
    pp.v_out_close()
    
    # Fill 'r up
    pp.v_in_open()
    pp.l_wait(30)
    pp.v_in_close()

    pp.h.on()
    pp.h.setfrequency(3)
    pp.heater_set_power(42.5)
    pp.l_wait(5*60)
    
    # Modulate pressure
    pp.log.record_flag("pm_dfp_s")
    period = 60*60
    for j in range(5):
            pp.l_wait(period*0.4)
            pp.v_out_open()
            pp.l_wait(period*0.15)
            pp.v_out_close()
            pp.heater_set_power(40)
            pp.l_wait(period*0.4)
            pp.v_in_open()
            pp.l_wait(period*0.05)
            pp.v_in_close()
    pp.log.record_flag(recipe_name)
    print "pump started sucessfully"

    # Bring to safe pressure
    pp.v_out_open()
    pp.l_wait(60)
    pp.v_out_close()
    
    # Fill 'r up
    pp.v_in_open()
    pp.l_wait(30)
    pp.v_in_close()

    pp.h.setfrequency(3)
    pp.h.on()
    pp.heater_set_power(0)
    pp.l_wait(5*60)
    
    # heat pulses
    pp.log.record_flag("hp_s")
    period = 60*60
    for i in range(5):
        pp.heater_set_power(60)
        pp.l_wait(period*0.2)
        pp.heater_set_power(0)
        pp.l_wait(period*0.8)
    pp.log.record_flag("hp_e")
    
    # Cool down
    pp.heater_set_power(0)
    pp.l_wait(30*60)
try:
    pp.log.record_flag(recipe_name)
    
    # Bring to safe pressure
    pp.v_out_open()
    pp.l_wait(60)
    pp.v_out_close()
    
    # Fill 'r up
    pp.v_in_open()
    pp.l_wait(30)
    pp.v_in_close()

    pp.h.on()
    pp.h.setfrequency(3)
    pp.heater_set_power(45)
    pp.l_wait(5*60)
    
    # Modulate pressure
    pp.log.record_flag("pm_s")
    period = 90*60
    for j in range(10):
            pp.l_wait(period*0.4)
            pp.v_out_open()
            pp.l_wait(period*0.15)
            pp.v_out_close()
            pp.l_wait(period*0.4)
            pp.v_in_open()
            pp.l_wait(period*0.05)
            pp.v_in_close()
    pp.log.record_flag("pm_e")