Available software and data

Irregularly Spaced Data Analysis (ISDA)

ISDA is a software package designed to perform various tasks on irregularly spaced time series. ISDA can help you to analyse data sets from such diverse fields of application as astronomy, geophysics, biophysics, business or whatever. But astronomers, amateurs as well as professionals, probably form the largest group of prospective users. ISDA helps by automating routine tasks and by providing new and effective methods of analysis. Some algorithms that are used in the system were developed in Tartu University and in Tartu Observatory (Estonia) by the author of the system, and are new to many applied researchers.

ISDA provides many unique tools not found in other ''off-the-shelf'' time series packages.It eliminates the need to work around the limitations of commercial programs not specifically designed for irregularly spaced data. A rich set of commands and options facilitates custom processing and allows investigation of various approaches to time series analysis and determination of that best suited to the data in question. Potential applications for ISDA include:

If your research project involves analysis of interrupted sets of measurements, or measurements made on an irregular basis, then the ISDA package is just the tool you need for adequate processing of your data.


Menu driven operation ISDA is menu driven and completely self-explanatory. It is easy to use and contains all the necessary functions to allow analysis of irregularly measured data sets
Data input from free format files All input data for ISDA can be prepared in a simple format that allows single and multichannel data to be input to the program
Data manipulation The package contains tools for preprocessing the input data. A graphical editor allows the singling out of
subsets of the data, averaging or detrending, the removal of outlying time points, and so on
Data hardcopy The package has a facility enabling current images from the screen to be plotted on a matrix printer without exiting the main program. There are also tools to prepare and print out presentation quality plots for various output devices (matrix and laser printers, PostScript and Grapher formats).
Data generation from prescribed formulae ISDA possesses an advanced subsystem to generate artificial input data sets for evaluating different search and analysis methods. Models can be built with different sampling properties and time dependencies. The structure
of these models is determined by arbitrary algebraic expressions
Advanced methods for seeking hidden patterns in the data In the ISDA package there are implementations of currently known and generally used algorithms for searching for hidden, changing and multiple periodicities. There are also some very new and effective methods that are available only in ISDA
Standard Fourier processing tools ISDA also implements a standard suite of spectral estimation algorithms. You can compute the Deming or Lomb-Scargle type spectra, use apodization with different weighting functions, and compensate for some distortions arising from to unequal spacing in the data
Fitting subsystem ISDA contains advanced model building and parameter estimation procedures. Weighted Least Squares fits of polynomials, trigonometrics and arbitrarily given expressions can be made to the data. The periods (frequencies) can be refined iteratively. You can also seek
the exact values for minima or maxima in the waveforms or analyse slight changes in the nonstationary models (by using the segmentation mechanism)
Interactive data display For every computation or analysis step you can invoke graphical presentations in order to check the results visually. Different plot formats, dimensions, fonts and attributes can be accessed from the plotting subsystem menus
Log journal for the work session ISDA maintains an inner file where user input is mirrored, and computational results are gathered. The log journal can be browsed, and its subsets selected and prepared for subsequent printout
Help pages and manual For every option in the ISDA menus there is a short hint displayed on the screen. For a more detailed explanation the appropriate help pages can be opened. The printed \ISDA user manual provides all details of program operation, and also insights into the theoretical and algorithmical aspects of the analysis methods. There is also a set of tutorial lessons in the manual for the inexperienced users. The package is well suited for use as an educational tool

Hardware requirements

The ISDA package is designed for use on a wide range of the PC type computers. Because amateur astronomers (an important group of potential users of the package) often own rather modest systems, we were forced to discover the most economical ways to pack as many functions as possible into a small configuration. This is why strategically important
parts of the system are programmed in Assembler language. To use ISDA you must have at least:

Other operating systems and emulators

The ISDA package can be run in DOS mode on operating systems Windows 95, 98, 2000 and XP. For Windows Vista and Linux you can use DOS emulators.
Particularly : DOSEMU for Linux and DOSBOX for modern Windows.


The ISDA package is continually being improved by inclusion of additional functions according to the responses from the users. Software updates will be uploaded for downloading regularly.


The current version of the ISDA package can be downloaded from FTP server at the Tartu Observatory.

J. Pelt Irregularly Spaced Data Analysis User Manual Helsinki 1992 in PDF format.

Compressed by PKZIP.EXE package: ISDA.ZIP (1.1MB)

Compressed by PKZIP.EXE current version of the package (without help, hints etc., used mostly by myself, conatains large amount of new algorithms, some 32-bit routines need Win95-98 to run): ISDAM.ZIP (697KB)

Compressed by PKZIP.EXE manual in PostScript format ISDADOC.ZIP (3.75M)

Compressed by GZIP manual in PostScript format ISDADOC.PS.GZ (3.75M)

Compressed by ZIP sources of the current version ISDASOURCE.ZIP(1.8M)

Graphics Engine for Turbo Vision (GETV)


GETV is not the first graphics system for Borland Pascal Turbo Vision (see for instance TVG121P.ZIP from garbo.uwasa.fi or TVGR70.ZIP from ftp.borland.com or GRAVIS7B.ZIP from ftp.simtel.net) and probably not the last one. But it differs. You must try it to get an idea.

Using GETV

Use of the GETV package is trivial. Compile your Turbo Vision application with provided INTERF.TPU, DRIVERS.TPU and VIEWS.TPU and it will run in graphics mode. Even more, if your graphics card is VESA BIOS compatible or you have installed VESA Video BIOS extender
you can run your program (say myapp) with a parameter:

myapp -1

and it will work in 800x600 mode or

myapp -2

and it will work in 1024x768 mode. No more frills!

If your graphics card is still EGA, do not panic, GETV works even then.

Sorry, Hercules and CGA are not supported.

If you want to draw, please, be free to use any procedure or function from the standard GRAPH.TPU (the EGAVGA.BGI and VESA16.BGI are linked into DRIVERS.TPU). See the BGIDEMO.PAS file for hints. Just one point here - use always modal windows to display standard graphics. The GETV package is absolutely ignorant about your artistic capabilities.

But this is not all. There is an additional tiny graphics package included (see PAINT.PAS). Try to compile and run the GETVDEMO. ( Add unit path to C:\BP\EXAMPLES\DOS\TVDEMO to compile properly.) Open the leftmost menu (in the very upper-left corner of the screen) and activate multiple Lines windows. Drag them into different places on the screen and look what happens in shadows! Minute details of course, but worth to mention.

The interface parts of the DRIVERS.TPU and VIEWS.TPU units are exact copies of original BP 7.00. The meaning of all constants, variables, procedures and functions is the same, except the CheckSnow, which now indicates use of the EGA graphics (still in a way consistent with previous usage).

Some specific details of use you can read out from INTERF.PAS.


Testing GETV

To test GETV I compiled with modified DRIVERS.TPU, VIEWS.TPU and with INTERF.TPU most of the examples provided by the BP 7.0 package. Additionally I checked the new units with some public domain and shareware sources (mostly from garbo.uwasa.fi). Majority of the compilations worked without any problems (ANSIVIEW.ZIP, COMBO103.ZIP, NED3.ZIP, NUMINP2.ZIP, OODB.ZIP,
POPUPLB.ZIP, PROMPTER.LZH, RESDMP11.ZIP, RHTOOL2.ZIP, TEXTVU10.ZIP, TVDMX25.ZIP, TVMAGIC1.ZIP, TVMENU.ZIP, TVSPY.ZIP, TVTOYS04.ZIP and the Turbo Vision sources from the \BP\EXAMPLES\* directories). Nevertheless, I encountered some problems.


  1. Some programs use absolute dimensions for some TViews and as a result there can be some uncovered areas on the screen (TVCHESS, NEWBACK, TUTOR, TUTOR07 etc.). The correction is always straightforward. You can use GETV to check your own programs. If the compilation works nicely in text mode, in standard graphics modes (VGA and EGA) and in high resolution modes, you can consider it as graphics mode independent.
  2. Some programs read the command line parameters as filenames without checking their format. If you run them with -1 or -2 option then warning messages are displayed, like

    Can not open file -2

    (see TVDEMO from BP7 suite or NEDEMO from NED3.ZIP). The correction is trivial. You can change the form of the option parameters (in DRIVERS.PAS) or check input parameters in your application.

  3. Sometimes the Idle method for certain application contains heavy duty calls. As a result, mouse painting procedure in high resolution modes can be left without enough time. Mouse cursor will jump erratically and it will be nearly impossible to use it properly. To correct this you can use the trick from LINES.PAS. For instance the TVCHESS program will work properly, if you define TChessApp.Idle (in TVCHSAPP.PAS) as follows:


    procedure TChessApp.Idle;
    inherited Idle;
    if MouseIntFlag=1 then begin
    if Skip>0 then

    { Think only then, when mouse is not moving }

    if (Skip=0) and (ChessBoard <> nil) then

    The MaxSkip for other applications can be of course different. It can
    also depend on the speed of your computer. You must play around with
    couple of values to get the right one.

  4. Sometimes it is useful to apply 'refresh brackets' PushRefresh and PopRefresh to speed up complex drawings. Here is the fragment from program TVLIFE.PAS (TVLIFE.ZIP from garbo.uwasa.fi) with modifications:

    PROCEDURE TLifeInterior.Draw;
    x,y : integer;
    R : TRect;
    ex,ey : integer;
    B : array[0..2047] of word; { Buffer used to speed up Draw }
    ex := R.B.X+1;
    ey := R.B.Y+1;
       PushRefresh; { Switch out screen updates }
    FOR y := 2 TO ey DO BEGIN
    FOR x := 2 TO ex DO BEGIN
    IF OldB^[x,y]=0 THEN BEGIN
    MoveChar(B[x-2], #32, GetColor(2), 1);
    MoveChar(B[x-2], #9, GetColor(2), 1);
    WriteLine(0, y-2, Size.X, 1, B);
    PopRefresh; { Switch in screen updating }

    You must be of course careful to pair pushes and pop's. (The TVLIFE.PAS,
    as uploaded, contains some bugs which reveal themselves only in
    protected mode.)

  5. For some configurations mouse driver and VESA BIOS extender do not work correctly togeteher. It is possible that mouse will report horizontal (graphics) coordinates in rounded way (0, 4, 8, 12, etc). This does not have effect in Turbo Vision, but can annoy you, when you use readoff values (from WhereG, see INTERF.PAS) for further processing. For VESA compatible hardware all works OK, so that this bug is not (sorry, probably is not) mine.


Still interested?

Download GETV12B.ZIP and check it out.

If you are serious about GETV, you need the sources (effectively patches to the original Borland sources, due to the BP copyright). Probably there is something you want to change, or add some new tricks. Or compile in protected mode with enormous graphics buffer etc. Or you are simply curious how this or that is done. Drop a line and we'll discuss a deal.

Monte-Carlo models for sunspot distributions

The MONTEF.PAS is a short Object Pascal program used to generate phase distributions in a paper "Century scale persistence in longitude distribution: in the Sun and in silico" by Jaan Pelt, Ilkka Tuominen and John Brooke. It uses small subprogram MYFUNCS.PAS and can be translated by Borland Delphi (ver. 5 or higher for Windows) or Kylix (ver.2 or higher for Linux) compilers. The comments are very scarce, but program is quite simple and text in the paper can help to depicher it.

Comoving frames and "active longitudes": Does the Sun have a face? by J. Pelt, J.M. Brooke, M.J. Korpi and I. Tuominen. Software and data.


The numeration of the figures in supplied software and final paper is different. To allow simpler comparison we give here a link to the earlier version of the paper where the figure numbers correspond to the numbers in software. It can be used also to get some additional minor (but interesting) details which were skipped in editing and refereeing process. Sorry for inconvenience. We also reproduce a bitmap figure which corresponds to the Fig. 4 in UBP paper and shows the slanted stripes which results from a strong correlation between parameters (see final or linked here paper). This illustration was left out because of technical reasons - our software does not build numerical scales for bitmaps.



Source codes in Delphi Pascal (from ver. 5.0). Can easily be adjusted for Free Pascal.

High frequency limits in periodicity search from irregularly spaced data by J. Pelt. Data.

Three data sets in a format suitable for processing with ISDA software. They were used to produce figures in the paper.



Solar active regions: a nonparametric statistical analysis by J. Pelt, M. Korpi and I. Tuominen. Data.

Two data sets in a format suitable for processing with ISDA software. They were used as an input for statistical analysis.



Last Updated: 21 Mai 2009