Re: Google Summer Of Code, TISEAN package

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Juan Pablo Carbajal-2
Hello Dag,

The work is quite simple if you are familiar with Fortran and C++ Octave API.
The idea is to produce oct files for all the functions provided in the
TISEAN package.
The interface of these functions is adapted to a file based input and
has a lot of "Fortranity" on it, so the signature of some function
will need some redesign.
It is not an intensive work.

Also notice that your statistician skill wont be very useful at this
point , because we are not developing the package further, we are just
updating its interface to make it usable in Octave. the package could
be further developed,of course, but the first step is to bring it back
from the crypt. If you haven't used the package before or read the
book, you might find it very interesting (not required though).

If you have other ideas related to porting this package to Octave,
please let me know.

I am CCing the mailing list, please keep all the communication within
the mailing list.

Cheers

PS: also note that as a community we are interested on developers that
might stick around after the complete their GSoC project. Would you
like to stay as a maintainer of this package and help with the
development of Octave?


On Fri, Jan 9, 2015 at 3:42 PM,  <[hidden email]> wrote:

> Hello Juan,
>
> I am interested in contributing code to Octave. I am wondering whether the TISEAN package is still under development as suggested [1]. I worked on time-series analysis a lot as a statistician previously. I think that this would be interesting. What needs to be changed, how long would this take do you think?
>
> Regards,
> Dag W
>
> [1] wiki.octave.org/Summer_of_Code_Project_Ideas
>
> _____________________________________
> Sent from http://octave.1599824.n4.nabble.com
>

Dag
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Dag
Hello Pablo,

Thanks for the answer.

Juan Pablo Carbajal-2 wrote
It is not an intensive work.
I want to have something to do in my free time and improve my programming skills. I was thinking of doing a small project first to familiarize myself with Octave.


Juan Pablo Carbajal-2 wrote
PS: also note that as a community we are interested on developers that
might stick around after the complete their GSoC project. Would you
like to stay as a maintainer of this package and help with the
development of Octave?
If it works out, I might start a more difficult project next. In case that it is really interesting, I will definitely be around in the future for a long time to make this a win-win scenario.


Juan Pablo Carbajal-2 wrote
Also notice that your statistician skill wont be very useful at this
point , because we are not developing the package further, we are just
updating its interface to make it usable in Octave.
I have masters in statistics and time-series analysis (TSA) is one of my specialties. I studied a course in nonlinear time-series analysis 10 years ago, so I want to see if there is more to discover in this subject.


Juan Pablo Carbajal-2 wrote
the package could
be further developed,of course, but the first step is to bring it back
from the crypt. If you haven't used the package before or read the
book, you might find it very interesting (not required though).
The purpose, as I understand it, is to write a new Octave package for nonlinear TSA. I was thinking of beginning by compiling Octave source and TISEAN source and then start from there.

First, I am trying to find out how to write an Octave package. There is information on the contents of Octave packages. There is no information on which Octave source files to import, and how to compile and link though. I have downloaded the source code of an existing package to reverse-engineer it somehow.


Juan Pablo Carbajal-2 wrote
The interface of these functions is adapted to a file based input and
has a lot of "Fortranity" on it, so the signature of some function
will need some redesign.
It is not an intensive work.
I prefer C and C++. I will replace Fortran code using the Octave C/C++ API if possible or external C++ libraries if necessary. Is there any merit in using old legacy code?
Dag
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Dag
The logical solution is to expand the existing TSA package instead of creating a new one. I will go through this package and see how I can add more code to it.
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Juan Pablo Carbajal-2
On Tue, Jan 13, 2015 at 3:30 PM, Dag W <[hidden email]> wrote:

> The logical solution is to expand the existing  TSA package
> <http://octave.sourceforge.net/packages.php>   instead of creating a new
> one. I will go through this package and see how I can add more code to it.
>
>
>
> --
> View this message in context: http://octave.1599824.n4.nabble.com/Re-Google-Summer-Of-Code-TISEAN-package-tp4668056p4668112.html
> Sent from the Octave - Maintainers mailing list archive at Nabble.com.
>

Hi Dag,

Go ahead! My recommendation would be:
1. Download the TISEAN package
2. Use a couple of their functions to see how it works, something simple.
3. Test the coomand line interface (and get results via stdout). I had
some files, but I have to search for them [2].

After this you can dig in the code and write oct files. There is some
help to know how to write oct files[3], but the mailing list is full
of experts (also IRC, my nick is kakila), do not hesitate to ask.

[1]: http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/index.html
[2]: http://lists.gnu.org/archive/html/help-octave/2012-03/msg00506.html
[3]: https://www.gnu.org/software/octave/doc/interpreter/Oct_002dFiles.html

Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Juan Pablo Carbajal-2
On Tue, Jan 13, 2015 at 4:03 PM, Juan Pablo Carbajal
<[hidden email]> wrote:

> On Tue, Jan 13, 2015 at 3:30 PM, Dag W <[hidden email]> wrote:
>> The logical solution is to expand the existing  TSA package
>> <http://octave.sourceforge.net/packages.php>   instead of creating a new
>> one. I will go through this package and see how I can add more code to it.
>>
>>
>>
>> --
>> View this message in context: http://octave.1599824.n4.nabble.com/Re-Google-Summer-Of-Code-TISEAN-package-tp4668056p4668112.html
>> Sent from the Octave - Maintainers mailing list archive at Nabble.com.
>>
>
> Hi Dag,
>
> Go ahead! My recommendation would be:
> 1. Download the TISEAN package
> 2. Use a couple of their functions to see how it works, something simple.
> 3. Test the coomand line interface (and get results via stdout). I had
> some files, but I have to search for them [2].
>
> After this you can dig in the code and write oct files. There is some
> help to know how to write oct files[3], but the mailing list is full
> of experts (also IRC, my nick is kakila), do not hesitate to ask.
>
> [1]: http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/index.html
> [2]: http://lists.gnu.org/archive/html/help-octave/2012-03/msg00506.html
> [3]: https://www.gnu.org/software/octave/doc/interpreter/Oct_002dFiles.html

and indeed it would be great to add tsisean_* functions (no need of
tisean_*) to the tsa package.

Dag
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Dag
In reply to this post by Juan Pablo Carbajal-2
Hello Kakila,

I am trying to do the following seen below. Can you please follow up?

1. I am trying to run the examples of TISEAN right now, but I am unsure how. It seems like I need the packages plotutils and gnuplot, which I have installed.

2. I will try to run exercises 2-4 outlined on the TISEAN homepage soon after that. For each function/executable, I need example data. If that is lacking, I have that it is possible to produce simulated data. That will do just as fine. I want to run examples in TISEAN and TSA that should produce identical results for debugging purposes.

3. Once I can run the examples, I will compile a list of all source files and functions that they contain. After that, I will integrate them one by one into TSA and debug them as well.

4. The shell works differently from Matlab/Octave. I should think of a work flow and API that work for the Octave environment.

// Dag
Dag
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Dag
This post has NOT been accepted by the mailing list yet.
Kakila, it seems like your reply was sent to me only. I am copying and pasting it here for everyone to see.

Dag W wrote
Hi Dag,

On Tue, Jan 27, 2015 at 8:23 PM, Dag W <daglyberg80@gmail.com> wrote:
> Hello Kakila,
>
> I am trying to do the following seen below. Can you please follow up?
>
> 1. I am trying to run the examples of TISEAN right now, but I am unsure how.
> It seems like I need the packages plotutils and gnuplot, which I have
> installed.
>
First you need to install the executables. I assume you are running linux.
Inside the extracted TISEAN 3.0.1 sources, do:
./configure --prefix=`pwd`
make
make install

All the functions will now be in `pwd`/bin

Now you have to fix the .gnu scripts. For example c1.gnu should be
edited to point to ../bin/<function>
See the modified c1.gnu here http://agora.octave.org/snippet/ugYF/

After this all should run smoothly.




> 2. I will try to run exercises 2-4 outlined on the TISEAN homepage soon
> after that. For each function/executable, I need example data. If that is
> lacking, I have that it is possible to produce simulated data. That will do
> just as fine. I want to run examples in TISEAN and TSA that should produce
> identical results for debugging purposes.
>
All the functions have example data and the package provide function
to generate the data, e.g. henon.

> 3. Once I can run the examples, I will compile a list of all source files
> and functions that they contain. After that, I will integrate them one by
> one into TSA and debug them as well.
Good, some of the data generation functions, like henon, do not need
to be ported since they are trivially implemented as m-files. Maybe
you want to start there. Please also ask the maintainer of the TSA
package to decide how to deal with these additions (I would go with
subpackages as bim and geometry). If you can report periodically so I
can help/support you.

>
> 4. The shell works differently from Matlab/Octave. I should think of a work
> flow and API that work for the Octave environment.
>
Definitely the objective would be to integrate them in the Octave API.
Check the control package to see how a complicated FORTRAN library was
integrated to the API.
http://sourceforge.net/p/octave/control/ci/default/tree/src


> // Dag
>
>
>
> --
> View this message in context: http://octave.1599824.n4.nabble.com/Re-Google-Summer-Of-Code-TISEAN-package-tp4668056p4668292.html
> Sent from the Octave - Maintainers mailing list archive at Nabble.com.
>

sorry for the delay and cheers!
Dag
Reply | Threaded
Open this post in threaded view
|

Re: Google Summer Of Code, TISEAN package

Dag
This post has NOT been accepted by the mailing list yet.
I am trying to install TSA as a local package for testing and debugging. By gradually implementing my own code and reinstalling TSA, I could insert TISEAN into it.

I have defined a local path "~/usr/local/octave" in the file ~/.octave_packages. But I get the following error message when attempting a local build. I assume that I am supposed to run "pkg build ... " before "pkg install -local ...".

Is there a package missing?

octave:2> pkg build /home/impervious/usr/local/tsa2 /home/impervious/usr/local/tsa-4.2.9.tar.gz
warning: load_path: /home/impervious/usr/local/tsa2/install/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/usr/local/tsa2/install/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/usr/local/tsa2/install/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
ls: cannot access /bin/mexext: No such file or directory
warning: load_path: /home/impervious/usr/local/tsa2/install/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: function /home/impervious/usr/local/tsa2/install/tsa-4.2.9/detrend.m shadows a core library function
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
warning: load_path: /home/impervious/octave/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+: No such file or directory
/home/impervious/usr/local/tsa2/install/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+/covm_mex.mex: failed to load: /home/impervious/usr/local/tsa2/install/tsa-4.2.9/x86_64-pc-linux-gnu-api-v49+/covm_mex.mex: undefined symbol: GOMP_loop_ull_dynamic_start
error: called from 'doc_cache_create>create_cache' in file /usr/share/octave/3.8.1/m/help/doc_cache_create.m near line 101, column 18
error: called from:
error:   /usr/share/octave/3.8.1/m/pkg/private/install.m at line 248, column 5
error:   /usr/share/octave/3.8.1/m/pkg/private/build.m at line 50, column 3
error:   /usr/share/octave/3.8.1/m/pkg/pkg.m at line 516, column 7