diff --git a/models/dayabay_v0.py b/models/dayabay_v0.py
index 6a80a7d33ff0eaca98a3e863fed5ba564a16e1cc..77b6f94c7f07efc2f9649e73d4ea90d91ee8ee3a 100644
--- a/models/dayabay_v0.py
+++ b/models/dayabay_v0.py
@@ -6,35 +6,34 @@ from dagflow.graph import Graph
 from dagflow.lib.arithmetic import Sum
 from dagflow.tools.schema import LoadYaml
 from dagflow.plot import plot_auto
-from gindex import GNIndex
 from dagflow.storage import NodeStorage
+from dagflow.logger import set_level, DEBUG, SUBINFO, SUBSUBINFO
 
 from itertools import product
 
 def model_dayabay_v0():
+    set_level(SUBINFO)
+    close = True
+    strict = True
+
     storage = NodeStorage()
     datasource = Path("data/dayabay-v0")
 
-    index = GNIndex.from_dict({
-                ("s", "site"): ("EH1", "EH2", "EH3"),
-                ("d", "detector"): ("AD11", "AD12", "AD21", "AD22", "AD31", "AD32", "AD33", "AD34"),
-                ("p", "period"): ("6AD", "8AD", "7AD"),
-                ("r", "reactor"): ("DB1", "DB2", "LA1", "LA2", "LA3", "LA4"),
-                ("i", "isotope"): ("U235", "U238", "Pu239", "Pu241"),
-                ("b", "background"): ("acc", "lihe", "fastn", "amc", "alphan"),
-                })
-    idx_d = index.sub("d")
-    idx_r = index.sub("r")
-    idx_rd = index.sub(("r", "d"))
-    idx_ri = index.sub(("r", "i"))
-
     list_isotopes = ("U235", "U238", "Pu239", "Pu241")
     list_detectors = ("AD11", "AD12", "AD21", "AD22", "AD31", "AD32", "AD33", "AD34")
     list_reactors = ("DB1", "DB2", "LA1", "LA2", "LA3", "LA4")
+    list_periods = ("6AD", "8AD", "7AD")
+    inactive_detectors = [("6AD", "AD22"), ("6AD", "AD34"), ("7AD", "AD12")]
+    list_all = list_isotopes+list_detectors+list_reactors+list_periods
+    set_all = set(list_all)
+    if len(list_all)!=len(set_all):
+        raise RuntimeError("Repeated indices")
     combinations_reactors_detectors = tuple(product(list_reactors, list_detectors))
     combinations_reactors_isotopes = tuple(product(list_reactors, list_isotopes))
+    combinations_reactors_isotopes_detectors = tuple(product(list_reactors, list_isotopes, list_detectors))
+    combinations_periods_detectors = tuple(pair for pair in product(list_periods, list_detectors) if not pair in inactive_detectors)
+    import IPython; IPython.embed(colors='neutral')
 
-    close = True
     with Graph(close=close) as graph, storage:
         #
         # Load parameters
@@ -93,7 +92,7 @@ def model_dayabay_v0():
             "kinematics_integral",
             name_x = "mesh_edep",
             name_y = "mesh_costheta",
-            replicate=combinations_reactors_detectors
+            replicate=combinations_reactors_isotopes_detectors
         )
         integration_orders_edep >> integrator.inputs["ordersX"]
         integration_orders_costheta >> integrator.inputs["ordersY"]
@@ -145,24 +144,25 @@ def model_dayabay_v0():
         ibd.outputs["enu"] >> inputs["reactor_anue.interpolator.xfine"]
 
         from dagflow.lib.arithmetic import Product
-        # Product.replicate("kinematics_integrand", outputs("oscprob"), outputs["ibd"], replicate=combinations_reactors_detectors)
-        Product.replicate("kinematics_integrand", replicate=combinations_reactors_detectors)
+        Product.replicate("kinematics_integrand", replicate=combinations_reactors_isotopes_detectors)
         outputs("oscprob") >> nodes("kinematics_integrand")
         outputs["ibd.crosssection"] >> nodes("kinematics_integrand")
         outputs["ibd.jacobian"] >> nodes("kinematics_integrand")
+        outputs("reactor_anue.interpolator") >> nodes("kinematics_integrand")
         outputs("kinematics_integrand") >> inputs("kinematics_integral")
 
         from reactornueosc.InverseSquareLaw import InverseSquareLaw
         InverseSquareLaw.replicate("baseline_factor", replicate=combinations_reactors_detectors)
         parameters("constant.baseline") >> inputs("baseline_factor")
 
-        Product.replicate("countrate_reac", replicate=combinations_reactors_detectors)
+        Product.replicate("countrate_reac", replicate=combinations_reactors_isotopes_detectors)
         outputs("kinematics_integral")>>nodes("countrate_reac")
         outputs("baseline_factor")>>nodes("countrate_reac")
 
-        Sum.replicate("count_rate", outputs("countrate_reac"), replicate=list_detectors)
+        Sum.replicate("countrate", outputs("countrate_reac"), replicate=list_detectors)
 
-    storage("outputs").read_labels(labels, strict=True)
+    storage("nodes").read_labels(labels)
+    storage("outputs").read_labels(labels, strict=strict)
     storage("inputs").remove_connected_inputs()
     storage.read_paths()
     # storage.process_indices(idx_unique)
@@ -172,7 +172,13 @@ def model_dayabay_v0():
         return
 
     # storage("outputs").plot(folder='output/dayabay_v0_auto')
-    storage("outputs.oscprob").plot(show_all=True)
+    # storage("outputs.oscprob").plot(folder='output/dayabay_v0_auto')
+    # storage("outputs.countrate").plot(show_all=True)
+    # storage("outputs").plot(
+    #     folder='output/dayabay_v0_auto',
+    #     replicate=combinations_reactors_detectors,
+    #     indices = set_all
+    # )
 
     storage["parameter.normalized.detector.eres.b_stat"].value = 1
     storage["parameter.normalized.detector.eres.a_nonuniform"].value = 2