OD Spike After Dosing Causes Unnecessary Cycles in Turbidostat

I’m running a continuous culture experiment using the Turbidostat automation. I’ve encountered an issue where, sometimes after a dosing cycle (media addition/waste removal), the OD reading spikes unexpectedly . This spike causes the system to mistakenly interpret that the OD has exceeded my target value, which then triggers an unnecessary and erroneous dilution cycle . This problem occurs repeatedly and significantly disrupts the stability of my experiment.

I’ve tried adjusting the “Time between dosing” parameter, but it doesn’t seem to have taken effect—after I modify the value, the field remains greyed out and shows no number in the UI.

Has anyone else experienced this? Is there a recommended solution or workaround? Any advice would be greatly appreciated.

Hi @runzhichen,

There is a settling time that prevents the dosing from firing again, but it is only 5 seconds. We will review this for the next release. For now, you can edit that settling time constant with a simple plugin.

  1. SSH into your leader Pioreactor

  2. Enter the following to open up a file editor.

    nano ~/.pioreactor/plugins/turbidostat_settling_time.py
    
  3. Copy-paste the following in:

     # -*- coding: utf-8 -*-
    import pioreactor.automations.dosing.turbidostat as turbidostat_module
    
    __plugin_name__ = "Turbidostat settling-time hotfix"
    __plugin_summary__ = "Increase the post-dose Turbidostat settling time to 30 seconds."
    
    turbidostat_module.SETTLING_TIME_SECONDS = 30.0
    
  4. Save and exit with ctrl-x.

  5. Optional: If you have other workers in your cluster, you can send them this plugin with:

    pios cp ~/.pioreactor/plugins/turbidostat_settling_time.py
    
  6. Restart any turbidostat dosing automations running to see the effect.