comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Running a code multiple times automatically
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Running a code multiple times automatically [message #92780 is a reply to message #92633] Fri, 26 February 2016 09:30 Go to previous message
rojofija is currently offline  rojofija
Messages: 9
Registered: January 2015
Junior Member
Dear Jiash,

Sorry for the late reply.

I just tested your suggestion. It works very well!!

Thank you very much for helping.

All the best,
nd.

On Wednesday, 27 January 2016 16:03:38 UTC, jiash...@gmail.com wrote:
> I am not sure if this is helpful but I was able to throw multiple scripts into the system and let them run by using SPAWN. In order to use this, you simply need to write the command you would like to call in a script file (.txt would be fine) and write a loop to let SPAWN to get it started one by one. Once the loop is done, you will see a bunch of IDL sessions running parallel from the Activity Monitor (in OS X) or in the Task Manager (PC). The only problem is that you CANNOT see the output when you run it. You can only track it by looking at the Activity Monitor or Task Manager to see if your IDL sessions disappear or not.
>
> I guess the following piece of code may help. Sorry I have to use my own code as an example here. It can be easily transferred to your circumstances:
>
> ; for p=0, niters-1 do begin
> ; command='/Applications/exelis/idl85/bin/idl < '+strcompress('script_'+string(p+1,format='(I02)')+'.in',/re move_all)+' &
> ;
> ; print, command
> ;
> ; spawn, command
> ; endfor
>
> Here I am using this loop to call multiple scripts (e.g. script_01.in) by creating a command string. If you only want to call ONE function or procedure, there is no need to make a script. Just create the command string with the full directory of IDL executable file and the name of your procedure, following the same way when you run it in a terminal.
>
> The trickiest part is to find the IDL executable file from the directory you got IDL installed. IDL help document provides more details on multiple platforms. I was using OS X and
>
> /Applications/exelis/idl85/bin/idl is where this executable file resides.
>
> Hope this is helpful and good luck!
>
> SJ
>
>
> On Saturday, January 16, 2016 at 8:20:25 AM UTC-8, nd451frd wrote:
>> Dear friend of the forum.
>>
>> I am kindly writing to ask you if you know a practical way to run a code several times in a kind of parallel way in IDL.
>>
>> Lets say I have a code that is called "namecode.pro"
>>
>> which needs 2 inputs. I have to run it as:
>>
>> IDL> namecode, 'stringvar1', 'stringvar2'
>>
>>
>> I would like to do something like
>>
>> for i=0, (9) do begin
>> namecode, 'stringvar1', 'stringvar2'
>> endfor
>>
>> but without waiting that process in i=0 is over and then the i=1 is over and so on, I just would like to run it 10 times all at the same time just to use 10 processors.
>>
>> I can open 10 terminals and run the code in each of the terminals, but I would like to do it in a code. It does not have to be with IDL, it could be done in a bash or tcsh as well.
>>
>> I am trying to use the IDL_IDLBridge option of IDL but with not success at the moment.
>>
>> Any help is very welcome.
>>
>> All the best and thanks in advance.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: list concatenation
Next Topic: problem with idl program

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 01:12:35 PDT 2025

Total time taken to generate the page: 0.95819 seconds