<div dir="ltr">Hi Ufuk,<div><br></div><div>It's looking to me like the issue is in the adaptor some place. I tried running your scripts (modified slightly) with the CxxFullExample (./CxxFullExample script_1.py script_2.py) and was able to get image_s1* and image_s2* files out of it and did not see the warning you mention. I also modified that example to use atm_input2d instead of input for the input/grid identifier to make sure that wasn't the case. I've attached this example with the scripts modified to print out some debug information.</div><div><br></div><div>Some questions (these are pretty basic things that you've probably already gotten working properly but maybe there's some small thing that was forgotten):</div><div><ul><li>Does your g_coprocessor only get created in your initialization routine and deleted in the finalization step? That should not be created and deleted during each in situ processing step.</li><li>Do the vtkCPPythonScriptPipelines only get added during initialization? They should not be added and removed from g_coprocessor every time step.</li></ul><div>Also, could you try running with the scripts that I included in the cat.tgz tarball? The print statements there will print out the time and time steps during the simulation run to help me diagnose (both need to be increasing between calls to Catalyst). Also, if you share your adaptor code with me I can take a quick look. </div></div><div><br></div><div>Cheers,</div><div>Andy</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 7, 2017 at 7:30 AM, Ufuk Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.tr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div class="m_7376557964625576780moz-cite-prefix">Hi Andy,<br>
      <br>
      Strange! To test the idea and eliminate other problems i am using
      same script twice with little mods (i just changed the name of the
      output png file). So, if i pass script_1.py and script_2.py to the
      model, it gives warning like before and creates output just for
      second script (script_2.py). If i pass only one of them then the
      code is working without any problem and produces desired output.<br>
      <br>
      Thanks,<br>
      Regards,<br>
      <br>
      --ufuk<div><div class="h5"><br>
      <br>
      <br>
      On 06/07/2017 18:09, Andy Bauer wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">Hi Ufuk,
        <div><br>
        </div>
        <div>I'm guessing the issue is that the calls to Catalyst are
          not consistent. Could you share your Python scripts? Also, did
          you modify them manually?</div>
        <div><br>
        </div>
        <div>I tried with PV 5.3. with
          the ../ParaView-v5.3.0/<wbr>Examples/Catalyst/<wbr>CxxFullExample/
          example with the attached scripts simultaneously by running
          with "./CxxFullExample doubleoutputs.py output3.py image11.py"
          and got the correct output and no warnings. </div>
        <div><br>
        </div>
        <div>Cheers,</div>
        <div>Andy</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, Jul 4, 2017 at 7:04 AM, Ufuk
          Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.<wbr>tr</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div class="m_7376557964625576780m_8015730165042957233moz-cite-prefix">Hi Andy,<br>
                <br>
                I tested you suggestion about using multiple script in
                co-processing. In this case, i used following code in
                the adaptor side to add multiple pipeline<br>
                <br>
                      for (int i = 0; i < *nscript; i++) {<br>
                        pipeline->Initialize(pythonScr<wbr>iptNames[i]);<br>
                        g_coprocessor->AddPipeline(pip<wbr>eline);<br>
                      }<br>
                <br>
                When i run the simulation, i am getting following
                warning<br>
                <br>
                Warning: In
                /okyanus/users/uturuncoglu/pro<wbr>gs/paraview-5.3.0/src/ParaView<wbr>Core/VTKExtensions/Core/<wbr>vtkPVTrivialProducer.cxx,
                line 66<br>
                vtkPVTrivialProducer (0x13816760): New time step is not
                after last time step.<br>
                <br>
                the output seems not correct and it is zoom out version
                of second pipeline (png file). The first pipeline is not
                even triggered. Do i missing something in here? BTW, i
                am using PV 5.3.<br>
                <br>
                Thanks,<br>
                <br>
                --ufuk
                <div>
                  <div class="m_7376557964625576780h5"><br>
                    <br>
                    On 16/05/2017 16:08, Andy Bauer wrote:<br>
                  </div>
                </div>
              </div>
              <div>
                <div class="m_7376557964625576780h5">
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div>
                        <div>
                          <div>Hi Ufuk,<br>
                            <br>
                          </div>
                          If you create a vtkCPythonScriptPipeline, when
                          you initialize it with the script file name
                          (which has to be done on each process)
                          everything will be taken care of with respect
                          to broadcasting the file contents from process
                          0 to the others. We aren't sophisticated
                          enough to parse the Python script to see if it
                          imports other scripts that are not part of
                          ParaView (e.g. paraview.simple) or Python
                          (e.g. sys). That is why I recommended the
                          first approach as opposed to the second
                          approach above. Depending on the compute
                          platform and how many MPI processes are in the
                          run the difference may be negligible but
                          having 100K processes or more trying to access
                          the same file can seriously slow down an HPC
                          machine.<br>
                          <br>
                        </div>
                        Cheers,<br>
                      </div>
                      Andy<br>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On Tue, May 16, 2017 at
                        8:24 AM, Ufuk Utku Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.<wbr>tr</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div bgcolor="#FFFFFF" text="#000000">
                            <div class="m_7376557964625576780m_8015730165042957233m_3040318200464282531moz-cite-prefix">Thanks
                              Andy. That is exactly what i am looking
                              for. The broadcasting mechanism is not
                              clear to me yet. Do i need to broadcast
                              only the file names? Anyway, i will try to
                              implement it and see what is going on
                              there.<br>
                              <br>
                              Thanks again,<br>
                              Regards,<br>
                              <br>
                              --ufuk
                              <div>
                                <div class="m_7376557964625576780m_8015730165042957233h5"><br>
                                  <br>
                                  On 16/05/2017 14:58, Andy Bauer wrote:<br>
                                </div>
                              </div>
                            </div>
                            <div>
                              <div class="m_7376557964625576780m_8015730165042957233h5">
                                <blockquote type="cite">
                                  <div dir="ltr">
                                    <div>
                                      <div>
                                        <div>
                                          <div>
                                            <div>
                                              <div>
                                                <div>
                                                  <div>
                                                    <div>
                                                      <div>Hi Ufuk,<br>
                                                        <br>
                                                      </div>
                                                      Unless I'm not
                                                      understanding your
                                                      question
                                                      correctly, I think
                                                      you can get what
                                                      you want by adding
                                                      in multiple
                                                      vtkCPPythonScriptPipelines
                                                      to your
                                                      vtkCPProcessor
                                                      object in your
                                                      adaptor.
                                                      Alternatively if
                                                      you want to have a
                                                      single, master
                                                      Catalyst script
                                                      handling other
                                                      Catalyst scripts
                                                      you can do
                                                      something like the
                                                      following:<br>
                                                      ================<br>
                                                    </div>
                                                    import script_a<br>
                                                  </div>
                                                  import script_b<br>
                                                </div>
                                                import script_c<br>
                                                <br>
                                              </div>
                                              def
                                              RequestDataDescription(datades<wbr>cription):<br>
                                            </div>
                                             
                                            script_a.RequestDataDescriptio<wbr>n(datadescription)<br>
                                             
                                            script_b.RequestDataDescriptio<wbr>n(datadescription)<br>
                                             
                                            script_c.RequestDataDescriptio<wbr>n(datadescription)<br>
                                            <br>
                                            def
                                            DoCoProcessing(datadescription<wbr>):<br>
                                          </div>
                                           
                                          script_a.DoCoProcessing(datade<wbr>scription)<br>
                                           
                                          script_b.DoCoProcessing(datade<wbr>scription)<br>
                                           
                                          script_c.DoCoProcessing(datade<wbr>scription)<br>
                                          ===================<br>
                                          <br>
                                        </div>
                                        The first way is the recommended
                                        way though as that should be
                                        more efficient by having process
                                        0 read the scripts and
                                        broadcasting the script contents
                                        to the other  processes for use.
                                        The second method will only do
                                        that for the master script.<br>
                                        <br>
                                      </div>
                                      <div>Please let me know if this
                                        doesn't answer your question.<br>
                                      </div>
                                      <div><br>
                                      </div>
                                      Cheers,<br>
                                    </div>
                                    Andy<br>
                                  </div>
                                  <div class="gmail_extra"><br>
                                    <div class="gmail_quote">On Tue, May
                                      16, 2017 at 5:46 AM, Ufuk Utku
                                      Turuncoglu (BE) <span dir="ltr"><<a href="mailto:u.utku.turuncoglu@be.itu.edu.tr" target="_blank">u.utku.turuncoglu@be.itu.edu.<wbr>tr</a>></span>
                                      wrote:<br>
                                      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
                                        <br>
                                        I just wonder that is it
                                        possible to trigger multiple
                                        visualization pipeline in the
                                        same time with co-processing.
                                        The co-processing script
                                        generator plugin mainly outputs
                                        only single pipeline at a time
                                        and that is fine but what about
                                        combining multiple Python script
                                        (generated by plugin) using
                                        higher level Python script to
                                        trigger multiple pipelines. So,
                                        i think that this will be much
                                        efficient way to look at
                                        different part of the data
                                        without writing to the disk. I
                                        am not sure but somebody else
                                        might do it before.<br>
                                        <br>
                                        Regards,<br>
                                        <br>
                                        --ufuk<br>
                                        <br>
                                        ______________________________<wbr>_________________<br>
                                        Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
                                        <br>
                                        Visit other Kitware open-source
                                        projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
                                        <br>
                                        Please keep messages on-topic
                                        and check the ParaView Wiki at:
                                        <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaV<wbr>iew</a><br>
                                        <br>
                                        Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>ParaView</a><br>
                                        <br>
                                        Follow this link to
                                        subscribe/unsubscribe:<br>
                                        <a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/paraview</a><br>
                                      </blockquote>
                                    </div>
                                    <br>
                                  </div>
                                </blockquote>
                                <p><br>
                                </p>
                              </div>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                  </blockquote>
                  <p><br>
                  </p>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <p><br>
    </p>
  </div></div></div>

</blockquote></div><br></div>