Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/context_atm.xml
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/context_atm.xml	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/context_atm.xml	(revision 1685)
@@ -289,13 +289,13 @@
   
   <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true">
-    <field id="field2D" grid_ref="grid2D" />
-    <field id="field3D" grid_ref="grid3D" build_workflow_graph=".TRUE." />
+    <field id="field2D" grid_ref="grid2D" build_workflow_graph="false" />
+    <field id="field3D" grid_ref="grid3D" build_workflow_graph="true"  />
     <field id="pressure" grid_ref="grid3D"  />
     <field id="field3D_recv" read_access="true" grid_ref="grid3D"  field_ref="field3D" />
     <field id="field3D_resend" grid_ref="grid3D" />
 
-    <field id="field_X" grid_ref="grid_X" />
-    <field id="field_Y" grid_ref="grid_Y" />
-    <field id="field_Z" grid_ref="grid1D" />
+    <field id="field_X" grid_ref="grid_X" build_workflow_graph="false" />
+    <field id="field_Y" grid_ref="grid_Y" build_workflow_graph="false" />
+    <field id="field_Z" grid_ref="grid1D" build_workflow_graph="false" />
     <field id="field_XY" grid_ref="grid_XY" />
     <field id="field_XYZ" grid_ref="grid_XYZ" />
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/iodef.xml
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/iodef.xml	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/iodef.xml	(revision 1685)
@@ -6,5 +6,5 @@
 
       <variable id="timestep"> 1h </variable>
-      <variable id="domain"> gaussian </variable>
+      <variable id="domain"> lmdz </variable>
       <variable id="domain_mask"> true </variable>
       <variable id="axis_mask"> true </variable>
@@ -54,5 +54,5 @@
         <variable id="info_level" type="int">100</variable>
         <variable id="print_file" type="bool">true</variable>
-        <variable id="using_server2" type="bool">true</variable>
+        <variable id="using_server2" type="bool">false</variable>
         <variable id="ratio_server2" type="int">50</variable>
         <variable id="pure_one_sided" type="bool">false</variable>
Index: XIOS/dev/dev_trunk_omp/inputs/vis.html
===================================================================
--- XIOS/dev/dev_trunk_omp/inputs/vis.html	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/inputs/vis.html	(revision 1685)
@@ -42,45 +42,6 @@
         /* /!\ Use border-top-color not border-color for firefox compatibility */
 
-        /*  Source Filter */
-        #class_1 {
-            background-color: LightSlateGray;
-            border: 2px solid SlateGray;
-            border-top-color: SlateGray;
-        }
-
-        /* Arithmetic Filter */
-        #class_2 {
-            background-color: Khaki;
-            border: 2px solid DarkKhaki;
-            border-top-color: DarkKhaki;
-        }
-
-        /* Axis Trans. Filter */
-        #class_3 {
-            background-color: Orchid;
-            border: 2px solid DarkOrchid;
-            border-top-color: DarkOrchid;
-        }
-
-        /* Temporal Filter */
-        #class_4 {
-            background-color: Orange;
-            border: 2px solid DarkOrange;
-            border-top-color: DarkOrange;
-        }
-
-        /* Pass Through Filter */
-        #class_5 {
-            background-color: YellowGreen;
-            border: 2px solid OliveDrab;
-            border-top-color: OliveDrab;
-        }
-
-        /* File Writer Filter */
-        #class_6 {
-            background-color: LightGray;
-            border: 2px solid Gray;
-            border-top-color: Gray;
-        }
+ 
+        
     </style>
 
@@ -112,22 +73,4 @@
 
 
-            //===========================================================
-            $('#clusteringcid2').on('click', function() 
-            {
-                network.setData(data);
-                var clusterOptionsByData = 
-                {
-                    joinCondition:function(childOptions) 
-                    {
-                        return childOptions.cid === 2;
-                    },
-                    clusterNodeProperties: {id:'cidCluster', borderWidth:3, shape:'database'}
-                };
-                network.clustering.cluster(clusterOptionsByData);
-                var allNode = nodes.get();
-                nodes.update(allNode);
-            });
-
-
 
             //===========================================================
@@ -165,4 +108,122 @@
 
                 }
+
+
+            }); 
+
+
+            //===========================================================
+            $('#showGraph').on('click', function() 
+            {
+                //===== hide all except selected
+                var allNode = nodes.get();
+
+                for(i=0; i<allNode.length; i++)
+                {
+                    var node = allNode[i];
+
+                    if(node.hidden != true)
+                    {
+                        node.hidden = true;
+                    }
+                }
+
+                nodes.update(allNode);
+
+                var node = nodes.get(nodeSelected);
+                node.hidden = false;
+                nodes.update(node);
+
+                //===== enable all parents
+                console.log("showAllParents: allParentsNode = ", allParentsNode);
+                allNode = nodes.get(allParentsNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    node = allNode[i];
+                    node.font = {
+                        color:'black'
+                    }
+                    node.hidden = false;
+                    if(node.filled == 1)
+                    {                
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                               background: redNode.background,
+                               border: 'blue'
+                            }
+                        }
+                    } 
+                    else
+                    {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }   
+                }
+
+                nodes.update(allNode);
+
+                node = nodes.get(nodeSelected);
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (j = 0; j < connectedEdgeArray.length; j++)
+                {                        
+                    var edge = connectedEdgeArray[j];
+                    if(edge.to == node.id)
+                    {
+                        edge.hidden = false;
+                    }
+                    
+                }
+                edges.update(connectedEdgeArray);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+
+                //===== enable all children
+                allNode = nodes.get(allChildNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    node = allNode[i];
+                    node.font = {
+                        color:'black'
+                    }
+                    node.hidden = false;
+                    if(node.filled == 1)
+                    {                
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } 
+                    else
+                    {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }           
+                }
+
+                nodes.update(allNode);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
 
 
@@ -698,5 +759,5 @@
                 },
                 7: {
-                    background: 'LightGray',
+                    background: 'LightBlue',
                     border: 'Gray',
                     shape: 'ellipse'
@@ -851,6 +912,5 @@
                                 },
                                 physics: {
-                                    enabled: false,
-                                    stabilization: false
+                                    enabled: false
                                 },
                                 nodes: {
@@ -867,5 +927,7 @@
                                         levelSeparation: 300,
                                         nodeSpacing: 80,
-                                        treeSpacing: 200,
+                                        treeSpacing: 100,
+                                        blockShifting: true,
+                                        edgeMinimization: true
                                     }
                                 },
@@ -1010,7 +1072,7 @@
             <button type="button" class="btn btn-default" id="disableAllChild">Disable all children</button>
             <button type="button" class="btn btn-default" id="lastTemporal">Enable last temporal input</button>
-
-
-            <button type="button" class="btn btn-default" id="clusteringcid2">Clustering cid=2</button>
+            <button type="button" class="btn btn-default" id="showGraph">Show subgraph (and hide other)</button>
+
+
         </div>
 
Index: XIOS/dev/dev_trunk_omp/inputs/vis2.html
===================================================================
--- XIOS/dev/dev_trunk_omp/inputs/vis2.html	(revision 1685)
+++ XIOS/dev/dev_trunk_omp/inputs/vis2.html	(revision 1685)
@@ -0,0 +1,1073 @@
+<html>
+
+<!--
+ ##########################################################################
+ Author: Patrick.Brockmann@cea.fr
+ ##########################################################################
+-->
+
+<head>
+
+    <meta charset="utf-8">
+
+    <style type="text/css">
+        body {
+            font-family: arial;
+            font-size: 12px;
+        }
+
+        .row {
+            margin-top: 10px;
+            margin-bottom: 20px;
+        }
+
+        #mynetwork {
+            width: 600px;
+            height: 600px;
+            border: 1px solid lightgray;
+        }
+
+        #mynetwork1 {
+            width: 600px;
+            height: 600px;
+            border: 1px solid lightgray;
+        }
+
+        input {
+            padding: 10px;
+        }
+
+        ul li {
+            display: inline;
+            border: 1px solid gray;
+            padding: 4px;
+            margin: 2px;
+            border-radius: 4px;
+        }
+
+        .btn {
+            margin-top: 5px;
+        }
+
+        /* /!\ Use border-top-color not border-color for firefox compatibility */
+    </style>
+
+</head>
+
+<body>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
+
+    <script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
+
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
+    <link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet" type="text/css" />
+
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.js"></script>
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.css" rel="stylesheet" type="text/css" />
+
+    <link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
+    <script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
+
+    <script type="text/javascript">
+        //######################################################################################################
+        $(document).ready(function() {
+
+            var container = $('#mynetwork')[0];
+            var container1 = $('#mynetwork1')[0];
+
+            //===========================================================
+            $('#file').on('change', function() {
+                var file = $("#file").prop('files')[0];
+                handleFileSelect(file);
+            });
+
+            //===========================================================
+            $('#lastTemporal').on('click', function() {
+                var node = nodes.get(nodeSelected);
+
+                if (node.class == 5) //temporal filter
+                {
+                    var inputnodes = network.getConnectedNodes(node.id, 'from');
+                    var repere = 0;
+                    for (i = 0; i < inputnodes.length; i++) {
+                        repere = Math.max(repere, nodes.get(inputnodes[i]).id);
+                    }
+                    var inputnode = nodes.get(repere);
+                    console.log("last inputnode id = ", inputnode.id);
+
+                    inputnode.hidden = false;
+                    nodes.update(inputnode);
+
+                    var edges_ofinputnode = edges.get(network.getConnectedEdges(inputnode.id));
+                    for (i = 0; i < edges_ofinputnode.length; i++) {
+                        var edge = edges_ofinputnode[i];
+                        if (edge.from == inputnode.id) {
+                            edge.hidden = false;
+                        }
+                    }
+                    edges.update(edges_ofinputnode);
+
+                    var allNode = nodes.get();
+                    nodes.update(allNode);
+
+                }
+
+
+            });
+
+
+            //===========================================================
+            $('#showGraph').on('click', function() {
+                //===== hide all except selected
+                var allNode = nodes.get();
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    if (node.hidden != true) {
+                        node.hidden = true;
+                    }
+                }
+
+                nodes.update(allNode);
+
+                var node = nodes.get(nodeSelected);
+                node.hidden = false;
+                nodes.update(node);
+
+                //===== enable all parents
+                console.log("showAllParents: allParentsNode = ", allParentsNode);
+                allNode = nodes.get(allParentsNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    node = allNode[i];
+                    node.font = {
+                        color: 'black'
+                    }
+                    node.hidden = false;
+                    if (node.filled == 1) {
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } else {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }
+                }
+
+                nodes.update(allNode);
+
+                node = nodes.get(nodeSelected);
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (j = 0; j < connectedEdgeArray.length; j++) {
+                    var edge = connectedEdgeArray[j];
+                    if (edge.to == node.id) {
+                        edge.hidden = false;
+                    }
+
+                }
+                edges.update(connectedEdgeArray);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+
+                //===== enable all children
+                allNode = nodes.get(allChildNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    node = allNode[i];
+                    node.font = {
+                        color: 'black'
+                    }
+                    node.hidden = false;
+                    if (node.filled == 1) {
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } else {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }
+                }
+
+                nodes.update(allNode);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+
+
+                // network1 = new vis.Network(container1, data);
+
+
+            });
+
+
+
+            //===========================================================
+            $('#disableAll').on('click', function() {
+                var allNode = nodes.get();
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    if (node.hidden != true) {
+                        node.hidden = true;
+                    }
+                }
+                nodes.update(allNode);
+            });
+
+
+            //===========================================================
+            $('#enableAll').on('click', function() {
+                var allNode = nodes.get();
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    if (node.hidden != false) {
+                        node.hidden = false;
+                    }
+                }
+                nodes.update(allNode);
+
+                var allEdge = edges.get();
+                for (i = 0; i < allEdge.length; i++) {
+                    var edge = allEdge[i];
+
+                    if (edge.hidden != false) {
+                        edge.hidden = false;
+                    }
+                }
+                edges.update(allEdge);
+
+            });
+
+
+
+            //===========================================================
+            $('#enableInput').on('click', function() {
+                var allNode = nodes.get();
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    if (node.class == 1) {
+                        node.hidden = false;
+                    }
+                }
+                nodes.update(allNode);
+            });
+
+
+
+            //===========================================================
+            $('#enableOutput').on('click', function() {
+                var allNode = nodes.get();
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    if (node.class >= 6 || node.filled == 1) {
+                        node.hidden = false;
+                    }
+                }
+                nodes.update(allNode);
+            });
+
+
+            //===========================================================
+            $('#hideNode').on('click', function() {
+                var node = nodes.get(nodeSelected);
+
+                node.color = {
+                    background: transparentNode.background,
+                    border: transparentNode.border,
+                    highlight: {
+                        background: transparentNode.border,
+                        border: 'blue'
+                    }
+                }
+                node.font = {
+                    color: transparentNode.background
+                }
+                nodes.update(node);
+
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (i = 0; i < connectedEdgeArray.length; i++) {
+                    var edge = connectedEdgeArray[i];
+
+                    edge.color = {
+                        color: transparentEdge.color,
+                        highlight: transparentEdge.color,
+                        hover: transparentEdge.color,
+                    }
+                    edge.font = {
+                        size: 0
+                    }
+
+                }
+                edges.update(connectedEdgeArray);
+
+            });
+
+
+            //===========================================================
+            $('#showNode').on('click', function() {
+                var node = nodes.get(nodeSelected);
+
+                node.font = {
+                    color: 'black'
+                }
+                if (node.filled == 1) {
+                    node.color = {
+                        background: redNode.background,
+                        border: redNode.border,
+                        hover: redNode.background,
+                        highlight: {
+                            background: redNode.background,
+                            border: 'blue'
+                        }
+                    }
+                } else {
+                    node.color = {
+                        background: styleArr[node.class].background,
+                        border: styleArr[node.class].border,
+                        highlight: {
+                            background: styleArr[node.class].background,
+                            border: 'blue'
+                        }
+                    }
+                }
+                nodes.update(node);
+
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (i = 0; i < connectedEdgeArray.length; i++) {
+
+                    var edge = connectedEdgeArray[i];
+
+                    edge.color = {
+                        color: 'black',
+                        highlight: 'black',
+                        hover: 'black',
+                    }
+                    edge.font = {
+                        size: 14,
+                    }
+                }
+                edges.update(connectedEdgeArray);
+            });
+
+
+            //===========================================================
+            $('#enableParents').on('click', function() {
+                console.log("enableParents: ", allParentsNode);
+
+                var node = nodes.get(nodeSelected);
+
+                var connectedParents = nodes.get(network.getConnectedNodes(node.id, "from"));
+                console.log("connectedParents = ", connectedParents);
+
+                for (i = 0; i < connectedParents.length; i++) {
+                    var node = connectedParents[i];
+                    node.font = {
+                        color: 'black'
+                    }
+                    node.hidden = false;
+                    if (node.filled == 1) {
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } else {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }
+                }
+                nodes.update(connectedParents);
+            });
+
+
+
+            //===========================================================
+            $('#enableAllParents').on('click', function() {
+                console.log("showAllParents: allParentsNode = ", allParentsNode);
+                var allNode = nodes.get(allParentsNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+                    node.font = {
+                        color: 'black'
+                    }
+                    node.hidden = false;
+                    if (node.filled == 1) {
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } else {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }
+                }
+
+                nodes.update(allNode);
+
+                var node = nodes.get(nodeSelected);
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (j = 0; j < connectedEdgeArray.length; j++) {
+                    var edge = connectedEdgeArray[j];
+                    if (edge.to == node.id) {
+                        edge.hidden = false;
+                    }
+
+                }
+                edges.update(connectedEdgeArray);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+
+            });
+
+
+
+
+            //===========================================================
+            $('#disableAllParents').on('click', function() {
+                console.log("disableAllParents: ", allParentsNode);
+
+                var node = nodes.get(nodeSelected);
+                node.hidden = true;
+                console.log("node.id = ", node.id, "hidden = ", node.hidden);
+                nodes.update(node);
+
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (j = 0; j < connectedEdgeArray.length; j++) {
+                    var edge = connectedEdgeArray[j];
+                    if (edge.to == node.id) {
+                        edge.hidden = true;
+                    }
+
+                }
+                edges.update(connectedEdgeArray);
+
+                var allNode = nodes.get(allParentsNode);
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+                    node.hidden = true;
+                }
+                nodes.update(allNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    var cNodes = nodes.get(network.getConnectedNodes(node.id, 'to'));
+                    for (j = 0; j < cNodes.length; j++) {
+                        var cnode = cNodes[j];
+
+                        if (cnode.hidden != true) {
+                            node.hidden = false;
+                            nodes.update(node);
+                            break;
+                        }
+                    }
+                }
+                nodes.update(allNode);
+
+                node = nodes.get(nodeSelected);
+                node.hidden = false;
+                console.log("node.id = ", node.id, "hidden = ", node.hidden);
+                nodes.update(node);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+            });
+
+
+            //===========================================================
+            $('#enableChild').on('click', function() {
+                console.log("enableChild: ", allChildNode);
+                var node = nodes.get(nodeSelected);
+
+                var connectedChild = nodes.get(network.getConnectedNodes(node.id, "to"));
+                console.log("connectedChild = ", connectedChild);
+
+                for (i = 0; i < connectedChild.length; i++) {
+                    var node = connectedChild[i];
+                    node.font = {
+                        color: 'black'
+                    }
+                    node.hidden = false;
+                    if (node.filled == 1) {
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } else {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }
+                }
+                nodes.update(connectedChild);
+            });
+
+
+
+            //===========================================================
+            $('#enableAllChild').on('click', function() {
+                console.log("enableAllChild: ", allChildNode);
+
+                var node = nodes.get(nodeSelected);
+                node.hidden = false;
+                console.log("node.id = ", node.id, "hidden = ", node.hidden);
+                nodes.update(node);
+
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (j = 0; j < connectedEdgeArray.length; j++) {
+                    var edge = connectedEdgeArray[j];
+                    if (edge.from == node.id) {
+                        edge.hidden = false;
+                    }
+
+                }
+                edges.update(connectedEdgeArray);
+
+
+                var allNode = nodes.get(allChildNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    node = allNode[i];
+                    node.font = {
+                        color: 'black'
+                    }
+                    node.hidden = false;
+                    if (node.filled == 1) {
+                        node.color = {
+                            background: redNode.background,
+                            border: redNode.border,
+                            hover: redNode.background,
+                            highlight: {
+                                background: redNode.background,
+                                border: 'blue'
+                            }
+                        }
+                    } else {
+                        node.color = {
+                            background: styleArr[node.class].background,
+                            border: styleArr[node.class].border,
+                            highlight: {
+                                background: styleArr[node.class].background,
+                                border: 'blue'
+                            }
+                        }
+                    }
+                }
+
+                nodes.update(allNode);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+
+            });
+
+            //===========================================================
+            $('#disableAllChild').on('click', function() {
+                console.log("disableAllChind: ", allChildNode);
+                var node = nodes.get(nodeSelected);
+                node.hidden = true;
+                console.log("node.id = ", node.id, "hidden = ", node.hidden);
+                nodes.update(node);
+
+                var connectedEdgeArray = edges.get(network.getConnectedEdges(node.id));
+                for (j = 0; j < connectedEdgeArray.length; j++) {
+                    var edge = connectedEdgeArray[j];
+                    if (edge.from == node.id) {
+                        edge.hidden = true;
+                    }
+
+                }
+                edges.update(connectedEdgeArray);
+
+                var allNode = nodes.get(allChildNode);
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+                    node.hidden = true;
+                }
+                nodes.update(allNode);
+
+                for (i = 0; i < allNode.length; i++) {
+                    var node = allNode[i];
+
+                    var pNodes = nodes.get(network.getConnectedNodes(node.id, 'from'));
+                    for (j = 0; j < pNodes.length; j++) {
+                        var pnode = pNodes[j];
+                        // console.log("node.id = ", node.id, "node.hidden = ", node.hidden, "pnode.id=", pnode.id, "pnode.hidden = ", pnode.hidden);
+
+                        if (pnode.hidden != true) {
+                            node.hidden = false;
+                            nodes.update(node);
+                            break;
+                        }
+                    }
+                    // console.log("node.id = ", node.id, "node.hidden = ", node.hidden);
+                }
+                nodes.update(allNode);
+
+                node = nodes.get(nodeSelected);
+                node.hidden = false;
+                console.log("node.id = ", node.id, "hidden = ", node.hidden);
+                nodes.update(node);
+
+                allNode = nodes.get();
+                nodes.update(allNode);
+            });
+
+            //===========================================================
+            var shapeArr = [
+                'box',
+                'ellipse',
+                'ellipse',
+                'ellipse',
+                'box',
+                'ellipse'
+            ];
+
+            var styleArr = {
+                1: {
+                    background: 'LightSlateGray',
+                    border: 'SlateGray',
+                    shape: 'box'
+                },
+                2: {
+                    background: 'Khaki',
+                    border: 'DarkKhaki',
+                    shape: 'ellipse'
+                },
+                3: {
+                    background: 'Orchid',
+                    border: 'DarkOrchid',
+                    shape: 'ellipse'
+                },
+                4: {
+                    background: 'Orange',
+                    border: 'DarkOrange',
+                    shape: 'ellipse'
+                },
+                5: {
+                    background: 'YellowGreen',
+                    border: 'OliveDrab',
+                    shape: 'box'
+                },
+                6: {
+                    background: 'LightGray',
+                    border: 'Gray',
+                    shape: 'ellipse'
+                },
+                7: {
+                    background: 'LightBlue',
+                    border: 'Gray',
+                    shape: 'ellipse'
+                }
+            }
+
+            var transparentNode = {
+                background: 'white',
+                border: 'LightGray'
+            }
+
+            var redNode = {
+                background: 'Red',
+                border: 'DarkRed'
+            }
+
+            var transparentEdge = {
+                color: '#00000000',
+                font: 0
+            }
+
+            var nbClass = shapeArr.length;
+
+            //===========================================================
+            var node;
+            var nodes;
+            var edges;
+            var network;
+
+
+            //==================================================
+            var allParentsNode = [];
+            var allChildNode = [];
+
+            var allParentsEdge = [];
+            var allChildEdge = [];
+
+            //===========================================================
+            function handleFileSelect(file) {
+
+                if (!window.File || !window.FileReader || !window.FileList || !window.Blob) {
+                    alert('The File APIs are not fully supported in this browser.');
+                    return;
+                }
+
+
+                var reader = new FileReader();
+                var json;
+
+                reader.onload = (function(file) {
+                    return function(e) {
+                        //console.log('e readAsText = ', e);
+                        //console.log('e readAsText target = ', e.target);
+                        try {
+                            //==================================================
+                            json = JSON.parse(e.target.result);
+                            //alert('json global var has been set to parsed json of this file here it is unevaled = \n' + JSON.stringify(json));
+
+                            //==================================================
+                            json.nodes.forEach(function(node, index) {
+                                var classVal = node.class;
+                                var typeVal = node.type;
+                                var entryVal = node.entry;
+                                var attrVal = node.attributes;
+                                var inputsVal = node.inputs;
+                                var labelVal = node.label;
+                                var cidVal = node.cid;
+                                var distVal = node.distance;
+                                var nbinVal = node.nbin;
+                                var nboutVal = node.nbout;
+
+                                node.color = {
+                                    background: styleArr[classVal].background,
+                                    border: styleArr[classVal].border,
+                                    hover: styleArr[classVal].background,
+                                    highlight: {
+                                        background: styleArr[classVal].background,
+                                        border: 'blue'
+                                    }
+                                }
+
+                                node.shape = styleArr[classVal].shape;
+
+                                if (node.class == 1 || node.class >= 6)
+                                    node.title = "node id = " + node.id + "</br>" + labelVal + "</br>field attributes : </br>" + attrVal + "</br>filter entry nb = " + entryVal + "</br>cid = " + cidVal + "</br>distance = " + distVal;
+                                else if (node.class == 5)
+                                    node.title = "node id = " + node.id + "</br>" + labelVal + "</br>filter type = " + typeVal + "</br> entry nb = " + entryVal + "</br> inputs_complete = " + inputsVal + "</br>cid = " + cidVal + "</br>distance = " + distVal;
+                                else
+                                    node.title = "node id = " + node.id + "</br>" + labelVal + "</br>filter entry nb = " + entryVal + "</br>cid = " + cidVal + "</br>distance = " + distVal;
+
+                                if (node.filled == 1) {
+                                    node.title += "</br></br> filter has no child!!!</br>" + "</br>field attributes : </br>" + attrVal + "</br> entry nb = " + entryVal;
+                                    node.color = {
+                                        background: 'Red',
+                                        border: 'DarkRed',
+                                        hover: 'Red',
+                                        highlight: {
+                                            background: 'Red',
+                                            border: 'blue'
+                                        }
+                                    }
+                                }
+
+                                node.level = distVal;
+
+                                if (node.class >= 6 || node.filled == 1) node.hidden = true;
+                                else node.hidden = true;
+
+                            });
+
+                            //==================================================
+                            json.edges.forEach(function(node, index) {
+                                var dateVal = node.date;
+                                var fidVal = node.fid;
+                                var fnameVal = node.fname;
+                                var gidVal = node.gid;
+                                var attVal = node.attributes;
+                                var idVal = node.id
+
+                                node.title = "id = " + idVal + "</br>field attributes : </br>" + attVal + "</br> date = " + dateVal;
+
+                            });
+
+                            //==================================================
+                            nodes = new vis.DataSet();
+                            nodes.add(json.nodes);
+
+                            edges = new vis.DataSet();
+                            edges.add(json.edges);
+
+                            //==================================================
+                            var data = {
+                                nodes: nodes,
+                                edges: edges
+                            };
+
+                            //==================================================
+                            var options = {
+                                edges: {
+                                    smooth: false,
+                                    arrows: 'to',
+                                    font: {
+                                        align: 'middle',
+                                        size: 14,
+                                    },
+                                    color: {
+                                        color: 'black',
+                                        highlight: 'black',
+                                        hover: 'black',
+                                    }
+                                },
+                                physics: {
+                                    enabled: false
+                                },
+                                nodes: {
+                                    borderWidth: 2
+                                },
+                                interaction: {
+                                    hover: true
+                                },
+                                layout: {
+                                    hierarchical: {
+                                        enabled: true,
+                                        direction: "LR",
+                                        sortMethod: "direct",
+                                        levelSeparation: 300,
+                                        nodeSpacing: 80,
+                                        treeSpacing: 100,
+                                        blockShifting: true,
+                                        edgeMinimization: true
+                                    }
+                                },
+
+                                joinCondition: function(nodeOptions) {
+                                    return nodeOptions.cid === 2;
+
+                                }
+
+
+                            };
+
+                            //==================================================
+                            network = new vis.Network(container, data, options);
+                            network1 = new vis.Network(container1, data, options);
+                            
+
+
+
+                            //==================================================
+                            Array.prototype.unique = function() {
+                                var a = this.concat();
+                                for (var i = 0; i < a.length; ++i) {
+                                    for (var j = i + 1; j < a.length; ++j) {
+                                        if (a[i] === a[j])
+                                            a.splice(j--, 1);
+                                    }
+                                }
+                                return a;
+                            };
+
+                            //==================================================
+                            function findAllParents(nodesArray) {
+                                if (nodesArray.length == 0) {
+                                    return 1;
+                                }
+                                var parentsArray = network.getConnectedNodes(nodesArray[0], 'from');
+                                //console.log('node ', nodesArray[0], 'has ', parentsArray);
+                                nodesArray = nodesArray.concat(parentsArray).unique();
+                                //console.log('---> ', nodesArray);
+                                allParentsNode = allParentsNode.concat(nodesArray[0]).unique();
+
+
+                                nodesArray.splice(0, 1);
+                                return findAllParents(nodesArray);
+                            }
+
+                            //==================================================
+                            function findAllChild(nodesArray) {
+                                if (nodesArray.length == 0) {
+                                    return 1;
+                                }
+                                var childArray = network.getConnectedNodes(nodesArray[0], 'to');
+                                //console.log('node ', nodesArray[0], 'has ', childArray);
+                                nodesArray = nodesArray.concat(childArray).unique();
+                                //console.log('---> ', nodesArray);
+                                allChildNode = allChildNode.concat(nodesArray[0]).unique();
+                                nodesArray.splice(0, 1);
+                                return findAllChild(nodesArray);
+                            }
+
+                            //==================================================
+                            function getEdgeConnections(node) {
+                                var connectedEdgeArray = network.getConnectedEdges(node);
+                            }
+
+                            //==================================================
+                            network.on("click", function(params) {
+                                params.event = "[original event]";
+                                console.log('__________________________');
+                                nodeSelected = this.getNodeAt(params.pointer.DOM);
+                                if (nodeSelected === undefined) return 0;
+
+                                var node = nodes.get(nodeSelected);
+
+                                var connectedChild = nodes.get(network.getConnectedNodes(node.id, "to"));
+                                console.log('------->', connectedChild.length);
+                                if (connectedChild.length == 0) {
+                                    $('#enableAllChild').attr("disabled", true);
+                                } else {
+                                    $('#enableAllChild').attr("disabled", false);
+                                }
+
+                                var connectedEdgeArray = getEdgeConnections(nodeSelected);
+
+                                //--------------------------
+                                var parentsArray = network.getConnectedNodes(nodeSelected, 'from');
+
+
+                                allParentsNode = [nodeSelected];
+                                findAllParents(parentsArray);
+                                // remove selected node
+                                var index = allParentsNode.indexOf(nodeSelected);
+                                if (index !== -1) allParentsNode.splice(index, 1);
+                                console.log('Final parents: ', allParentsNode);
+
+
+                                //--------------------------
+                                var node = this.getNodeAt(params.pointer.DOM);
+                                var childArray = network.getConnectedNodes(nodeSelected, 'to');
+
+
+                                allChildNode = [nodeSelected];
+                                findAllChild(childArray);
+                                // remove selected node
+                                var index = allChildNode.indexOf(nodeSelected);
+                                if (index !== -1) allChildNode.splice(index, 1);
+                                console.log('Final child: ', allChildNode);
+
+
+                                //--------------------------
+                            });
+
+                        } catch (ex) {
+                            alert('ex when trying to parse json = ' + ex);
+                        }
+                    }
+                })(file);
+
+                reader.readAsText(file);
+
+            }
+
+            //######################################################################################################
+        });
+    </script>
+
+    <div class="container">
+
+        <div class="row">
+            <label class="btn btn-primary" for="file">
+                <input type="file" id="file" style="display:none" onchange="$('#upload-file-info').html(this.files[0].name)">
+                Load a JSON XIOS file
+            </label>
+            <button type="button" class="btn btn-default disabled" id="upload-file-info">...</button>
+        </div>
+
+        <div class="row">
+
+            <div class="btn-group">
+                <button type="button" class="btn btn-success" id="showNode">Show node</button>
+                <button type="button" class="btn btn-success" id="hideNode">Hide node</button>
+            </div>
+
+            <div class="btn-group">
+                <button type="button" class="btn btn-success" id="enableAll">Enable all</button>
+                <button type="button" class="btn btn-success" id="disableAll">Disable all</button>
+            </div>
+
+            <div class="btn-group">
+                <button type="button" class="btn btn-success" id="enableParents">Enable parents</button>
+                <button type="button" class="btn btn-success" id="enableChild">Enable children</button>
+            </div>
+
+            <div class="btn-group">
+                <button type="button" class="btn btn-success" id="enableAllParents">Enable all parents</button>
+                <button type="button" class="btn btn-success" id="disableAllParents">Disable all parents</button>
+            </div>
+
+            <div class="btn-group">
+                <button type="button" class="btn btn-success" id="enableAllChild">Enable all children</button>
+                <button type="button" class="btn btn-success" id="disableAllChild">Disable all children</button>
+            </div>
+
+            <button type="button" class="btn btn-success" id="enableInput">Enable input</button>
+            <button type="button" class="btn btn-success" id="enableOutput">Enable output</button>
+
+            <button type="button" class="btn btn-success" id="lastTemporal">Enable last temporal input</button>
+            <button type="button" class="btn btn-success" id="showGraph">Show subgraph (and hide other)</button>
+
+
+        </div>
+
+        <div class="row">
+            <div id="mynetwork"></div>
+            <div id="mynetwork1"></div>
+        </div>
+
+</body>
+
+</html>
Index: XIOS/dev/dev_trunk_omp/src/filter/binary_arithmetic_filter.hpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/binary_arithmetic_filter.hpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/binary_arithmetic_filter.hpp	(revision 1685)
@@ -40,5 +40,5 @@
       std::tuple<int, int, int> virtual buildGraph(std::vector<CDataPacketPtr> data);
       
-      // CDataPacketPtr virtual buildGraph_post(CDataPacketPtr packet, std::vector<CDataPacketPtr> data);
+
   }; // class CScalarFieldArithmeticFilter
 
Index: XIOS/dev/dev_trunk_omp/src/filter/file_writer_filter.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/file_writer_filter.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/file_writer_filter.cpp	(revision 1685)
@@ -38,5 +38,5 @@
       (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].attributes += "</br>file attributes : </br>" +this->field->file->record4graphXiosAttributes();
       (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].clusterID =1;
-      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].distance = ++(data[0]->distance);
+      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].distance = data[0]->distance+1;
 
       if(CXios::isClient && CWorkflowGraph::build_begin) 
Index: XIOS/dev/dev_trunk_omp/src/filter/output_pin.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/output_pin.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/output_pin.cpp	(revision 1685)
@@ -129,13 +129,5 @@
   }
 
-  int COutputPin::getDistance()
-  {
-    int distance = 0;
-    // for(int i=0; i<parent_filters.size(); i++)
-    // {
-    //   distance = max(distance, parent_filters[i]->getDistance()+1);
-    // }
-    return distance;
-  }
+
 
 
Index: XIOS/dev/dev_trunk_omp/src/filter/output_pin.hpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/output_pin.hpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/output_pin.hpp	(revision 1685)
@@ -18,5 +18,4 @@
   {
     public:
-      // StdString output_field_id;
       int tag;
       Time start_graph;
@@ -86,5 +85,4 @@
 
       void virtual setParentFiltersTag();
-      int virtual getDistance();
 
 
Index: XIOS/dev/dev_trunk_omp/src/filter/pass_through_filter.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/pass_through_filter.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/pass_through_filter.cpp	(revision 1685)
@@ -18,4 +18,5 @@
     if(building_graph)
     {
+      std::cout<<"pass through packet->distance = "<<data[0]->distance<<std::endl;
       // std::cout<<"CPassThroughFilter::apply field_id = "<<this->field->getId()<<" start = "<<start_graph<<" end = "<<end_graph<<std::endl;
       this->filterID = InvalidableObject::filterIdGenerator++;
@@ -25,5 +26,5 @@
 
       CWorkflowGraph::addNode(this->filterID, "Pass Through Filter\\n("+data[0]->field->getId()+")", 2, 1, 1, data[0]);
-      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].distance = ++(data[0]->distance);
+      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].distance = data[0]->distance+1;
 
       (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].attributes = this->field->record4graphXiosAttributes();
@@ -39,8 +40,10 @@
       
       data[0]->src_filterID=this->filterID;
+      data[0]->distance++;
 
     }
 
     data[0]->field = this->field;
+
   }
 
Index: XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.cpp	(revision 1685)
@@ -75,5 +75,5 @@
 
     CSpatialTransformFilterEngine* spaceFilter = static_cast<CSpatialTransformFilterEngine*>(engine);
-    CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue, this->tag, this->start_graph, this->end_graph, this->field, this->getDistance());
+    CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue, this->tag, this->start_graph, this->end_graph, this->field);
     if (outputPacket)
     {
@@ -112,5 +112,5 @@
 
     CSpatialTransformFilterEngine* spaceFilter = static_cast<CSpatialTransformFilterEngine*>(engine);
-    CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue, this->tag, this->start_graph, this->end_graph, this->field, this->getDistance());
+    CDataPacketPtr outputPacket = spaceFilter->applyFilter(data, outputDefaultValue, this->tag, this->start_graph, this->end_graph, this->field);
 
     if (outputPacket)
@@ -179,5 +179,5 @@
   }
 
-  bool CSpatialTransformFilterEngine::buildGraph(std::vector<CDataPacketPtr> data, int tag, Time start_graph, Time end_graph, CField *field, int distance)
+  bool CSpatialTransformFilterEngine::buildGraph(std::vector<CDataPacketPtr> data, int tag, Time start_graph, Time end_graph, CField *field)
   {
     bool building_graph = tag ? data[0]->timestamp >= start_graph && data[0]->timestamp <= end_graph : false;
@@ -207,8 +207,8 @@
   }
 
-  CDataPacketPtr CSpatialTransformFilterEngine::applyFilter(std::vector<CDataPacketPtr> data, double defaultValue, int tag, Time start_graph, Time end_graph, CField *field, int distance)
+  CDataPacketPtr CSpatialTransformFilterEngine::applyFilter(std::vector<CDataPacketPtr> data, double defaultValue, int tag, Time start_graph, Time end_graph, CField *field)
   {
     
-    bool BG = buildGraph(data, tag, start_graph, end_graph, field, distance);
+    bool BG = buildGraph(data, tag, start_graph, end_graph, field);
 
     CDataPacketPtr packet(new CDataPacket);
Index: XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.hpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.hpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.hpp	(revision 1685)
@@ -121,6 +121,6 @@
        * \return the result of the grid transformation
        */
-      CDataPacketPtr applyFilter(std::vector<CDataPacketPtr> data, double defaultValue = 0, int tag=0, Time start_graph=0, Time end_graph=-1, CField *field=0, int distance=1);
-      bool buildGraph(std::vector<CDataPacketPtr> data, int tag=0, Time start_graph=0, Time end_graph=-1, CField *field=0, int distance=1);
+      CDataPacketPtr applyFilter(std::vector<CDataPacketPtr> data, double defaultValue = 0, int tag=0, Time start_graph=0, Time end_graph=-1, CField *field=0);
+      bool buildGraph(std::vector<CDataPacketPtr> data, int tag=0, Time start_graph=0, Time end_graph=-1, CField *field=0);
 
        /*!
Index: XIOS/dev/dev_trunk_omp/src/filter/store_filter.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/store_filter.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/store_filter.cpp	(revision 1685)
@@ -100,5 +100,5 @@
       CWorkflowGraph::allocNodeEdge();
  
-      CWorkflowGraph::addNode(this->filterID, "Store Filter", 7, 1, 1, data[0]);
+      CWorkflowGraph::addNode(this->filterID, "Store Filter", 7, 0, 1, data[0]);
       (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].distance = ++(data[0]->distance);
       (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].attributes = this->field->record4graphXiosAttributes();
Index: XIOS/dev/dev_trunk_omp/src/filter/temporal_filter.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/filter/temporal_filter.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/filter/temporal_filter.cpp	(revision 1685)
@@ -139,4 +139,5 @@
           packet->src_filterID=this->filterID;
           packet->distance = data[0]->distance+1;
+          std::cout<<"temporal packet->distance = "<<packet->distance<<std::endl;
           this->filterIDoutputs.clear();
           CWorkflowGraph::build_begin=true;
Index: XIOS/dev/dev_trunk_omp/src/node/field.cpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/node/field.cpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/node/field.cpp	(revision 1685)
@@ -1319,5 +1319,5 @@
            storeFilter->end_graph = filter_end;
            storeFilter->field = this;
-           storeFilter->distance = instantDataFilter->getDistance()+1;
+           storeFilter->distance = instantDataFilter->distance+1;
          }
 
@@ -1334,5 +1334,5 @@
            fileWriterFilter->start_graph = filter_start;
            fileWriterFilter->end_graph = filter_end;
-           fileWriterFilter->distance = getTemporalDataFilter(gc, file->output_freq)->getDistance()+1;
+           fileWriterFilter->distance = getTemporalDataFilter(gc, file->output_freq)->distance+1;
 
            // std::cout<<"CFileWriterFilter filter start = "<<filter_start<<" end = "<<filter_end<<" field = "<<this->getId()<<std::endl;
@@ -1560,7 +1560,7 @@
 
        const bool detectMissingValues = (!detect_missing_value.isEmpty()  && detect_missing_value == true);
-       std::shared_ptr<CTemporalFilter> temporalFilter(new CTemporalFilter(gc, operation, CContext::getCurrent()->getCalendar()->getInitDate(),
-                                                                             freq_op, freq_offset, outFreq,
-                                                                             detectMissingValues));
+       std::shared_ptr<CTemporalFilter> temporalFilter(new CTemporalFilter(gc, operation,
+                                                                             CContext::getCurrent()->getCalendar()->getInitDate(),
+                                                                             freq_op, freq_offset, outFreq, detectMissingValues));
 
        instantDataFilter->connectOutput(temporalFilter, 0);
Index: XIOS/dev/dev_trunk_omp/src/node/field_impl.hpp
===================================================================
--- XIOS/dev/dev_trunk_omp/src/node/field_impl.hpp	(revision 1683)
+++ XIOS/dev/dev_trunk_omp/src/node/field_impl.hpp	(revision 1685)
@@ -23,5 +23,4 @@
       if (check_if_active.isEmpty() || (!check_if_active.isEmpty() && (!check_if_active) || isActive(true)))
         clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data);
-        // clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data, this->getId());
     }
     else if (instantDataFilter)
