Tilted-Ring-Fitting Code

by
Gyula Józsa
Franz Kenn
Tom Oosterloo
Uli Klein

TiRiFiC is a sampler of modules and programs that serve for the fitting of synthetic (tilted-ring) datacubes to an existent datacube. Other than usual methods tirific performs a fit directly to the datacube and is able to reach highest quality results even in those cases, where a fit to the velocity field is bound to fail. The current version is a rather simple one with respect to the number of parameters. Also, projection effects are taken poorly into account (which is ok for distant galaxies). The plan is to introduce more and more parameters without making the program significantly slower. Another issue is to improve the user-interface and to include the code in different environments.

The only current running program is the GIPSY routine tirific in the directory gipsy. This routine depends to some extent on the other modules and is hence distributed (at the moment) with all the source code that you find here. It is planned to provide enhanced versions as a stand-alone program.




Download:

tirific.tar.gz 22.06.2005 Actual version, regarding now pointsources outside the cube for Chisquare evaluation, small bugfix regarding the graphics output
tirific.patch.tar.gz 22.06.2005 Patch for the newest version.
tirific.1.2.tar.gz 09.06.2005 Important bugfix: Fit of multiple parameters didn't work properly, it does now, small other changes
tirific.1.1.tar.gz 24.05.2005 Added graphics, additional table properties, included inclinogram output, added useful shellscript, small other changes
tirific.1.0.tar.gz 04.05.2005 First public version




frontend.tar.gz 16.03.2007 Python GUI, not required, but useful (installation instructions within package)




Installation instructions:

1. Install auxiliary libraries
    TiRiFiC depends on several external libraries that are not contained in this package. It is very well possible that they already exist for the common user, so we left the installation to the user instead of regenerating them and producing redundant interfering files:
     1. GIPSY and the GIPSY library
     2. The FFTW library (the 4 Byte version libfftw3f.a, run 'configure' with option '--enable-single')
     3. The GSL library
     4. The g2c library (should be included when gcc is installed)
     5. The pgplot library
    (6. doxygen only for source code and module documentation)
 
2. Edit the settings file
    Edit the settings file according to the location of the auxiliary files and the preferred compiler setup (it worked with the gcc...). One additional issue is the MAXMEM variable. With this variable you can optionally restrict the usage of memory (including swap) to the given amount in bytes. Usually this will be safely left to an impossibly high value.
 
3. Local qfits
    Type: make qfits
The local qfits library will be produced. It is a slightly modified version of the qfits library by Nicolas Devillard and Yves Jung and probably not up-to-date with the current version. This imposes no problems for our program. The major changes consists of removing all functionality of the so-called xmemory module, which has proven to be essential.
 
4. Compiling the source
    Type: make
 
5. Task documentation
    Copy the file tirific.dc1 from the gipsy directory of the installation folder to the tsk directory of your local GIPSY or simply read it.
 
6. Source code and module description
    We use the doxygen software to document the source code. Once the documentation has been generated by typing
make document
it can be accessed by opening the index.html file in doc/html with a browser of your choice. We recommend to have a look at the ftstab module, and the memory_here module, which after minor changes are useful stand-alones.
 
7. Cleaning up
    Type: make clean
 
8. Running TiRiFiC
    To run tirific, put it from the gipsy directory of the installation folder into the directory where you want to run it or into the exe(/linux) directory of your local GIPSY. TiRiFiC is accessible only in the GIPSY environment at the moment. It can be started by typing the command
tirific
in a GIPSY shell or by calling nhermes (see GIPSY documentation).




Update instructions:

1. Get the update patch
    Download tirific.patch.tar.gz and put it in the tirific directory where your Makefile resides.
 
2. Expand the update patch
    In the tirific directory, where the Makefile resides, type:
tar zxvf tirific.patch.tar.gz
 
3. Updating the program
    In the tirific directory, where the Makefile resides, type:
make clean
make
 




Known bugs:

1. A trial to load a datacube with a specification of a subset smaller than the whole cube will result in an error when writing a model cube. The removal of this is not simple. This bug is not the prime debugging objective, as there is a workaround: The user can always compose a smaller cube as an input to tirific.
2. After getting a result from tirific, a review of the results (RESULTREACT= 2) will under certain unknown conditions result in overwriting the logfile. This will be removed as soon as possible. A workaround is to keep a safety copy of the logfile before reviewing.




Mailing list

To be kept informed about tirific updates via email, send an email to Gyula Jozsa with the subject "tirific", that suffices.




 Note:  TiRiFiC is still under construction and in a test phase and does not yet implement all functionality that will be reached with time moving. There are many betterments that are already on our todo list, ranging from speed improvements to a completely different user-interface. The TiRiFiC source code is held extremely flexible, such that any user can hack easily hack away, but in any case, we are open for any suggestion (and one will of course be to introduce a radius-dependent velocity dispersion) and wishes and especially, we are happy about any bug report.

For receiving update reports, critics, wishes, bug reports, send a mail to: Gyula Jozsa
last updated: 04.05.2005