diff --git a/da/analysis/expand_mixingratios.py b/da/analysis/expand_mixingratios.py
index c4dd6073e3bb5b74717c09a65871eb9d43852203..06724b2dc0ddca91e0d8ebbce747e69e64482310 100755
--- a/da/analysis/expand_mixingratios.py
+++ b/da/analysis/expand_mixingratios.py
@@ -88,9 +88,16 @@ def WriteMixingRatios(DaCycle):
         fc_obs_val = ncf_fc_in.GetVariable('observed')
         fc_simulated = ncf_fc_in.GetVariable('modelsamplesmean_prior')
         fc_simulated_ens = ncf_fc_in.GetVariable('modelsamplesdeviations_prior')
-        fc_flag = ncf_fc_in.GetVariable('flag')
-        fc_r = ncf_fc_in.GetVariable('modeldatamismatchvariance').diagonal()
-        fc_hphtr = ncf_fc_in.GetVariable('totalmolefractionvariance').diagonal()
+        fc_flag      = ncf_fc_in.GetVariable('flag')
+        if not DaCycle.DaSystem.has_key('opt.algorithm'):
+            fc_r         = ncf_fc_in.GetVariable('modeldatamismatchvariance')
+            fc_hphtr     = ncf_fc_in.GetVariable('totalmolefractionvariance')
+        elif DaCycle.DaSystem['opt.algorithm'] == 'serial':
+            fc_r         = ncf_fc_in.GetVariable('modeldatamismatchvariance')
+            fc_hphtr     = ncf_fc_in.GetVariable('totalmolefractionvariance')
+        elif DaCycle.DaSystem['opt.algorithm'] == 'bulk':
+            fc_r         = ncf_fc_in.GetVariable('modeldatamismatchvariance').diagonal()
+            fc_hphtr     = ncf_fc_in.GetVariable('totalmolefractionvariance').diagonal()
         filesitecode = ncf_fc_in.GetVariable('sitecode')
 
         fc_sitecodes = netCDF4.chartostring(filesitecode).tolist()