Hi Johannes,<br><br>Certainly it's possible, it'd just be a question of how you make your loop. Inside the loop of your jobs you could evaluate whether it's an odd or even job and check if the previous job has been finished, then start the next one. I'm not sure what your code looks like, but I've condensed Hamish's script for my own reference into an example gist so that I can remember some of the cool tricks. I don't know if it would help you to look at it since you're already seen the original script, but if you want to take a look feel free to:<br>

<br><a href="https://gist.github.com/3282580">https://gist.github.com/3282580</a><br><br>I think you'll basically have to work with the modulo operator a bit. If you use that, you can possibly reduce a lot of nested for loops into a for loop with an if-elif-else query.<br>

<br>Best,<br>Daniel<br clear="all">

<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"></span></p><p>--<br></p><p>B.Sc. Daniel Lee<br>

Geschäftsführung für Forschung und Entwicklung<br>ISIS - International Solar Information Solutions GbR<br>Vertreten durch: Daniel Lee, Nepomuk Reinhard und Nils Räder<br></p><p>Softwarecenter 3<br>35037 Marburg<br>Festnetz: <a value="+4964213796256" style="color:rgb(28,81,168)">+49 6421 379 6256</a><br>

Mobil: <a value="+4917661277269" style="color:rgb(28,81,168)">+49 176 6127 7269</a><br>E-Mail: <a href="mailto:Lee@isi-solutions.org" style="color:rgb(28,81,168)" target="_blank">Lee@isi-solutions.org</a><br>Web: <a href="http://www.isi-solutions.org/" style="color:rgb(28,81,168)" target="_blank">http://www.isi-solutions.org</a></p>

<p></p><br>
<br><br><div class="gmail_quote">2012/8/7 Johannes Radinger <span dir="ltr"><<a href="mailto:johannesradinger@gmail.com" target="_blank">johannesradinger@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi,<br><br><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
for an example of grass.start_command() for parallelizing a bunch<br>
of r.cost runs, see v.surf.icw(.py) in grass7 addons:<br>
<br>
<a href="https://trac.osgeo.org/grass/browser/grass-addons/grass7/vector/v.surf.icw/v.surf.icw.py" target="_blank">https://trac.osgeo.org/grass/browser/grass-addons/grass7/vector/v.surf.icw/v.surf.icw.py</a><br>
<br></blockquote></div>thank you for that example. I think it explains it very well how it works to assign<br>multiple r.cost runs to single processes with grass.start_command.<br>I am just wondering how it is done when there are multiple consecutive processes<br>


in the for loop. In your example (<a href="http://v.surf.icw.py" target="_blank">v.surf.icw.py</a>) for each step (e.g. r.cost (line 271), r.mapcalc (298))<br>an separate for loop is started...Is there a way to combine the steps etc. in a function (e.g. combination<br>


of r.cost and mapcalc) and launch that function in a way like grass.start_command in a single loop?<br>If possible that would probably save code lines and might be a little more clear (at least to me). <br>I am just asking because one of my skripts which is still in "serial mode" involves lots of steps inside the for loop.<br>


This would create in parallel at least a dozen for loops which might appear very unclear.<br><br>Anyway I think the parallelization can really save computation time of my skripts... :)<span class="HOEnZb"><font color="#888888"><br>

<br>/Johannes<br></font></span></div>
</blockquote></div><br>