<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 4:55 PM, Yingchao Lu <span dir="ltr"><<a href="mailto:yingchao.lu@rice.edu" target="_blank">yingchao.lu@rice.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="m_-4847068837887077095m_8352538999493605097gmail-m_872428402314977958WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">Hi Nathan,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">I use yt 3.3.2. The number of cells in the simulation is fixed. The slow down just happens randomly, may be due to other r/w processes on the same cluster. I tried to make a big tarball when running yt script, it did slow down. Otherwise, the time seems normal.</span></p></div></div></blockquote><div><br></div><div>That makse sense. These sort of i/o slowdowns are common on clusters with large shared filesystems. Parallel filesystems (e.g. lustre) can make this worse.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="m_-4847068837887077095m_8352538999493605097gmail-m_872428402314977958WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">BTW, in the output from your script, it does not have something like this:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,010 integer runtime parameter checkpointfilenumber overwrites a simulation scalar of the same name<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,011 integer runtime parameter plotfilenumber overwrites a simulation scalar of the same name<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,029 Parameters: current_time              = 2.40030489143e-09<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,029 Parameters: domain_dimensions         = [16 16 32]<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,029 Parameters: domain_left_edge          = [-0.15 -0.15 -0.05]<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,030 Parameters: domain_right_edge         = [ 0.15  0.15  0.55]<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">yt : [INFO     ] 2017-02-07 16:46:25,030 Parameters: cosmological_simulation   = 0.0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">How can I turn the message off?</span></p></div></div></blockquote><div><br></div><div>These are logging messages. You can turn them off by adjusting the default log level in your configuration file or by setting the log level at the top of the script. This is covered in the docs here:</div><div><br></div><div><a href="http://yt-project.org/doc/faq/index.html#how-can-i-change-yt-s-log-level" target="_blank">http://yt-project.org/doc/faq/<wbr>index.html#how-can-i-change-yt<wbr>-s-log-level</a><br></div><div><br></div><div>It's not mentioned there, but the configuration system also lets you disable logging entirely via the suppressStreamLogging option:</div><div><br></div><div><a href="http://yt-project.org/doc/reference/configuration.html#available-configuration-options" target="_blank">http://yt-project.org/doc/refe<wbr>rence/configuration.html#avail<wbr>able-configuration-options</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="m_-4847068837887077095m_8352538999493605097gmail-m_872428402314977958WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">Thanks,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:calibri,sans-serif">Yingchao<u></u><u></u></span></p><p class="MsoNormal"><a name="m_-4847068837887077095_m_8352538999493605097_m_872428402314977958__MailEndCompose"><span style="font-size:11pt;font-family:calibri,sans-serif"><u></u> <u></u></span></a></p><span></span><p class="MsoNormal"><b><span style="font-size:11pt;font-family:calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:calibri,sans-serif"> Nathan Goldbaum [mailto:<a href="mailto:nathan12343@gmail.com" target="_blank">nathan12343@gmail.com</a>] <br><b>Sent:</b> Tuesday, February 7, 2017 1:56 PM<br><b>To:</b> <a href="mailto:yingchao.lu@rice.edu" target="_blank">yingchao.lu@rice.edu</a>; Discussion of the yt analysis package <<a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a>><br><b>Subject:</b> Re: [yt-users] How to fully close a database<u></u><u></u></span></p><div><div class="m_-4847068837887077095m_8352538999493605097gmail-h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Tue, Feb 7, 2017 at 1:42 PM, Nathan Goldbaum <<a href="mailto:nathan12343@gmail.com" target="_blank">nathan12343@gmail.com</a>> wrote:<u></u><u></u></p><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><span class="m_-4847068837887077095m_8352538999493605097gmail-m_872428402314977958gmail-">On Tue, Feb 7, 2017 at 1:13 PM, Yingchao Lu <<a href="mailto:yingchao.lu@rice.edu" target="_blank">yingchao.lu@rice.edu</a>> wrote:<u></u><u></u></span></p><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><span style="font-size:11pt">Hi All,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">I want to do a time query over multiply hdf5 files as following:</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">import yt</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">from glob import glob</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">fns = glob(‘flash_hdf5_plf_*’)</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">data = []</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">for fn in fns:</span><u></u><u></u></p><p class="MsoNormal" style="text-indent:10.15pt"><span style="font-size:11pt">ds = yt.load(fn)</span><u></u><u></u></p><p class="MsoNormal" style="text-indent:10.15pt"><span style="font-size:11pt">pt = ds.point([0,0,0])</span><u></u><u></u></p><p class="MsoNormal" style="text-indent:10.15pt"><span style="font-size:11pt">data.append([ds.parameters[‘ti<wbr>me’], pt.mean(‘tele’)])</span><u></u><u></u></p><p class="MsoNormal" style="text-indent:10.15pt"><span style="font-size:11pt">ds.close()</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">print data</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt">At the beginning, it takes about 1s to process each file. But later, it becomes slower and slower. Finally, 100 files cost 10 minutes, much large than 1s*100. I guess maybe the database is not fully closed. </span><u></u><u></u></p></div></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Doing "del ds" should completely close and free the dataset object (although python's garbage collector should be doing that each iteration of your for loop).<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">There are some operations in your script (in particular "pt.mean('tele')") that might be slower later in the time series, especially if the number of cells in the simulation increases with time.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">To make this a bit more concrete, I went ahead and made a test script that uses some of the public data on <a href="http://yt-project.org/data" target="_blank">yt-project.org/data</a>. You can find it here:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><a href="http://paste.yt-project.org/show/7018/" target="_blank">http://paste.yt-project.org/sh<wbr>ow/7018/</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">This particular time series has 70 outputs, so not as many as yours.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">The output I get from running this script is here:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><a href="http://paste.yt-project.org/show/7019/" target="_blank">http://paste.yt-project.org/sh<wbr>ow/7019/</a><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Each loop iteration takes about a second and I don't see any appreciable increase as we get later in the time series.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">When you run that script on your time series (replacing pt['temp'] with pt['tele']), do you get different answers? If so can you share them on the yt pastebin? Can you also share which yt version you're using?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">If you can also share the dataset that's triggering this behavior, that would also be helpful. If it's ok to publicly post it, you can share your dataset using the yt curldrop:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><a href="https://docs.hub.yt/services.html#curldrop" target="_blank">https://docs.hub.yt/services.h<wbr>tml#curldrop</a><u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><span style="font-size:11pt">When I try ds.field_info() after ds.close(), it still displays the field information. Does anyone have the same problem?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(136,136,136)"> </span><span style="color:rgb(136,136,136)"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(136,136,136)"> </span><span style="color:rgb(136,136,136)"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;color:rgb(136,136,136)">Yingchao</span><span style="color:rgb(136,136,136)"><u></u><u></u></span></p></div></div><p class="MsoNormal" style="margin-bottom:12pt"><br>______________________________<wbr>_________________<br>yt-users mailing list<br><a href="mailto:yt-users@lists.spacepope.org" target="_blank">yt-users@lists.spacepope.org</a><br><a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/lis<wbr>tinfo.cgi/yt-users-spacepope.o<wbr>rg</a><u></u><u></u></p></blockquote></div><p class="MsoNormal"><u></u> <u></u></p></div></div></blockquote></div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></div></blockquote></div><br></div></div>